<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/src/nvim/msgpack_rpc/remote_ui.c, branch v0.4.2</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>api: refactor remote ui to use API dispatch generation</title>
<updated>2016-05-27T11:18:04+00:00</updated>
<author>
<name>Björn Linse</name>
<email>bjorn.linse@gmail.com</email>
</author>
<published>2016-04-14T18:47:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=dd539366fcbecd340462a626523a3f689cf7589e'/>
<id>dd539366fcbecd340462a626523a3f689cf7589e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>syntax: Add support for the "special" color used for undercurls</title>
<updated>2016-05-17T20:31:42+00:00</updated>
<author>
<name>AdnoC</name>
<email>adam.r.cutler@gmail.com</email>
</author>
<published>2016-04-23T06:58:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=244cfe86b58bbf94778d09deb2b452e551594179'/>
<id>244cfe86b58bbf94778d09deb2b452e551594179</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>tui/remote_ui: Fix some regressions</title>
<updated>2015-08-21T13:56:57+00:00</updated>
<author>
<name>Thiago de Arruda</name>
<email>tpadilha84@gmail.com</email>
</author>
<published>2015-08-17T16:19:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=6e59b7b0e5cfe84db8629c728b942a5fea6bdda3'/>
<id>6e59b7b0e5cfe84db8629c728b942a5fea6bdda3</id>
<content type='text'>
- Explicitly set the SignalWatcher event queue. Without this, the watcher will
  publish events to the fast queue, resulting in resize bugs for certain
  terminals(#2322).
- Set `async = false` to the `remote_ui_attach` handler(It was a deferred
  before, this is the new equivalent)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Explicitly set the SignalWatcher event queue. Without this, the watcher will
  publish events to the fast queue, resulting in resize bugs for certain
  terminals(#2322).
- Set `async = false` to the `remote_ui_attach` handler(It was a deferred
  before, this is the new equivalent)
</pre>
</div>
</content>
</entry>
<entry>
<title>Notify attached UIs whenever menus change</title>
<updated>2015-08-21T13:23:50+00:00</updated>
<author>
<name>Robin Allen</name>
<email>r@foon.uk</email>
</author>
<published>2015-07-10T23:03:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=d5b5063622ab9764a851fdf56c60d14ad0736583'/>
<id>d5b5063622ab9764a851fdf56c60d14ad0736583</id>
<content type='text'>
This adds a redraw notification "update_menu" which is sent whenever
Vim's menus are changed by the :menu command and friends.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a redraw notification "update_menu" which is sent whenever
Vim's menus are changed by the :menu command and friends.
</pre>
</div>
</content>
</entry>
<entry>
<title>msgpack: Replace FUNC_ATTR_DEFERRED by FUNC_ATTR_ASYNC</title>
<updated>2015-08-13T10:41:04+00:00</updated>
<author>
<name>Thiago de Arruda</name>
<email>tpadilha84@gmail.com</email>
</author>
<published>2015-07-24T12:55:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=ccdeb91e1206f38773664979bf03694213a2ba80'/>
<id>ccdeb91e1206f38773664979bf03694213a2ba80</id>
<content type='text'>
API functions exposed via msgpack-rpc now fall into two categories:

- async functions, which are executed as soon as the request is parsed
- sync functions, which are invoked in nvim main loop when processing the
  `K_EVENT special key

Only a few functions which can be safely executed in any context are marked as
async.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
API functions exposed via msgpack-rpc now fall into two categories:

- async functions, which are executed as soon as the request is parsed
- sync functions, which are invoked in nvim main loop when processing the
  `K_EVENT special key

Only a few functions which can be safely executed in any context are marked as
async.
</pre>
</div>
</content>
</entry>
<entry>
<title>tui: Use underline cursor in Replace mode</title>
<updated>2015-07-27T03:45:41+00:00</updated>
<author>
<name>Omar Sandoval</name>
<email>osandov@osandov.com</email>
</author>
<published>2015-05-17T08:39:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f79025b9dea8e46afa0f10884a1759744ada5940'/>
<id>f79025b9dea8e46afa0f10884a1759744ada5940</id>
<content type='text'>
This is a port of my original contribution to Vim, added in 7.4.687
(https://github.com/vim/vim/commit/v7-4-687). The TUI code has been
heavily refactored (see esp. 25ceadab37edba13f5afa78d8b4723da03ef35f0),
so this required some translation, but the logic is the same.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a port of my original contribution to Vim, added in 7.4.687
(https://github.com/vim/vim/commit/v7-4-687). The TUI code has been
heavily refactored (see esp. 25ceadab37edba13f5afa78d8b4723da03ef35f0),
so this required some translation, but the logic is the same.
</pre>
</div>
</content>
</entry>
<entry>
<title>api: Simplify UI API on mode change</title>
<updated>2015-07-27T03:38:35+00:00</updated>
<author>
<name>Omar Sandoval</name>
<email>osandov@osandov.com</email>
</author>
<published>2015-05-17T08:22:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=fa48fc667a1d27db6826075e23caff4f396f191a'/>
<id>fa48fc667a1d27db6826075e23caff4f396f191a</id>
<content type='text'>
Currently, there are two functions in the UI API that are called when
the mode changes: insert_mode() and normal_mode(). These can be folded
into a single mode_change() entrypoint which can do whatever it wants
based on the mode it is passed, limited to INSERT and NORMAL for now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, there are two functions in the UI API that are called when
the mode changes: insert_mode() and normal_mode(). These can be folded
into a single mode_change() entrypoint which can do whatever it wants
based on the mode it is passed, limited to INSERT and NORMAL for now.
</pre>
</div>
</content>
</entry>
<entry>
<title>memory: Add `free` wrapper and refactor project to use it</title>
<updated>2015-04-13T11:22:44+00:00</updated>
<author>
<name>Thiago de Arruda</name>
<email>tpadilha84@gmail.com</email>
</author>
<published>2015-04-12T14:37:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=34c48aaf123ffd8aec31b79f0b4d16d9a63fe59b'/>
<id>34c48aaf123ffd8aec31b79f0b4d16d9a63fe59b</id>
<content type='text'>
We already use wrappers for allocation, the new `xfree` function is the
equivalent for deallocation and provides a way to fully replace the malloc
implementation used by Neovim.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We already use wrappers for allocation, the new `xfree` function is the
equivalent for deallocation and provides a way to fully replace the malloc
implementation used by Neovim.
</pre>
</div>
</content>
</entry>
<entry>
<title>ui: Replace cursor_{on,off} by busy_{stop,start}</title>
<updated>2015-03-15T13:30:59+00:00</updated>
<author>
<name>Thiago de Arruda</name>
<email>tpadilha84@gmail.com</email>
</author>
<published>2015-03-15T13:21:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=c546875daf36936b9a6c0886a71c9edd1fdae6db'/>
<id>c546875daf36936b9a6c0886a71c9edd1fdae6db</id>
<content type='text'>
Switching cursor off is only necessary in two occasions:

- When redrawing to avoid terminal flickering
- When the editor is busy

The first can now be handled by the TUI, so most calls to ui_cursor_off can be
removed from the core.

So, before this commit it was only necessary to switch the cursor off to notify
the user that nvim was running some long operation. Now the cursor_{on,off}
functions have been replaced by busy_{stop,start} which can be handled in a
UI-specific way(turning the cursor off or showing a busy indicator, for
example).

To make things even more simpler, nvim is always busy except when waiting for
user input or other asynchronous events: It automatically switches to a non-busy
state when the event loop is about to be entered for more than 100 milliseconds.

`ui_busy_start` can be called when its not desired to change the busy state in
the event loop (As its now done by functions that perform blocking shell
invocations).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Switching cursor off is only necessary in two occasions:

- When redrawing to avoid terminal flickering
- When the editor is busy

The first can now be handled by the TUI, so most calls to ui_cursor_off can be
removed from the core.

So, before this commit it was only necessary to switch the cursor off to notify
the user that nvim was running some long operation. Now the cursor_{on,off}
functions have been replaced by busy_{stop,start} which can be handled in a
UI-specific way(turning the cursor off or showing a busy indicator, for
example).

To make things even more simpler, nvim is always busy except when waiting for
user input or other asynchronous events: It automatically switches to a non-busy
state when the event loop is about to be entered for more than 100 milliseconds.

`ui_busy_start` can be called when its not desired to change the busy state in
the event loop (As its now done by functions that perform blocking shell
invocations).
</pre>
</div>
</content>
</entry>
<entry>
<title>remote_ui: Fix error messages #2045</title>
<updated>2015-03-04T05:21:55+00:00</updated>
<author>
<name>Carlos Castillo</name>
<email>carlos.d.castillo@gmail.com</email>
</author>
<published>2015-02-23T08:58:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=a4c3ac2799281b56c1c38d0fdc584e22ac1b3d2f'/>
<id>a4c3ac2799281b56c1c38d0fdc584e22ac1b3d2f</id>
<content type='text'>
Make the error messages more precise and uniform.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make the error messages more precise and uniform.
</pre>
</div>
</content>
</entry>
</feed>
