<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git, branch stable</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>NVIM v0.5.1</title>
<updated>2021-09-26T22:15:30+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2021-09-26T15:43:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=0159e4daaed1347db8719c27946fcfdc4e49e92d'/>
<id>0159e4daaed1347db8719c27946fcfdc4e49e92d</id>
<content type='text'>
BREAKING CHANGES:
d83df7f7b5c1 feat(lua)!: register_keystroke_callback =&gt; on_key
cd8f6c5fb785 feat(lsp)!: change handler signature #15504

FEATURES:
915dda3f96b3 feat(jobstart): add parameter to close stdin

FIXES:
f8e0011534a3 #15732 fix(inccommand): ignore trailing commands only for *previewed* command
2132c063af3a backport: fix(windowing): positioning of relative floats
51d6b26729f4 #15495 backport: tests(lua/on_yank): assert conditions that fail correctly
f7002337c02a #15482 backport: fix(lua): verify buffer in highlight.on_yank
6bda2f56eb01 #15454 backport: fix(window.c): win_close from other tabpage
be58ba250ee2 #15372 backport: fix(autocmd.c): fix conditions in block_autocmds, unblock_autocmds
d0e9a11e395a backport: refactor(sign): include longer sign column option
5c42376c15e2 backport: fix(sign): reset auto sign column with minimum in float win minimal style
41f761130e4f backport: fix(decorations): crash when :bdelete (extmark_free_all) after clear_namespace
cf62554e5aea #15111 backport: fix(:source): copy curbuf lines to memory before sourcing
6436100b6e4b #14809 backport: fix(:source, nvim_exec): handle Vimscript line continuations
917f30666657 #15043 backport: test/memory_usage_spec: skip on MacOS
a9cca1b050f4 #14984 backport: fixup(clipboard): Fix error not properly handled
ae89330ec047 #14982 backport: fix(vim.opt): vimL map string values not trimmed
2229e99ef918 #14962 backport: fixup(clipboard): Use case matching
b6b12ea7c3f2 #15489 fix(man.vim): filetype=man is too eager
6f965f41dfd6 build: use RelWithDebInfo build for nightlies, Release for releases
f027c5e1e463 build: update appdata.xml version in release commit
8336488ce1cd test(treesitter): skip all parsers tests if parsers aren't installed
008b83f5a28e Rename stdin to stdin_mode (fixes Windows build)

