Template for use system installed language server

This commit is contained in:
cxxsucks 2023-05-20 10:06:38 +08:00
parent 4d7e4b8a1d
commit ee74c266bb
1 changed files with 28 additions and 3 deletions

View File

@ -419,8 +419,8 @@ end
local servers = {
-- clangd = {},
-- gopls = {},
-- pyright = {},
-- rust_analyzer = {},
-- pyright = {},
-- rust_analyzer = {},
-- tsserver = {},
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
require('neodev').setup()
@ -442,7 +458,7 @@ capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
local mason_lspconfig = require 'mason-lspconfig'
mason_lspconfig.setup {
ensure_installed = vim.tbl_keys(servers),
ensure_installed = mason_server_install
}
mason_lspconfig.setup_handlers {
@ -455,6 +471,15 @@ mason_lspconfig.setup_handlers {
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
local cmp = require 'cmp'
local luasnip = require 'luasnip'