diff options
| author | kylo252 <[email protected]> | 2022-04-14 20:47:22 +0200 | 
|---|---|---|
| committer | GitHub <[email protected]> | 2022-04-14 23:17:22 +0430 | 
| commit | 198577aa756acdbbacc81e3953bc7e790277a8e6 (patch) | |
| tree | ebee970befa766a25a154b9f0620f9d258dee728 /lua/lvim/core | |
| parent | 332e974b53d8053a7102f669141cdc054d3f20d5 (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')
| -rw-r--r-- | lua/lvim/core/info.lua | 30 | 
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") | 
