diff options
| author | Alexis Tacnet <alexis@mistral.ai> | 2025-09-11 05:31:23 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-10 20:31:23 -0700 |
| commit | ec54d14e0ad816e4099738a2b8f8e61ed3c9430e (patch) | |
| tree | 32fc90c3593795e812ac54472756b59e8111ea9e /lsp/vtsls.lua | |
| parent | docs: update configs.md (diff) | |
| download | nvim-lspconfig-ec54d14e0ad816e4099738a2b8f8e61ed3c9430e.tar nvim-lspconfig-ec54d14e0ad816e4099738a2b8f8e61ed3c9430e.tar.gz nvim-lspconfig-ec54d14e0ad816e4099738a2b8f8e61ed3c9430e.tar.bz2 nvim-lspconfig-ec54d14e0ad816e4099738a2b8f8e61ed3c9430e.tar.lz nvim-lspconfig-ec54d14e0ad816e4099738a2b8f8e61ed3c9430e.tar.xz nvim-lspconfig-ec54d14e0ad816e4099738a2b8f8e61ed3c9430e.tar.zst nvim-lspconfig-ec54d14e0ad816e4099738a2b8f8e61ed3c9430e.zip | |
fix: ts/js LSPs require lockfile #4062
Problem:
Some projects don't have a lockfile.
Solution:
- Fallback to ".git" as a lower-priority root-marker (Nvim 0.11.3+).
- Fallback to CWD.
Diffstat (limited to 'lsp/vtsls.lua')
| -rw-r--r-- | lsp/vtsls.lua | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/lsp/vtsls.lua b/lsp/vtsls.lua index ba2e7de5..c8ab993a 100644 --- a/lsp/vtsls.lua +++ b/lsp/vtsls.lua @@ -86,11 +86,10 @@ return { -- manager lock file. local root_markers = { 'package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'bun.lockb', 'bun.lock', 'deno.lock' } -- 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 } or root_markers - local project_root = vim.fs.root(bufnr, root_markers) - if not project_root then - return - end + root_markers = vim.fn.has('nvim-0.11.3') == 1 and { root_markers, { '.git' } } + or vim.list_extend(root_markers, { '.git' }) + -- 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() on_dir(project_root) end, |
