<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/lua/vim/lsp.lua, branch rahm</title>
<subtitle>Neovim fork with Rahm's personal hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/'/>
<entry>
<title>docs: misc</title>
<updated>2025-01-30T12:46:06+00:00</updated>
<author>
<name>dundargoc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2025-01-13T14:48:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e71d2c817d1a2475551f58a98e411f6b39a5be3f'/>
<id>e71d2c817d1a2475551f58a98e411f6b39a5be3f</id>
<content type='text'>
Co-authored-by: Dustin S. &lt;dstackmasta27@gmail.com&gt;
Co-authored-by: Ferenc Fejes &lt;fejes@inf.elte.hu&gt;
Co-authored-by: Maria José Solano &lt;majosolano99@gmail.com&gt;
Co-authored-by: Yochem van Rosmalen &lt;git@yochem.nl&gt;
Co-authored-by: brianhuster &lt;phambinhanctb2004@gmail.com&gt;
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Dustin S. &lt;dstackmasta27@gmail.com&gt;
Co-authored-by: Ferenc Fejes &lt;fejes@inf.elte.hu&gt;
Co-authored-by: Maria José Solano &lt;majosolano99@gmail.com&gt;
Co-authored-by: Yochem van Rosmalen &lt;git@yochem.nl&gt;
Co-authored-by: brianhuster &lt;phambinhanctb2004@gmail.com&gt;
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge #32001 from MariaSolOs/consistent-namespaces</title>
<updated>2025-01-15T10:01:44+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-01-15T10:01:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=3ee63edc1b0ca6fe664c9d5368aba05ae9a22e9d'/>
<id>3ee63edc1b0ca6fe664c9d5368aba05ae9a22e9d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): vim.lsp.enable(...,false) does not disable  #32002</title>
<updated>2025-01-15T09:58:36+00:00</updated>
<author>
<name>Andrew Braxton</name>
<email>42975660+andrewbraxton@users.noreply.github.com</email>
</author>
<published>2025-01-15T09:58:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=0a7e4e9e5f28f3b6b3c83040430d0a36fcd71fad'/>
<id>0a7e4e9e5f28f3b6b3c83040430d0a36fcd71fad</id>
<content type='text'>
Problem:
Per the documentation, passing `false` as the `enable` parameter of
`vim.lsp.enable()` should disable the given LSP(s), but it does not work
due to a logic error.

Specifically, `enable == false and nil or {}` will always evaluate to
`{}` because `nil` is falsy.

Solution:
Correct the conditional statement.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Per the documentation, passing `false` as the `enable` parameter of
`vim.lsp.enable()` should disable the given LSP(s), but it does not work
due to a logic error.

Specifically, `enable == false and nil or {}` will always evaluate to
`{}` because `nil` is falsy.

