aboutsummaryrefslogtreecommitdiffstats
path: root/lsp
Commit message (Collapse)AuthorAgeFilesLines
* feat(oxlint): check if tsgolint bin exists inside project #4437HEADmasterIgor Lacerda3 days1-1/+6
|
* feat(jls): add jls config #4439Ibrahim Delice3 days1-0/+30
| | | Co-authored-by: Delice0 <59118341+Delice0@users.noreply.github.com>
* fix(rescript): default parameters do not enable incrementalTypechecking #4440Wildfield3 days1-1/+1
| | | Fixes the issue by changing "enabled" to "enable"
* fix(flow): resolve project-local binary before npx fallback #4431Arthur3 days1-4/+8
| | | | | When flow is not in global PATH, try node_modules/.bin/flow relative to the project root before falling back to npx. This covers the common case where flow-bin is a local devDependency.
* feat: slang-server #4441Todd Strader4 days1-0/+17
|
* docs(roslyn_ls): dotnet tool install instructions #4435Alexandre Teoi9 days1-1/+6
|
* fix(roslyn_ls): drop unnecessary code, recommend maintained plugin #4436Sebastian Lyng Johansen9 days1-26/+1
| | | | rzls.nvim is deprecated and the support of razor is now moved into roslyn.nvim with the author for rzls.nvim joining to maintain roslyn.nvim
* fix(oxc): fix oxlint, oxfmt vite plus config search #4434VI0L3TF0X10 days2-2/+16
|
* fix(ruby-lsp): broken `reuse_client` logic #4433David Garcia11 days1-1/+1
| | | avoid spawning extra LSP instances by fixing the reuse_client logic.
* feat: shuck language server #4417George Harker13 days1-0/+17
| | | | | | shuck is a lightning fast shell linter and language server written in Rust. It supports bash, zsh, posix, and mksh dialects. https://github.com/ewhauser/shuck
* feat: update oxfmt, oxlint to detect vite plus #4395VI0L3TF0X13 days2-3/+22
| | | | | | | | Problem: oxfmt and oxlint have the ability to use vite plus config, as mentioned here: https://github.com/voidzero-dev/vite-plus/issues/629 Solution: update the configs to reflect that.
* feat(zizmor): attach to action.yaml #4430Fionn2026-05-161-1/+1
| | | | | | | Problem: Only matching `action.yml` Solution: Match `action.yaml` also.
* docs(emmylua_ls): fix docstring #4428Justin M. Keyes2026-05-141-1/+1
|
* feat(harper_ls): add tex filetype #4427Gabriel Dahia2026-05-141-0/+1
|
* docs(emmylua_ls): fix config example #4426Matei Stroia2026-05-141-11/+13
|
* feat: hare-lsp #4425Hugo2026-05-141-0/+13
|
* feat: improve emmylua_ls #4423Justin M. Keyes2026-05-122-14/+63
| | | | | | | | Problem: `emmylua_ls` is emerging as the preferred Lua LS for Neovim, but the config provided by nvim-lspconfig is almost useless. Solution: Update the config to provide hints similar to that of `lua_ls`.
* feat(dexter): dexter LSP for large Elixir codebases #4421Ursache Codrut-Stefan2026-05-121-0/+55
|
* fix: logic bugs found by AIJustin M. Keyes2026-05-071-1/+1
| | | | | 1. `plugin/lspconfig.lua`: LspRestart timer was never closed after firing, leaking a libuv handle on every invocation. 2. `lsp/muon.lua`: Formatting cmd (a list) with %s, producing table: 0x... instead of the command.
* feat: panache language server (#4418)v2.9.0Johan Larsson2026-05-071-0/+18
| | | | | | | | Panache is a language server (formatter, and linter) for Markdown, Quarto, and R Markdown. It's built in Rust and uses a lossless CST parser. It supports integrating external formatters and linters. It's packaged at crates.io, NPM, PyPi, and as a VSIX extension at VS Code Marketplace and Open VSX. Binaries are provided directly from the GitHub repo.
* fix(kotlin_lsp): update cmd to `intellij-server` #4412Sindre Moen2026-04-291-1/+1
| | | | per https://github.com/Kotlin/kotlin-lsp/commit/75ddb7586e0170ed93912b0be5d67e0a45769ee6 , the new name of the launcher is `intellij-server`, not `kotlin-lsp`.
* fix(esbonio): update cmd for esbonio v2 #4409janheini2026-04-291-2/+2
| | | | | | Esbonio v2 can no longer be started with the top-level esbonio command. Switch to 'esbonio.server' which is compatible with v1 and v2. See: https://github.com/swyddfa/esbonio/pull/1098
* fix(ast_grep, ruby_lsp): check name in reuse_client #4408Sam Wight2026-04-282-2/+2
|
* fix(spade_ls): default binary name #4404Ethan Uppal2026-04-271-1/+1
|
* feat: spade_ls #4403jam1garner2026-04-271-0/+18
|
* docs: update expert repo #4402Mitchell Hanberg2026-04-271-1/+1
| | | The repo moved from elixir-lang to expert-lsp (https://github.com/expert-lsp/expert)
* feat: ctags_lsp #4399JINNOUCHI Yasushi2026-04-231-0/+28
|
* docs(lua_ls): how to include lspconfig types #4396flatplum2026-04-211-0/+2
|
* feat: phpantom_lsp #4362Caleb White2026-04-201-0/+12
|
* fix(flow): invalid condition #4394Justin M. Keyes2026-04-161-1/+1
|
* fix(groovyls): use global executable instead of local jar #4392Brian Di Palma2026-04-151-5/+8
|
* fix(golangci_lint_ls): guard against missing `golangci-lint` in ↵Ethan Saxenian2026-04-151-0/+5
| | | | `before_init` (#4390)
* feat: zizmor #4382Peyton Murray2026-04-121-0/+40
|
* fix(gdscript): remove invalid filetypes #4387me2026-04-121-1/+1
| | | | | | | | Problem: 'gd' and 'gdscript3' are file extentions, not filetypes (as per the result of running `getcompletion('', 'filetype')` command in neovim Solution: Remove them, leaving only 'gdscript'
* feat: use node_modules local executable if available #4386Thiago Trannin2026-04-1214-24/+118
|
* feat(smithy_ls): bump from 0.7.0 to 0.8.0 #4385Zerkath2026-04-121-10/+7
|
* feat(buf_ls): buf-config filetype #4384v2.8.0Stefan VanBuren2026-04-101-1/+21
| | | | | | The next release of `buf` will include LSP features that include support for buf config files. This follows the approach that other LSPs follow for specifying custom filetypes (a comment + adding that custom filetype to filetypes).
* fix(oxlint): oxlintrc.jsonc root marker #4381Emanuel Pilz2026-04-081-1/+1
|
* feat: csskit #4380Keith Cirkel2026-04-081-0/+18
|
* docs(gitlab_duo): outdated docs (#4377)Justin M. Keyes2026-04-051-5/+3
|
* fix(tailwindcss): revert broken config detection #4376Omar Elhawary2026-04-051-45/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: `find_tailwind_global_css` attempted to address #4204, where `experimental.configFile` was set using the return value of `vim.fs.find()`. The language server rejected this with `Invalid experimental.configFile configuration, not initializing` because `configFile` expects either a string or a key-value record (object), not an array/list. This was a syntax issue, not a detection issue. Using the correct syntax for `configFile` in Lua should be sufficient to address the original issue. Right now, `find_tailwind_global_css` always runs for users who haven't explicitly set `configFile` — overriding the LSP's native detection and **forcing anyone who wants to opt out to manually set all entry-points by hand.** Solution: - Remove `find_tailwind_global_css` entirely and restores `configFile` to its default `nil` so the `tailwindcss` LSP handles project detection natively. - Simplify `before_init` based on [this suggestion from the initial PR](https://github.com/neovim/nvim-lspconfig/pull/4222#discussion_r3018499628). The following syntax worked for me while testing to explicitly set the `configFile` based on the [official docs](https://github.com/tailwindlabs/tailwindcss-intellisense#tailwindcssexperimentalconfigfile) for single entry-point: > [!NOTE] > Single entry-point is resolved relative to the workspace root (`root_dir` — verify with `:checkhealth vim.lsp`) ```lua vim.lsp.config('tailwindcss', { settings = { tailwindCSS = { experimental = { -- v3: config file configFile = 'tailwind.config.js', -- v4: CSS entry-point -- configFile = 'src/styles/app.css', }, }, }, }) ``` For projects with multiple entry-points, or different projects, the following syntax can be used for multiple entry-points: > [!NOTE] > Keys are relative to `root_dir` as above, but from my testing on macOS, absolute paths worked better ```lua vim.lsp.config('tailwindcss', { settings = { tailwindCSS = { experimental = { configFile = { ['tailwind.config.js'] = '/Users/username/path/to/project-a/**', ['src/main.css'] = '/Users/username/path/to/project-b/**', }, }, }, }, }) ``` #### Project or Local Configuration For project-specific settings without modifying your global Neovim config: 1. Enable in your Neovim config: ```lua vim.o.exrc = true ``` 2. Create `.nvim.lua` in the project root: ```lua vim.lsp.config('tailwindcss', { settings = { tailwindCSS = { experimental = { configFile = 'tailwind.config.ts', }, }, }, }) ``` 3. Open `.nvim.lua` and run `:trust` to allow the file, then restart Neovim. 4. Verify with `:checkhealth vim.lsp`.
* feat(tailwindcss): support multiple import patterns #4371besserwisser2026-04-031-2/+1
|
* feat(robotcode): support virtual env #4367Methapon20012026-04-031-0/+3
|
* feat: make oxfmt support oxfmt.config.ts files (#4372)Nikoloz Buligini2026-04-031-2/+3
|
* fix(tailwindcss_ls): add experimental.configFile to support Tailwind v4 #4222KhaNguyen2026-03-311-0/+37
|
* fix(biome): set lower priority for config files as root #4363Igor Lacerda2026-03-281-5/+4
|
* fix(roslyn_ls): handle roslyn.client.fixAllCodeAction command #4358Minh Khoi Do2026-03-271-17/+59
|
* feat(stylelint)!: migrate to stylelint-language-server #4351HyBer2026-03-261-26/+64
| | | | stylelint now has an official LS: [@stylelint/language-server](https://github.com/stylelint/vscode-stylelint/tree/main/packages/language-server)
* feat: add `vimdoc_ls` config #4347Barrett Ruth2026-03-251-0/+18
| | | | | | | Problem: no LSP config exists for vimdoc (vim help) files. Solution: add config for `vimdoc-language-server`, a language server providing formatting, diagnostics, document symbols, and go-to-definition for vimdoc files.
* fix(biome): root markers #4356Arne Christian Beer2026-03-251-0/+2
| | | | | | | | The current biome project root logic uses JS package manager lockfiles to get the project root in mono repos. If one is not using any JS (wasm) and raw CSS, that doesn't work out. In those cases, only a biome.json exists as a marker on where the frontend's project root inside the mono repo may be located.