mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	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.
This commit is contained in:
		| @@ -530,7 +530,7 @@ function M.remove_workspace_folder(workspace_folder) | |||||||
|     { { uri = vim.uri_from_fname(workspace_folder), name = 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 _, 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 |       if folder.name == workspace_folder then | ||||||
|         vim.lsp.buf_notify(0, 'workspace/didChangeWorkspaceFolders', params) |         vim.lsp.buf_notify(0, 'workspace/didChangeWorkspaceFolders', params) | ||||||
|         client.workspace_folders[idx] = nil |         client.workspace_folders[idx] = nil | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Dan Strokirk
					Dan Strokirk