Solution:
Correct the conditional statement.</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: use nvim.foo.bar format for autocommand groups</title>
<updated>2025-01-15T05:25:25+00:00</updated>
<author>
<name>Maria José Solano</name>
<email>majosolano99@gmail.com</email>
</author>
<published>2025-01-14T03:45:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=09e01437c968be4c6e9f6bb3ac8811108c58008c'/>
<id>09e01437c968be4c6e9f6bb3ac8811108c58008c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): schedule call to vim.lsp.start for async root_dir (#31998)</title>
<updated>2025-01-14T14:19:54+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-01-14T14:19:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e8a6c1b02122852da83dc52184e78369598d8240'/>
<id>e8a6c1b02122852da83dc52184e78369598d8240</id>
<content type='text'>
When `root_dir` is a function it can (and often will) call the provided
callback function in a fast API context (e.g. in the `on_exit` handler
of `vim.system`). When the callback function is executed we should
ensure that it runs vim.lsp.start on the main event loop.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When `root_dir` is a function it can (and often will) call the provided
callback function in a fast API context (e.g. in the `on_exit` handler
of `vim.system`). When the callback function is executed we should
ensure that it runs vim.lsp.start on the main event loop.</pre>
</div>
</content>
</entry>
<entry>
<title>docs: misc</title>
<updated>2025-01-11T09:34:12+00:00</updated>
<author>
<name>dundargoc</name>
<email>gocdundar@gmail.com</email>
</author>
<published>2024-11-24T10:29:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6a425e7045cca609d95612c0f2cd08d0265238a9'/>
<id>6a425e7045cca609d95612c0f2cd08d0265238a9</id>
<content type='text'>
Co-authored-by: Axel &lt;axelhjq@gmail.com&gt;
Co-authored-by: Colin Kennedy &lt;colinvfx@gmail.com&gt;
Co-authored-by: Daiki Noda &lt;sys9kdr@users.noreply.github.com&gt;
Co-authored-by: Evgeni Chasnovski &lt;evgeni.chasnovski@gmail.com&gt;
Co-authored-by: Jean-Jacq du Plessis &lt;1030058+jj-du-plessis@users.noreply.github.com&gt;
Co-authored-by: Juan Giordana &lt;juangiordana@gmail.com&gt;
Co-authored-by: Lincoln Wallace &lt;locnnil0@gmail.com&gt;
Co-authored-by: Matti Hellström &lt;hellstrom@scm.com&gt;
Co-authored-by: Steven Locorotondo &lt;steven.locorotondo@justeattakeaway.com&gt;
Co-authored-by: Yochem van Rosmalen &lt;git@yochem.nl&gt;
Co-authored-by: glepnir &lt;glephunter@gmail.com&gt;
Co-authored-by: ifish &lt;fishioon@live.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Axel &lt;axelhjq@gmail.com&gt;
Co-authored-by: Colin Kennedy &lt;colinvfx@gmail.com&gt;
Co-authored-by: Daiki Noda &lt;sys9kdr@users.noreply.github.com&gt;
Co-authored-by: Evgeni Chasnovski &lt;evgeni.chasnovski@gmail.com&gt;
Co-authored-by: Jean-Jacq du Plessis &lt;1030058+jj-du-plessis@users.noreply.github.com&gt;
Co-authored-by: Juan Giordana &lt;juangiordana@gmail.com&gt;
Co-authored-by: Lincoln Wallace &lt;locnnil0@gmail.com&gt;
Co-authored-by: Matti Hellström &lt;hellstrom@scm.com&gt;
Co-authored-by: Steven Locorotondo &lt;steven.locorotondo@justeattakeaway.com&gt;
Co-authored-by: Yochem van Rosmalen &lt;git@yochem.nl&gt;
Co-authored-by: glepnir &lt;glephunter@gmail.com&gt;
Co-authored-by: ifish &lt;fishioon@live.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): return resolved config for vim.lsp.config[name]</title>
<updated>2024-12-31T12:18:05+00:00</updated>
<author>
<name>Mathias Fussenegger</name>
<email>f.mathias@zignar.net</email>
</author>
<published>2024-12-29T12:44:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e00cd1ab4060915d86b8536b082e663818268b69'/>
<id>e00cd1ab4060915d86b8536b082e663818268b69</id>
<content type='text'>
Allows to retrieve the configuration as it will be used by `lsp.enable`
- including the parts merged from `*` and rtp.

This is useful for explicit startup control
(`vim.lsp.start(vim.lsp.config[name])`)

Closes https://github.com/neovim/neovim/issues/31640
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows to retrieve the configuration as it will be used by `lsp.enable`
- including the parts merged from `*` and rtp.

This is useful for explicit startup control
(`vim.lsp.start(vim.lsp.config[name])`)

