<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/terminal, branch rahm</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>test(terminal/cursor_spec): remove unnecessary busy handlers (#32321)</title>
<updated>2025-02-04T02:07:35+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-02-04T02:07:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=8ce2833411534f44dc810b282da283f69e78a28a'/>
<id>8ce2833411534f44dc810b282da283f69e78a28a</id>
<content type='text'>
They are no longer necessary after #31562, as busy_start and busy_stop
are no longer emitted by terminal buffers with visible cursor.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
They are no longer necessary after #31562, as busy_start and busy_stop
are no longer emitted by terminal buffers with visible cursor.</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.1.1068: getchar() can't distinguish between C-I and Tab (#32295)</title>
<updated>2025-02-02T09:32:51+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-02-02T09:32:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=4bdabf9b1ae52134f50a0b75dc2c73a40c0c252f'/>
<id>4bdabf9b1ae52134f50a0b75dc2c73a40c0c252f</id>
<content type='text'>
Problem:  getchar() can't distinguish between C-I and Tab.
Solution: Add {opts} to pass extra flags to getchar() and getcharstr(),
          with "number" and "simplify" keys.

related: vim/vim#10603
closes: vim/vim#16554

https://github.com/vim/vim/commit/e0a2ab397fd13a71efec85b017d5d4d62baf7f63

Cherry-pick tv_dict_has_key() from patch 8.2.4683.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  getchar() can't distinguish between C-I and Tab.
Solution: Add {opts} to pass extra flags to getchar() and getcharstr(),
          with "number" and "simplify" keys.

related: vim/vim#10603
closes: vim/vim#16554

https://github.com/vim/vim/commit/e0a2ab397fd13a71efec85b017d5d4d62baf7f63

Cherry-pick tv_dict_has_key() from patch 8.2.4683.</pre>
</div>
</content>
</entry>
<entry>
<title>feat(terminal): forward X1 and X2 mouse events</title>
<updated>2025-01-21T14:21:05+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-01-21T13:00:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=06a1f82f1cc37225b6acc46e63bd2eb36e034b1a'/>
<id>06a1f82f1cc37225b6acc46e63bd2eb36e034b1a</id>
<content type='text'>
Ref:
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Other-buttons
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ref:
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Other-buttons
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(terminal): add support for kitty keyboard protocol</title>
<updated>2025-01-16T22:41:08+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-01-15T17:07:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=6f0bde11ccd82d257fcda25ecad26227eba3335e'/>
<id>6f0bde11ccd82d257fcda25ecad26227eba3335e</id>
<content type='text'>
This commit adds basic support for the kitty keyboard protocol to
Neovim's builtin terminal. For now only the first mode ("Disambiguate
escape codes") is supported.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds basic support for the kitty keyboard protocol to
Neovim's builtin terminal. For now only the first mode ("Disambiguate
escape codes") is supported.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge #32001 from MariaSolOs/consistent-namespaces</title>
<updated>2025-01-15T10:01:44+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-01-15T10:01:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=3ee63edc1b0ca6fe664c9d5368aba05ae9a22e9d'/>
<id>3ee63edc1b0ca6fe664c9d5368aba05ae9a22e9d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: use nvim.foo.bar format for autocommand groups</title>
<updated>2025-01-15T05:25:25+00:00</updated>
<author>
<name>Maria José Solano</name>
<email>majosolano99@gmail.com</email>
</author>
<published>2025-01-14T03:45:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=09e01437c968be4c6e9f6bb3ac8811108c58008c'/>
<id>09e01437c968be4c6e9f6bb3ac8811108c58008c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(terminal): support theme update notifications (DEC mode 2031) (#31999)</title>
<updated>2025-01-14T14:18:59+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-01-14T14:18:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f1c45fc7a4a595e460cd245172a5767bddeb09e9'/>
<id>f1c45fc7a4a595e460cd245172a5767bddeb09e9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(getchar): do not simplify keycodes in terminal mode</title>
<updated>2025-01-13T10:55:16+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2025-01-09T13:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=913e81c35f162c1e2647565397608f63f38d7043'/>
<id>913e81c35f162c1e2647565397608f63f38d7043</id>
<content type='text'>
The code represents a useful pattern in normal mode where remapping
`&lt;tab&gt;` will implicitly also remap `&lt;c-i&gt;` unless you remap that
explicitly. This relies on the _unmapped_ behavior being identical which
is not true in terminal mode, as vterm can distinguish these keys.

Vim seems to entangle this with kitty keyboard mode detection which
is irrelevant for us. Conditional fallbacks depending on
keyboard mode could be done completely inside `vterm/` without getchar.c
getting involved, I would think.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The code represents a useful pattern in normal mode where remapping
`&lt;tab&gt;` will implicitly also remap `&lt;c-i&gt;` unless you remap that
explicitly. This relies on the _unmapped_ behavior being identical which
is not true in terminal mode, as vterm can distinguish these keys.

Vim seems to entangle this with kitty keyboard mode detection which
is irrelevant for us. Conditional fallbacks depending on
keyboard mode could be done completely inside `vterm/` without getchar.c
getting involved, I would think.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(terminal): don't crash on unprintable chars</title>
<updated>2025-01-09T10:22:00+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2025-01-07T10:16:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f8c8a245aa5bdfc2092f7e910a2d4ce798cd188e'/>
<id>f8c8a245aa5bdfc2092f7e910a2d4ce798cd188e</id>
<content type='text'>
fixes #31897
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fixes #31897
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(tests): merge n.spawn/n.spawn_argv into n.new_session #31859</title>
<updated>2025-01-05T00:48:00+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2025-01-05T00:48:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=64b0e6582ae8c273efbe39109bcb261079c2bcd4'/>
<id>64b0e6582ae8c273efbe39109bcb261079c2bcd4</id>
<content type='text'>
Problem:
- `n.spawn()` is misleading because it also connects RPC, it's not just
  "spawning" a process.
- It's confusing that `n.spawn()` and `n.spawn_argv()` are separate.

Solution:
- Replace `n.spawn()`/`n.spawn_argv()` with a single function `n.new_session()`.
  This name aligns with the existing functions `n.set_session`/`n.get_session`.
    - Note: removes direct handling of `prepend_argv`, but I doubt that was
      important or intentional. If callers want to control use of `prepend_argv`
      then we should add a new flag to `test.session.Opts`.
- Move `keep` to first parameter of `n.new_session()`.
- Add a `merge` flag to `test.session.Opts`
- Mark `_new_argv()` as private. Test should use clear/new_session/spawn_wait
  instead.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
- `n.spawn()` is misleading because it also connects RPC, it's not just
  "spawning" a process.
- It's confusing that `n.spawn()` and `n.spawn_argv()` are separate.

Solution:
- Replace `n.spawn()`/`n.spawn_argv()` with a single function `n.new_session()`.
  This name aligns with the existing functions `n.set_session`/`n.get_session`.
    - Note: removes direct handling of `prepend_argv`, but I doubt that was
      important or intentional. If callers want to control use of `prepend_argv`
      then we should add a new flag to `test.session.Opts`.
- Move `keep` to first parameter of `n.new_session()`.
- Add a `merge` flag to `test.session.Opts`
- Mark `_new_argv()` as private. Test should use clear/new_session/spawn_wait
  instead.</pre>
</div>
</content>
</entry>
</feed>
