summaryrefslogtreecommitdiff
path: root/lua/lvim/core/info.lua
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2022-04-14 20:47:22 +0200
committerGitHub <[email protected]>2022-04-14 23:17:22 +0430
commit198577aa756acdbbacc81e3953bc7e790277a8e6 (patch)
treeebee970befa766a25a154b9f0620f9d258dee728 /lua/lvim/core/info.lua
parent332e974b53d8053a7102f669141cdc054d3f20d5 (diff)
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
Diffstat (limited to 'lua/lvim/core/info.lua')
-rw-r--r--lua/lvim/core/info.lua30
1 files changed, 18 insertions, 12 deletions
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")