aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/manager.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lspconfig/manager.lua')
-rw-r--r--lua/lspconfig/manager.lua3
1 files changed, 2 insertions, 1 deletions
diff --git a/lua/lspconfig/manager.lua b/lua/lspconfig/manager.lua
index 5d260b41..0c7bc823 100644
--- a/lua/lspconfig/manager.lua
+++ b/lua/lspconfig/manager.lua
@@ -203,7 +203,8 @@ function M:add(root_dir, single_file, bufnr)
local new_config = self.make_config(root_dir)
local client = self:_get_client_from_cache(root_dir, new_config.name)
- if not client then
+ ---If single_file_mode is false then root_dir should match client otherwise start a new client
+ if not client or (not single_file and client.config.root_dir and client.config.root_dir ~= root_dir) then
return self:_start_new_client(bufnr, new_config, root_dir, single_file)
end