aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/lspconfig.lua23
1 files changed, 14 insertions, 9 deletions
diff --git a/lua/lspconfig.lua b/lua/lspconfig.lua
index 4c9fbda4..ba8660ec 100644
--- a/lua/lspconfig.lua
+++ b/lua/lspconfig.lua
@@ -45,15 +45,20 @@ function M._root._setup()
};
LspRestart = {
function(client_id)
- if client_id then
- local client = vim.lsp.get_client_by_id(tonumber(client_id))
- if client then
- local client_name = client.name
- client.stop()
- vim.defer_fn(function()
- require('lspconfig')[client_name].autostart()
- end, 500)
- end
+ local clients
+
+ if client_id == nil then
+ clients = vim.lsp.buf_get_clients(0)
+ else
+ clients = {vim.lsp.get_client_by_id(tonumber(client_id))}
+ end
+
+ for _, client in ipairs(clients) do
+ local client_name = client.name
+ client.stop()
+ vim.defer_fn(function()
+ require('lspconfig')[client_name].autostart()
+ end, 500)
end
end;
"-nargs=? -complete=customlist,v:lua.lsp_get_active_client_ids";