aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/misc1.c
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2015-03-18 12:34:36 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2015-03-18 14:16:23 -0300
commit8b7b71f4742d94cf7a2e5a08e7b2f5a725619476 (patch)
tree05ec646ae8f0bfb6080d160456e4de3038ea9560 /src/nvim/misc1.c
parenta0f2961b4fc2beabf1266faef0f543afdffd45f8 (diff)
downloadrneovim-8b7b71f4742d94cf7a2e5a08e7b2f5a725619476.tar.gz
rneovim-8b7b71f4742d94cf7a2e5a08e7b2f5a725619476.tar.bz2
rneovim-8b7b71f4742d94cf7a2e5a08e7b2f5a725619476.zip
ui: Refactor so that busy state won't be the default
Even though assuming nvim is busy most times is simpler, it has a problem: A lot of unnecessary busy_start/busy_stop notifications are sent to the UI. That's because in the majority of scenarios almost no time is spent between `event_poll` calls. This restores the normal behavior which is to call busy_start only when nvim is going to perform some task that can take a significant amount of time. Also improve the usage of buffering in the TUI when changing the cursor state.
Diffstat (limited to 'src/nvim/misc1.c')
-rw-r--r--src/nvim/misc1.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/nvim/misc1.c b/src/nvim/misc1.c
index 07cbc0f7c4..c9f3fbd511 100644
--- a/src/nvim/misc1.c
+++ b/src/nvim/misc1.c
@@ -2364,6 +2364,7 @@ int get_keystroke(void)
mapped_ctrl_c = FALSE; /* mappings are not used here */
for (;; ) {
+ // flush output before waiting
ui_flush();
/* Leave some room for check_termcode() to insert a key code into (max
* 5 chars plus NUL). And fix_input_buffer() can triple the number of