[nvim] feat: cleanup server setup
This commit is contained in:
parent
5d8c5ca6f4
commit
f25ef3e9be
@ -28,16 +28,6 @@ vim.diagnostic.config({
|
|||||||
update_in_insert = true
|
update_in_insert = true
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
local enhance_server_opts = {
|
|
||||||
["clangd"] = function(opts)
|
|
||||||
require("plugin.lsp.clangd").setup(opts)
|
|
||||||
end,
|
|
||||||
["sumneko_lua"] = function(opts)
|
|
||||||
require("plugin.lsp.sumneko_lua").setup(opts)
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
local on_attach = function(_, bufnr)
|
local on_attach = function(_, bufnr)
|
||||||
local opts = { buffer = bufnr }
|
local opts = { buffer = bufnr }
|
||||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
|
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
|
||||||
@ -67,34 +57,27 @@ end
|
|||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities)
|
capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities)
|
||||||
|
|
||||||
-- Enable the following language servers
|
-- Setup nvim-lsp-installer
|
||||||
local servers = { "clangd", "sumneko_lua" }
|
local servers = { "clangd", "sumneko_lua" }
|
||||||
lsp_installer.setup {
|
lsp_installer.setup {
|
||||||
ensure_installed = servers
|
ensure_installed = servers,
|
||||||
}
|
|
||||||
|
|
||||||
-- Setup nvim-lsp-installer
|
|
||||||
lsp_installer.settings {
|
|
||||||
ui = {
|
ui = {
|
||||||
icons = {
|
icons = {
|
||||||
server_installed = "✓",
|
server_installed = "✓",
|
||||||
server_pending = "o",
|
server_pending = "o",
|
||||||
server_uninstalled = "x"
|
server_uninstalled = ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for _, server in ipairs(servers) do
|
for _, server in ipairs(servers) do
|
||||||
local opts = {
|
local opts = {
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
}
|
}
|
||||||
|
|
||||||
if enhance_server_opts[server] then
|
local plugin = string.format("%s.%s", "plugin.lsp", server)
|
||||||
-- Enhance the default opts with the server-specific ones
|
require(plugin).setup(opts)
|
||||||
enhance_server_opts[server](opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
lspconfig[server].setup(opts)
|
lspconfig[server].setup(opts)
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user