aboutsummaryrefslogtreecommitdiffstats
path: root/lsp
Commit message (Collapse)AuthorAgeFilesLines
* feat: fortitude #4313Loïc Reynier4 days1-0/+30
|
* Merge #4304 from isaacs/isaacs/deno-ts_ls-inferenceJustin M. Keyes4 days4-24/+136
|\
| * fix(vtsls): apply the same deno-excluding logic that ts_ls usesisaacs12 days1-6/+13
| |
| * fix(deno, ts_ls): deno filetype inferenceisaacs12 days3-18/+123
| | | | | | | | | | | | | | | | Update the logic to infer the type properly when a Deno file is part of a non-Deno monorepo project, enabling using the denols and ts_ls (or tsgo) LSPs side by side in the same monorepo without conflict. Fix: #4300
* | Merge #4299 oxlintJustin M. Keyes5 days1-21/+37
|\ \
| * | fix(oxlint): remove unknown filetypesKris Maglione2026-01-301-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The filetypes javascript.tsx and typescript.tsx are not valid and have been removed from other LSP configs recently. Solution: Remove them from the oxlint config.
| * | fix(oxlint): don't attempt to find oxlint section in package.jsonKris Maglione2026-01-301-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The Oxlint LSP configuration checks `package.json` for an "oxlint" section in its `root_dir` function. However, Oxlint has never supported configuration via `package.json`. Solution: Specify ".oxlintrc.json" in a `root_markers` table instead.
| * | feat(oxlint): automatically enable type-aware linting for oxlint when necessaryKris Maglione2026-01-301-10/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Type-aware linting is not enabled by default, and it isn't obvious at all how to do so in neovim based on the Oxlint documentation. Solution: Automatically enable type-aware linting if the necessary dependencies are installed and the Oxlint config file references TypeScript.
| * | feat(oxlint): mention :LxpOxlintFixAll command in help textKris Maglione2026-01-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: This commit originally implemented the `:LxpOxlintFixAll` command and added help text for it. On rebase, it conflicted with another commit which added the same command but did not add help text. Solution: Add help text for the `:LspOxlintFixAll` command.
* | | feat(oxfmt): jsonc root marker #4312James Vaughan5 days1-2/+2
| | |
* | | feat(neocmake): add config file as root_marker #4311Loïc Reynier5 days1-1/+1
| | |
* | | feat(fortls): alternative root_markers #4310Loïc Reynier5 days1-1/+1
| | |
* | | docs: fix vala_ls url #4308蒋慧赟10 days1-1/+1
| |/ |/|
* | docs(astro): example to fix tsdk path not found error #4307E.T12 days1-0/+36
| |
* | fix(ngserver): pull version from devDependencies too #4305bipedal-eel12 days1-1/+1
| |
* | fix(ruby_lsp): handle nil config in cmd() for Nvim 0.11.2 #4303Copilot2026-01-301-1/+1
|/ | | | Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: justinmk <1359421+justinmk@users.noreply.github.com>
* fix(ruby_lsp): send cwd to ls cmd #4293Hasun Park2026-01-291-1/+7
| | | | | | | Problem: Ruby-lsp spawns in cwd even if lsp detected root directory correctly. Solution: Send CWD in the start cmd.
* fix(csharp_ls): use the correct language id #429827Onion Nebell2026-01-291-0/+6
| | | | | | | | In [recent commit](https://github.com/razzmatazz/csharp-language-server/commit/f51cd9dec8b10b7fd8f475dac3a904e1da2c7217), `csharp-language-server` started checking the language id due to the support of Razor documents. Since vim's file type for C# is `cs` so all things like hover documentation, go-to-definition etc. stopped working after this commit when using the default config. This PR fixes that by adding `get_language_id` to `csharp_ls.lua`.
* feat(oxlint/oxfmt): adopt and fully integrate the recommended language ↵François Lachèse2026-01-292-3/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | servers (#4242) * feat(oxlint): use new oxlint --lsp command * chores(oxlint): improve the root_dir logic to better match what oxlint does * feat(oxlint): add default init config comments * feat(oxlint): add LspOxlintFixAll command * docs(oxlint): improve docs * feat(oxfmt): add oxfmt language server * fix(oxlint): fix lint issues * Update lsp/oxfmt.lua Co-authored-by: Tim Shilov <tim@shilov.dev> * Update lsp/oxlint.lua Co-authored-by: Tim Shilov <tim@shilov.dev> * fix(oxlint/oxfmt): use root_dir as workspaceUri * fix: correct configuration after oxc release * fix: add supported Oxfmt languages * fix: add languages supported by Oxlint --------- Co-authored-by: Tim Shilov <tim@shilov.dev>
* fix(roslyn_ls): use uv.os_tmpdir() instead of vim.env.TMP #4297Async102026-01-291-1/+1
| | | Co-authored-by: Daniel Schmitt <d.schmitt@lansoftware.de>
* fix(roslyn_ls): platform-agnostic check for "decompiled" file #4296Async102026-01-281-1/+11
| | | Co-authored-by: Daniel Schmitt <d.schmitt@lansoftware.de>
* fix(basedpyright): remove explicit useLibraryCodeForTypes #4290Lingjie2026-01-271-1/+4
| | | | | | | Explicitly setting `basedpyright.analysis.useLibraryCodeForTypes` is **discouraged** by the official docs, because it will override per-project configurations like `pyproject.toml`. If left unset, its default value is still `true`, and it can be correctly overridden by project config files. See: https://docs.basedpyright.com/latest/configuration/language-server-settings/
* fix(golangci_lint_ls): disable all output formats except JSON #4247Timo Furrer2026-01-271-1/+16
| | | | | | | | | | This change set enables all possible output formats that exist for golangci-lint. This is necessary because if a user configures output formats in their `.golangci.yml` configuration (for example for CI) then this is always in addition to the ones enabled on the command line. Therefore, we manually disable all possible output formats. Currently, there doesn't exist a `golangci-lint` option to exclusively enable an output format or disable all from the config.
* fix: cleanup unknown filetypes #4266Igor Lacerda2026-01-274-6/+1
|
* fix: show deprecation messages on_init #4269Olivia Kinnear2026-01-263-10/+24
|
* feat(snyk_ls): use snyk CLI, update filetypes, misc improvements #4287nick-y-snyk2026-01-261-7/+77
| | | | | | | | | | | | | | | - Change cmd from 'snyk-ls' to 'snyk language-server' to use unified CLI - Add all Snyk-supported language filetypes: apex, apexcode, c, cpp, cs, dart, dockerfile, elixir, eelixir, groovy, java, kotlin, objc, objcpp, php, ruby, rust, scala, swift - Update integrationVersion to use tostring(vim.version()) for automatic version reporting instead of hardcoded '0.10.0' - Add integrationName field for better telemetry (with capital 'N') - Handle nil token with vim.NIL to fix type mismatch warning - Add comprehensive user documentation covering authentication, trusted folders, and advanced configuration options - Update init_options with all scan types (Open Source, Code, IaC) Co-authored-by: Nick Yasnogorodskyi <nikyasnogorodskyi@gmail.com>
* fix(biome): include deno in biome #4288Emanuel Pilz2026-01-261-6/+8
| | | PR #4130 prevents a bunch of lsps to start in a deno project, including biome. However I think the biome lsp should indeed be active in deno projects with a `biome.json`.
* feat: oso #4277Aru Sahni2026-01-261-0/+32
| | | This introduces a language server for the Polar policy language (used by Oso).
* fix: disable telemetry in the intelephense lsp server #4279madflow2026-01-261-0/+7
|
* fix: drop unmaintained LS lsp/erlangls.lua #4292Justin M. Keyes2026-01-261-21/+0
| | | | | | | | | | ## Problem: erlang_ls is unmaintained: https://github.com/erlang-ls/erlang_ls/issues/1596 ## Solution Drop erlang_ls in favor of lsp/elp.lua fix https://github.com/neovim/nvim-lspconfig/issues/4283
* fix: deprecate systemd_ls in future version (#4282)Magnus Larsen2026-01-261-1/+1
|
* fix(lua_ls): adjust priorities (#4289)zeertzjq2026-01-221-11/+15
| | | | Give same priority for .emmyrc.json and .luarc.json, lower priority to other config files, and lowest priority to .git.
* docs(lua_ls): correct nested table workspace.library setting (#4285)Juan Giordana2026-01-211-10/+8
| | | | | | | | | | Correct nested table `workspace.library` setting. `lua_ls` `workspace.library` setting expects an *1D string array* `Array<string>` but the suggested documentation example sets a **2D string array**, a nested table, instead. https://github.com/neovim/nvim-lspconfig/blob/92ee7d42320edfbb81f3cad851314ab197fa324a/lua/lspconfig/configs/lua_ls.lua https://luals.github.io/wiki/settings/#workspacelibrary
* feat: gn_language_server #4276Shuhei Takahashi2026-01-081-0/+13
| | | | | | | | | This patch adds support for [gn-language-server](https://github.com/google/gn-language-server), a language server for GN (the build configuration language used in Chromium, Fuchsia, and other projects). While `nvim-lspconfig` already includes a configuration for [`gnls`](https://github.com/neovim/nvim-lspconfig/blob/master/lsp/gnls.lua) by Microsoft, this is a separate implementation written from scratch in Rust. Unlike the Microsoft version, which primarily focuses on single-file analysis, this server analyzes the entire workspace for definitions and references. To my knowledge, it is currently the most powerful GN language server available. It is the officially recommended language server for Chromium and Fuchsia: - Chromium: https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/vscode.md#recommended-extensions - Fuchsia: https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/fuchsia.code-workspace#63
* feat(codebook): add zig and swift filetypes #4273prg3182026-01-071-0/+2
|
* fix(systemd_ls): fix broken deprecationOlivia Kinnear2026-01-041-1/+1
|
* feat: pony_language_server #4264Matthias Wahl2026-01-021-0/+12
|
* feat!: deprecate systemd_ls in favor of systemd_lsp #4262Magnus Larsen2025-12-301-13/+4
|
* fix(biome): avoid false-positive root_dir matches #4261Victor Accarini2025-12-301-1/+1
| | | | | | | | | Problem: Biome server becomes active if biome appears as a substring in package.json, even when biome is not being used. Solution: Since biome is behind the `@biomejs` namespace we can narrow its activation by appending `js` in the searched term.
* fix(tblgen_lsp_server): also search build dir for db #4260Stefan Weigl-Bosker2025-12-251-2/+5
|
* fix(roslyn_ls): guess root_dir for decompiled code #4257Matthew Wilding2025-12-231-3/+8
| | | Try to guess the root_dir by getting the lsp client from the previous buffer.
* fix(tsgo): prefer local node_modules binary over global #4258ryoppippi2025-12-231-1/+8
| | | | | | | Convert the cmd from a static array to a function that checks for a locally installed tsgo binary in node_modules/.bin/ before falling back to the global installation. This ensures projects using @typescript/native-preview as a local dependency will use the correct version, matching the pattern already used by biome.
* fix(roslyn_ls): attach in decompiled code #4254Matthew Wilding2025-12-221-0/+5
|
* fix(ast_grep): invalid filetypes #4253Charles Taylor2025-12-221-3/+1
| | | | | | | | | | | | | | | | Problem: `csharp` is not a valid filetype in neovim. csharp files are of filetype `cs`. You can see a warning by doing ```lua vim.ls.enable({ "ast_grep"}) ``` `:checkheatlh lsp` or `:LspInfo` shows this warning: ``` vim.lsp: Enabled Configurations ⚠️ WARNING Unknown filetype 'csharp' (Hint: filename extension != filetype). ```
* feat: home_assistant #4248Micah Halter2025-12-201-0/+18
|
* fix(buf_ls): remove unnecessary flags + "beta" comment #4250Stefan VanBuren2025-12-201-3/+3
|
* feat: systemd_lsp #4251Kris2025-12-201-0/+20
| | | It's more up-to-date than systemd-language-server.
* fix(harper_ls): add `.harper-dictionary.txt` as root marker #4246Chris Grieser2025-12-171-1/+1
| | | | | | The file `.harper-dictionary.txt` stores the workspace-specific dictionary, thus making it a root marker. https://writewithharper.com/docs/integrations/language-server#Workspace-Dictionary
* docs(roslyn_ls): format codeblock #4241Eero Häihälä2025-12-161-0/+2
|
* fix(copilot): use correct error variable #4240Stefan van der Wolf2025-12-151-1/+1
| | | | | | | | | Problem: The client:exec_cmd callback was incorrectly referencing to err variable from the outer scope instead of the cmd_err variable from its on scope. Could cause problems when err is nil but the cmd_err is not. Solution: Changed the reference from err to cmd_err