<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/plugin, branch aucmd_textputpost</title>
<subtitle>Neovim fork with Rahm's personal hacks.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/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='https://git.josher.dev/cgit/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='https://git.josher.dev/cgit/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 omnicomplete in middle of the line (#25787)</title>
<updated>2023-10-26T20:40:36+00:00</updated>
<author>
<name>Lajos Koszti</name>
<email>ajnasz@ajnasz.hu</email>
</author>
<published>2023-10-26T20:40:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=ba6761eafe615a7f904c585dba3b7d6e98f665e1'/>
<id>ba6761eafe615a7f904c585dba3b7d6e98f665e1</id>
<content type='text'>
Fixes a regression from 5e5f5174e3faa862a9bc353aa7da41487911140b

Until that commit we had a logic like this:
`local prefix = startbyte and line:sub(startbyte + 1) or line_to_cursor:sub(word_boundary)`

The commit changed the logic and no longer cut off the line at the cursor,  resulting in a prefix that included trailing characters</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes a regression from 5e5f5174e3faa862a9bc353aa7da41487911140b

Until that commit we had a logic like this:
`local prefix = startbyte and line:sub(startbyte + 1) or line_to_cursor:sub(word_boundary)`

The commit changed the logic and no longer cut off the line at the cursor,  resulting in a prefix that included trailing characters</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='https://git.josher.dev/cgit/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='https://git.josher.dev/cgit/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): refactor escaping snippet text (#25611)</title>
<updated>2023-10-14T07:06:40+00:00</updated>
<author>
<name>Maria José Solano</name>
<email>majosolano99@gmail.com</email>
</author>
<published>2023-10-14T07:06:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=ee156ca60ede95c95160cb8dff0197d40cb1a491'/>
<id>ee156ca60ede95c95160cb8dff0197d40cb1a491</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): 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='https://git.josher.dev/cgit/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>fix(lsp): account for border height in max floating popup height (#25539)</title>
<updated>2023-10-08T08:09:25+00:00</updated>
<author>
<name>LW</name>
<email>git@llllvvuu.dev</email>
</author>
<published>2023-10-08T08:09:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=9abced6ad95f6300ae80cd8b8aa124ebcf511b50'/>
<id>9abced6ad95f6300ae80cd8b8aa124ebcf511b50</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)!: 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='https://git.josher.dev/cgit/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='https://git.josher.dev/cgit/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>
</feed>
