<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/tui, branch fix_semantic_tokens_pull</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>fix(unittests): fix TUI broken test previously ignored</title>
<updated>2023-01-18T13:56:55+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2023-01-18T12:59:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=6bfbb4db1d3708ce4ea69d29f3afe73def5a9f2a'/>
<id>6bfbb4db1d3708ce4ea69d29f3afe73def5a9f2a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #21831 from bfredl/nofd</title>
<updated>2023-01-16T10:55:34+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2023-01-16T10:55:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=90493beb1584b9a99d3a71658bccd536d601e0f7'/>
<id>90493beb1584b9a99d3a71658bccd536d601e0f7</id>
<content type='text'>
fix(ui): re-organize tty fd handling and fix issues</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fix(ui): re-organize tty fd handling and fix issues</pre>
</div>
</content>
</entry>
<entry>
<title>fix(ui): re-organize tty fd handling and fix issues</title>
<updated>2023-01-16T10:26:49+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2023-01-10T13:03:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=160c69b655ce2e47fbedcc87fcb4949c2bc04dce'/>
<id>160c69b655ce2e47fbedcc87fcb4949c2bc04dce</id>
<content type='text'>
- Use the correct fd to replace stdin on windows (CONIN)
- Don't start the TUI if there are no tty fd (not a regression,
  but makes sense regardless)
- De-mythologize "global input fd". it is just STDIN.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Use the correct fd to replace stdin on windows (CONIN)
- Don't start the TUI if there are no tty fd (not a regression,
  but makes sense regardless)
- De-mythologize "global input fd". it is just STDIN.
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: fix IWYU mapping file and use IWYU (#21802)</title>
<updated>2023-01-15T13:16:33+00:00</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2023-01-15T13:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=3269902a13df3bccf8705db73488c0a47f495514'/>
<id>3269902a13df3bccf8705db73488c0a47f495514</id>
<content type='text'>
Also add the EXITFREE definition to main_lib rather than the nvim target, as the header generation needs the EXITFREE flag to work properly.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also add the EXITFREE definition to main_lib rather than the nvim target, as the header generation needs the EXITFREE flag to work properly.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(tui): do not invoke loop recursively for pad()</title>
<updated>2023-01-06T10:01:02+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2023-01-06T09:40:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=b303ab9a7d5f695e53c3f261b000e0e748ed8654'/>
<id>b303ab9a7d5f695e53c3f261b000e0e748ed8654</id>
<content type='text'>
fixes #21610
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fixes #21610
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(ui): devirtualize the ui layer</title>
<updated>2023-01-05T08:48:26+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2022-12-30T21:17:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=47ba78f89a1f0bba8168b4408bc55a3024d5ab97'/>
<id>47ba78f89a1f0bba8168b4408bc55a3024d5ab97</id>
<content type='text'>
- The defined interface for the UI is only the RPC protocol. The original
  UI interface as an array of function pointers fill no function.
- On the server, all the UI:s are all RPC channels.
  - ui.c is only used on the server.
  - The compositor is a preprocessing step for single-grid UI:s
- on the client, ui_client and tui talk directly to each other
  - we still do module separation, as ui_client.c could form the basis
    of a libnvim client module later.

Items for later PR:s
- vim.ui_attach is still an unhappy child, reconsider based on plugin experience.
- the flags in ui_events.in.h are still a mess. Can be simplified now.
- UX for remote attachment needs more work.
- startup for client can be simplified further (think of the millisecs we can save)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- The defined interface for the UI is only the RPC protocol. The original
  UI interface as an array of function pointers fill no function.
- On the server, all the UI:s are all RPC channels.
  - ui.c is only used on the server.
  - The compositor is a preprocessing step for single-grid UI:s
- on the client, ui_client and tui talk directly to each other
  - we still do module separation, as ui_client.c could form the basis
    of a libnvim client module later.

Items for later PR:s
- vim.ui_attach is still an unhappy child, reconsider based on plugin experience.
- the flags in ui_events.in.h are still a mess. Can be simplified now.
- UX for remote attachment needs more work.
- startup for client can be simplified further (think of the millisecs we can save)
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(tui): make a copy of data-&gt;params before unibi_format() (#21643)</title>
<updated>2023-01-04T16:25:25+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-01-04T16:25:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=89232b8b4890824f93121483626af582f13758fe'/>
<id>89232b8b4890824f93121483626af582f13758fe</id>
<content type='text'>
Problem:    When unibi_format() modifies params and data-&gt;buf overflows,
            unibi_format() is called again, causing the params to be
            modified twice. This can happen for escapes sequences that
            use the %i terminfo format specifier (e.g. cursor_address),
            which makes unibi_format() increase the param by 1.
Solution:   Make a copy of data-&gt;params before calling unibi_format().</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    When unibi_format() modifies params and data-&gt;buf overflows,
            unibi_format() is called again, causing the params to be
            modified twice. This can happen for escapes sequences that
            use the %i terminfo format specifier (e.g. cursor_address),
            which makes unibi_format() increase the param by 1.
Solution:   Make a copy of data-&gt;params before calling unibi_format().</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(api): do not allocate temporaries for internal events</title>
<updated>2023-01-03T16:31:54+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2023-01-03T14:24:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=b2295ac4ec80e141628cea33ebee81c96e168989'/>
<id>b2295ac4ec80e141628cea33ebee81c96e168989</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): do not set ui_client_termname if it is already set (#21607)</title>
<updated>2023-01-01T15:18:19+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-01-01T15:18:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c590641febf4d03e89c46f8e7ef4c3fb2a455520'/>
<id>c590641febf4d03e89c46f8e7ef4c3fb2a455520</id>
<content type='text'>
It is fine to initialize ui_client_termname to NULL as it is only used
after tui_start().</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is fine to initialize ui_client_termname to NULL as it is only used
after tui_start().</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #18375 from bfredl/tui_rework</title>
<updated>2022-12-31T13:23:24+00:00</updated>
<author>
<name>bfredl</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2022-12-31T13:23:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=cce736218f465511194465410e1ba23b5530e46f'/>
<id>cce736218f465511194465410e1ba23b5530e46f</id>
<content type='text'>
feat(ui): refactor TUI from thread to separate process</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
feat(ui): refactor TUI from thread to separate process</pre>
</div>
</content>
</entry>
</feed>
