From 0a1a2aa549da0d2294e072e2d725f02cca32f64e Mon Sep 17 00:00:00 2001 From: Patricio Serrano <43413954+serranomorante@users.noreply.github.com> Date: Tue, 6 Feb 2024 06:54:41 +0100 Subject: fix: enforce single file mode check when root_dir differs from client (#2998) fixes issue [#2959](https://github.com/neovim/nvim-lspconfig/issues/2959#issue-2068768094) --- lua/lspconfig/manager.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lua/lspconfig/manager.lua') 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 -- cgit v1.2.3-70-g09d2