Closes https://github.com/neovim/neovim/issues/31640
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): support function for client root_dir (#31630)</title>
<updated>2024-12-27T16:09:22+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2024-12-27T16:09:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=35247b00a44e838ed7d657a9b94964dc0664d28d'/>
<id>35247b00a44e838ed7d657a9b94964dc0664d28d</id>
<content type='text'>
If root_dir is a function it is evaluated when the client is created to
determine the root directory.

This enables dynamically determining the root directory based on e.g.
project or directory structure (example: finding a parent Cargo.toml
file that contains "[workspace]" in a Rust project).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If root_dir is a function it is evaluated when the client is created to
determine the root directory.

This enables dynamically determining the root directory based on e.g.
project or directory structure (example: finding a parent Cargo.toml
file that contains "[workspace]" in a Rust project).</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): return table from lsp/ files on runtimepath (#31663)</title>
<updated>2024-12-21T14:27:27+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2024-12-21T14:27:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=130b5fd85f074ac5e40cb4b07c6c9dc6f91512bd'/>
<id>130b5fd85f074ac5e40cb4b07c6c9dc6f91512bd</id>
<content type='text'>
Problem: LSP configs on the runtimepath must have the same name as the
LSP server and must also explicitly set the name in vim.lsp.config. This
is redundant and creates a footgun where a user may accidentally use the
wrong name when assigning to the vim.lsp.config table.

Solution: Return a table from lsp/ runtimepath files instead</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: LSP configs on the runtimepath must have the same name as the
LSP server and must also explicitly set the name in vim.lsp.config. This
is redundant and creates a footgun where a user may accidentally use the
wrong name when assigning to the vim.lsp.config table.

Solution: Return a table from lsp/ runtimepath files instead</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): vim.lsp.start fails if existing client has no workspace_folders #31608</title>
<updated>2024-12-18T14:37:12+00:00</updated>
<author>
<name>phanium</name>
<email>91544758+phanen@users.noreply.github.com</email>
</author>
<published>2024-12-18T14:37:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=888a803755c58db56b5b20fcf6b812de877056c9'/>
<id>888a803755c58db56b5b20fcf6b812de877056c9</id>
<content type='text'>
Problem:
regression since https://github.com/neovim/neovim/pull/31340

`nvim -l repro.lua`:
```lua
vim.lsp.start { cmd = { 'lua-language-server' }, name = 'lua_ls' }
vim.lsp.start { cmd = { 'lua-language-server' }, name = 'lua_ls', root_dir = 'foo' }

-- swapped case will be ok:
-- vim.lsp.start { cmd = { 'lua-language-server' }, name = 'lua_ls', root_dir = 'foo' }
-- vim.lsp.start { cmd = { 'lua-language-server' }, name = 'lua_ls' }
```

Failure:
```
E5113: Error while calling lua chunk: /…/lua/vim/lsp.lua:214: bad argument #1 to
'ipairs' (table expected, got nil)
stack traceback:
        [C]: in function 'ipairs'
        /…/lua/vim/lsp.lua:214: in function 'reuse_client'
        /…/lua/vim/lsp.lua:629: in function 'start'
        repro.lua:34: in main chunk
```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
regression since https://github.com/neovim/neovim/pull/31340

`nvim -l repro.lua`:
```lua
vim.lsp.start { cmd = { 'lua-language-server' }, name = 'lua_ls' }
vim.lsp.start { cmd = { 'lua-language-server' }, name = 'lua_ls', root_dir = 'foo' }

-- swapped case will be ok:
-- vim.lsp.start { cmd = { 'lua-language-server' }, name = 'lua_ls', root_dir = 'foo' }
-- vim.lsp.start { cmd = { 'lua-language-server' }, name = 'lua_ls' }
```

Failure:
```
E5113: Error while calling lua chunk: /…/lua/vim/lsp.lua:214: bad argument #1 to
'ipairs' (table expected, got nil)
stack traceback:
        [C]: in function 'ipairs'
        /…/lua/vim/lsp.lua:214: in function 'reuse_client'
        /…/lua/vim/lsp.lua:629: in function 'start'
        repro.lua:34: in main chunk
```</pre>
</div>
</content>
</entry>
</feed>
