1
0
neovim-config/lua/config/lspinstaller.lua
2022-04-01 22:21:05 +03:00

48 lines
1.4 KiB
Lua

local lspconfig_config = require 'config.lspconfig'
local lsp_instller = require 'nvim-lsp-installer'
local lsp_installer_servers = require'nvim-lsp-installer.servers'
local M = {}
-- local autoinstall_servers = {"sumneko_lua", "efm"}
local autoinstall_servers = {"sumneko_lua"}
for _, name in ipairs(autoinstall_servers) do
local ok, server = lsp_installer_servers.get_server(name)
if ok and not server:is_installed() then
server:install()
end
end
local capabilities = lspconfig_config.get_capabilities()
lsp_instller.on_server_ready(function(server)
-- print(server.name)
-- print(vim.inspect(lspconfig_config.get_server_settings(server.name)))
server:setup{
root_dir = function()
return vim.fn.getcwd()
end,
init_options = lspconfig_config.get_server_init_options(server.name),
on_attach = lspconfig_config.on_attach,
on_init = lspconfig_config.on_init,
flags = lspconfig_config.flags,
capabilities = capabilities,
settings = lspconfig_config.get_server_settings(server.name)
}
end)
require("lspconfig").gdscript.setup{
root_dir = function()
return vim.fn.getcwd()
end,
init_options = lspconfig_config.get_server_init_options("godot"),
on_attach = lspconfig_config.on_attach,
on_init = lspconfig_config.on_init,
flags = lspconfig_config.flags,
capabilities = capabilities,
settings = lspconfig_config.get_server_settings("godot")
}
return M