<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvim-lspconfig/lsp, branch master</title>
<subtitle>[no description]</subtitle>
<id>http://git.sudomsg.com/mirror/nvim-lspconfig/atom/lsp?h=master</id>
<link rel='self' href='http://git.sudomsg.com/mirror/nvim-lspconfig/atom/lsp?h=master'/>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/'/>
<updated>2026-09-06T18:40:19Z</updated>
<entry>
<title>doc(ts)ls): installation instructions #4517</title>
<updated>2026-09-06T18:40:19Z</updated>
<author>
<name>n4n5</name>
<email>its.just.n4n5@gmail.com</email>
</author>
<published>2026-09-06T18:40:19Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=b451a7406c7261e628c4ef6adca2c0bf89c07962'/>
<id>urn:sha1:b451a7406c7261e628c4ef6adca2c0bf89c07962</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(clice): clice #4522</title>
<updated>2026-09-04T10:31:22Z</updated>
<author>
<name>Crysthamus</name>
<email>crysthamus@gmail.com</email>
</author>
<published>2026-09-04T10:31:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=a92e1eca2905a9746a7ee29e2a75ded313186246'/>
<id>urn:sha1:a92e1eca2905a9746a7ee29e2a75ded313186246</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(esbonio): use version 2 CLI #4516</title>
<updated>2026-08-30T22:26:48Z</updated>
<author>
<name>Viktorashi</name>
<email>ioanvictorstan@gmail.com</email>
</author>
<published>2026-08-30T22:26:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=9bfb752ddc1c230e5a7305977fc6a8e0b1f9f0a4'/>
<id>urn:sha1:9bfb752ddc1c230e5a7305977fc6a8e0b1f9f0a4</id>
<content type='text'>
Problem:
The Python module command bypasses standalone uv and pipx installations, and
the configuration examples target Esbonio 0.16.

