<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/lua/vim/_defaults.lua, branch master</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>build: ship "_core/*" as bytecode (built-into Nvim binary)</title>
<updated>2025-12-30T06:44:24+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-08-29T03:43:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=20e77c5d886af54d1f7b6844cffc11129f579ad9'/>
<id>20e77c5d886af54d1f7b6844cffc11129f579ad9</id>
<content type='text'>
Problem:
We want to encourage implementing core features in Lua instead of C, but
it's clumsy because:
- Core Lua code (built into `nvim` so it is available even if VIMRUNTIME
  is missing/invalid) requires manually updating CMakeLists.txt, or
  stuffing it into `_editor.lua`.
- Core Lua modules are not organized similar to C modules, `_editor.lua`
  is getting too big.

Solution:
- Introduce `_core/` where core Lua code can live. All Lua modules added
  there will automatically be included as bytecode in the `nvim` binary.
- Move these core modules into `_core/*`:
  ```
  _defaults.lua
  _editor.lua
  _options.lua
  _system.lua
  shared.lua
  ```

TODO:
- Move `_extui/ =&gt; _core/ui2/`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
We want to encourage implementing core features in Lua instead of C, but
it's clumsy because:
- Core Lua code (built into `nvim` so it is available even if VIMRUNTIME
  is missing/invalid) requires manually updating CMakeLists.txt, or
  stuffing it into `_editor.lua`.
- Core Lua modules are not organized similar to C modules, `_editor.lua`
  is getting too big.

Solution:
- Introduce `_core/` where core Lua code can live. All Lua modules added
  there will automatically be included as bytecode in the `nvim` binary.
- Move these core modules into `_core/*`:
  ```
  _defaults.lua
  _editor.lua
  _options.lua
  _system.lua
  shared.lua
  ```

