diff options
author | chemzqm <chemzqm@gmail.com> | 2016-11-26 07:39:33 +0800 |
---|---|---|
committer | chemzqm <chemzqm@gmail.com> | 2016-11-30 22:20:06 +0800 |
commit | 3cf4b14e966ec04371d38af6451bc69eaadb425b (patch) | |
tree | 5848aad84944276debad27d09af204b0ce7c6784 /src | |
parent | ecd7beb6e4876961075cc211d2b92f987d670dfa (diff) | |
download | rneovim-3cf4b14e966ec04371d38af6451bc69eaadb425b.tar.gz rneovim-3cf4b14e966ec04371d38af6451bc69eaadb425b.tar.bz2 rneovim-3cf4b14e966ec04371d38af6451bc69eaadb425b.zip |
add cmdline mode to modechange of RPC and tests
use set_cursor_shape_bar for cmdline mode
fix test of screen_basic_spec.lua & screen.lua
comment fix
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/api/ui.c | 2 | ||||
-rw-r--r-- | src/nvim/tui/tui.c | 4 | ||||
-rw-r--r-- | src/nvim/ui.c | 11 |
3 files changed, 13 insertions, 4 deletions
diff --git a/src/nvim/api/ui.c b/src/nvim/api/ui.c index 56b41f1eea..9178538110 100644 --- a/src/nvim/api/ui.c +++ b/src/nvim/api/ui.c @@ -271,6 +271,8 @@ static void remote_ui_mode_change(UI *ui, int mode) ADD(args, STRING_OBJ(cstr_to_string("insert"))); } else if (mode == REPLACE) { ADD(args, STRING_OBJ(cstr_to_string("replace"))); + } else if (mode == CMDLINE) { + ADD(args, STRING_OBJ(cstr_to_string("cmdline"))); } else { assert(mode == NORMAL); ADD(args, STRING_OBJ(cstr_to_string("normal"))); diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c index 5e30517c5a..2171e580ba 100644 --- a/src/nvim/tui/tui.c +++ b/src/nvim/tui/tui.c @@ -461,6 +461,10 @@ static void tui_mode_change(UI *ui, int mode) if (data->showing_mode != INSERT) { unibi_out(ui, data->unibi_ext.set_cursor_shape_bar); } + } else if (mode == CMDLINE) { + if (data->showing_mode != CMDLINE) { + unibi_out(ui, data->unibi_ext.set_cursor_shape_bar); + } } else if (mode == REPLACE) { if (data->showing_mode != REPLACE) { unibi_out(ui, data->unibi_ext.set_cursor_shape_ul); diff --git a/src/nvim/ui.c b/src/nvim/ui.c index eb500414a7..cc0d2ad1b4 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -532,13 +532,16 @@ static void ui_mode_change(void) if (!full_screen) { return; } - /* Get a simple UI mode out of State. */ - if ((State & REPLACE) == REPLACE) + // Get a simple UI mode out of State. + if ((State & REPLACE) == REPLACE) { mode = REPLACE; - else if (State & INSERT) + } else if (State & INSERT) { mode = INSERT; - else + } else if (State & CMDLINE) { + mode = CMDLINE; + } else { mode = NORMAL; + } UI_CALL(mode_change, mode); conceal_check_cursur_line(); } |