fix(lsp): install if defined on config

This commit is contained in:
Matt Leong 2021-10-24 16:27:25 -07:00
parent ce86cc1f6e
commit aa32ac00b9
2 changed files with 8 additions and 12 deletions

View file

@ -61,21 +61,17 @@ formatters.defaults = {
local function is_formatter_disabled(formatter) local function is_formatter_disabled(formatter)
if config.lsp and config.lsp.servers and config.lsp.servers.efm and config.lsp.servers.efm.disable_formatters then if config.lsp and config.lsp.servers and config.lsp.servers.efm and config.lsp.servers.efm.disable_formatters then
for i in pairs(config.lsp.servers.efm.disable_formatters) do if vim.tbl_contains(config.lsp.servers.efm.disable_formatters, formatter) then
local disabled = config.lsp.servers.efm.disable_formatters[i]
if disabled == formatter then
return true return true
end end
end end
end
return false return false
end end
local languages = {} local languages = {}
for formatter, filetypes in pairs(formatters.defaults) do for formatter, filetypes in pairs(formatters.defaults) do
if not is_formatter_disabled(formatter) then if not is_formatter_disabled(formatter) then
for i in pairs(filetypes) do for _, filetype in pairs(filetypes) do
local filetype = filetypes[i]
languages[filetype] = languages[filetype] or {} languages[filetype] = languages[filetype] or {}
table.insert(languages[filetype], formatters[formatter]) table.insert(languages[filetype], formatters[formatter])
end end

View file

@ -33,11 +33,11 @@ local disabled_servers = {}
if config.lsp and config.lsp.servers then if config.lsp and config.lsp.servers then
for config_server, config_opt in pairs(config.lsp.servers) do for config_server, config_opt in pairs(config.lsp.servers) do
if config_opt == false then if config_opt == false then
for server in pairs(requested_servers) do table.insert(disabled_servers, config_server)
if (requested_servers[server] == config_server) then elseif not vim.tbl_contains(requested_servers, config_server) then
table.insert(disabled_servers, requested_servers[server]) -- add additonally defined servers to be installed
end -- todo: how to handle non-default server opts?
end table.insert(requested_servers, config_server)
end end
end end
end end