From 8b7b71f4742d94cf7a2e5a08e7b2f5a725619476 Mon Sep 17 00:00:00 2001 From: Thiago de Arruda Date: Wed, 18 Mar 2015 12:34:36 -0300 Subject: 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. --- src/nvim/misc1.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/nvim/misc1.c') 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 -- cgit