<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/lua/vim/_defaults.lua, branch userregs_2</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(defaults): enable :terminal [[,]] motion in operator-pending mode #33217</title>
<updated>2025-03-31T13:22:21+00:00</updated>
<author>
<name>Ghjuvan Lacambre</name>
<email>lacambre@adacore.com</email>
</author>
<published>2025-03-31T13:22:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=57b4fb5c5318394b82508492232d6e926ef8f23f'/>
<id>57b4fb5c5318394b82508492232d6e926ef8f23f</id>
<content type='text'>
This enables y]] to copy a command and its output.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This enables y]] to copy a command and its output.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(defaults): visual-mode [[,]] for :terminal shell prompts #33201</title>
<updated>2025-03-30T19:33:37+00:00</updated>
<author>
<name>msaher</name>
<email>77233589+msaher@users.noreply.github.com</email>
</author>
<published>2025-03-30T19:33:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=cb247e06f0ba19ca55252de0aebe249ed4c3635f'/>
<id>cb247e06f0ba19ca55252de0aebe249ed4c3635f</id>
<content type='text'>
Problem:
:terminal shell prompt jump mappings ]]/[[ don't work in visual mode.

Solution:
Also define them for in visual mode.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
:terminal shell prompt jump mappings ]]/[[ don't work in visual mode.

Solution:
Also define them for in visual mode.</pre>
</div>
</content>
</entry>
<entry>
<title>feat(snippet): set snippet keymaps permanent instead of dynamic (#31887)</title>
<updated>2025-03-14T08:51:52+00:00</updated>
<author>
<name>Mathias Fußenegger</name>
<email>mfussenegger@users.noreply.github.com</email>
</author>
<published>2025-03-14T08:51:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=123f8d229eef05869ee4c98dfd4934c22a03b1f6'/>
<id>123f8d229eef05869ee4c98dfd4934c22a03b1f6</id>
<content type='text'>
Problem:

Given that `vim.snippet.expand()` sets temporary `&lt;tab&gt;`/`&lt;s-tab&gt;`
keymaps there is no way to build "smart-tab" functionality where `&lt;tab&gt;`
chooses the next completion candidate if the popup menu is visible.

Solution:

Set the keymap permanent in `_defaults`.

The downside of this approach is that users of multiple snippet engine's
need to adapt their keymaps to handle all their engines that are in use.
For example:

    vim.keymap.set({ 'i', 's' }, "&lt;Tab&gt;", function()
      if foreign_snippet.active() then
        return "&lt;Cmd&gt;lua require('foreign_snippet').jump()&lt;CR&gt;"
      elseif vim.snippet.active({ direction = 1 }) then
        return "&lt;Cmd&gt;lua vim.snippet.jump(1)&lt;CR&gt;"
      else
        return key
      end
    end, { expr = true })

Upside is that using `vim.keymap.set` to override keymaps is a well
established pattern and `vim.snippet.expand` calls made by nvim itself
or plugins have working keymaps out of the box.


Co-authored-by: Maria José Solano &lt;majosolano99@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:

Given that `vim.snippet.expand()` sets temporary `&lt;tab&gt;`/`&lt;s-tab&gt;`
keymaps there is no way to build "smart-tab" functionality where `&lt;tab&gt;`
chooses the next completion candidate if the popup menu is visible.

Solution:

Set the keymap permanent in `_defaults`.

The downside of this approach is that users of multiple snippet engine's
need to adapt their keymaps to handle all their engines that are in use.
For example:

    vim.keymap.set({ 'i', 's' }, "&lt;Tab&gt;", function()
      if foreign_snippet.active() then
        return "&lt;Cmd&gt;lua require('foreign_snippet').jump()&lt;CR&gt;"
      elseif vim.snippet.active({ direction = 1 }) then
        return "&lt;Cmd&gt;lua vim.snippet.jump(1)&lt;CR&gt;"
      else
        return key
      end
    end, { expr = true })

Upside is that using `vim.keymap.set` to override keymaps is a well
established pattern and `vim.snippet.expand` calls made by nvim itself
or plugins have working keymaps out of the box.


Co-authored-by: Maria José Solano &lt;majosolano99@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(treesitter): allow passing lang to InspectTree</title>
<updated>2025-03-12T07:58:41+00:00</updated>
<author>
<name>Maria José Solano</name>
<email>majosolano99@gmail.com</email>
</author>
<published>2025-03-12T04:54:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=a94a2927d00a80e5e00a4f358db581c7d2a7e525'/>
<id>a94a2927d00a80e5e00a4f358db581c7d2a7e525</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(defaults): jump between :terminal shell prompts with ]]/[[ #32736</title>
<updated>2025-03-07T13:45:34+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-03-07T13:45:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=b31132f1c1fa47a9db368d5d28ee6dda8dc96ecc'/>
<id>b31132f1c1fa47a9db368d5d28ee6dda8dc96ecc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(tui): remove DCS escaping in tmux (#32723)</title>
<updated>2025-03-06T03:28:05+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-03-06T03:28:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=0c0352783fca7e9c56cd5ca8253834fee77c9d59'/>
<id>0c0352783fca7e9c56cd5ca8253834fee77c9d59</id>
<content type='text'>
Per https://github.com/tmux/tmux/issues/4386, tmux does not support DCS
responses, even if the initial request was escaped.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Per https://github.com/tmux/tmux/issues/4386, tmux does not support DCS
responses, even if the initial request was escaped.</pre>
</div>
</content>
</entry>
<entry>
<title>feat(terminal)!: include cursor position in TermRequest event data (#31609)</title>
<updated>2025-03-05T15:45:22+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-03-05T15:45:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=35e5307af25785ac90bd00f913fc0df5cf962db3'/>
<id>35e5307af25785ac90bd00f913fc0df5cf962db3</id>
<content type='text'>
When a plugin registers a TermRequest handler there is currently no way
for the handler to know where the terminal's cursor position was when
the sequence was received. This is often useful information, e.g. for
OSC 133 sequences which are used to annotate shell prompts.

Modify the event data for the TermRequest autocommand to be a table
instead of just a string. The "sequence" field of the table contains the
sequence string and the "cursor" field contains the cursor
position when the sequence was received.

To maintain consistency between TermRequest and TermResponse (and to
future proof the latter), TermResponse's event data is also updated to
be a table with a "sequence" field.

BREAKING CHANGE: event data for TermRequest and TermResponse is now a
table</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a plugin registers a TermRequest handler there is currently no way
for the handler to know where the terminal's cursor position was when
the sequence was received. This is often useful information, e.g. for
OSC 133 sequences which are used to annotate shell prompts.

Modify the event data for the TermRequest autocommand to be a table
instead of just a string. The "sequence" field of the table contains the
sequence string and the "cursor" field contains the cursor
position when the sequence was received.

To maintain consistency between TermRequest and TermResponse (and to
future proof the latter), TermResponse's event data is also updated to
be a table with a "sequence" field.

BREAKING CHANGE: event data for TermRequest and TermResponse is now a
table</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:c729d6d: runtime: decouple Open and Launch commands and gx mapping from netrw (#32506)</title>
<updated>2025-02-20T12:10:13+00:00</updated>
<author>
<name>Luca Saccarola</name>
<email>96259932+saccarosium@users.noreply.github.com</email>
</author>
<published>2025-02-20T12:10:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=4913b7895cdd3fffdf1521ffb0c13cdeb7c1d27e'/>
<id>4913b7895cdd3fffdf1521ffb0c13cdeb7c1d27e</id>
<content type='text'>
closes: vim/vim#16494
fixes: #vim/vim#16486

https://github.com/vim/vim/commit/c729d6d154e097b439ff264b9736604824f4a5f4</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
closes: vim/vim#16494
fixes: #vim/vim#16486

https://github.com/vim/vim/commit/c729d6d154e097b439ff264b9736604824f4a5f4</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(defaults): cleanup enable_ctx_menu #32391</title>
<updated>2025-02-10T13:18:01+00:00</updated>
<author>
<name>Siddhant Agarwal</name>
<email>68201519+siddhantdev@users.noreply.github.com</email>
</author>
<published>2025-02-10T13:18:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=06d8dd89fd9e978f9d0e63d0e950bcd57d8328b2'/>
<id>06d8dd89fd9e978f9d0e63d0e950bcd57d8328b2</id>
<content type='text'>
The ctx parameter is not needed since various refactors.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ctx parameter is not needed since various refactors.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(defaults): improve visual search mappings #32378</title>
<updated>2025-02-09T21:23:30+00:00</updated>
<author>
<name>neeshy</name>
<email>60193883+neeshy@users.noreply.github.com</email>
</author>
<published>2025-02-09T21:23:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=59a171fd99a7452c8840eee55783fb6746994637'/>
<id>59a171fd99a7452c8840eee55783fb6746994637</id>
<content type='text'>
Problem: The behavior of the visual search mappings aren't consistent
with their normal mode counterparts.
  - The count isn't considered
  - Searching with an empty selection will match every character in the
    buffer
  - Searching backwards only jumps back when the cursor is positioned at
    the start of the selection.

Solution:
  - Issue `n` `v:count1` times
  - Error out and exit visual mode when the selection is empty
  - Detect when the cursor is not at the start of the selection, and
    adjust the count accordingly

Also, use the search register instead of the more error-prone approach
of feeding the entire search string as an expression</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: The behavior of the visual search mappings aren't consistent
with their normal mode counterparts.
  - The count isn't considered
  - Searching with an empty selection will match every character in the
    buffer
  - Searching backwards only jumps back when the cursor is positioned at
    the start of the selection.

Solution:
  - Issue `n` `v:count1` times
  - Error out and exit visual mode when the selection is empty
  - Detect when the cursor is not at the start of the selection, and
    adjust the count accordingly

Also, use the search register instead of the more error-prone approach
of feeding the entire search string as an expression</pre>
</div>
</content>
</entry>
</feed>
