From c5dae15c0c94703a0565e8ba35a9f5cb96ca7b8a Mon Sep 17 00:00:00 2001 From: Rishikesh Vaishnav Date: Wed, 1 Jun 2022 07:43:01 -0700 Subject: fix: no-argument :LspStop, :LspRestart with standalone files #1785 The no-argument versions of `:LspStop` and `:LspRestart` currently only apply to buffers that have a valid root directory. It seems that these commands should stop/restart all clients, including those associated with standalone files. Closes #1784 --- lua/lspconfig/util.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lua/lspconfig/util.lua') diff --git a/lua/lspconfig/util.lua b/lua/lspconfig/util.lua index a1eb75ba..88ba42f9 100644 --- a/lua/lspconfig/util.lua +++ b/lua/lspconfig/util.lua @@ -295,9 +295,10 @@ function M.server_per_root_dir_manager(make_config) return client_id end - function manager.clients() + function manager.clients(single_file) local res = {} - for _, id in pairs(clients) do + local client_list = single_file and single_file_clients or clients + for _, id in pairs(client_list) do local client = lsp.get_client_by_id(id) if client then table.insert(res, client) @@ -422,6 +423,7 @@ function M.get_managed_clients() for _, config in pairs(configs) do if config.manager then vim.list_extend(clients, config.manager.clients()) + vim.list_extend(clients, config.manager.clients(true)) end end return clients -- cgit v1.2.3-70-g09d2