some updates for mason

mine
ray-x 2 years ago
parent d8f19f6fc1
commit af7fc7d649

@ -595,7 +595,9 @@ To start LSP installed by lsp_installer, please use following setups
require'navigator'.setup({
-- lsp_installer = false -- default value is false
lsp = {
tsserver = { cmd = {'your tsserver installed by lsp_installer'} }
tsserver = { cmd = {'your tsserver installed by lsp_installer or mason'} }
-- e.g. tsserver = { cmd = {'/home/username/.local/share/nvim/mason/packages/typescript-language-server/node_modules/typescript/bin/tsserver'} }
}
})
@ -610,6 +612,7 @@ require'navigator'.setup({
lsp = {
tsserver = {
cmd = { "/Users/username/.local/share/nvim/lsp_servers/python/node_modules/.bin/pyright-langserver", "--stdio" }
-- or mason: cmd = { "/Users/username/.local/share/nvim/mason/packages/pyright/node_modules/pyright/index.js", "--stdio"}
}
}
}

@ -141,7 +141,7 @@ local function load_cfg(ft, client, cfg, loaded, starting)
trace('lsp for client', client, cfg)
if cmd == nil or #cmd == 0 or vfn.executable(cmd[1]) == 0 then
log('lsp not installed for client', client, cmd)
log('lsp not installed for client', client, cmd, "fallback")
return
end
if _NG_Loaded == nil then
@ -437,7 +437,7 @@ local function lsp_startup(ft, retry, user_lsp_opts)
local servers = require'mason-lspconfig'.get_installed_servers()
if not vim.tbl_contains(servers, lspconfig[lspclient].name) then
log('mason server not installed', lspconfig[lspclient].name)
return
-- return
end
local pkg_name = require "mason-lspconfig.mappings.server".lspconfig_to_package[lspconfig[lspclient].name]
local pkg = require "mason-registry".get_package(pkg_name)
@ -455,7 +455,8 @@ local function lsp_startup(ft, retry, user_lsp_opts)
cfg.cmd = cfg.cmd or {}
cfg.cmd[1] = path .. path_sep .. pkg.name
if vfn.executable(cfg.cmd[1]) == 0 then
log('failed to find cmd', cfg.cmd[1])
log('failed to find cmd', cfg.cmd[1], "fallback")
return load_cfg(ft, lspclient, cfg, loaded)
else
log('cmd installed', cfg.cmd)
end

Loading…
Cancel
Save