diff options
author | Omar Sandoval <osandov@osandov.com> | 2015-05-17 01:22:46 -0700 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2015-07-26 23:38:35 -0400 |
commit | fa48fc667a1d27db6826075e23caff4f396f191a (patch) | |
tree | 89048cb803717bbb43b653df2e3c23a164f1741f /src/nvim/ui.c | |
parent | 61e4a320658ffd64103795cf9aeb9a53c1ac2032 (diff) | |
download | rneovim-fa48fc667a1d27db6826075e23caff4f396f191a.tar.gz rneovim-fa48fc667a1d27db6826075e23caff4f396f191a.tar.bz2 rneovim-fa48fc667a1d27db6826075e23caff4f396f191a.zip |
api: Simplify UI API on mode change
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.
Diffstat (limited to 'src/nvim/ui.c')
-rw-r--r-- | src/nvim/ui.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/src/nvim/ui.c b/src/nvim/ui.c index dc2bc0898c..2e8fc7a6bb 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -121,7 +121,7 @@ void ui_update_encoding(void) // May update the shape of the cursor. void ui_cursor_shape(void) { - ui_change_mode(); + ui_mode_change(); } void ui_refresh(void) @@ -469,25 +469,18 @@ static void flush_cursor_update(void) // Notify that the current mode has changed. Can be used to change cursor // shape, for example. -static void ui_change_mode(void) +static void ui_mode_change(void) { - static int showing_insert_mode = MAYBE; - + int mode; if (!full_screen) { return; } - - if (State & INSERT) { - if (showing_insert_mode != TRUE) { - UI_CALL(insert_mode); - } - showing_insert_mode = TRUE; - } else { - if (showing_insert_mode != FALSE) { - UI_CALL(normal_mode); - } - showing_insert_mode = FALSE; - } + /* Get a simple UI mode out of State. */ + if (State & INSERT) + mode = INSERT; + else + mode = NORMAL; + UI_CALL(mode_change, mode); conceal_check_cursur_line(); } |