<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nvim-lspconfig/lsp/css_variables.lua, branch docs</title>
<subtitle>[no description]</subtitle>
<id>http://git.sudomsg.com/mirror/nvim-lspconfig/atom/lsp/css_variables.lua?h=docs</id>
<link rel='self' href='http://git.sudomsg.com/mirror/nvim-lspconfig/atom/lsp/css_variables.lua?h=docs'/>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/'/>
<updated>2025-10-20T22:08:35Z</updated>
<entry>
<title>fix(css_variables): wrong root dir if subdir has package.json #4127</title>
<updated>2025-10-20T22:08:35Z</updated>
<author>
<name>Gaëtan Covelli</name>
<email>gaetan_covelli@hotmail.com</email>
</author>
<published>2025-10-20T22:08:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=ad9f25903086ad87f46ca9843c163c8a871709e5'/>
<id>urn:sha1:ad9f25903086ad87f46ca9843c163c8a871709e5</id>
<content type='text'>
Problem:
Root directory is incorrect for projects containing a `package.json` file in subdirectories.

For a project with a given file structure:

```
my-monorepo/
├── package.json
├── yarn.lock
├── css/
│   └── css-variables/
│       ├── color.css
│       └── typography.css
└── components/
    └── core/
        └── my-feature/
            ├── package.json           ← 2. causes LSP root to stop here
            ├── feature-component-a/
            │   └── feature-component-a.module.css           ← 1. current open buffer 
            └── feature-component-b/
                └── feature-component-b.module.css

```

The LSP is using `my-feature` as the root directory. This directory is not the one where the css variables are defined. It leads to an issue where the css variables are not indexed, and from `feature-component-a.module.css` auto-completion and jump to definition are not working.

Solution:
Using the same `root_dir` logic as `ts_ls` (which prefers lockfiles like yarn.lock or .git as root markers) correctly sets the project root to `my-monorepo/`, allowing `css/css-variables/` to be discoverable for the LSP.</content>
</entry>
<entry>
<title>fix: separate type annotation from `@brief` docstring #4017</title>
<updated>2025-08-20T02:13:01Z</updated>
<author>
<name>Igor Lacerda</name>
<email>igorlfs@ufmg.br</email>
</author>
<published>2025-08-20T02:13:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=5a49a97f9d3de5c39a2b18d583035285b3640cb0'/>
<id>urn:sha1:5a49a97f9d3de5c39a2b18d583035285b3640cb0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: add type annotation for configs</title>
<updated>2025-08-19T02:39:23Z</updated>
<author>
<name>Igor</name>
<email>igorlfs@ufmg.br</email>
</author>
<published>2025-08-19T02:39:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=030a72f0aa4d56f9e8ff67921e6e3ffd0e97bf07'/>
<id>urn:sha1:030a72f0aa4d56f9e8ff67921e6e3ffd0e97bf07</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: cleanup</title>
<updated>2025-04-18T15:44:38Z</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-04-18T15:44:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=f8b5cbe6312b568def1f91d747e2cdb8984fdf2e'/>
<id>urn:sha1:f8b5cbe6312b568def1f91d747e2cdb8984fdf2e</id>
<content type='text'>
- brief should live at the top of each file
- fix indentation for some docs
</content>
</entry>
<entry>
<title>fix(docs): docgen.lua reads from `lua/*.lua` #3708</title>
<updated>2025-04-13T02:40:01Z</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-04-13T02:40:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=ecb74c22b4a6c41162153f77e73d4ef645fedfa0'/>
<id>urn:sha1:ecb74c22b4a6c41162153f77e73d4ef645fedfa0</id>
<content type='text'>
Problem:
Since configs now live in `lsp/`, the docgen needs to be updated.

Solution:
Read the configs from `lsp/`. Parse the `@brief` docstring to get the
docs.</content>
</entry>
<entry>
<title>feat: migrate to vim.lsp.config #3659</title>
<updated>2025-04-12T22:15:43Z</updated>
<author>
<name>Lorenzo Bellina</name>
<email>59364991+TheRealLorenz@users.noreply.github.com</email>
</author>
<published>2025-04-12T22:15:43Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/nvim-lspconfig/commit/?id=81a570f58b2113cc2d538efae743ad38d6ab564f'/>
<id>urn:sha1:81a570f58b2113cc2d538efae743ad38d6ab564f</id>
<content type='text'>
Problem:
Nvim 0.11 has vim.lsp.config, which mostly replaces the legacy
nvim-lspconfig "framework".

Solution:
Migrate all configs to `lsp/*` variants. The old configs in
`lua/lspconfig/` are "frozen".

The new configs include these changes:
- `commands` field became raw calls to
  `vim.api.nvim_buf_create_user_command` inside `on_attach`.
- `root_dir` became:
  - `root_markers` whenever the file list was simple didn't need to mach `*`
  - if the logic was complicated, or needed to match something like
    '\*.c', it was defined as a vim.lsp.Config `root_dir` callback.
- `on_config_change` became `before_init`. I don't actually know if this
  is the correct approach, but looking around the documentation of
  `nvim-lspconfig` a saw that it was defined as the function that gets
  called as soon as the config have `root_dir`, and so I thought
  `before_init` might be the closest alternative.
- `docs.description` became a luadoc `@brief` docstring.
- `single_file_support = false`?

Co-authored-by: Aliou Diallo &lt;aliou@users.noreply.github.com&gt;
Co-authored-by: Justin M. Keyes &lt;justinkz@gmail.com&gt;</content>
</entry>
</feed>