Solution:
Launch the public Esbonio 2 CLI, recognize conf.py as a project root, and
document the current project configuration model.</content>
</entry>
<entry>
<title>fix(powershell_es): validate shell, no profile #4513</title>
<updated>2026-08-28T10:11:56Z</updated>
<author>
<name>Konstantin Glukhov</name>
<email>kglukhov@hotmail.com</email>
</author>
<published>2026-08-28T10:11:56Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=9ccfa745ccb0ba67d5b53cd4c0b151c776a85d51'/>
<id>urn:sha1:9ccfa745ccb0ba67d5b53cd4c0b151c776a85d51</id>
<content type='text'>
- Check that `shell` (or the default `pwsh`) is executable before
  building the command; log and abort cleanly via `cmd() -&gt; nil`
  instead of spawning a broken process.

  Note: `cmd() -&gt; nil` requires a core Neovim fix (see
  neovim/neovim#41479), which makes `Client.create` return
  `nil, err` instead of crashing when `cmd()` returns nil. Without
  that fix, this bail-out path will error on current Neovim releases.

- Fall back to dynamically resolving the PowerShellEditorServices
  module path via `Get-Module -ListAvailable` when `bundle_path` is
  not set, instead of requiring it to be configured explicitly.
- Default `init_options.enableProfileLoading` to `false`. The server
  runs as a background process, not an interactive session, and a
  user profile that writes to stdout can corrupt the LSP stdio
  handshake. Overridable via `init_options` in `vim.lsp.config()`.

  Note: this is distinct from the already-documented
  `settings.powershell.enableProfileLoading` in
  lua/lspconfig/types/lsp/powershell_es.lua, which configures VS
  Code's `workspace/configuration` response and defaults to `true`
  there. `init_options.enableProfileLoading` is read once at server
  startup (see PowerShell/PowerShellEditorServices#1801) and cannot
  be changed via `settings` afterward.
- Document the new default and override in the `@brief` header.

Only lsp/powershell_es.lua is touched. lua/lspconfig/configs/powershell_es.lua
is left as-is (deprecated, Nvim &lt;=0.10 only, slated for deletion).
lua/lspconfig/types/lsp/powershell_es.lua is an auto-generated type
stub for `settings.*` and is unrelated to this change.</content>
</entry>
<entry>
<title>fix(ast_grep): attach to shell buffers #4514</title>
<updated>2026-08-27T10:20:03Z</updated>
<author>
<name>Étienne Robert</name>
<email>etiennerobert33@gmail.com</email>
</author>
<published>2026-08-27T10:20:03Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=a48a4580bee820aff938b074d9c7b3e2e0b3bbe8'/>
<id>urn:sha1:a48a4580bee820aff938b074d9c7b3e2e0b3bbe8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(rust_analyzer): show non-error msg if rustc/cargo are missing #4500</title>
<updated>2026-08-24T14:36:04Z</updated>
<author>
<name>Long Huynh Huu</name>
<email>mail-from-github@putputlaw.de</email>
</author>
<published>2026-08-24T14:36:04Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=d950d91e1231e102dd6180414e184c90446c2701'/>
<id>urn:sha1:d950d91e1231e102dd6180414e184c90446c2701</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: rust_glancer #4512</title>
<updated>2026-08-24T10:38:15Z</updated>
<author>
<name>Hirokazu Hata</name>
<email>h.hata.ai.t@gmail.com</email>
</author>
<published>2026-08-24T10:38:15Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=6e2807a43fa60a088d5d4a196550583a55df6cb8'/>
<id>urn:sha1:6e2807a43fa60a088d5d4a196550583a55df6cb8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: ms_terraform_lsp #4510</title>
<updated>2026-08-24T09:22:29Z</updated>
<author>
<name>Terje Otto Tobiassen</name>
<email>tobiassen@users.noreply.github.com</email>
</author>
<published>2026-08-24T09:22:29Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=7f5fb590fbaf05b5eba4c350e01c4e687ce63841'/>
<id>urn:sha1:7f5fb590fbaf05b5eba4c350e01c4e687ce63841</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(ols): skip config if missing "odin" command #4511</title>
<updated>2026-08-21T22:46:50Z</updated>
<author>
<name>Jonas Bloch</name>
<email>128738169+Silzinc@users.noreply.github.com</email>
</author>
<published>2026-08-21T22:46:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=62c718f5bc5b281aa8b7ef8f84ada88919a2ad19'/>
<id>urn:sha1:62c718f5bc5b281aa8b7ef8f84ada88919a2ad19</id>
<content type='text'>
Problem:
Current config throws an error if 'odin' is not on the PATH.

Solution:
Check its availability with executable().</content>
</entry>
<entry>
<title>fix(oxc): allow oxfmt and oxlint to run in single-file mode #4509</title>
<updated>2026-08-19T18:24:39Z</updated>
<author>
<name>Marcus Caisey</name>
<email>marcus@teckna.com</email>
</author>
<published>2026-08-19T18:24:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=fa98da40cba35bbd1e8f6044e95d47b203f6acc7'/>
<id>urn:sha1:fa98da40cba35bbd1e8f6044e95d47b203f6acc7</id>
<content type='text'>
Problem:
The `oxlint` and `oxfmt` servers don't get started if a root directory
can't be determined.

I think the change which added these servers (originally they were both
in `oxc-language-server`)
https://github.com/neovim/nvim-lspconfig/pull/3586 either cargo culted
`single_file_support = true` from the `biome` config or there was no
single-file support at the time (I only started using `oxfmt` today).
Either way, single-file mode is explictly supported now:
https://github.com/oxc-project/oxc/blob/f7be7cc5d3011203da2d824be18d6980adc786ba/crates/oxc_language_server/src/backend.rs?plain=1#L141.

Solution:
Remove `workspace_required = true` from the `oxlint` and `oxfmt`
configs. I've tested `oxfmt` in single-file mode on a HTML, JS, TS, and
markdown file. I've tested `oxlint` in single-mode on a JS file.</content>
</entry>
<entry>
<title>feat: php_lsp #4489</title>
<updated>2026-08-19T09:21:54Z</updated>
<author>
<name>Jorg Adam Sowa</name>
<email>jorg.sowa@gmail.com</email>
</author>
<published>2026-08-19T09:21:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=bf4d835181b441bf37b04c7c8d81e09101075736'/>
<id>urn:sha1:bf4d835181b441bf37b04c7c8d81e09101075736</id>
<content type='text'>
Adds support for php-lsp, a PHP language server written in Rust.

See: https://github.com/jorgsowa/php-lsp</content>
</entry>
<entry>
<title>fix(slang-server): use nearest dir with any marker as a workspace root #4508</title>
<updated>2026-08-18T20:49:21Z</updated>
<author>
<name>ser-gik</name>
<email>2010serhio@gmail.com</email>
</author>
<published>2026-08-18T20:49:21Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=8b3e82ec940e66e0364111691175ea67f0eb955c'/>
<id>urn:sha1:8b3e82ec940e66e0364111691175ea67f0eb955c</id>
<content type='text'>
**Problem** 
Workspace search always converges to the project repo root dir (that has `.git`) regardless of presence of `.slang/` in any of subdirs. This makes it impossible to properly detect individual workspaces in monorepo projects. E.g. see https://github.com/EECS-151/fpga-labs-sp26. Each of `labX/` directories is essentially a separate workspace. Adding `labX/.slang` with workspace config has no effect as `.git` marker is of higher priority and is guaranteed to be found at the repo root, leading to incorrect workspace root resolution.

**Solution**
Whenever possible, give both markers the same priority. So that for multi-workspace repos workspace search will stop at the first `.slang` config rather than at the root `.git`. Nothing has changed for single workspace projects that either have or don't have .slang config at repo root.</content>
</entry>
<entry>
<title>feat: symfony_lsp #4507</title>
<updated>2026-08-18T14:53:04Z</updated>
<author>
<name>Fabien Potencier</name>
<email>fabien@potencier.org</email>
</author>
<published>2026-08-18T14:53:04Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=60dd4da6df6e69ec2f597e5200a598d72803819c'/>
<id>urn:sha1:60dd4da6df6e69ec2f597e5200a598d72803819c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(tsc): skip binaries that do not support --lsp #4505</title>
<updated>2026-08-17T21:48:54Z</updated>
<author>
<name>Nitai Charan</name>
<email>nitaicharan@gmail.com</email>
</author>
<published>2026-08-17T21:48:54Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=3fc5c454b5a903049c8096b34e60ed30d1891aae'/>
<id>urn:sha1:3fc5c454b5a903049c8096b34e60ed30d1891aae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(vhdl_ls): drop .vhdl_ls.toml root marker #4506</title>
<updated>2026-08-17T21:37:59Z</updated>
<author>
<name>Javier</name>
<email>76056123+jgonmor16@users.noreply.github.com</email>
</author>
<published>2026-08-17T21:37:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=444a373ae936ba7843b43fc44f38d347c443b6db'/>
<id>urn:sha1:444a373ae936ba7843b43fc44f38d347c443b6db</id>
<content type='text'>
Problem:
`.vhdl_ls.toml` is listed as a root marker, but vhdl_ls only
reads that file from the user's home directory, never from a
project directory. When it is present, root_dir resolves to
$HOME for any VHDL file underneath it.

Solution:
Remove `.vhdl_ls.toml` from root_markers.</content>
</entry>
<entry>
<title>feat(tsc): enable CodeLens #4501</title>
<updated>2026-08-17T06:07:51Z</updated>
<author>
<name>Hoang Lan</name>
<email>65657562+lan1812783@users.noreply.github.com</email>
</author>
<published>2026-08-17T06:07:51Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=bcf945abc9e980d2ec8f40709ad4b49ca6ff84c5'/>
<id>urn:sha1:bcf945abc9e980d2ec8f40709ad4b49ca6ff84c5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(julials): fix the default setup #4499</title>
<updated>2026-08-13T13:13:02Z</updated>
<author>
<name>Fredrik Ekre</name>
<email>ekrefredrik@gmail.com</email>
</author>
<published>2026-08-13T13:13:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=24519eaabd065086052da22bce9403c6ca0f86c4'/>
<id>urn:sha1:24519eaabd065086052da22bce9403c6ca0f86c4</id>
<content type='text'>
This patch updates the julials config:
 - Drop explicit installation and loading of SymbolServer and StaticLint
   (these are/were dependencies of LanguageServer and it was never
   required to load them at this top level anyway).
 - Drop the project path handling. This is only used for standalone
   files now, and the LanguageServer itself makes a good job of
   determining it.
 - Use LanguageServer.runserver() to start the server instead of the
   internal run(LanguageServerInstance(...)) path. The latter is broken
   since
   https://github.com/julia-vscode/LanguageServer.jl/commit/eb9eb72a10467dd951f605090ca3f144c74cecee
   (see e.g.
   https://github.com/julia-vscode/LanguageServer.jl/issues/1408)
   because of updated arguments to the LanguageServerInstance default
   constructor.</content>
</entry>
<entry>
<title>feat: tsc #4493</title>
<updated>2026-08-12T14:06:02Z</updated>
<author>
<name>Robert Liebowitz</name>
<email>rliebz@gmail.com</email>
</author>
<published>2026-08-12T14:06:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=033492baa0972c1a9e3916fc8d634ae6a9b8b155'/>
<id>urn:sha1:033492baa0972c1a9e3916fc8d634ae6a9b8b155</id>
<content type='text'>
Problem:
`tsgo` was a temporary executable available as a preview version for the
Typescript 7.0 Go rewrite. Now that Typescript 7.0 has been released,
the `tsgo` executable name and project are being rolled back into the
main Typescript project. As of that release, the standard executable is
installed from `npm` via the name `typescript`, and executable itself is
named `tsc`.

Solution:
Deprecate `tsgo` as a language server name, and instead configure a more
appropriately named language server that supports the permanent `tsc`
executable name in addition to the `tsgo` executable name to keep
backward compatibility.

The only changes are names, docs, and within the `cmd` for `tsc`,
support for both the `tsc` and `tsgo` executable names, with a
preference for `tsc`.</content>
</entry>
<entry>
<title>fix(verible): add verible.filelist as root marker #4498</title>
<updated>2026-08-12T14:02:30Z</updated>
<author>
<name>Javier</name>
<email>76056123+jgonmor16@users.noreply.github.com</email>
</author>
<published>2026-08-12T14:02:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=222a2ed4853dd7c1a9c6b67eb7d3272bc2354897'/>
<id>urn:sha1:222a2ed4853dd7c1a9c6b67eb7d3272bc2354897</id>
<content type='text'>
Problem:
verible-verilog-ls's README documents verible.filelist as the
marker for the project root, but root_markers only contains
.git. In a project where verible.filelist isn't co-located
with .git, root_dir resolves to the wrong (ancestor) directory.

Solution:
Add verible.filelist ahead of .git in root_markers, matching
the priority already used in vhdl_ls.lua, ghdl_ls.lua, and
svlangserver.lua, and matching the marker the upstream README
itself documents.

Verified: with only .git as marker, root_dir resolved to the
.git ancestor above the actual project directory. With
verible.filelist added, root_dir correctly resolves to the
directory containing it. Confirmed both directions via
vim.lsp.get_clients()[1].root_dir in an isolated NVIM_APPNAME
harness pointed at this branch.</content>
</entry>
<entry>
<title>feat: pkl #4495</title>
<updated>2026-08-11T08:26:40Z</updated>
<author>
<name>Orest Tokovenko</name>
<email>hi@oresttokovenko.com</email>
</author>
<published>2026-08-11T08:26:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=4328483260e69808c442e44a575844e3fec5c4ae'/>
<id>urn:sha1:4328483260e69808c442e44a575844e3fec5c4ae</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(vhdl_ls): require workspace #4494</title>
<updated>2026-08-11T08:18:07Z</updated>
<author>
<name>Javier</name>
<email>76056123+jgonmor16@users.noreply.github.com</email>
</author>
<published>2026-08-11T08:18:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=34fbcfa1f494a3cfc5c851e7981c4f2a351d5230'/>
<id>urn:sha1:34fbcfa1f494a3cfc5c851e7981c4f2a351d5230</id>
<content type='text'>
Problem:
vhdl_ls rejects initialization without a rootUri. Opening a VHDL
file outside a project starts a client with root_dir=nil that
emits three errors and produces no diagnostics.

Solution:
Set workspace_required so the client only starts when a
vhdl_ls.toml or .vhdl_ls.toml is found.</content>
</entry>
<entry>
<title>fix(ols): reuse existing client when opening libraries #4491</title>
<updated>2026-08-04T18:51:15Z</updated>
<author>
<name>Mike J McGuirk</name>
<email>62523234+mikejmcguirk@users.noreply.github.com</email>
</author>
<published>2026-08-04T18:51:15Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=e9d0e577370f77cb47ac412da8b5a663e23a0fe7'/>
<id>urn:sha1:e9d0e577370f77cb47ac412da8b5a663e23a0fe7</id>
<content type='text'>
Problem: When going to the definition of a library function, a new ols
client is created.

Solution: Detect if the file is a library. If so, re-use a pre-existing
client.</content>
</entry>
<entry>
<title>docs(emmylua_ls): remove irrelevant issue link #4490</title>
<updated>2026-08-01T10:07:15Z</updated>
<author>
<name>€šm̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰�Ř§Ů Â£╟©舐æØ¢£ðsÞ¥¿—</name>
<email>memchr@proton.me</email>
</author>
<published>2026-08-01T10:07:15Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=4dd307d6764c933707ee4c2a37323079e61ea32d'/>
<id>urn:sha1:4dd307d6764c933707ee4c2a37323079e61ea32d</id>
<content type='text'>
emmylua_ls deduplicates all workspace files before analysing them.
Therefore, using the recommended
`workspace.library = vim.api.nvim_get_runtime_file("", true)`
will not result in erroneous duplicate field warnings as discussed
in #3189.</content>
</entry>
<entry>
<title>feat(oxfmt): enable for svelte #4488</title>
<updated>2026-07-31T09:08:19Z</updated>
<author>
<name>Igor Lacerda</name>
<email>igorlfs@ufmg.br</email>
</author>
<published>2026-07-31T09:08:19Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=4305b8c8a3348639063bbb625583df5de2e0afed'/>
<id>urn:sha1:4305b8c8a3348639063bbb625583df5de2e0afed</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(roslyn_ls): iter() expects a table #4487</title>
<updated>2026-07-28T20:39:31Z</updated>
<author>
<name>José N. Olmos</name>
<email>168260816+chepeniv@users.noreply.github.com</email>
</author>
<published>2026-07-28T20:39:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=abaa374ca3c3f6683f022450b4d62467f451a3a8'/>
<id>urn:sha1:abaa374ca3c3f6683f022450b4d62467f451a3a8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs(astro): TypeScript 7.x limitation, npm-global fallback (#4486)</title>
<updated>2026-07-26T10:21:41Z</updated>
<author>
<name>Huan Tran</name>
<email>35454344+tdhuan@users.noreply.github.com</email>
</author>
<published>2026-07-26T10:21:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=4d8876bc6054127b30becaa8a23b82f8cafc736a'/>
<id>urn:sha1:4d8876bc6054127b30becaa8a23b82f8cafc736a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs(astro): update language-tools URLs #4485</title>
<updated>2026-07-23T11:01:00Z</updated>
<author>
<name>Huan Tran</name>
<email>35454344+tdhuan@users.noreply.github.com</email>
</author>
<published>2026-07-23T11:01:00Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=e5327b70bd4552633635aa84c17f6f70548d6f26'/>
<id>urn:sha1:e5327b70bd4552633635aa84c17f6f70548d6f26</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: agentscript #4483</title>
<updated>2026-07-23T10:42:40Z</updated>
<author>
<name>Christo</name>
<email>cbosch101@gmail.com</email>
</author>
<published>2026-07-23T10:42:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=30c775c37caabc66dd47d9e1a12dc12fb7c98437'/>
<id>urn:sha1:30c775c37caabc66dd47d9e1a12dc12fb7c98437</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor!: drop `lsp/rls.lua` #4481</title>
<updated>2026-07-21T13:03:10Z</updated>
<author>
<name>n4n5</name>
<email>git@n4n5.dev</email>
</author>
<published>2026-07-21T13:03:10Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=b187583b9e51710fecd38e34e06f89aba76b6d86'/>
<id>urn:sha1:b187583b9e51710fecd38e34e06f89aba76b6d86</id>
<content type='text'>
https://github.com/rust-lang/rls has been archived since 2022,
so this vestigial config does more harm than good.</content>
</entry>
<entry>
<title>fix(ast_grep): stop reuse_client from spawning duplicate lsp client #4480</title>
<updated>2026-07-20T23:28:16Z</updated>
<author>
<name>Geoffrey R Scheller</name>
<email>geoffrey@scheller.com</email>
</author>
<published>2026-07-20T23:28:16Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=98b0b8a52742afc9e2e2078e2e451f91beef1717'/>
<id>urn:sha1:98b0b8a52742afc9e2e2078e2e451f91beef1717</id>
<content type='text'>
Problem:
Old config set config.cmd_cwd = config.root_dir inside reuse_client
itself. On the first client's initial start, reuse_client is never
invoked (nothing exists yet to compare against), so cmd_cwd is never
set on it. On the second start attempt, the comparison
client.config.cmd_cwd == config.cmd_cwd evaluates nil == &lt;string&gt;,
which fails, and a second client spawns.

Solution:
Change reuse_client key-value pair to

  reuse_client = function(client, config)
    return client.name == config.name
      and client.config.root_dir == config.root_dir
  end,

Now the first spawned client is reused. Only one lua_ls client was
ever spawned. Only the `reuse_client` section looked fishy to me.</content>
</entry>
<entry>
<title>fix(eslint): convert workspaceFolder.uri to a proper URI #4479</title>
<updated>2026-07-20T13:06:50Z</updated>
<author>
<name>OrzMiku</name>
<email>miku@ecy.pink</email>
</author>
<published>2026-07-20T13:06:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=9c3bcf42fac07120d3dc6eabfc1362cf1bb556ac'/>
<id>urn:sha1:9c3bcf42fac07120d3dc6eabfc1362cf1bb556ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(pyright): disable tagged hints by default #4478</title>
<updated>2026-07-17T17:20:59Z</updated>
<author>
<name>XiaowenHu</name>
<email>me@xiaowenhu.com</email>
</author>
<published>2026-07-17T17:20:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=b861f91e7bf3529f5847db4e207bfb966b6bd36f'/>
<id>urn:sha1:b861f91e7bf3529f5847db4e207bfb966b6bd36f</id>
<content type='text'>
Problem:
Pyright marks unreachable, unreferenced and deprecated code with hint
diagnostics. Nvim correctly reports them as regular diagnostics, but
they are usually too noisy (c.f., neovim/neovim#30444).

Solution:
Disable it by default in pyright and basedpyright for a better default
user experience.</content>
</entry>
<entry>
<title>docs(docker-language-server): typo #4477</title>
<updated>2026-07-16T14:10:57Z</updated>
<author>
<name>Samuel Åkesson</name>
<email>sermuns@lysator.liu.se</email>
</author>
<published>2026-07-16T14:10:57Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=3db5dd35d8563df7f8fa9f20b34a526a6029b204'/>
<id>urn:sha1:3db5dd35d8563df7f8fa9f20b34a526a6029b204</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(roslyn_ls): update diagnostics on project/solution initialization #4474</title>
<updated>2026-07-13T12:53:27Z</updated>
<author>
<name>kotanys</name>
<email>57987342+kotanys@users.noreply.github.com</email>
</author>
<published>2026-07-13T12:53:27Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=6f355f9d6c6cb147b64e6dc028472db20e4e19c9'/>
<id>urn:sha1:6f355f9d6c6cb147b64e6dc028472db20e4e19c9</id>
<content type='text'>
Problem:
When a solution or a project gets loaded, diagnostics do not update
correctly.

Solution:
Change refresh_diagnostics function. Instead of performing one
`client:request`, call `client:request` for every capability
registered by roslyn for diagnosticProvider.</content>
</entry>
<entry>
<title>feat: terragrunt-ls #4473</title>
<updated>2026-07-12T18:50:24Z</updated>
<author>
<name>EJ</name>
<email>8498296+maddawik@users.noreply.github.com</email>
</author>
<published>2026-07-12T18:50:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=c591b17d46213ca1a28a709724e211be9f856179'/>
<id>urn:sha1:c591b17d46213ca1a28a709724e211be9f856179</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: pytest-language-server #4472</title>
<updated>2026-07-11T12:41:37Z</updated>
<author>
<name>Thiago Bellini Ribeiro</name>
<email>hackedbellini@gmail.com</email>
</author>
<published>2026-07-11T12:41:37Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=c69dfaef93c37dffeeeef1cf0d85613e76dbff47'/>
<id>urn:sha1:c69dfaef93c37dffeeeef1cf0d85613e76dbff47</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: wolfram_lsp #4471</title>
<updated>2026-07-11T12:05:51Z</updated>
<author>
<name>Lu Xu</name>
<email>oliver_lew@outlook.com</email>
</author>
<published>2026-07-11T12:05:51Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=179c44dce3747a165f774c00a50db6dc05598139'/>
<id>urn:sha1:179c44dce3747a165f774c00a50db6dc05598139</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: qmlls6 #4470</title>
<updated>2026-07-11T12:02:53Z</updated>
<author>
<name>kindlyway</name>
<email>githubaccountusing@proton.me</email>
</author>
<published>2026-07-11T12:02:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=aa8da460fd9c74ff1bb8b45e92baacd24cff8aaa'/>
<id>urn:sha1:aa8da460fd9c74ff1bb8b45e92baacd24cff8aaa</id>
<content type='text'>
Some distros like arch have a separate package with a cmd of qmlls6.</content>
</entry>
<entry>
<title>feat: kdl_lsp #4468</title>
<updated>2026-07-10T13:34:37Z</updated>
<author>
<name>Arne  Christian Beer</name>
<email>contact@arne.beer</email>
</author>
<published>2026-07-10T13:34:37Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=087d3606aec73513e18e2795f7fca8214802ab47'/>
<id>urn:sha1:087d3606aec73513e18e2795f7fca8214802ab47</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs(angularls): update link to angularls #4466</title>
<updated>2026-07-04T10:28:36Z</updated>
<author>
<name>Floris Bartra</name>
<email>98590668+floflo0@users.noreply.github.com</email>
</author>
<published>2026-07-04T10:28:36Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=caca08c820c16adde13d315b5a2e2050e2eb7e40'/>
<id>urn:sha1:caca08c820c16adde13d315b5a2e2050e2eb7e40</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(ruff_lsp): deprecate `ruff_lsp` in favour of `ruff` #4463</title>
<updated>2026-07-01T17:07:01Z</updated>
<author>
<name>Harshit Tomar</name>
<email>77197959+code-IM-perfect@users.noreply.github.com</email>
</author>
<published>2026-07-01T17:07:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=d9794a48cbd81f2478d8dabf4a3820279665d147'/>
<id>urn:sha1:d9794a48cbd81f2478d8dabf4a3820279665d147</id>
<content type='text'>
Problem:
ruff_lsp project is now archive and the tool deprecated

Solution:
add deprecation warning to the config description, also ensure that the
user is warned when enabling the config using `vim.deprecate()`</content>
</entry>
<entry>
<title>fix(svelte): support svelteserver installed in node_modules #4462</title>
<updated>2026-06-30T18:55:51Z</updated>
<author>
<name>Bruno Tavares</name>
<email>connect+github@bltavares.com</email>
</author>
<published>2026-06-30T18:55:51Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=4c2883c129f5bb8816f7b9d25a3e54ca001920d0'/>
<id>urn:sha1:4c2883c129f5bb8816f7b9d25a3e54ca001920d0</id>
<content type='text'>
Problem: Currently the `svelte` configuration expects a globally
installed `svelteserver` binary. Meanwhile, other LSP configs support
binaries installed as dev dependencies on `node_modules/.bin`.  A global
language server makes it harder to have project-scoped version
management.

Solution: Implement a `cmd` finder similar to `oxlint` and `oxfmt` which
considers `node_modules/bin` as an additional lookup path as well as the
global install

Workaround: Meanwhile, users can define the `cmd` function on their own
`vim.lsp.config('svelte')` as needed.</content>
</entry>
<entry>
<title>Enable clangd lsp for c.doxygen / cpp.doxygen #4459</title>
<updated>2026-06-25T17:57:49Z</updated>
<author>
<name>michaelpeeters-st</name>
<email>michael.peeters@st.com</email>
</author>
<published>2026-06-25T17:57:49Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=2d265672c9684a41f023aa536fc83213d2b1afe0'/>
<id>urn:sha1:2d265672c9684a41f023aa536fc83213d2b1afe0</id>
<content type='text'>
This fixes #4458.

One option to get doxygen highlighting in C / C++ files is to
append `.doxygen` to the file type (see `:help doxygen`).

This commits add the `c.doxygen` / `cpp.doxygen` filetypes to the list
of clangd lsp to be compatible with this approach.

Note that vim help also recommend an alternative approach that
doesn't change the filetype, which is to define the variable:

    let g:load_doxygen_syntax=1</content>
</entry>
<entry>
<title>fix(hhvm): run server in project root #4456</title>
<updated>2026-06-19T15:00:13Z</updated>
<author>
<name>Anton Kastritskii</name>
<email>antonk52@meta.com</email>
</author>
<published>2026-06-19T15:00:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=65a775d61d9cf11397d9bb61aaa16988c0ea24df'/>
<id>urn:sha1:65a775d61d9cf11397d9bb61aaa16988c0ea24df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>added µcad lsp #4454</title>
<updated>2026-06-18T22:54:53Z</updated>
<author>
<name>Frederik Hansen</name>
<email>frederik@altofte.dk</email>
</author>
<published>2026-06-18T22:54:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=3d0f9acfef4e13c5448d17fa09fa38a170d39f42'/>
<id>urn:sha1:3d0f9acfef4e13c5448d17fa09fa38a170d39f42</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(terraformls): enable codelens #4453</title>
<updated>2026-06-18T13:03:17Z</updated>
<author>
<name>Gustav Eikaas</name>
<email>46537983+GustavEikaas@users.noreply.github.com</email>
</author>
<published>2026-06-18T13:03:17Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=c2cf6ed3e8f34a9cfaf90085c540e2713e43677f'/>
<id>urn:sha1:c2cf6ed3e8f34a9cfaf90085c540e2713e43677f</id>
<content type='text'>
ref https://github.com/hashicorp/terraform-ls/blob/84064cd19ffd0d6b356cd2725d81987111c94cb6/docs/language-clients.md#L162</content>
</entry>
<entry>
<title>feat: fallow lsp #4450</title>
<updated>2026-06-12T20:43:01Z</updated>
<author>
<name>Igor Lacerda</name>
<email>igorlfs@ufmg.br</email>
</author>
<published>2026-06-12T20:43:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=562b190ce77f07875d4b35265e8680aed5954f6d'/>
<id>urn:sha1:562b190ce77f07875d4b35265e8680aed5954f6d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: update link to opencl_ls documentation #4451</title>
<updated>2026-06-12T20:42:27Z</updated>
<author>
<name>Ilia Shoshin</name>
<email>Galarius@users.noreply.github.com</email>
</author>
<published>2026-06-12T20:42:27Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=fa5f6cda3a1f387b71dac624151958a3bb5a8c18'/>
<id>urn:sha1:fa5f6cda3a1f387b71dac624151958a3bb5a8c18</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(gitlab_duo): update npm registry command for GitLab LSP #4449</title>
<updated>2026-06-08T16:38:40Z</updated>
<author>
<name>Aboobacker MK</name>
<email>aboobackervyd@gmail.com</email>
</author>
<published>2026-06-08T16:38:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=04834420f97043ddd7d516dee514e6ea278294ae'/>
<id>urn:sha1:04834420f97043ddd7d516dee514e6ea278294ae</id>
<content type='text'>
Make registry path more specific to the main package to make npx command more reliable

Upstream issue: https://gitlab.com/gitlab-org/editor-extensions/gitlab-lsp/-/work_items/2371</content>
</entry>
<entry>
<title>fix(emmylua_ls): move settings under emmylua section #4447</title>
<updated>2026-06-03T15:05:33Z</updated>
<author>
<name>Marcus Caisey</name>
<email>marcus@teckna.com</email>
</author>
<published>2026-06-03T15:05:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=be7b24e5432434c44229036344a0116300d29e9a'/>
<id>urn:sha1:be7b24e5432434c44229036344a0116300d29e9a</id>
<content type='text'>
Problem:
EmmyLua requests configuration from the "emmylua" section, but the
current configuration doesn't expose the settings under that section.

Example request and response:
```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace/configuration",
  "params": {
    "items": [
      {
        "scopeUri": "file:///Users/marcus/.dotfiles",
        "section": "emmylua"
      }
    ]
  }
}
```
```json
{
  "result": [
    null
  ],
  "id": 1,
  "jsonrpc": "2.0"
}
```

Solution:
Move the settings under the "emmylua" section.

After these changes:
```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "workspace/configuration",
  "params": {
    "items": [
      {
        "scopeUri": "file:///Users/marcus/.dotfiles",
        "section": "emmylua"
      }
    ]
  }
}
```
```json
{
  "result": [
    {
      "hint": {
        "enable": true
      },
      "codeLens": {
        "enable": true
      }
    }
  ],
  "id": 1,
  "jsonrpc": "2.0"
}
```</content>
</entry>
<entry>
<title>feat: cqlls #4444</title>
<updated>2026-06-02T12:57:19Z</updated>
<author>
<name>アクゼスティア</name>
<email>akzestia@gmail.com</email>
</author>
<published>2026-06-02T12:57:19Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=1ac72fe66fa66962e048706cdeb88ac614d48ed2'/>
<id>urn:sha1:1ac72fe66fa66962e048706cdeb88ac614d48ed2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(gopls): semantic tokens enabled by default on client side (#4446)</title>
<updated>2026-06-02T11:52:42Z</updated>
<author>
<name>Roman Kruk</name>
<email>78154887+krukroman@users.noreply.github.com</email>
</author>
<published>2026-06-02T11:52:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=e7380ece256d1fb1df3b3a3c619ee3b9b52ae2b3'/>
<id>urn:sha1:e7380ece256d1fb1df3b3a3c619ee3b9b52ae2b3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(oxlint): check if tsgolint bin exists inside project #4437</title>
<updated>2026-05-28T17:17:27Z</updated>
<author>
<name>Igor Lacerda</name>
<email>igorlfs@ufmg.br</email>
</author>
<published>2026-05-28T17:17:27Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=9573948c38bfabeec353ae7dd7d3ffec4c506a6b'/>
<id>urn:sha1:9573948c38bfabeec353ae7dd7d3ffec4c506a6b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(jls): add jls config #4439</title>
<updated>2026-05-28T17:14:06Z</updated>
<author>
<name>Ibrahim Delice</name>
<email>59118341+idelice@users.noreply.github.com</email>
</author>
<published>2026-05-28T17:14:06Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=175ea6747a154aa52647b7a0e562b9dfca90a7c1'/>
<id>urn:sha1:175ea6747a154aa52647b7a0e562b9dfca90a7c1</id>
<content type='text'>
Co-authored-by: Delice0 &lt;59118341+Delice0@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>fix(rescript): default parameters do not enable incrementalTypechecking #4440</title>
<updated>2026-05-28T17:13:01Z</updated>
<author>
<name>Wildfield</name>
<email>wildfield@users.noreply.github.com</email>
</author>
<published>2026-05-28T17:13:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=f0564c603f08665e0d10c6aa9c0b4dae9c5a32e6'/>
<id>urn:sha1:f0564c603f08665e0d10c6aa9c0b4dae9c5a32e6</id>
<content type='text'>
Fixes the issue by changing "enabled" to "enable"</content>
</entry>
<entry>
<title>fix(flow): resolve project-local binary before npx fallback #4431</title>
<updated>2026-05-28T17:11:44Z</updated>
<author>
<name>Arthur</name>
<email>82575487+arthur-mountain@users.noreply.github.com</email>
</author>
<published>2026-05-28T17:11:44Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=695fa76aefb69dc8fa3a694ed167db880eefdacb'/>
<id>urn:sha1:695fa76aefb69dc8fa3a694ed167db880eefdacb</id>
<content type='text'>
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.</content>
</entry>
<entry>
<title>feat: slang-server #4441</title>
<updated>2026-05-27T14:05:09Z</updated>
<author>
<name>Todd Strader</name>
<email>todd.strader@gmail.com</email>
</author>
<published>2026-05-27T14:05:09Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=3a9e75e6c58b54da17fd8ac127c699c9600b7ac3'/>
<id>urn:sha1:3a9e75e6c58b54da17fd8ac127c699c9600b7ac3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs(roslyn_ls): dotnet tool install instructions #4435</title>
<updated>2026-05-22T08:42:33Z</updated>
<author>
<name>Alexandre Teoi</name>
<email>ateoi@users.noreply.github.com</email>
</author>
<published>2026-05-22T08:42:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=3f89b128cce48db1a2b7d5664a306b21f5f26652'/>
<id>urn:sha1:3f89b128cce48db1a2b7d5664a306b21f5f26652</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(roslyn_ls): drop unnecessary code, recommend maintained plugin #4436</title>
<updated>2026-05-22T08:25:49Z</updated>
<author>
<name>Sebastian Lyng Johansen</name>
<email>sebastian@lyngjohansen.com</email>
</author>
<published>2026-05-22T08:25:49Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=de5e39eb6c43047d1d589a50a6efb7644d5e2c14'/>
<id>urn:sha1:de5e39eb6c43047d1d589a50a6efb7644d5e2c14</id>
<content type='text'>
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</content>
</entry>
<entry>
<title>fix(oxc): fix oxlint, oxfmt vite plus config search #4434</title>
<updated>2026-05-21T14:36:13Z</updated>
<author>
<name>VI0L3TF0X</name>
<email>73484028+V1OL3TF0X@users.noreply.github.com</email>
</author>
<published>2026-05-21T14:36:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=dfbada1a311c4bf3369f8d5421369c9b6e8b888f'/>
<id>urn:sha1:dfbada1a311c4bf3369f8d5421369c9b6e8b888f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(ruby-lsp): broken `reuse_client` logic #4433</title>
<updated>2026-05-20T20:21:40Z</updated>
<author>
<name>David Garcia</name>
<email>dgmora.dev@gmail.com</email>
</author>
<published>2026-05-20T20:21:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=2633c398b33e40015c3be794b89f02f85e36ec34'/>
<id>urn:sha1:2633c398b33e40015c3be794b89f02f85e36ec34</id>
<content type='text'>
avoid spawning extra LSP instances by fixing the reuse_client logic.</content>
</entry>
<entry>
<title>feat: shuck language server #4417</title>
<updated>2026-05-18T22:21:40Z</updated>
<author>
<name>George Harker</name>
<email>george@georgeharker.com</email>
</author>
<published>2026-05-18T22:21:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=5a66e8478cd93f3bd82bfd3903b25e8f07565b0e'/>
<id>urn:sha1:5a66e8478cd93f3bd82bfd3903b25e8f07565b0e</id>
<content type='text'>
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</content>
</entry>
<entry>
<title>feat: update oxfmt, oxlint to detect vite plus #4395</title>
<updated>2026-05-18T09:39:16Z</updated>
<author>
<name>VI0L3TF0X</name>
<email>73484028+V1OL3TF0X@users.noreply.github.com</email>
</author>
<published>2026-05-18T09:39:16Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=5853b2872f44889732c4816b5c78125ea44f5630'/>
<id>urn:sha1:5853b2872f44889732c4816b5c78125ea44f5630</id>
<content type='text'>
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.</content>
</entry>
<entry>
<title>feat(zizmor): attach to action.yaml #4430</title>
<updated>2026-05-16T14:21:30Z</updated>
<author>
<name>Fionn</name>
<email>1897918+fionn@users.noreply.github.com</email>
</author>
<published>2026-05-16T14:21:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=891340c55bb914174cf2be63b9be0594b45312ff'/>
<id>urn:sha1:891340c55bb914174cf2be63b9be0594b45312ff</id>
<content type='text'>
Problem:
Only matching `action.yml`

Solution:
Match `action.yaml` also.</content>
</entry>
<entry>
<title>docs(emmylua_ls): fix docstring #4428</title>
<updated>2026-05-14T20:28:59Z</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-05-14T20:28:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=0ded242fd74fd86624ca0a01f2e08d22b500e564'/>
<id>urn:sha1:0ded242fd74fd86624ca0a01f2e08d22b500e564</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(harper_ls): add tex filetype #4427</title>
<updated>2026-05-14T20:06:11Z</updated>
<author>
<name>Gabriel Dahia</name>
<email>gdahia@users.noreply.github.com</email>
</author>
<published>2026-05-14T20:06:11Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=631648644d8120fa7e9354d731db8c2796a76a95'/>
<id>urn:sha1:631648644d8120fa7e9354d731db8c2796a76a95</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs(emmylua_ls): fix config example #4426</title>
<updated>2026-05-14T12:08:18Z</updated>
<author>
<name>Matei Stroia</name>
<email>stroiamatei@gmail.com</email>
</author>
<published>2026-05-14T12:08:18Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=4d9647d7b14dd2756578761f8cc2cf80f671b926'/>
<id>urn:sha1:4d9647d7b14dd2756578761f8cc2cf80f671b926</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: hare-lsp #4425</title>
<updated>2026-05-14T11:59:24Z</updated>
<author>
<name>Hugo</name>
<email>hugo@whynothugo.nl</email>
</author>
<published>2026-05-14T11:59:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=57f7d75090a99ff5f7fb71a8c13a0773af32bc2f'/>
<id>urn:sha1:57f7d75090a99ff5f7fb71a8c13a0773af32bc2f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: improve emmylua_ls #4423</title>
<updated>2026-05-12T14:33:22Z</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-05-12T14:33:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=cab9d27b23b5dadf19f799fe05118a1439c286a9'/>
<id>urn:sha1:cab9d27b23b5dadf19f799fe05118a1439c286a9</id>
<content type='text'>
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`.</content>
</entry>
<entry>
<title>feat(dexter): dexter LSP for large Elixir codebases #4421</title>
<updated>2026-05-12T13:31:10Z</updated>
<author>
<name>Ursache Codrut-Stefan</name>
<email>33762909+ursachecodrut@users.noreply.github.com</email>
</author>
<published>2026-05-12T13:31:10Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=9892ea899864f351b4b6e26fad1fcb94f8b7cf41'/>
<id>urn:sha1:9892ea899864f351b4b6e26fad1fcb94f8b7cf41</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: logic bugs found by AI</title>
<updated>2026-05-07T17:44:33Z</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-05-07T17:36:30Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=b705969b4e44d9626e724cc6e3f78feafe6d62ed'/>
<id>urn:sha1:b705969b4e44d9626e724cc6e3f78feafe6d62ed</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>feat: panache language server (#4418)</title>
<updated>2026-05-07T12:40:02Z</updated>
<author>
<name>Johan Larsson</name>
<email>13087841+jolars@users.noreply.github.com</email>
</author>
<published>2026-05-07T12:40:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=f6738ef65dabade340b473d4ff2a1ad3352c10e7'/>
<id>urn:sha1:f6738ef65dabade340b473d4ff2a1ad3352c10e7</id>
<content type='text'>
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.</content>
</entry>
<entry>
<title>fix(kotlin_lsp): update cmd to `intellij-server` #4412</title>
<updated>2026-04-30T00:45:45Z</updated>
<author>
<name>Sindre Moen</name>
<email>sindrenm@gmail.com</email>
</author>
<published>2026-04-30T00:45:45Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=fbe09db68020a1da4e1a598ea3235bd8bb544f77'/>
<id>urn:sha1:fbe09db68020a1da4e1a598ea3235bd8bb544f77</id>
<content type='text'>
per https://github.com/Kotlin/kotlin-lsp/commit/75ddb7586e0170ed93912b0be5d67e0a45769ee6
, the new name of the launcher is `intellij-server`, not `kotlin-lsp`.</content>
</entry>
<entry>
<title>fix(esbonio): update cmd for esbonio v2 #4409</title>
<updated>2026-04-29T11:38:36Z</updated>
<author>
<name>janheini</name>
<email>j.heinemeyer@pengutronix.de</email>
</author>
<published>2026-04-29T11:38:36Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=0b99551a47cc08f7afa1946580e9d7033ed49854'/>
<id>urn:sha1:0b99551a47cc08f7afa1946580e9d7033ed49854</id>
<content type='text'>
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</content>
</entry>
<entry>
<title>fix(ast_grep, ruby_lsp): check name in reuse_client #4408</title>
<updated>2026-04-28T22:22:38Z</updated>
<author>
<name>Sam Wight</name>
<email>samuelwight@gmail.com</email>
</author>
<published>2026-04-28T22:22:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=6419b36f50c42420cbbf1d3ffba573094cf414c8'/>
<id>urn:sha1:6419b36f50c42420cbbf1d3ffba573094cf414c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(spade_ls): default binary name #4404</title>
<updated>2026-04-27T12:59:41Z</updated>
<author>
<name>Ethan Uppal</name>
<email>113849268+ethanuppal@users.noreply.github.com</email>
</author>
<published>2026-04-27T12:59:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=4917f870cd6171d89ab6becec3d47bddc9a278ad'/>
<id>urn:sha1:4917f870cd6171d89ab6becec3d47bddc9a278ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: spade_ls #4403</title>
<updated>2026-04-27T10:14:02Z</updated>
<author>
<name>jam1garner</name>
<email>jam@jam1.re</email>
</author>
<published>2026-04-27T10:14:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=13a873b2656f8904c0c48ce7b693930952503c5a'/>
<id>urn:sha1:13a873b2656f8904c0c48ce7b693930952503c5a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: update expert repo #4402</title>
<updated>2026-04-27T10:12:50Z</updated>
<author>
<name>Mitchell Hanberg</name>
<email>mitch@mitchellhanberg.com</email>
</author>
<published>2026-04-27T10:12:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=13deac0603700258c05eb95f71f6fdf6bc45078f'/>
<id>urn:sha1:13deac0603700258c05eb95f71f6fdf6bc45078f</id>
<content type='text'>
The repo moved from elixir-lang to expert-lsp (https://github.com/expert-lsp/expert)</content>
</entry>
<entry>
<title>feat: ctags_lsp #4399</title>
<updated>2026-04-23T14:25:23Z</updated>
<author>
<name>JINNOUCHI Yasushi</name>
<email>me@delphinus.dev</email>
</author>
<published>2026-04-23T14:25:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=766ebf84062f8f96e698e7ed47adebe8d60a32e6'/>
<id>urn:sha1:766ebf84062f8f96e698e7ed47adebe8d60a32e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs(lua_ls): how to include lspconfig types #4396</title>
<updated>2026-04-21T11:21:11Z</updated>
<author>
<name>flatplum</name>
<email>flatplum@proton.me</email>
</author>
<published>2026-04-21T11:21:11Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=d50c6d53a40d5592b66a7ce989e0644fee51eeaa'/>
<id>urn:sha1:d50c6d53a40d5592b66a7ce989e0644fee51eeaa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: phpantom_lsp #4362</title>
<updated>2026-04-20T09:42:14Z</updated>
<author>
<name>Caleb White</name>
<email>cdwhite3@pm.me</email>
</author>
<published>2026-04-20T09:42:14Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=4f395065292e4197b2c129386f9d6ec18ccb995e'/>
<id>urn:sha1:4f395065292e4197b2c129386f9d6ec18ccb995e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(flow): invalid condition #4394</title>
<updated>2026-04-16T08:55:45Z</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-04-16T08:55:45Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=4b7fbaa239c5db6b36f424a4521ca9f1a401be33'/>
<id>urn:sha1:4b7fbaa239c5db6b36f424a4521ca9f1a401be33</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(groovyls): use global executable instead of local jar #4392</title>
<updated>2026-04-15T23:05:32Z</updated>
<author>
<name>Brian Di Palma</name>
<email>1597820+briandipalma@users.noreply.github.com</email>
</author>
<published>2026-04-15T23:05:32Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=2a7c82601877f41be374f699b0cd35b99616989c'/>
<id>urn:sha1:2a7c82601877f41be374f699b0cd35b99616989c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(golangci_lint_ls): guard against missing `golangci-lint` in `before_init` (#4390)</title>
<updated>2026-04-15T04:20:39Z</updated>
<author>
<name>Ethan Saxenian</name>
<email>67524957+ethansaxenian@users.noreply.github.com</email>
</author>
<published>2026-04-15T04:20:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=372c848b1145a644c1ed4fe27b0020d035f37e1b'/>
<id>urn:sha1:372c848b1145a644c1ed4fe27b0020d035f37e1b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: zizmor #4382</title>
<updated>2026-04-12T19:14:33Z</updated>
<author>
<name>Peyton Murray</name>
<email>peynmurray@gmail.com</email>
</author>
<published>2026-04-12T19:14:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=bf6177e70fedc6605c286b75a225242ce8b1e669'/>
<id>urn:sha1:bf6177e70fedc6605c286b75a225242ce8b1e669</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(gdscript): remove invalid filetypes #4387</title>
<updated>2026-04-12T15:38:59Z</updated>
<author>
<name>me</name>
<email>maciekMerkury@users.noreply.github.com</email>
</author>
<published>2026-04-12T15:38:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=3c156abc4f7912f66d8687512d75b939b14fbc42'/>
<id>urn:sha1:3c156abc4f7912f66d8687512d75b939b14fbc42</id>
<content type='text'>
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'</content>
</entry>
<entry>
<title>feat: use node_modules local executable if available #4386</title>
<updated>2026-04-12T15:00:06Z</updated>
<author>
<name>Thiago Trannin</name>
<email>51510921+thinety@users.noreply.github.com</email>
</author>
<published>2026-04-12T15:00:06Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=8af6a1ddd2416e7a4e6afeab51a560c89bf321fb'/>
<id>urn:sha1:8af6a1ddd2416e7a4e6afeab51a560c89bf321fb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(smithy_ls): bump from 0.7.0 to 0.8.0 #4385</title>
<updated>2026-04-12T12:48:55Z</updated>
<author>
<name>Zerkath</name>
<email>24889977+Zerkath@users.noreply.github.com</email>
</author>
<published>2026-04-12T12:48:55Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=814b2fd6612f54c2247c620a4c8e86d2f658c18d'/>
<id>urn:sha1:814b2fd6612f54c2247c620a4c8e86d2f658c18d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(buf_ls): buf-config filetype #4384</title>
<updated>2026-04-10T14:15:03Z</updated>
<author>
<name>Stefan VanBuren</name>
<email>svanburen@buf.build</email>
</author>
<published>2026-04-10T14:15:03Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=9bafffaeaae363c5211080e06e04ed5b422fd5ad'/>
<id>urn:sha1:9bafffaeaae363c5211080e06e04ed5b422fd5ad</id>
<content type='text'>
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).</content>
</entry>
<entry>
<title>fix(oxlint): oxlintrc.jsonc root marker #4381</title>
<updated>2026-04-08T20:38:52Z</updated>
<author>
<name>Emanuel Pilz</name>
<email>emonadeo@gmail.com</email>
</author>
<published>2026-04-08T20:38:52Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=deb9667e92a9577f845f0083219ee8e79026de96'/>
<id>urn:sha1:deb9667e92a9577f845f0083219ee8e79026de96</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: csskit #4380</title>
<updated>2026-04-08T15:44:02Z</updated>
<author>
<name>Keith Cirkel</name>
<email>keithamus@users.noreply.github.com</email>
</author>
<published>2026-04-08T15:44:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=76e616c9ab71c897691d1eeba66517a8005b2d10'/>
<id>urn:sha1:76e616c9ab71c897691d1eeba66517a8005b2d10</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs(gitlab_duo): outdated docs (#4377)</title>
<updated>2026-04-05T16:08:51Z</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-04-05T16:08:51Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=f8af0d3035ee0cad99bf27dc11ef38f7d239f10f'/>
<id>urn:sha1:f8af0d3035ee0cad99bf27dc11ef38f7d239f10f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(tailwindcss): revert broken config detection #4376</title>
<updated>2026-04-05T14:33:03Z</updated>
<author>
<name>Omar Elhawary</name>
<email>oedotme@gmail.com</email>
</author>
<published>2026-04-05T14:33:03Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=8caef47d1ddcdf0fef4c3ebb863e6591ed312b54'/>
<id>urn:sha1:8caef47d1ddcdf0fef4c3ebb863e6591ed312b54</id>
<content type='text'>
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:

&gt; [!NOTE]
&gt; 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:

&gt; [!NOTE]
&gt; 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`.</content>
</entry>
<entry>
<title>feat(tailwindcss): support multiple import patterns #4371</title>
<updated>2026-04-03T18:43:21Z</updated>
<author>
<name>besserwisser</name>
<email>oweiss@outlook.de</email>
</author>
<published>2026-04-03T18:43:21Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=fe209bc10ce80a873223930e68ef7356b2b15ff4'/>
<id>urn:sha1:fe209bc10ce80a873223930e68ef7356b2b15ff4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(robotcode): support virtual env #4367</title>
<updated>2026-04-03T15:01:32Z</updated>
<author>
<name>Methapon2001</name>
<email>61303214+Methapon2001@users.noreply.github.com</email>
</author>
<published>2026-04-03T15:01:32Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=e6eb630210fb6b6a84f27c07ca2b0cb6bf33aa7f'/>
<id>urn:sha1:e6eb630210fb6b6a84f27c07ca2b0cb6bf33aa7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: make oxfmt support oxfmt.config.ts files (#4372)</title>
<updated>2026-04-03T14:54:59Z</updated>
<author>
<name>Nikoloz Buligini</name>
<email>nbuligini11@gmail.com</email>
</author>
<published>2026-04-03T14:54:59Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=cafc464e14e6affb61b9f97cbb4db2530c06393b'/>
<id>urn:sha1:cafc464e14e6affb61b9f97cbb4db2530c06393b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(tailwindcss_ls): add experimental.configFile to support Tailwind v4 #4222</title>
<updated>2026-03-31T21:20:42Z</updated>
<author>
<name>KhaNguyen</name>
<email>43724342+CaoKha@users.noreply.github.com</email>
</author>
<published>2026-03-31T21:20:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=23bfb2a76b30d22b0768f97e26d4c39cc252483b'/>
<id>urn:sha1:23bfb2a76b30d22b0768f97e26d4c39cc252483b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(biome): set lower priority for config files as root #4363</title>
<updated>2026-03-28T12:10:33Z</updated>
<author>
<name>Igor Lacerda</name>
<email>igorlfs@ufmg.br</email>
</author>
<published>2026-03-28T12:10:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=16812abf0e8d8175155f26143a8504e8253e92b0'/>
<id>urn:sha1:16812abf0e8d8175155f26143a8504e8253e92b0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(roslyn_ls): handle roslyn.client.fixAllCodeAction command #4358</title>
<updated>2026-03-27T10:42:34Z</updated>
<author>
<name>Minh Khoi Do</name>
<email>107194093+khoido2003@users.noreply.github.com</email>
</author>
<published>2026-03-27T10:42:34Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=61f67a4ef2e58f4d3d56b8cc7df7c484c83dbb34'/>
<id>urn:sha1:61f67a4ef2e58f4d3d56b8cc7df7c484c83dbb34</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(stylelint)!: migrate to stylelint-language-server #4351</title>
<updated>2026-03-26T09:54:19Z</updated>
<author>
<name>HyBer</name>
<email>59885141+BBboy01@users.noreply.github.com</email>
</author>
<published>2026-03-26T09:54:19Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=0624a7434ccb1fa27802b80e4a032ff71deea700'/>
<id>urn:sha1:0624a7434ccb1fa27802b80e4a032ff71deea700</id>
<content type='text'>
stylelint now has an official LS:
[@stylelint/language-server](https://github.com/stylelint/vscode-stylelint/tree/main/packages/language-server)</content>
</entry>
</feed>
