Template for use system installed language server
This commit is contained in:
parent
4d7e4b8a1d
commit
ee74c266bb
31
init.lua
31
init.lua
|
@ -419,8 +419,8 @@ end
|
||||||
local servers = {
|
local servers = {
|
||||||
-- clangd = {},
|
-- clangd = {},
|
||||||
-- gopls = {},
|
-- gopls = {},
|
||||||
-- pyright = {},
|
-- pyright = {},
|
||||||
-- rust_analyzer = {},
|
-- rust_analyzer = {},
|
||||||
-- tsserver = {},
|
-- tsserver = {},
|
||||||
|
|
||||||
lua_ls = {
|
lua_ls = {
|
||||||
|
@ -431,6 +431,22 @@ local servers = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local system_server_cmds = {
|
||||||
|
-- clangd = { 'clangd' },
|
||||||
|
-- gopls = { '/usr/local/bin/gopls' },
|
||||||
|
-- pyright = { 'pyright' },
|
||||||
|
-- rust_analyzer = { 'rust-analyzer' },
|
||||||
|
-- tsserver = { 'tsserver' },
|
||||||
|
-- lua_ls = { 'lua-language-server' },
|
||||||
|
}
|
||||||
|
|
||||||
|
local mason_server_install = {}
|
||||||
|
for server_name, _ in pairs(servers) do
|
||||||
|
if system_server_cmds[server_name] == nil then
|
||||||
|
table.insert(mason_server_install, server_name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- Setup neovim lua configuration
|
-- Setup neovim lua configuration
|
||||||
require('neodev').setup()
|
require('neodev').setup()
|
||||||
|
|
||||||
|
@ -442,7 +458,7 @@ capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
||||||
local mason_lspconfig = require 'mason-lspconfig'
|
local mason_lspconfig = require 'mason-lspconfig'
|
||||||
|
|
||||||
mason_lspconfig.setup {
|
mason_lspconfig.setup {
|
||||||
ensure_installed = vim.tbl_keys(servers),
|
ensure_installed = mason_server_install
|
||||||
}
|
}
|
||||||
|
|
||||||
mason_lspconfig.setup_handlers {
|
mason_lspconfig.setup_handlers {
|
||||||
|
@ -455,6 +471,15 @@ mason_lspconfig.setup_handlers {
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for server_name, launch_cmd in pairs(system_server_cmds) do
|
||||||
|
require('lspconfig')[server_name].setup {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
settings = servers[server_name],
|
||||||
|
cmd = launch_cmd,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
-- nvim-cmp setup
|
-- nvim-cmp setup
|
||||||
local cmp = require 'cmp'
|
local cmp = require 'cmp'
|
||||||
local luasnip = require 'luasnip'
|
local luasnip = require 'luasnip'
|
||||||
|
|
Loading…
Reference in New Issue