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 = {
|
||||
-- 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'
|
||||
|
|
Loading…
Reference in New Issue