aboutsummaryrefslogtreecommitdiffstats
path: root/lsp
Commit message (Collapse)AuthorAgeFilesLines
* fix(buf_ls): update serve command for buf > v1.59.0Edward McFarlane2025-10-201-1/+1
| | | | | | This updates the buf_ls command post v1.59.0, where the command was promoted out of beta to general availability. The command was changed from buf beta lsp to buf lsp serve.
* chore(bufls): remove buflsEdward McFarlane2025-10-201-17/+0
| | | | | | This removes bufls entirely. The was a prototype from years ago that was never finised: https://github.com/bufbuild/buf-language-server was archived.
* feat: django-language-server #4119Josh Thomas2025-10-101-0/+12
|
* feat(ocamllsp): `:LspOcamllspSwitchImplIntf` command #4117AlexApps992025-10-101-0/+40
|
* fix!: remove ocamlls #4118Seiya2025-10-101-20/+0
| | | | | | | | | ocamlls was added at #76. It was because ocaml-lsp-server, which is official one, was too young. In 2025, the official one works fine. On the other hand, unofficial ocaml-language-server is not maintaned. We can no longer access its GitHub repository. Issue: #4115
* fix(texlab): buf_change_env not taking input #4116Ian2025-10-091-17/+15
| | | | | | | Problem: `buf_change_env` uses `vim.ui.input` but the input prompt value is never used for `client:exec_cmd` (due to async). Solution: Call `client:exec_cmd` in `vim.ui.input`.
* docs(copilot): add instructions to enable lsp inline completion (#4111)Alexandre Teoi2025-10-031-0/+27
|
* docs(neocmake): update repository URL #4110Johannes Bezold2025-10-021-1/+1
| | | | | The GitHub repository has changed owners. The old URL redirects to the new repository but updating it makes it clearer which project is referenced by the documentation.
* docs: bitbake_language_server #4109Gaétan Lepage2025-09-301-1/+8
|
* feat(ast_grep): update filetypes #4106ergou2025-09-301-7/+18
| | | | | * feat(ast_grep): update the filetypes * revert: revert changes in side `lus/lspconfig/config` as deprecated
* feat: more root markers for ty #4108Gautham Venkataraman2025-09-301-1/+1
| | | Co-authored-by: Gautham Venkataraman <gautham@dexterenergy.ai>
* chore(jdtls): use config.root_dir instead of config.root_markers #4107Tomas Slusny2025-09-301-6/+3
| | | | | | | | The root dir is already pre-resolved when the config is being passed (when changing the code originally i looked and used wrong config type so i missed this). So use the pre-resolved value instead of resolving it again. Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
* fix(jdtls): use project-local workspace dir, remove unused options #4105Tomas Slusny2025-09-291-29/+30
| | | | | | | | | | | | | | - https://github.com/eclipse-jdtls/eclipse.jdt.ls?tab=readme-ov-file#running-from-the-command-line: `-data` dir needs to be project-local and not shared. override cmd with function. also use stdpath.cache like other lsp servers already do - https://github.com/eclipse-jdtls/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request `jvm_args`, `workspace`, `os_config` are not part of jdtls init_options - https://github.com/eclipse-jdtls/eclipse.jdt.ls/blob/dbe1db974e9b4b472b8b1063fe7e5e7fc2a1fb7f/org.eclipse.jdt.ls.product/scripts/jdtls.py#L102 jdtls already sets correct shared configuration path, `-configuration` is not needed (and it is os-specific value so current config is wrong) Closes #4103 Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
* fix(jdtls): increase priority of ".git", add "mvnw", "gradlew" #4104Tomas Slusny2025-09-291-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Using git directory as last resort before defaulting to pom.xml is important for multi module maven projects. Example of structure: pom.xml submodule-a/pom.xml submodule-b/pom.xml If sumbodule-b depends on submodule-a (common pattern for dto/impl), the parent usually has info about linking the 2 projects (and without that go to definition etc will jump to compiled source that might not be present/up t date). This structure is also fine and do not breaks jdtls: my-project/pom.xml e.g its fine if working directory is git repo root (and this pattern is also much less common than multi module maven projects that without this change break always). Closes #4102 Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
* fix(ruby_lsp): set cmd_cwd to root_dir #4099Rich Grundy2025-09-251-0/+4
| | | | | | | | | Problem: When running from a directory other than root (i.e monorepo), ruby-lsp does not load correctly. Unsure why, previous lspconfig had cmd_cwd set to the same as root_dir. Solution: Set the cmd_cwd via reuse_client(), similar to ast_grep. See #3850, #4082 for more details. Tested both from root_dir and monorepo multi-root project.
* feat(lsp/ocamllsp.lua): use root_markers instead of root_dir #4098Török Edwin2025-09-241-8/+20
| | | | | This drops the dependency on the deprecated `lspconfig.util`. Signed-off-by: Edwin Török <edwin@etorok.net>
* fix(stylua): include EditorConfig as a root marker #4094Caleb Maclennan2025-09-231-1/+1
|
* fix(jdtls): lower priority of ".git" root marker #4090dareni2025-09-221-11/+16
|
* fix(leanls): migrate to vim.lsp.config #4084Christian Benedict Smit2025-09-221-0/+45
| | | Co-authored-by: Benedict Christian Smit <benedict.smit@tu-dortmund.de>
* feat(foam_ls): fallback root directories #4085Mohammed Elwardi Fadeli2025-09-211-3/+10
| | | | Although not common, the associated LSP (foam_ls) can handle single files just fine. Fallback to git root, or the file's folder.
* feat(apex_ls): add vim.lsp.config support #4081Andrew Jackson2025-09-191-0/+59
|
* refactor!: deprecate old framework/configs, Nvim 0.10 #4077Justin M. Keyes2025-09-171-1/+1
|
* Revert "add deno.lock root marker #4051"Justin M. Keyes2025-09-175-5/+5
| | | | | | | Reverts 33e318a3f0e729fb7ee82619a21172712b0ea288 (except for svelte). fix #4074 close #4076
* feat: StyLua Lua formatter #4073Bartłomiej Maryńczak2025-09-141-0/+12
|
* fix(jdtls): remove nonstandard WorkspaceEdit version handlers #4071Robert Muir2025-09-111-45/+0
| | | | | | | | Remove custom handlers and version fix for WorkspaceEdit, as jdtls now conforms to the LSP spec (eclipse-jdtls/eclipse.jdt.ls#1742) See eclipse-jdtls/eclipse.jdt.ls#1695 for more background on why the workaround was introduced. The original problem was fixed in the upstream LSP server four years ago: remove the workaround.
* feat(harper): add shell filetype #4069wiser-fz2025-09-101-0/+1
|
* fix(jdtls): remove nonstandard progress handler #4068Robert Muir2025-09-101-9/+0
| | | | | | | | | | Problem: The nonstandard progress handler was added in #2153 but it can cause some undesirable side-effects out of box ("press enter"). The original bug (mfussenegger/nvim-jdtls#327) was fixed upstream in the language server three years ago (eclipse-jdtls/eclipse.jdt.ls#2258). Solution: Remove the workaround. Standard progress works.
* fix: ts/js LSPs require lockfile #4062Alexis Tacnet2025-09-106-27/+26
| | | | | | | | 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.
* fix(zk): zk.list returns paths relative to the root directory #4063Alexandre Teoi2025-09-071-1/+1
|
* feat(zk): implement the zk.tag.list command #4060Alexandre Teoi2025-09-061-34/+76
| | | | | * feat(zk): implement the zk.tag.list command * refactor(zk): use workspace_required config to disable single file support * fix(zk): remove tbl_map to avoid possible order issue
* fix(ts_query_ls): root pattern fixup, override query ftplugin opts #4059Riley Bruins2025-09-061-20/+22
| | | | | | | | **Problem:** The built-in query linter will cause duplicate diagnostics when running the query LSP. It is also slower and blocking, and can cause jarring editor freezes for short times. **Solution:** Disable it when using `ts_query_ls`. Also, set the omnifunc to the LSP omnifunc rather than the custom `query` one.
* fix(roslyn_ls): remove unused handler #4061Sebastian Lyng Johansen2025-09-061-7/+0
| | | | This handler was removed a long time ago and was replaced with another handler that is already implemented here: https://github.com/dotnet/vscode-csharp/commit/9cc41f6d2535a5cb5533dc5ae8f3a10ade16e7b5
* feat: zuban #4056Mateen Ulhaq2025-09-031-0/+19
|
* docs, lint #4055Justin M. Keyes2025-09-032-4/+10
|
* fix(expert): implement root_dir instead #4054Rasheed Atanda2025-09-031-1/+15
| | | | | Copy the approach from `lsp/elixirls.lua` to support monorepos. fix #4052
* feat(roslyn_ls): support override completion and refresh diagnostics #4050Minh Khoi Do2025-09-031-7/+62
| | | | | | | | | | | | | | | | | | | | | | Problem: - Diagnostics were only refreshed for the current buffer, not all buffers managed by the client. In multi-file C# projects, this left diagnostics stale unless the user switched buffers. - Roslyn did not handle override method completion correctly. Solution: - Added `roslyn.client.completionComplexEdit` handler to apply edits for override completions. - Added `refresh_diagnostics` function, called on project initialization and on `BufWritePost` / `InsertLeave` events, to proactively pull diagnostics for all client buffers. Rationale: - Roslyn LSP primarily uses pull-based diagnostics. Neovim currently only triggers diagnostic pulls on text changes in the active buffer. This makes `debounce_text_changes` insufficient for Roslyn, as changes in one file can affect diagnostics across the entire solution. - The autocmds act as a server-specific workaround to mimic an “on-save/on-idle” pull model.
* feat(biome,eslint,svelte,ts_ls,tsgo,vtsls): add deno.lock root marker #4051Kai Moschcau2025-09-036-6/+6
| | | | | | | | Problem: `deno.lock` is not recognized as a root marker in JavaScript related servers. Solution: Add `deno.lock` as a root marker.
* refactor: svelte augroupJustin M. Keyes2025-09-021-1/+1
|
* fix(expert): reorder the markers #4047Rasheed Atanda2025-09-011-1/+1
|
* feat(gh_actions_ls): handle "actions/readFile" request #4046Julio García2025-09-011-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes https://github.com/lttb/gh-actions-language-server/issues/5 Implement a custom handler for the "actions/readFile" request in the gh_actions_ls config. This handler reads the requested file from disk and returns its contents if the file is readable. This improves integration with the GitHub Actions language server by supporting file content requests. Here is how the vscode github actions extension sets the handler: https://github.com/github/vscode-github-actions/blob/main/src/workflow/languageServer.ts#L68 TODO: We could also provide an implementation for populating the init_options properly, docs currently suggest an empty table. For the lsp to work properly, it should be populated with this "shape": init_options = { sessionToken = session_token, repos = { { id = 1008200293, owner = org_name, name = repo_name, workspaceUri = "file://" .. vim.fn.getcwd(), organizationOwned = true, }, }, },
* fix(vtsls): inform the LS its client is neovim #4048Rasheed Atanda2025-08-311-0/+3
|
* fix(pyright): command :LspPyrightSetPythonPath fails #4045Stanislav Asunkin2025-08-302-2/+4
| | | | | `vim.api.nvim_buf_create_user_command` callback is called with a table argument that contains a parsed command. Need to use `args` or `fargs` key to get command arguments.
* fix(pyright): command :LspPyrightOrganizeImports fails #3971Michele Sorcinelli2025-08-302-4/+14
| | | | | | | | | | Problem: The `pyright.organizeimports` is private, so client:exec_cmd() fails because it refuses to run commands that are not advertised as capabilities. Solution: Call client.request() to side-step the check in client:exec_cmd(). YOLO
* feat(expert): elixir expert ls #4041Andy LeClair2025-08-281-0/+12
|
* fix(herb): remove ruby filetype #4040Hans Schnedlitz2025-08-281-1/+1
|
* fix(copilot): device flow authentication #4038Robert Muir2025-08-251-2/+2
| | | | Current code will always trigger error (unless you are already authd), because result.code is invalid. result.userCode must be used instead.
* fix(atopile): rename file, move to correct location #4039MrNavaStar2025-08-251-0/+14
|
* feat: php language server 'phptools' from devsense #3966Jakub Míšek2025-08-251-0/+36
|
* ci(lint): require type annotation #4034Justin M. Keyes2025-08-242-0/+2
|
* feat(copilot): initial support for copilot-language-server #4029Yi Ming2025-08-241-0/+107
|