From 2d4ece4add76ea4fc3792e9425c62b3e66852d99 Mon Sep 17 00:00:00 2001 From: Xubai Wang <18016038327@189.cn> Date: Fri, 14 Nov 2025 11:07:43 +0800 Subject: fix: exclude deno from biome/eslint/ts_ls/tsgo/vtsls #4130 Close https://github.com/neovim/nvim-lspconfig/issues/4129 Since cwd is a necessity for many JavaScript project (see discussions in https://github.com/neovim/nvim-lspconfig/issues/4015), this fix takes an alternative approach to manually exclude Deno projects from biome/eslint/ts_ls/tsgo/vtsls 's `root_dir` detection logic. There is no need to change svelte since it has a different filetype. --- lsp/ts_ls.lua | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lsp/ts_ls.lua') diff --git a/lsp/ts_ls.lua b/lsp/ts_ls.lua index 0b5a0a3c..a47039e6 100644 --- a/lsp/ts_ls.lua +++ b/lsp/ts_ls.lua @@ -62,6 +62,12 @@ return { -- Give the root markers equal priority by wrapping them in a table root_markers = vim.fn.has('nvim-0.11.3') == 1 and { root_markers, { '.git' } } or vim.list_extend(root_markers, { '.git' }) + + -- exclude deno + if vim.fs.root(bufnr, { 'deno.json', 'deno.lock' }) then + return + end + -- We fallback to the current working directory if no project root is found local project_root = vim.fs.root(bufnr, root_markers) or vim.fn.getcwd() -- cgit v1.2.3-70-g09d2