diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2015-03-18 12:34:36 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2015-03-18 14:16:23 -0300 |
commit | 8b7b71f4742d94cf7a2e5a08e7b2f5a725619476 (patch) | |
tree | 05ec646ae8f0bfb6080d160456e4de3038ea9560 /src/nvim/ex_getln.c | |
parent | a0f2961b4fc2beabf1266faef0f543afdffd45f8 (diff) | |
download | rneovim-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/ex_getln.c')
-rw-r--r-- | src/nvim/ex_getln.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index c9e990b713..d5f7a218f4 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -1364,6 +1364,7 @@ cmdline_changed: if (ccline.cmdlen == 0) i = 0; else { + ui_busy_start(); ui_flush(); ++emsg_off; /* So it doesn't beep if bad expr */ /* Set the time limit to half a second. */ @@ -1381,6 +1382,7 @@ cmdline_changed: } else if (char_avail()) /* cancelled searching because a char was typed */ incsearch_postponed = TRUE; + ui_busy_stop(); } if (i != 0) highlight_match = TRUE; /* highlight position */ |