diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2015-07-26 23:50:55 -0400 |
|---|---|---|
| committer | Justin M. Keyes <justinkz@gmail.com> | 2015-07-26 23:50:55 -0400 |
| commit | ccebc1f8d3b30536bbaab532cc5acc7ba7ec3d4b (patch) | |
| tree | a24026900b0cc1b5cef58892a89532816f97e002 /src/nvim/msgpack_rpc/remote_ui.c | |
| parent | 61e4a320658ffd64103795cf9aeb9a53c1ac2032 (diff) | |
| parent | f79025b9dea8e46afa0f10884a1759744ada5940 (diff) | |
| download | rneovim-ccebc1f8d3b30536bbaab532cc5acc7ba7ec3d4b.tar.gz rneovim-ccebc1f8d3b30536bbaab532cc5acc7ba7ec3d4b.tar.bz2 rneovim-ccebc1f8d3b30536bbaab532cc5acc7ba7ec3d4b.zip | |
Merge #2660 'generalize mode-change API and support replace-mode cursor'
Diffstat (limited to 'src/nvim/msgpack_rpc/remote_ui.c')
| -rw-r--r-- | src/nvim/msgpack_rpc/remote_ui.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/nvim/msgpack_rpc/remote_ui.c b/src/nvim/msgpack_rpc/remote_ui.c index 07d78dd9d7..e582bf9550 100644 --- a/src/nvim/msgpack_rpc/remote_ui.c +++ b/src/nvim/msgpack_rpc/remote_ui.c @@ -86,8 +86,7 @@ static Object remote_ui_attach(uint64_t channel_id, uint64_t request_id, ui->busy_stop = remote_ui_busy_stop; ui->mouse_on = remote_ui_mouse_on; ui->mouse_off = remote_ui_mouse_off; - ui->insert_mode = remote_ui_insert_mode; - ui->normal_mode = remote_ui_normal_mode; + ui->mode_change = remote_ui_mode_change; ui->set_scroll_region = remote_ui_set_scroll_region; ui->scroll = remote_ui_scroll; ui->highlight_set = remote_ui_highlight_set; @@ -214,16 +213,18 @@ static void remote_ui_mouse_off(UI *ui) push_call(ui, "mouse_off", args); } -static void remote_ui_insert_mode(UI *ui) +static void remote_ui_mode_change(UI *ui, int mode) { Array args = ARRAY_DICT_INIT; - push_call(ui, "insert_mode", args); -} - -static void remote_ui_normal_mode(UI *ui) -{ - Array args = ARRAY_DICT_INIT; - push_call(ui, "normal_mode", args); + if (mode == INSERT) { + ADD(args, STRING_OBJ(cstr_to_string("insert"))); + } else if (mode == REPLACE) { + ADD(args, STRING_OBJ(cstr_to_string("replace"))); + } else { + assert(mode == NORMAL); + ADD(args, STRING_OBJ(cstr_to_string("normal"))); + } + push_call(ui, "mode_change", args); } static void remote_ui_set_scroll_region(UI *ui, int top, int bot, int left, |