<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/plugin/lsp_spec.lua, branch fix_repeatcmdline</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>test: skip failing watch file tests on freebsd (#26110)</title>
<updated>2023-11-19T17:37:49+00:00</updated>
<author>
<name>Mathias Fußenegger</name>
<email>mfussenegger@users.noreply.github.com</email>
</author>
<published>2023-11-19T17:37:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=7ca2d64e8bbfb73f33cf82a2f9c03808bfea3d95'/>
<id>7ca2d64e8bbfb73f33cf82a2f9c03808bfea3d95</id>
<content type='text'>
Quick fix as follow up to https://github.com/neovim/neovim/pull/26108

kqueue only reports events on a watched folder itself, not for files
created or deleted within. So the approach the PR took doesn't work on FreeBSD.

We'll either need to bring back polling for it, combine watching with manual
file tracking, or disable LSP file watching on FreeBSD</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Quick fix as follow up to https://github.com/neovim/neovim/pull/26108

kqueue only reports events on a watched folder itself, not for files
created or deleted within. So the approach the PR took doesn't work on FreeBSD.

We'll either need to bring back polling for it, combine watching with manual
file tracking, or disable LSP file watching on FreeBSD</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp)!: vim.lsp.inlay_hint.get(), enable(), is_enabled() #25512</title>
<updated>2023-11-12T12:54:27+00:00</updated>
<author>
<name>LW</name>
<email>git@llllvvuu.dev</email>
</author>
<published>2023-11-12T12:54:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=448907f65d6709fa234d8366053e33311a01bdb9'/>
<id>448907f65d6709fa234d8366053e33311a01bdb9</id>
<content type='text'>
refactor!: `vim.lsp.inlay_hint()` -&gt; `vim.lsp.inlay_hint.enable()`

Problem:
The LSP specification allows inlay hints to include tooltips, clickable
label parts, and code actions; but Neovim provides no API to query for
these.

Solution:
Add minimal viable extension point from which plugins can query for
inlay hints in a range, in order to build functionality on top of.

Possible Next Steps
---

- Add `virt_text_idx` field to `vim.fn.getmousepos()` return value, for
  usage in mappings of `&lt;LeftMouse&gt;`, `&lt;C-LeftMouse&gt;`, etc</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
refactor!: `vim.lsp.inlay_hint()` -&gt; `vim.lsp.inlay_hint.enable()`

Problem:
The LSP specification allows inlay hints to include tooltips, clickable
label parts, and code actions; but Neovim provides no API to query for
these.

Solution:
Add minimal viable extension point from which plugins can query for
inlay hints in a range, in order to build functionality on top of.

Possible Next Steps
---

- Add `virt_text_idx` field to `vim.fn.getmousepos()` return value, for
  usage in mappings of `&lt;LeftMouse&gt;`, `&lt;C-LeftMouse&gt;`, etc</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): fix off-by-one error for omnifunc word boundary</title>
<updated>2023-10-23T06:26:38+00:00</updated>
<author>
<name>Mathias Fussenegger</name>
<email>f.mathias@zignar.net</email>
</author>
<published>2023-10-21T11:44:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=5e5f5174e3faa862a9bc353aa7da41487911140b'/>
<id>5e5f5174e3faa862a9bc353aa7da41487911140b</id>
<content type='text'>
Fixes https://github.com/neovim/neovim/issues/25177

I initially wanted to split this into a refactor commit to make it more
testable, but it appears that already accidentally fixed the issue by
normalizing lnum/col to 0-indexing
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes https://github.com/neovim/neovim/issues/25177