FIXES (LSP):
132053c1d2bd #15523 backport: fix(lsp): resolve bufnr in buf_is_attached
a265201307f6 backport: fix(lsp): Ensure human readable errors are printed
33000bd9cff3 backport: fix(lsp): Ensure users get feedback on references/symbols errors or empty results
9f73b7c214c6 #14954 backport: fix(lsp): correctly check for windows in lsp logger
eaa1c4737792 #15023 backport: fix(lsp): restore diagnostics extmarks that were moved to the last edit line
989ccb822203 #15011 backport: fix(lsp): restore diagnostics extmarks on buffer changes
2ae4c96d9176 backport: fix(lsp): prevent double &lt;text&gt; for cached plaintext markup
7b0ae589f0a7 feat(lsp): allow root_dir to be nil (#15430) (Mathias Fußenegger)
8ec5bc91262a lsp(start_client): Allow passing custom workspaceFolders to the LSP (#15132) (sim)
959cf5e53c79 fix(lsp): check if buffer is valid in changetracking (#15505) (Jose Alvarez)
dc15b3a92c9b fix(lsp): avoid ipairs on non-sequential tables (#15059) (Michael Lingelbach)
18375c6df609 feat(lsp): improve vim.lsp.util.apply_text_edits (#15561) (hrsh7th)
7b1315fe6113 feat(lsp): improve logging (#15636) (Michael Lingelbach)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BREAKING CHANGES:
d83df7f7b5c1 feat(lua)!: register_keystroke_callback =&gt; on_key
cd8f6c5fb785 feat(lsp)!: change handler signature #15504

FEATURES:
915dda3f96b3 feat(jobstart): add parameter to close stdin

FIXES:
f8e0011534a3 #15732 fix(inccommand): ignore trailing commands only for *previewed* command
2132c063af3a backport: fix(windowing): positioning of relative floats
51d6b26729f4 #15495 backport: tests(lua/on_yank): assert conditions that fail correctly
f7002337c02a #15482 backport: fix(lua): verify buffer in highlight.on_yank
6bda2f56eb01 #15454 backport: fix(window.c): win_close from other tabpage
be58ba250ee2 #15372 backport: fix(autocmd.c): fix conditions in block_autocmds, unblock_autocmds
d0e9a11e395a backport: refactor(sign): include longer sign column option
5c42376c15e2 backport: fix(sign): reset auto sign column with minimum in float win minimal style
41f761130e4f backport: fix(decorations): crash when :bdelete (extmark_free_all) after clear_namespace
cf62554e5aea #15111 backport: fix(:source): copy curbuf lines to memory before sourcing
6436100b6e4b #14809 backport: fix(:source, nvim_exec): handle Vimscript line continuations
917f30666657 #15043 backport: test/memory_usage_spec: skip on MacOS
a9cca1b050f4 #14984 backport: fixup(clipboard): Fix error not properly handled
ae89330ec047 #14982 backport: fix(vim.opt): vimL map string values not trimmed
2229e99ef918 #14962 backport: fixup(clipboard): Use case matching
b6b12ea7c3f2 #15489 fix(man.vim): filetype=man is too eager
6f965f41dfd6 build: use RelWithDebInfo build for nightlies, Release for releases
f027c5e1e463 build: update appdata.xml version in release commit
8336488ce1cd test(treesitter): skip all parsers tests if parsers aren't installed
008b83f5a28e Rename stdin to stdin_mode (fixes Windows build)

FIXES (LSP):
132053c1d2bd #15523 backport: fix(lsp): resolve bufnr in buf_is_attached
a265201307f6 backport: fix(lsp): Ensure human readable errors are printed
33000bd9cff3 backport: fix(lsp): Ensure users get feedback on references/symbols errors or empty results
9f73b7c214c6 #14954 backport: fix(lsp): correctly check for windows in lsp logger
eaa1c4737792 #15023 backport: fix(lsp): restore diagnostics extmarks that were moved to the last edit line
989ccb822203 #15011 backport: fix(lsp): restore diagnostics extmarks on buffer changes
2ae4c96d9176 backport: fix(lsp): prevent double &lt;text&gt; for cached plaintext markup
7b0ae589f0a7 feat(lsp): allow root_dir to be nil (#15430) (Mathias Fußenegger)
8ec5bc91262a lsp(start_client): Allow passing custom workspaceFolders to the LSP (#15132) (sim)
959cf5e53c79 fix(lsp): check if buffer is valid in changetracking (#15505) (Jose Alvarez)
dc15b3a92c9b fix(lsp): avoid ipairs on non-sequential tables (#15059) (Michael Lingelbach)
18375c6df609 feat(lsp): improve vim.lsp.util.apply_text_edits (#15561) (hrsh7th)
7b1315fe6113 feat(lsp): improve logging (#15636) (Michael Lingelbach)
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(release.sh): ignore failed "rm"</title>
<updated>2021-09-26T22:15:30+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2021-09-26T15:56:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c9e4f86b7555d2fceb9eb66253403048816513ad'/>
<id>c9e4f86b7555d2fceb9eb66253403048816513ad</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): fix handler signature, tests</title>
<updated>2021-09-26T22:15:03+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2021-09-26T21:21:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=14cdaca6a8180c6e3079cd2e73fa75a5eb5253da'/>
<id>14cdaca6a8180c6e3079cd2e73fa75a5eb5253da</id>
<content type='text'>
- not necessary on master: got lost in the vim.lsp.diagnostic =&gt; vim.diagnostic migration
- fix tests which accidentally depended on previous session
- ref #15504
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- not necessary on master: got lost in the vim.lsp.diagnostic =&gt; vim.diagnostic migration
- fix tests which accidentally depended on previous session
- ref #15504
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): allow root_dir to be nil (#15430)</title>
<updated>2021-09-26T18:28:28+00:00</updated>
<author>
<name>Mathias Fußenegger</name>
<email>mfussenegger@users.noreply.github.com</email>
</author>
<published>2021-08-19T16:15:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=7b0ae589f0a703359db4e52733e3998987de4123'/>
<id>7b0ae589f0a703359db4e52733e3998987de4123</id>
<content type='text'>
According to the protocol definition `rootPath`, `rootUri` and
`workspaceFolders` are allowed to be null.

Some language servers utilize this to provide "single file" support.
If all three are null, they don't attempt to index a directory but
instead only provide capabilities for a single file.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to the protocol definition `rootPath`, `rootUri` and
`workspaceFolders` are allowed to be null.

Some language servers utilize this to provide "single file" support.
If all three are null, they don't attempt to index a directory but
instead only provide capabilities for a single file.</pre>
</div>
</content>
</entry>
<entry>
<title>lsp(start_client): Allow passing custom workspaceFolders to the LSP (#15132)</title>
<updated>2021-09-26T18:28:28+00:00</updated>
<author>
<name>sim</name>
<email>simrats169169@gmail.com</email>
</author>
<published>2021-07-20T20:00:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=8ec5bc91262a73192cc63fe1ab25719cba139caa'/>
<id>8ec5bc91262a73192cc63fe1ab25719cba139caa</id>
<content type='text'>
Some language servers *cough*rust-analyzer*cough* need an empty/custom
workspaceFolders for certain usecases. For example, rust-analyzer
needs an empty workspaceFolders table for standalone file support
(See https://github.com/rust-analyzer/rust-analyzer/pull/8955).

This can also be useful for other languages that need to commonly
open a certain directory (like flutter or lua), which would help
prevent spinning up a new language server altogether.

In case no workspaceFolders are passed, we fallback to what we had
before.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some language servers *cough*rust-analyzer*cough* need an empty/custom
workspaceFolders for certain usecases. For example, rust-analyzer
needs an empty workspaceFolders table for standalone file support
(See https://github.com/rust-analyzer/rust-analyzer/pull/8955).

This can also be useful for other languages that need to commonly
open a certain directory (like flutter or lua), which would help
prevent spinning up a new language server altogether.

In case no workspaceFolders are passed, we fallback to what we had
before.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): check if buffer is valid in changetracking (#15505)</title>
<updated>2021-09-26T18:28:28+00:00</updated>
<author>
<name>Jose Alvarez</name>
<email>j.alvarez11@icloud.com</email>
</author>
<published>2021-08-28T09:57:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=959cf5e53c79e79794e09c5f6260094ff66f0ffa'/>
<id>959cf5e53c79e79794e09c5f6260094ff66f0ffa</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): avoid ipairs on non-sequential tables (#15059)</title>
<updated>2021-09-26T18:28:28+00:00</updated>
<author>
<name>Michael Lingelbach</name>
<email>m.j.lbach@gmail.com</email>
</author>
<published>2021-07-11T18:34:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=dc15b3a92c9b6af1a985fa5b62f04177795e58df'/>
<id>dc15b3a92c9b6af1a985fa5b62f04177795e58df</id>
<content type='text'>
ipairs terminates on the first nil index when iterating over table keys:

for i,k in ipairs( {[1] = 'test', [3] = 'test'} ) do
  print(i, k)
end

prints:
1 test

Instead, use pairs which continues iterating over the entire table:

for i,k in pairs( {[1] = 'test', [3] = 'test'} ) do
  print(i, k)
end

prints:
1 test
3 test</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ipairs terminates on the first nil index when iterating over table keys:

for i,k in ipairs( {[1] = 'test', [3] = 'test'} ) do
  print(i, k)
end

prints:
1 test

Instead, use pairs which continues iterating over the entire table:

for i,k in pairs( {[1] = 'test', [3] = 'test'} ) do
  print(i, k)
end

prints:
1 test
3 test</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): improve vim.lsp.util.apply_text_edits (#15561)</title>
<updated>2021-09-26T18:28:28+00:00</updated>
<author>
<name>hrsh7th</name>
<email>hrsh7th@gmail.com</email>
</author>
<published>2021-09-18T20:19:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=18375c6df609d4e89640c609490a85110852795c'/>
<id>18375c6df609d4e89640c609490a85110852795c</id>
<content type='text'>
- Fix the cursor position after applying TextEdits
- Support reversed range of TextEdit
- Invoke nvim_buf_set_text one by one
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fix the cursor position after applying TextEdits
- Support reversed range of TextEdit
- Invoke nvim_buf_set_text one by one
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): improve logging (#15636)</title>
<updated>2021-09-26T18:28:28+00:00</updated>
<author>
<name>Michael Lingelbach</name>
<email>m.j.lbach@gmail.com</email>
</author>
<published>2021-09-15T18:35:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=7b1315fe61131f787d9351ecd444346b95f5e49c'/>
<id>7b1315fe61131f787d9351ecd444346b95f5e49c</id>
<content type='text'>
* Simplify rpc encode/decode messages to rpc.send/rcp.receive
* Make missing handlers message throw a warning
* Clean up formatting style in log
* Move all non-RPC loop messages to trace instead of debug
* Add format func option to log to allow newlines in per log entry
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Simplify rpc encode/decode messages to rpc.send/rcp.receive
* Make missing handlers message throw a warning
* Clean up formatting style in log
* Move all non-RPC loop messages to trace instead of debug
* Add format func option to log to allow newlines in per log entry
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lsp): update lsp-handler signature in call_hierarchy (#15738)</title>
<updated>2021-09-26T17:25:17+00:00</updated>
<author>
<name>Mathias Fußenegger</name>
<email>mfussenegger@users.noreply.github.com</email>
</author>
<published>2021-09-21T22:05:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=27bac13be66946e2cb2912a44185d18b0f856a32'/>
<id>27bac13be66946e2cb2912a44185d18b0f856a32</id>
<content type='text'>
This fixes the handler signature and also prevents n+1 requests firing
if there are multiple clients.

(The first `prepareCallHierarchy` handler is called once per client,
each invocation used `buf_request` to make more requests using *all*
clients)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes the handler signature and also prevents n+1 requests firing
if there are multiple clients.

(The first `prepareCallHierarchy` handler is called once per client,
each invocation used `buf_request` to make more requests using *all*
clients)</pre>
</div>
</content>
</entry>
</feed>
