aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Anders <greg@gpanders.com>2024-10-27 11:35:45 -0500
committerGitHub <noreply@github.com>2024-10-27 11:35:45 -0500
commitadf7c98d607b362dd3b25d6d0bee0d1212c472dd (patch)
tree7c68fecf75acd556e5f49d690e81f6642a03357f
parent45e319ade6392aa7ec2cc7e639d0821efd7f2444 (diff)
downloadrneovim-adf7c98d607b362dd3b25d6d0bee0d1212c472dd.tar.gz
rneovim-adf7c98d607b362dd3b25d6d0bee0d1212c472dd.tar.bz2
rneovim-adf7c98d607b362dd3b25d6d0bee0d1212c472dd.zip
fix(lsp): compare URI instead of workspace folder name (#30962)
The workspace folder name is meant to be a human-readable name which is only used in the UI. Comparing the name against root_dir is thus not a valid comparison. Instead, we should compare the workspace folder's URI against the root dir URI.
-rw-r--r--runtime/lua/vim/lsp.lua3
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index 125238a8e9..a41a3f1585 100644
--- a/runtime/lua/vim/lsp.lua
+++ b/runtime/lua/vim/lsp.lua
@@ -189,9 +189,10 @@ local function reuse_client_default(client, config)
end
if config.root_dir then
+ local root = vim.uri_from_fname(config.root_dir)
for _, dir in ipairs(client.workspace_folders or {}) do
-- note: do not need to check client.root_dir since that should be client.workspace_folders[1]
- if config.root_dir == dir.name then
+ if root == dir.uri then
return true
end
end