diff options
| -rw-r--r-- | lua/lspconfig/util.lua | 13 | ||||
| -rw-r--r-- | plugin/lspconfig.vim | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/lua/lspconfig/util.lua b/lua/lspconfig/util.lua index 477a41f5..917cc765 100644 --- a/lua/lspconfig/util.lua +++ b/lua/lspconfig/util.lua @@ -388,7 +388,7 @@ function M.get_clients_from_cmd_args(arg) result[id] = vim.lsp.get_client_by_id(tonumber(id)) end if vim.tbl_isempty(result) then - return vim.lsp.get_active_clients() + return M.get_managed_clients() end return vim.tbl_values(result) end @@ -401,4 +401,15 @@ function M.get_active_client_by_name(bufnr, servername) end end +function M.get_managed_clients() + local configs = require 'lspconfig.configs' + local clients = {} + for _, config in pairs(configs) do + if config.manager then + vim.list_extend(clients, config.manager.clients()) + end + end + return clients +end + return M diff --git a/plugin/lspconfig.vim b/plugin/lspconfig.vim index 7b7ee55a..5c52d4e1 100644 --- a/plugin/lspconfig.vim +++ b/plugin/lspconfig.vim @@ -10,7 +10,7 @@ end lsp_get_active_client_ids = function() return vim.tbl_map(function(client) return ("%d (%s)"):format(client.id, client.name) - end, vim.lsp.get_active_clients()) + end, require'lspconfig.util'.get_managed_clients()) end require'lspconfig'._root._setup() EOF |
