Justin M. Keyes
3ea1007753
api: nvim_get_mode()
...
Asynchronous API functions are served immediately, which means pending
input could change the state of Nvim shortly after an async API function
result is returned.
nvim_get_mode() is different:
- If RPCs are known to be blocked, it responds immediately (without
flushing the input/event queue)
- else it is handled just-in-time before waiting for input, after
pending input was processed. This makes the result more reliable
(but not perfect).
Internally this is handled as a special case, but _semantically_ nothing
has changed: API users never know when input flushes, so this internal
special-case doesn't violate that. As far as API users are concerned,
nvim_get_mode() is just another asynchronous API function.
In all cases nvim_get_mode() never blocks for more than the time it
takes to flush the input/event queue (~µs).
Note: This doesn't address #6166 ; nvim_get_mode() will provoke #6166 if
e.g. `d` is operator-pending.
Closes #6159
2017-04-28 19:14:34 +02:00
..
2017-04-19 13:48:12 +02:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-30 02:55:00 +02:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-04-01 17:42:15 +02:00
2017-04-19 13:48:12 +02:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-04-19 21:26:17 +02:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-04-04 14:19:26 +02:00
2017-03-21 17:08:19 +01:00
2017-04-28 19:14:34 +02:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-29 10:08:05 +03:00
2017-03-22 01:13:51 +01:00
2017-03-21 17:08:19 +01:00
2017-04-19 21:26:17 +02:00
2017-03-21 17:08:19 +01:00
2017-04-28 19:14:34 +02:00
2017-03-21 17:08:19 +01:00
2016-12-02 20:38:55 -05:00
2017-03-04 04:13:31 +01:00
2014-07-29 02:12:31 +00:00
2017-04-19 13:48:12 +02:00
2017-03-21 17:08:19 +01:00
2017-04-28 19:14:34 +02:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-04-26 03:41:24 +02:00
2017-03-21 17:08:19 +01:00
2017-04-25 11:04:32 +02:00
2017-04-19 21:26:17 +02:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2016-08-21 21:25:33 -04:00
2015-06-04 22:45:19 -04:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2015-08-15 15:25:30 -03:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-04-19 21:26:17 +02:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-04-19 21:26:16 +02:00
2017-03-22 01:13:51 +01:00
2017-03-21 17:08:19 +01:00
2017-04-20 13:13:39 +02:00
2017-04-19 21:26:16 +02:00
2017-03-21 17:08:19 +01:00
2017-04-19 21:26:17 +02:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-03-21 17:08:19 +01:00
2017-04-19 21:26:16 +02:00
2017-04-03 14:10:40 +02:00
2017-03-21 17:08:19 +01:00
2017-04-19 21:26:17 +02:00