TODO:
- Move `_extui/ =&gt; _core/ui2/`
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(terminal): include sequence terminator in TermRequest event (#37152)</title>
<updated>2025-12-29T22:30:23+00:00</updated>
<author>
<name>Kyle</name>
<email>50718101+kylesower@users.noreply.github.com</email>
</author>
<published>2025-12-29T22:30:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=03377b95523324a2a1657435f12c13a493ee5360'/>
<id>03377b95523324a2a1657435f12c13a493ee5360</id>
<content type='text'>
Problem:
Terminals should respond with the terminator (either BEL or ST) used in
the query so that clients can reliably parse the responses. The
`TermRequest` autocmd used to handle background color requests in the
terminal does not have access to the original sequence terminator, so it
always uses BEL. #37018

Solution:
Update vterm parsing to include the terminator type, then forward this
data into the emitted `TermRequest` events for OSC/DCS/APC sequences.
Update the foreground/background `TermRequest` callback to use the same
terminator as the original request.

Details:
I didn't add the terminator to the `TermResponse` event. However, I
assume the `TermResponse` event doesn't care about the terminator
because the sequence is already parsed. I also didn't update any of the
functions in `src/nvim/vterm/state.c` that write out responses. It
looked like those all pretty much used ST, and it would be a much larger
set of changes. In that same file, there's also logic for 8 bit ST
sequences, but from what I can tell, 8 bit doesn't really work (see `:h
xterm-8bit`), so I didn't use the 8 bit ST at all.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Terminals should respond with the terminator (either BEL or ST) used in
the query so that clients can reliably parse the responses. The
`TermRequest` autocmd used to handle background color requests in the
terminal does not have access to the original sequence terminator, so it
always uses BEL. #37018

Solution:
Update vterm parsing to include the terminator type, then forward this
data into the emitted `TermRequest` events for OSC/DCS/APC sequences.
Update the foreground/background `TermRequest` callback to use the same
terminator as the original request.

Details:
I didn't add the terminator to the `TermResponse` event. However, I
assume the `TermResponse` event doesn't care about the terminator
because the sequence is already parsed. I also didn't update any of the
functions in `src/nvim/vterm/state.c` that write out responses. It
looked like those all pretty much used ST, and it would be a much larger
set of changes. In that same file, there's also logic for 8 bit ST
sequences, but from what I can tell, 8 bit doesn't really work (see `:h
xterm-8bit`), so I didn't use the 8 bit ST at all.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(exrc): ensure consistent 'exrc' loading sequence #35148</title>
<updated>2025-12-09T03:22:10+00:00</updated>
<author>
<name>€šm̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰̰�Ř§Ů Â£╟©舐æØ¢£ðsÞ¥¿—</name>
<email>memchr@proton.me</email>
</author>
<published>2025-12-09T03:22:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ed9abb1851e31b98b79b1b06eef5ceeccdbb7372'/>
<id>ed9abb1851e31b98b79b1b06eef5ceeccdbb7372</id>
<content type='text'>
Problem:
The execution of startup scripts in parent directories are too late
compared to scripts in current direcctory.

Solution:
Execute all startup scripts with `lua/_core/exrc.lua`.

closes: #35147</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
The execution of startup scripts in parent directories are too late
compared to scripts in current direcctory.

Solution:
Execute all startup scripts with `lua/_core/exrc.lua`.

closes: #35147</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(defaults): deduplicate selection_range() mappings #36686</title>
<updated>2025-11-25T18:00:28+00:00</updated>
<author>
<name>Riley Bruins</name>
<email>ribru17@hotmail.com</email>
</author>
<published>2025-11-25T18:00:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=8d8f17c924fdc59ed66424ec113b7b8c0e3b239e'/>
<id>8d8f17c924fdc59ed66424ec113b7b8c0e3b239e</id>
<content type='text'>
We don't need to specify the timeout ms here anymore, because the
implementation was changed to use it by default.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't need to specify the timeout ms here anymore, because the
implementation was changed to use it by default.</pre>
</div>
</content>
</entry>
<entry>
<title>feat(lsp): incremental-selection operator-pending mode #36575</title>
<updated>2025-11-25T01:10:50+00:00</updated>
<author>
<name>Branden Call</name>
<email>54908229+brandencall@users.noreply.github.com</email>
</author>
<published>2025-11-25T01:10:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=e82aef2e22a57688dcc19a978cbe083349ad8a2a'/>
<id>e82aef2e22a57688dcc19a978cbe083349ad8a2a</id>
<content type='text'>
Problem:
LSP incremental selection provides default visual-mode keymaps for `an`
and `in`. Operator-pending mode is not supported, so `dan` and `can` do
not apply the operation.

Solution:
Modify selection_range() to be synchronous.
Add operator-pending mappings.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
LSP incremental selection provides default visual-mode keymaps for `an`
and `in`. Operator-pending mode is not supported, so `dan` and `can` do
not apply the operation.

Solution:
Modify selection_range() to be synchronous.
Add operator-pending mappings.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(terminal): adjust marks when deleting scrollback lines (#36294)</title>
<updated>2025-10-24T22:48:04+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-10-24T22:48:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=520568f40f22d77e623ddda77cf751031774384b'/>
<id>520568f40f22d77e623ddda77cf751031774384b</id>
<content type='text'>
This also fixes inconsistent scrolling behavior on terminal output when
cursor is in the middle of the buffer and the scrollback is full.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This also fixes inconsistent scrolling behavior on terminal output when
cursor is in the middle of the buffer and the scrollback is full.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(terminal): wrong row in TermRequest with full scrollback (#36298)</title>
<updated>2025-10-23T22:01:13+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-10-23T22:01:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=67832710a5d32a19aaf1b2934c428f02816ea22e'/>
<id>67832710a5d32a19aaf1b2934c428f02816ea22e</id>
<content type='text'>
Problem:  Wrong row in TermRequest with full scrollback.
Solution: Subtract by the number of lines deleted from scrollback.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  Wrong row in TermRequest with full scrollback.
Solution: Subtract by the number of lines deleted from scrollback.</pre>
</div>
</content>
</entry>
<entry>
<title>feat(tui): native progress bars for Progress events #35973</title>
<updated>2025-10-02T21:51:26+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-10-02T21:51:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=8eb09645378845f163814e2b93924fd08aab65c7'/>
<id>8eb09645378845f163814e2b93924fd08aab65c7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: small fixes (#35791)</title>
<updated>2025-09-16T03:41:36+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-09-16T03:41:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ff777f9a858a5f360e220596c63bc69e19a1d5c1'/>
<id>ff777f9a858a5f360e220596c63bc69e19a1d5c1</id>
<content type='text'>
Close #34938
Close #35030
Close #35233
Close #35259
Close #35290
Close #35433
Close #35541
Close #35766
Close #35792

Co-authored-by: huylg &lt;45591413+huylg@users.noreply.github.com&gt;
Co-authored-by: Jason Del Ponte &lt;961963+jasdel@users.noreply.github.com&gt;
Co-authored-by: sooriya &lt;74165167+thuvasooriya@users.noreply.github.com&gt;
Co-authored-by: Andrew Braxton &lt;andrewcbraxton@gmail.com&gt;
Co-authored-by: Enric Calabuig &lt;enric.calabuig@gmail.com&gt;
Co-authored-by: Augusto César Dias &lt;augusto.c.dias@gmail.com&gt;
Co-authored-by: David Sierra DiazGranados &lt;davidsierradz@gmail.com&gt;
Co-authored-by: Stepan Nikitin &lt;90522882+vectravox@users.noreply.github.com&gt;
Co-authored-by: Emilien Breton &lt;bricktech2000@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Close #34938
Close #35030
Close #35233
Close #35259
Close #35290
Close #35433
Close #35541
Close #35766
Close #35792

Co-authored-by: huylg &lt;45591413+huylg@users.noreply.github.com&gt;
Co-authored-by: Jason Del Ponte &lt;961963+jasdel@users.noreply.github.com&gt;
Co-authored-by: sooriya &lt;74165167+thuvasooriya@users.noreply.github.com&gt;
Co-authored-by: Andrew Braxton &lt;andrewcbraxton@gmail.com&gt;
Co-authored-by: Enric Calabuig &lt;enric.calabuig@gmail.com&gt;
Co-authored-by: Augusto César Dias &lt;augusto.c.dias@gmail.com&gt;
Co-authored-by: David Sierra DiazGranados &lt;davidsierradz@gmail.com&gt;
Co-authored-by: Stepan Nikitin &lt;90522882+vectravox@users.noreply.github.com&gt;
Co-authored-by: Emilien Breton &lt;bricktech2000@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>feat(tui): add nvim_ui_send (#35406)</title>
<updated>2025-08-22T20:05:43+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-08-22T20:05:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=586b1b2d9bcfdbc2a58a7a9c90e8f90e638173e7'/>
<id>586b1b2d9bcfdbc2a58a7a9c90e8f90e638173e7</id>
<content type='text'>
This function allows the Nvim core to write arbitrary data to a TTY
connected to a UI's stdout.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function allows the Nvim core to write arbitrary data to a TTY
connected to a UI's stdout.</pre>
</div>
</content>
</entry>
</feed>
