4241 Commits

Author SHA1 Message Date
Stefan VanBuren
9bafffaeaa
feat(buf_ls): buf-config filetype #4384
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).
v2.8.0
2026-04-10 10:15:03 -04:00
github-actions[bot]
c588db3305 docs: update generated annotations
skip-checks: true
2026-04-08 20:41:35 +00:00
github-actions[bot]
73e144d5ed docs: update configs.md
skip-checks: true
2026-04-08 20:39:05 +00:00
Emanuel Pilz
deb9667e92
fix(oxlint): oxlintrc.jsonc root marker #4381 2026-04-08 16:38:52 -04:00
github-actions[bot]
fb5fa30626 docs: update generated annotations
skip-checks: true
2026-04-08 15:56:09 +00:00
github-actions[bot]
ef3cda8660 docs: update configs.md
skip-checks: true
2026-04-08 15:50:02 +00:00
Keith Cirkel
76e616c9ab
feat: csskit #4380 2026-04-08 11:44:02 -04:00
dependabot[bot]
bedca8b426
ci: bump JohnnyMorganz/stylua-action from 4 to 5 (#4378)
Bumps [JohnnyMorganz/stylua-action](https://github.com/johnnymorganz/stylua-action) from 4 to 5.
- [Release notes](https://github.com/johnnymorganz/stylua-action/releases)
- [Commits](https://github.com/johnnymorganz/stylua-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: JohnnyMorganz/stylua-action
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-06 19:42:19 -04:00
github-actions[bot]
a776085e04 docs: update configs.md
skip-checks: true
2026-04-05 16:09:01 +00:00
Justin M. Keyes
f8af0d3035
docs(gitlab_duo): outdated docs (#4377) 2026-04-05 12:08:51 -04:00
github-actions[bot]
ffd2b00f8d docs: update generated annotations
skip-checks: true
2026-04-05 14:38:15 +00:00
github-actions[bot]
490b2c7d5f docs: update configs.md
skip-checks: true
2026-04-05 14:37:59 +00:00
Omar Elhawary
8caef47d1d
fix(tailwindcss): revert broken config detection #4376
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`.
2026-04-05 10:33:03 -04:00
github-actions[bot]
9ccd58a794 docs: update configs.md
skip-checks: true
2026-04-03 18:43:34 +00:00
besserwisser
fe209bc10c
feat(tailwindcss): support multiple import patterns #4371 2026-04-03 14:43:21 -04:00
github-actions[bot]
11afebab7a docs: update configs.md
skip-checks: true
2026-04-03 15:01:43 +00:00
Methapon2001
e6eb630210
feat(robotcode): support virtual env #4367 2026-04-03 11:01:32 -04:00
github-actions[bot]
433267f5d8 docs: update generated annotations
skip-checks: true
2026-04-03 14:56:37 +00:00
Nikoloz Buligini
cafc464e14
feat: make oxfmt support oxfmt.config.ts files (#4372) 2026-04-03 10:54:59 -04:00
github-actions[bot]
8e2084bf5e docs: update configs.md
skip-checks: true
2026-03-31 21:20:54 +00:00
KhaNguyen
23bfb2a76b
fix(tailwindcss_ls): add experimental.configFile to support Tailwind v4 #4222 2026-03-31 17:20:42 -04:00
github-actions[bot]
9d28ece483 docs: update generated annotations
skip-checks: true
2026-03-31 20:34:32 +00:00
Justin M. Keyes
d2782331cc
ci: disable gen-annotations in forks #4366
Problem:
gen-annotations runs on PRs.

Solution:
- Check the org + repo name.
- Trigger on "master" branch only.

related: d7c25c54406af9483edeab7e783d01f80e4f05e5 #4357
2026-03-31 16:34:06 -04:00
github-actions[bot]
5492a24edd docs: update configs.md
skip-checks: true
2026-03-31 15:26:33 +00:00
skewb1k
50cf471a49
docs: document vim.pack as preferred installation method #4364
* docs: document `vim.pack` as preferred installation method

Nvim 0.12 is not nightly anymore.

* docs: replace deprecated `set_log_level` with `vim.lsp.log.set_level`
2026-03-31 11:26:19 -04:00
Igor Lacerda
16812abf0e
fix(biome): set lower priority for config files as root #4363 2026-03-28 08:10:33 -04:00
Justin M. Keyes
97774019cb fix(ci): avoid yucky "chore" type 2026-03-27 13:19:40 +01:00
github-actions[bot]
d93772c343 docs: update configs.md
skip-checks: true
2026-03-27 11:54:31 +00:00
Justin M. Keyes
7278887ed0
fix(ci): "attempt to index field version" #4361
Problem:
ci failure after previous change:

    scripts/docgen.lua:249: attempt to index field 'version' (a function value)

Solution:
fix AI slop nooooo 😭 forgive me 🦞
2026-03-27 07:54:19 -04:00
github-actions[bot]
399076cad3 docs: update configs.md
skip-checks: true
2026-03-27 11:48:40 +00:00
Justin M. Keyes
0f74791126
fix(ci): noisy version changes in generated docs #4360
Problem:
The docgen script makes unwanted noise changes like this:

    diff --git a/doc/configs.md b/doc/configs.md
    index 25e2bc71d1..d8822ef0f4 100644
    --- a/doc/configs.md
    +++ b/doc/configs.md
    @@ -2481,11 +2481,11 @@ Default config:
       {
         editorInfo = {
           name = "Neovim",
    -      version = "0.12.0-dev+gc9e961994b"
    +      version = "0.12.0-dev+g925e9e8722"
         },
         editorPluginInfo = {
           name = "Neovim",
    -      version = "0.12.0-dev+gc9e961994b"
    +      version = "0.12.0-dev+g925e9e8722"
         }
       }
       ```

Solution:
During doc generation, patch vim.version to be less noisy.
2026-03-27 07:48:28 -04:00
github-actions[bot]
b8c4df5505 docs: update configs.md
skip-checks: true
2026-03-27 11:36:38 +00:00
Justin M. Keyes
5cce86ed4d
fix(ci): retry generator jobs #4359
Problem:
docgen fails if gen-annotations pushes before it:

    [master c2804a4] docs: update configs.md skip-checks: true
     2 files changed, 24 insertions(+), 20 deletions(-)
    To https://github.com/neovim/nvim-lspconfig
     ! [rejected]        master -> master (fetch first)
    error: failed to push some refs to 'https://github.com/neovim/nvim-lspconfig'
    hint: Updates were rejected because the remote contains work that you do not
    hint: have locally. This is usually caused by another repository pushing to

Solution:
If push fails, rebase and retry. The two workflows touch disjoint files
so the rebase should alway resolve.
2026-03-27 07:36:28 -04:00
github-actions[bot]
027861fad6 chore: update generated annotations
skip-checks: true
2026-03-27 10:46:03 +00:00
Minh Khoi Do
61f67a4ef2
fix(roslyn_ls): handle roslyn.client.fixAllCodeAction command #4358 2026-03-27 06:42:34 -04:00
github-actions[bot]
1a6d692067 docs: update configs.md
skip-checks: true
2026-03-26 09:54:38 +00:00
HyBer
0624a7434c
feat(stylelint)!: migrate to stylelint-language-server #4351
stylelint now has an official LS:
[@stylelint/language-server](https://github.com/stylelint/vscode-stylelint/tree/main/packages/language-server)
2026-03-26 05:54:19 -04:00
github-actions[bot]
46204c8fda docs: update configs.md
skip-checks: true
2026-03-25 13:03:40 +00:00
Barrett Ruth
ddbc332ef5
feat: add vimdoc_ls config #4347
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.
2026-03-25 09:03:29 -04:00
github-actions[bot]
5b3c9cf20f docs: update configs.md
skip-checks: true
2026-03-25 12:23:02 +00:00
Justin M. Keyes
d7c25c5440
ci: disable docgen in forks #4357
Problem:
docgen runs on PRs:
https://github.com/neovim/nvim-lspconfig/pull/4351#issuecomment-4114995138

Solution:
Check the org + repo name.
2026-03-25 08:22:53 -04:00
github-actions[bot]
4daa143659 chore: update generated annotations
skip-checks: true
2026-03-25 08:54:13 +00:00
Arne Christian Beer
95868440f0
fix(biome): root markers #4356
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.
2026-03-25 04:53:01 -04:00
github-actions[bot]
841c6d4139 docs: update configs.md
skip-checks: true
2026-03-20 09:02:37 +00:00
stargazer
bf92be622e
fix: prevent file leak in root_markers_with_field() #4355 2026-03-20 05:02:26 -04:00
github-actions[bot]
e057806776 docs: update configs.md
skip-checks: true
2026-03-19 21:00:01 +00:00
陆离
048bee32f1
fix(rosyln_ls): use default offset encoding (utf-16) instead of utf-8 (#4354)
Setting `offset_encoding` to `utf-8` is causing problem. See discussion at https://github.com/neovim/neovim/discussions/38375.

According to LSP specification 3.17, when `positionEncoding` is not specified in server capability, it's value should be assumed to be `utf-16`, see https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#serverCapabilities.

roslyn_ls does not response `positionEncoding` in initialize result (version `5.4.0-2.26162.5+e11fbc2bc8292680a92d731e5d9a6c7ee229262d`). One can verify this by setting LSP log level to debug, and read LSP log.

So, setting `offset_encoding` in default config is a mistake.
2026-03-19 16:59:50 -04:00
github-actions[bot]
11f730caa9 chore: update generated annotations
skip-checks: true
2026-03-19 17:05:07 +00:00
wvlab
73b3e05410
fix(metals): build.gradle.kts root marker #4353 2026-03-19 13:04:34 -04:00
github-actions[bot]
702f69fb16 docs: update configs.md
skip-checks: true
2026-03-17 20:52:15 +00:00