From 198577aa756acdbbacc81e3953bc7e790277a8e6 Mon Sep 17 00:00:00 2001 From: kylo252 <59826753+kylo252@users.noreply.github.com> Date: Thu, 14 Apr 2022 20:47:22 +0200 Subject: refactor(lsp): cleanup servers' override configuration (#2243) * refactor(lsp): cleanup override settings - rename lsp.override to lsp.automatic_configuration.ignored_servers - add lsp.automatic_configuration.ignored_filetypes * chore(info): update override section * refactor(lsp): rename ignored to skipped * fix: better deprecation handling * docs(lsp): add example for (un-)skipping servers * refactor(lsp): allow installing overridden servers * docs(lsp): update config_win.example.lua as well * chore(lsp): update skipped_servers list * fix(logger): less noise from client_is_configured --- lua/lvim/core/info.lua | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) (limited to 'lua/lvim/core') diff --git a/lua/lvim/core/info.lua b/lua/lvim/core/info.lua index 9c9652da..00a7e85a 100644 --- a/lua/lvim/core/info.lua +++ b/lua/lvim/core/info.lua @@ -100,21 +100,26 @@ local function make_client_info(client) return client_info end -local function make_override_info(ft) +local function make_auto_lsp_info(ft) + local skipped_filetypes = lvim.lsp.automatic_configuration.skipped_filetypes + local skipped_servers = lvim.lsp.automatic_configuration.skipped_servers + local info_lines = { "Automatic LSP info" } + + if vim.tbl_contains(skipped_filetypes, ft) then + vim.list_extend(info_lines, { "* Status: disabled for " .. ft }) + return info_lines + end + local available = lsp_utils.get_supported_servers_per_filetype(ft) - local overridden = vim.tbl_filter(function(name) + local skipped = vim.tbl_filter(function(name) return vim.tbl_contains(available, name) - end, lvim.lsp.override) + end, skipped_servers) - local info_lines = { "" } - if #overridden == 0 then - return info_lines + if #skipped == 0 then + return { "" } end - info_lines = { - fmt("Overridden %s server(s)", ft), - fmt("* list: %s", str_list(overridden)), - } + vim.list_extend(info_lines, { fmt("* Skipped servers: %s", str_list(skipped)) }) return info_lines end @@ -150,7 +155,7 @@ function M.toggle_popup(ft) table.insert(client_names, client.name) end - local override_info = make_override_info(ft) + local auto_lsp_info = make_auto_lsp_info(ft) local formatters_info = make_formatters_info(ft) @@ -169,7 +174,7 @@ function M.toggle_popup(ft) { "" }, lsp_info, { "" }, - override_info, + auto_lsp_info, { "" }, formatters_info, { "" }, @@ -192,6 +197,7 @@ function M.toggle_popup(ft) vim.fn.matchadd("LvimInfoHeader", "Formatters info") vim.fn.matchadd("LvimInfoHeader", "Linters info") vim.fn.matchadd("LvimInfoHeader", "Code actions info") + vim.fn.matchadd("LvimInfoHeader", "Automatic LSP info") vim.fn.matchadd("LvimInfoIdentifier", " " .. ft .. "$") vim.fn.matchadd("string", "true") vim.fn.matchadd("string", "active") -- cgit v1.2.3