<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/lua/vim.lua, branch nightly</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>feat(lua): allow passing handles to vim.b/w/t</title>
<updated>2021-10-19T18:47:33+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2021-09-23T14:00:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6c5e7bde9a1b207345787a60f6c37a325be26c64'/>
<id>6c5e7bde9a1b207345787a60f6c37a325be26c64</id>
<content type='text'>
vim.bo can target a specific buffer by indexing with a number, e.g:
`vim.bo[2].filetype` can get/set the filetype for buffer 2. This change
replicates that behaviour for the variable namespace.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
vim.bo can target a specific buffer by indexing with a number, e.g:
`vim.bo[2].filetype` can get/set the filetype for buffer 2. This change
replicates that behaviour for the variable namespace.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(runtime): don't use regexes inside lua require'mod'</title>
<updated>2021-10-17T14:21:42+00:00</updated>
<author>
<name>Björn Linse</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2021-09-28T11:51:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ea2023f689ad8f368faad6e52c85fbc9762a7296'/>
<id>ea2023f689ad8f368faad6e52c85fbc9762a7296</id>
<content type='text'>
Fixes #15147 and fixes #15497. Also sketch "subdir" caching. Currently
this only caches whether an rtp entry has a "lua/" subdir but we could
consider cache other subdirs potentially or even "lua/mybigplugin/"
possibly.

Note: the async_leftpad test doesn't actually fail on master, at least
not deterministically (even when disabling the fast_breakcheck
throttling). It's still useful as a regression test for further changes
and included as such.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #15147 and fixes #15497. Also sketch "subdir" caching. Currently
this only caches whether an rtp entry has a "lua/" subdir but we could
consider cache other subdirs potentially or even "lua/mybigplugin/"
possibly.

