aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig.lua
diff options
context:
space:
mode:
authorkraftwerk28 <kefirchik3@gmail.com>2021-04-05 13:52:19 +0300
committerkraftwerk28 <kefirchik3@gmail.com>2021-04-05 13:56:38 +0300
commita39b3109e04c26c4b926460815f655570e27896d (patch)
treebd949c02d1a9b724f454a96d3f120148b510f331 /lua/lspconfig.lua
parent[docgen] Update CONFIG.md (diff)
downloadnvim-lspconfig-a39b3109e04c26c4b926460815f655570e27896d.tar
nvim-lspconfig-a39b3109e04c26c4b926460815f655570e27896d.tar.gz
nvim-lspconfig-a39b3109e04c26c4b926460815f655570e27896d.tar.bz2
nvim-lspconfig-a39b3109e04c26c4b926460815f655570e27896d.tar.lz
nvim-lspconfig-a39b3109e04c26c4b926460815f655570e27896d.tar.xz
nvim-lspconfig-a39b3109e04c26c4b926460815f655570e27896d.tar.zst
nvim-lspconfig-a39b3109e04c26c4b926460815f655570e27896d.zip
Restart clients attached to current buffer if none specified
Diffstat (limited to 'lua/lspconfig.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";