<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/lua/vim/snippet.lua, branch extregs</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>fix(snippet): preserve the full TM_DIRECTORY path (#42408)</title>
<updated>2026-10-16T22:18:03+00:00</updated>
<author>
<name>Volodymyr Chernetskyi</name>
<email>volodymyr_chernetskyi@goodyear.com</email>
</author>
<published>2026-10-16T22:18:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=23c4872afa1291632c2b29fa67b5614b0fbe3791'/>
<id>23c4872afa1291632c2b29fa67b5614b0fbe3791</id>
<content type='text'>
Problem:
TM_DIRECTORY expands to the directory's basename, losing its parent path.

Solution:
Remove the tail modifier when expanding the current file's directory.
Extend the existing known-variable test to check the full directory path.

AI-assisted</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
TM_DIRECTORY expands to the directory's basename, losing its parent path.

Solution:
Remove the tail modifier when expanding the current file's directory.
Extend the existing known-variable test to check the full directory path.

AI-assisted</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): enable assignment type checking in runtime code</title>
<updated>2026-09-25T16:07:21+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2026-09-25T16:07:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ffa782066c2e02a068171963aded4bb300c25663'/>
<id>ffa782066c2e02a068171963aded4bb300c25663</id>
<content type='text'>
Enable EmmyLua's assign-type-mismatch diagnostic after correcting the
runtime annotations and assignments it flags.

Correct option, tuple, and return types, and use separate locals when a
value changes representation. Add guards and narrow casts where needed
so the runtime passes the stricter check. Regenerate the affected docs.

AI-assisted
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable EmmyLua's assign-type-mismatch diagnostic after correcting the
runtime annotations and assignments it flags.

Correct option, tuple, and return types, and use separate locals when a
value changes representation. Add guards and narrow casts where needed
so the runtime passes the stricter check. Regenerate the affected docs.

AI-assisted
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(lua): enable nil-safety diagnostics in runtime code</title>
<updated>2026-09-25T09:28:19+00:00</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2026-09-24T12:30:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=d7af8707026968887ea4ee3a4e6fa51fd4372033'/>
<id>d7af8707026968887ea4ee3a4e6fa51fd4372033</id>
<content type='text'>
Enable EmmyLua's need-check-nil diagnostic and resolve nullable values
through more precise types, explicit invariants, and guards for missing
runtime state. Keep analyzer-specific workarounds local and update the
affected API documentation.

Exclude the bundled re.lua from analysis so its nil-check warnings do
not fail CI.

AI-assisted
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable EmmyLua's need-check-nil diagnostic and resolve nullable values
through more precise types, explicit invariants, and guards for missing
runtime state. Keep analyzer-specific workarounds local and update the
affected API documentation.

Exclude the bundled re.lua from analysis so its nil-check warnings do
not fail CI.

AI-assisted
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(snippet): cancel session on ESC in insert-mode #41555</title>
<updated>2026-08-30T12:32:55+00:00</updated>
<author>
<name>Nathan Zeng</name>
<email>nathan.j.zeng@gmail.com</email>
</author>
<published>2026-08-30T12:32:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=39862231b2889db55568ad805f1885fd8cfc5248'/>
<id>39862231b2889db55568ad805f1885fd8cfc5248</id>
<content type='text'>
Problem:
If a snippet does not have a placeholder, we use insert mode instead of
select mode. From here &lt;Esc&gt; leaves the session and highlight active.

Solution:
Cancel the session on &lt;Esc&gt;.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
If a snippet does not have a placeholder, we use insert mode instead of
select mode. From here &lt;Esc&gt; leaves the session and highlight active.

Solution:
Cancel the session on &lt;Esc&gt;.</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(api): omit optional param</title>
<updated>2026-07-13T17:44:15+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-07-13T17:25:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=9982f6e0e4f712aea28d3351f180786d29cf808d'/>
<id>9982f6e0e4f712aea28d3351f180786d29cf808d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: introduce nvim_on internally #39883</title>
<updated>2026-05-20T21:33:01+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-05-20T21:33:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=9aa4608401384a59ea54e0ba800ce063775e8ae9'/>
<id>9aa4608401384a59ea54e0ba800ce063775e8ae9</id>
<content type='text'>
Problem:
`nvim_create_autocmd` is too verbose and its `callback` requires extra
"nesting".

Solution:
Introduce `nvim_on`. Start using it internally. Then we can get a feel
for how it should look before making it public.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
`nvim_create_autocmd` is too verbose and its `callback` requires extra
"nesting".

Solution:
Introduce `nvim_on`. Start using it internally. Then we can get a feel
for how it should look before making it public.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(snippet): cancel session on &lt;Esc&gt; in Select mode #39238</title>
<updated>2026-05-10T13:19:12+00:00</updated>
<author>
<name>glepnir</name>
<email>glephunter@gmail.com</email>
</author>
<published>2026-05-10T13:19:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=2dc0efccb0c2a023ceb1ce1c374b7c7ec83b5818'/>
<id>2dc0efccb0c2a023ceb1ce1c374b7c7ec83b5818</id>
<content type='text'>
Problem: &lt;Esc&gt; in a Select-mode tabstop leaves the session and highlight active.
CursorMoved isn’t triggered since the cursor doesn’t move.

Solution: use ModeChanged (s:n) instead. Defer with vim.schedule() to avoid transient
s:n from jump().</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: &lt;Esc&gt; in a Select-mode tabstop leaves the session and highlight active.
CursorMoved isn’t triggered since the cursor doesn’t move.

Solution: use ModeChanged (s:n) instead. Defer with vim.schedule() to avoid transient
s:n from jump().</pre>
</div>
</content>
</entry>
<entry>
<title>build(lint): allow "bufnr" as positional param #39515</title>
<updated>2026-04-30T11:12:35+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-04-30T11:12:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6195624a3f96abc22a508866d6bdd5ffbee16150'/>
<id>6195624a3f96abc22a508866d6bdd5ffbee16150</id>
<content type='text'>
Allow `bufnr` as a positional param name because it is very common.
However as a field name, or part of a function name, it is usually
a mistake.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow `bufnr` as a positional param name because it is very common.
However as a field name, or part of a function name, it is usually
a mistake.</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: update usages of deprecated "buffer" param #39089</title>
<updated>2026-04-15T18:45:26+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-04-15T18:45:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=646ce85aa5e0e429625b205cbf3ce9fe0a99da51'/>
<id>646ce85aa5e0e429625b205cbf3ce9fe0a99da51</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(snippet): support multiple sessions #29340</title>
<updated>2026-04-10T14:08:10+00:00</updated>
<author>
<name>Maria Solano</name>
<email>majosolano99@gmail.com</email>
</author>
<published>2026-04-10T14:08:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c1c2648284d35e38588d18e596ace5d8b69e7f5b'/>
<id>c1c2648284d35e38588d18e596ace5d8b69e7f5b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