Note: the async_leftpad test doesn't actually fail on master, at least
not deterministically (even when disabling the fast_breakcheck
throttling). It's still useful as a regression test for further changes
and included as such.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(docs): duplicate tag, wrong formatting</title>
<updated>2021-10-05T16:45:25+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2021-09-11T02:23:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=38ef66f4c151893f583a24918546b1e171b4458a'/>
<id>38ef66f4c151893f583a24918546b1e171b4458a</id>
<content type='text'>
Fixes build error:
    cd /usr/home/build/neovim/build/runtime &amp;&amp; /usr/local/bin/cmake -E remove doc/* &amp;&amp; /usr/local/bin/cmake -E copy_directory /usr/home/build/neovim/runtime/doc doc &amp;&amp; /usr/home/build/neovim/build/bin/nvim -u NONE -i NONE -e --headless -c helptags\ ++t\ doc -c quit
    Error detected while processing command line:
    E154: Duplicate tag "vim.register_keystroke_callback()" in file doc/lua.txt
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes build error:
    cd /usr/home/build/neovim/build/runtime &amp;&amp; /usr/local/bin/cmake -E remove doc/* &amp;&amp; /usr/local/bin/cmake -E copy_directory /usr/home/build/neovim/runtime/doc doc &amp;&amp; /usr/home/build/neovim/build/bin/nvim -u NONE -i NONE -e --headless -c helptags\ ++t\ doc -c quit
    Error detected while processing command line:
    E154: Duplicate tag "vim.register_keystroke_callback()" in file doc/lua.txt
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(ui): add vim.ui.select and use in code actions (#15771)</title>
<updated>2021-09-27T19:57:28+00:00</updated>
<author>
<name>Mathias Fußenegger</name>
<email>mfussenegger@users.noreply.github.com</email>
</author>
<published>2021-09-27T19:57:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=63fde086d9e7936b21c51e145253ec69820b2112'/>
<id>63fde086d9e7936b21c51e145253ec69820b2112</id>
<content type='text'>
Continuation of https://github.com/neovim/neovim/pull/15202

A plugin like telescope could override it with a fancy implementation
and then users would get the telescope-ui within each plugin that
utilizes the vim.ui.select function.

There are some plugins which override the `textDocument/codeAction`
handler solely to provide a different UI. With custom client commands and
soon codeAction resolve support, it becomes more difficult to implement
the handler right - so having a dedicated way to override the picking
function will be useful.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Continuation of https://github.com/neovim/neovim/pull/15202

A plugin like telescope could override it with a fancy implementation
and then users would get the telescope-ui within each plugin that
utilizes the vim.ui.select function.

There are some plugins which override the `textDocument/codeAction`
handler solely to provide a different UI. With custom client commands and
soon codeAction resolve support, it becomes more difficult to implement
the handler right - so having a dedicated way to override the picking
function will be useful.</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: move vim.lsp.diagnostic to vim.diagnostic</title>
<updated>2021-09-15T20:09:47+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2021-09-07T02:21:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=a5bbb932f9094098bd656d3f6be3c58344576709'/>
<id>a5bbb932f9094098bd656d3f6be3c58344576709</id>
<content type='text'>
This generalizes diagnostic handling outside of just the scope of LSP.
LSP clients are now a specific case of a diagnostic producer, but the
diagnostic subsystem is decoupled from the LSP subsystem (or will be,
eventually).

More discussion at [1].

[1]: https://github.com/neovim/neovim/pull/15585
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This generalizes diagnostic handling outside of just the scope of LSP.
LSP clients are now a specific case of a diagnostic producer, but the
diagnostic subsystem is decoupled from the LSP subsystem (or will be,
eventually).

More discussion at [1].

[1]: https://github.com/neovim/neovim/pull/15585
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lua)!: register_keystroke_callback =&gt; on_key</title>
<updated>2021-09-09T13:09:33+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2021-08-23T01:26:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=69fe427df408bc404b17d13759b2e925819c8cf7'/>
<id>69fe427df408bc404b17d13759b2e925819c8cf7</id>
<content type='text'>
Analogous to nodejs's `on('data', …)` interface, here on_key is the "add
listener" interface.

ref 3ccdbc570d85 #12536

BREAKING_CHANGE: vim.register_keystroke_callback() is now an error.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Analogous to nodejs's `on('data', …)` interface, here on_key is the "add
listener" interface.

ref 3ccdbc570d85 #12536

BREAKING_CHANGE: vim.register_keystroke_callback() is now an error.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): make core vim module not dependent on $VIMRUNTIME functions</title>
<updated>2021-08-30T15:31:44+00:00</updated>
<author>
<name>Björn Linse</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2021-08-30T15:31:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6f2d0ea31149a25a5d834dce0ea1fe25d5f95a7c'/>
<id>6f2d0ea31149a25a5d834dce0ea1fe25d5f95a7c</id>
<content type='text'>
fixes #15524

Note: this is obviously a quickfix. A scalabe solution will
involve being able to specify a _list_ of modules to be
put into packages.preload, without needing to manually copypasta
a blurb of C code. Perhaps even involving bytecode for
static builds (to speedup initialization)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fixes #15524

Note: this is obviously a quickfix. A scalabe solution will
involve being able to specify a _list_ of modules to be
put into packages.preload, without needing to manually copypasta
a blurb of C code. Perhaps even involving bytecode for
static builds (to speedup initialization)
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): preserve argument lists which are not lists</title>
<updated>2021-08-29T14:04:50+00:00</updated>
<author>
<name>Björn Linse</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2021-08-07T19:17:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6896d22b63ad12de4c4990d0eece4a9b6f9cd88f'/>
<id>6896d22b63ad12de4c4990d0eece4a9b6f9cd88f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: make Lua docstrings consistent #15255</title>
<updated>2021-08-22T20:55:28+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2021-08-22T20:55:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c2a211b8e3e00dfae594ccbd9a107aef85a9919c'/>
<id>c2a211b8e3e00dfae594ccbd9a107aef85a9919c</id>
<content type='text'>
The official developer documentation in in :h dev-lua-doc specifies to
use "--@" for special/magic tokens. However, this format is not
consistent with EmmyLua notation (used by some Lua language servers) nor
with the C version of the magic docstring tokens which use three comment
characters.

Further, the code base is currently split between usage of "--@",
"---@", and "--- @". In an effort to remain consistent, change all Lua
magic tokens to use "---@" and update the developer documentation
accordingly.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The official developer documentation in in :h dev-lua-doc specifies to
use "--@" for special/magic tokens. However, this format is not
consistent with EmmyLua notation (used by some Lua language servers) nor
with the C version of the magic docstring tokens which use three comment
characters.

Further, the code base is currently split between usage of "--@",
"---@", and "--- @". In an effort to remain consistent, change all Lua
magic tokens to use "---@" and update the developer documentation
accordingly.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): ensure vim.region truncates to buf range</title>
<updated>2021-06-11T08:10:01+00:00</updated>
<author>
<name>Michael Lingelbach</name>
<email>m.j.lbach@gmail.com</email>
</author>
<published>2021-06-11T08:09:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=cd3233c289d4204ebb0148fe49d02ef5f69c5e37'/>
<id>cd3233c289d4204ebb0148fe49d02ef5f69c5e37</id>
<content type='text'>
If vim.region receives a large range outside of the current buffer
bounds, it will not check the range ahead of time and loop until neovim
exhausts the system memory.

Fixes #14743
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If vim.region receives a large range outside of the current buffer
bounds, it will not check the range ahead of time and loop until neovim
exhausts the system memory.

Fixes #14743
</pre>
</div>
</content>
</entry>
</feed>