I initially wanted to split this into a refactor commit to make it more
testable, but it appears that already accidentally fixed the issue by
normalizing lnum/col to 0-indexing
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(lsp): deprecate completion util methods</title>
<updated>2023-10-21T11:49:05+00:00</updated>
<author>
<name>Mathias Fussenegger</name>
<email>f.mathias@zignar.net</email>
</author>
<published>2023-10-21T07:57:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=195301c60969c7ce97b1ef3a3caaf4965da1abd5'/>
<id>195301c60969c7ce97b1ef3a3caaf4965da1abd5</id>
<content type='text'>
Relates to https://github.com/neovim/neovim/issues/25272
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Relates to https://github.com/neovim/neovim/issues/25272
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): handle NUL bytes in popup text (#25612)</title>
<updated>2023-10-12T07:39:39+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-10-12T07:39:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=840e1864c2de2b4b192a4df1865b69093904b139'/>
<id>840e1864c2de2b4b192a4df1865b69093904b139</id>
<content type='text'>
Fix #25610</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix #25610</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp)!: replace snippet parser by lpeg grammar</title>
<updated>2023-10-02T20:21:35+00:00</updated>
<author>
<name>Maria José Solano</name>
<email>majosolano99@gmail.com</email>
</author>
<published>2023-10-01T16:54:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=eb1f0e8fcca756a00d287e23bf87554e0e7f6dfd'/>
<id>eb1f0e8fcca756a00d287e23bf87554e0e7f6dfd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): fallback to code-action command on resolve failure (#25464)</title>
<updated>2023-10-02T20:14:19+00:00</updated>
<author>
<name>Mathias Fußenegger</name>
<email>mfussenegger@users.noreply.github.com</email>
</author>
<published>2023-10-02T20:14:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=4a09c178a19097c295521892c889f1f196fff100'/>
<id>4a09c178a19097c295521892c889f1f196fff100</id>
<content type='text'>
The haskell-language-server supports resolve only for a subset of code
actions. For many code actions trying to resolve the `edit` property
results in an error, but the unresolved action already contains a
command that can be executed without issue.

The protocol specification is unfortunately a bit vague about this,
and what the haskell-language-server does seems to be valid.

Example:

    newtype Dummy = Dummy Int
    instance Num Dummy where

Triggering code actions on "Num Dummy" and choosing "Add placeholders
for all missing methods" resulted in:

    -32601: No plugin enabled for SMethod_CodeActionResolve, potentially available: explicit-fields, importLens, hlint, overloaded-record-dot

With this change it will insert the missing methods:

    instance Num Dummy where
      (+) = _
      (-) = _
      (*) = _
      negate = _
      abs = _
      signum = _
      fromInteger = _</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The haskell-language-server supports resolve only for a subset of code
actions. For many code actions trying to resolve the `edit` property
results in an error, but the unresolved action already contains a
command that can be executed without issue.

The protocol specification is unfortunately a bit vague about this,
and what the haskell-language-server does seems to be valid.

Example:

    newtype Dummy = Dummy Int
    instance Num Dummy where

Triggering code actions on "Num Dummy" and choosing "Add placeholders
for all missing methods" resulted in:

    -32601: No plugin enabled for SMethod_CodeActionResolve, potentially available: explicit-fields, importLens, hlint, overloaded-record-dot

With this change it will insert the missing methods:

    instance Num Dummy where
      (+) = _
      (-) = _
      (*) = _
      negate = _
      abs = _
      signum = _
      fromInteger = _</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): handle absence of a trailing newline #25194</title>
<updated>2023-09-21T10:06:40+00:00</updated>
<author>
<name>Sergey Slipchenko</name>
<email>faergeek@gmail.com</email>
</author>
<published>2023-09-21T10:06:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=345bd91db28ecfc4deb308f4971253b534f82d49'/>
<id>345bd91db28ecfc4deb308f4971253b534f82d49</id>
<content type='text'>
Fixes #24339

rust-analyzer sends "Invalid offset" error in such cases. Some other
servers handle it specially.

LSP spec mentions that "A range is comparable to a selection in an
editor". Most editors don't handle trailing newlines the same way
Neovim/Vim does, it's clearly visible if it's present or not. With that
in mind it's understandable why sending end position as simply the start
of the line after the last one is considered invalid in such cases.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #24339

rust-analyzer sends "Invalid offset" error in such cases. Some other
servers handle it specially.

LSP spec mentions that "A range is comparable to a selection in an
editor". Most editors don't handle trailing newlines the same way
Neovim/Vim does, it's clearly visible if it's present or not. With that
in mind it's understandable why sending end position as simply the start
of the line after the last one is considered invalid in such cases.</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): use treesitter for stylize markdown</title>
<updated>2023-09-19T13:47:37+00:00</updated>
<author>
<name>Maria José Solano</name>
<email>majosolano99@gmail.com</email>
</author>
<published>2023-09-13T03:51:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=cfd4a9dfaf5fd900264a946ca33c4a4f26f66a49'/>
<id>cfd4a9dfaf5fd900264a946ca33c4a4f26f66a49</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(api): more intuitive cursor updates in nvim_buf_set_text</title>
<updated>2023-09-11T04:16:03+00:00</updated>
<author>
<name>Sergey Slipchenko</name>
<email>faergeek@gmail.com</email>
</author>
<published>2023-09-11T04:16:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=d22172f36bbe147f3aa6b76a1c43ae445f481c2e'/>
<id>d22172f36bbe147f3aa6b76a1c43ae445f481c2e</id>
<content type='text'>
Fixes #22526
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #22526
</pre>
</div>
</content>
</entry>
</feed>
