<feed xmlns='http://www.w3.org/2005/Atom'>
<title>neovim/runtime/lua/vim/termcap.lua, branch master</title>
<subtitle>Vim-fork focused on extensibility and usability</subtitle>
<id>http://git.waynecole.info/neovim/atom?h=master</id>
<link rel='self' href='http://git.waynecole.info/neovim/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/'/>
<updated>2026-03-23T14:14:48Z</updated>
<entry>
<title>refactor: rename termcap.lua -&gt; tty.lua #38437</title>
<updated>2026-03-23T14:14:48Z</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-03-23T14:14:48Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=3a3c6f0907445754a1d26ffc84788bbc88e038c5'/>
<id>urn:sha1:3a3c6f0907445754a1d26ffc84788bbc88e038c5</id>
<content type='text'>
Problem:
The `termcap.lua` module is too narrowly named. We may need a place for
tty-related functionality in the future.
https://github.com/neovim/neovim/pull/31399#discussion_r1882598297

Solution:
This isn't a public/documented interface, so just rename it.</content>
</entry>
<entry>
<title>docs: use "ev" convention in event-handlers</title>
<updated>2026-03-12T10:12:56Z</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2026-03-11T13:25:12Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=7ea148a1dc1518bc8a6835c0329894a590135937'/>
<id>urn:sha1:7ea148a1dc1518bc8a6835c0329894a590135937</id>
<content type='text'>
Problem:
In autocmd examples, using "args" as the event-object name is vague and
may be confused with a user-command.

Solution:
Use "ev" as the conventional event-object name.
</content>
</entry>
<entry>
<title>feat(tui): add nvim_ui_send (#35406)</title>
<updated>2025-08-22T20:05:43Z</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-08-22T20:05:43Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=586b1b2d9bcfdbc2a58a7a9c90e8f90e638173e7'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>fix(tui): remove DCS escaping in tmux (#32723)</title>
<updated>2025-03-06T03:28:05Z</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-03-06T03:28:05Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=0c0352783fca7e9c56cd5ca8253834fee77c9d59'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>feat(terminal)!: include cursor position in TermRequest event data (#31609)</title>
<updated>2025-03-05T15:45:22Z</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-03-05T15:45:22Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=35e5307af25785ac90bd00f913fc0df5cf962db3'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>fix: another round of type annotation fixes</title>
<updated>2024-10-31T11:55:23Z</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2024-10-31T11:28:02Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=1d4ba8c1edba064421b34c1197c3470a09798218'/>
<id>urn:sha1:1d4ba8c1edba064421b34c1197c3470a09798218</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(vim.validate): improve fast form and deprecate spec form</title>
<updated>2024-10-21T10:32:06Z</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2024-10-18T10:33:12Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=3572319b4cb1a4163624a5fe328886f1928dbc4a'/>
<id>urn:sha1:3572319b4cb1a4163624a5fe328886f1928dbc4a</id>
<content type='text'>
Problem:

`vim.validate()` takes two forms when it only needs one.

Solution:

- Teach the fast form all the features of the spec form.
- Deprecate the spec form.
- General optimizations for both forms.
- Add a `message` argument which can be used alongside or in place
  of the `optional` argument.
</content>
</entry>
<entry>
<title>docs: various fixes (#28208)</title>
<updated>2024-04-29T23:04:42Z</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2024-04-29T23:04:42Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=234b5f67019b435b604308a96c366b1187c2cc3a'/>
<id>urn:sha1:234b5f67019b435b604308a96c366b1187c2cc3a</id>
<content type='text'>
Co-authored-by: Evgeni Chasnovski &lt;evgeni.chasnovski@gmail.com&gt;
Co-authored-by: Famiu Haque &lt;famiuhaque@proton.me&gt;
Co-authored-by: Gregory Anders &lt;greg@gpanders.com&gt;
Co-authored-by: Guilherme Soares &lt;guilhermesoares1970@gmail.com&gt;
Co-authored-by: Jannik Buhr &lt;jannik.m.buhr@gmail.com&gt;
Co-authored-by: thomaswuhoileong &lt;72001875+thomaswuhoileong@users.noreply.github.com&gt;
Co-authored-by: tom-anders &lt;13141438+tom-anders@users.noreply.github.com&gt;
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;</content>
</entry>
<entry>
<title>refactor(lua): type annotations</title>
<updated>2024-03-16T19:26:10Z</updated>
<author>
<name>Lewis Russell</name>
<email>lewis6991@gmail.com</email>
</author>
<published>2024-03-16T17:11:42Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=14e4b6bbd8640675d7393bdeb3e93d74ab875ff1'/>
<id>urn:sha1:14e4b6bbd8640675d7393bdeb3e93d74ab875ff1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(termcap): set 'nested' on TermResponse autocommand</title>
<updated>2023-12-14T17:38:34Z</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2023-12-14T17:37:45Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=ffeb31c2f962b895bbc7111dd095e4b5ba27e88d'/>
<id>urn:sha1:ffeb31c2f962b895bbc7111dd095e4b5ba27e88d</id>
<content type='text'>
</content>
</entry>
</feed>
