aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lua/lspconfig/util.lua13
-rw-r--r--plugin/lspconfig.vim2
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