diff options
author | Gregory Anders <greg@gpanders.com> | 2024-10-27 11:35:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-27 11:35:45 -0500 |
commit | adf7c98d607b362dd3b25d6d0bee0d1212c472dd (patch) | |
tree | 7c68fecf75acd556e5f49d690e81f6642a03357f | |
parent | 45e319ade6392aa7ec2cc7e639d0821efd7f2444 (diff) | |
download | rneovim-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.lua | 3 |
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 |