aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/buf.lua
diff options
context:
space:
mode:
authorDan Strokirk <dan.strokirk@gmail.com>2023-03-13 14:01:34 +0100
committerGitHub <noreply@github.com>2023-03-13 06:01:34 -0700
commitf01f18cdf4ffc3ce035db5fde2f45493eebb7fd9 (patch)
tree4e70d5f8ab7d735113288c7ac6e5bfe9e1fe862e /runtime/lua/vim/lsp/buf.lua
parent4e99cc12178ee4980734babb0249335dfad9f3c7 (diff)
downloadrneovim-f01f18cdf4ffc3ce035db5fde2f45493eebb7fd9.tar.gz
rneovim-f01f18cdf4ffc3ce035db5fde2f45493eebb7fd9.tar.bz2
rneovim-f01f18cdf4ffc3ce035db5fde2f45493eebb7fd9.zip
fix(lsp): remove_workspace_folders fails if client has no workspace_folders #22633
When a client has no workspace_folders, (e.g., copilot), `pairs` code would crash.
Diffstat (limited to 'runtime/lua/vim/lsp/buf.lua')
-rw-r--r--runtime/lua/vim/lsp/buf.lua2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/lua/vim/lsp/buf.lua b/runtime/lua/vim/lsp/buf.lua
index 0e16e8f820..8bf3764f5e 100644
--- a/runtime/lua/vim/lsp/buf.lua
+++ b/runtime/lua/vim/lsp/buf.lua
@@ -530,7 +530,7 @@ function M.remove_workspace_folder(workspace_folder)
{ { uri = vim.uri_from_fname(workspace_folder), name = workspace_folder } }
)
for _, client in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do
- for idx, folder in pairs(client.workspace_folders) do
+ for idx, folder in pairs(client.workspace_folders or {}) do
if folder.name == workspace_folder then
vim.lsp.buf_notify(0, 'workspace/didChangeWorkspaceFolders', params)
client.workspace_folders[idx] = nil