diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/menu.c | 2 | ||||
-rw-r--r-- | src/nvim/msgpack_rpc/remote_ui.c | 7 | ||||
-rw-r--r-- | src/nvim/tui/tui.c | 6 | ||||
-rw-r--r-- | src/nvim/ui.c | 5 | ||||
-rw-r--r-- | src/nvim/ui.h | 1 |
5 files changed, 21 insertions, 0 deletions
diff --git a/src/nvim/menu.c b/src/nvim/menu.c index d965de6019..434b92450c 100644 --- a/src/nvim/menu.c +++ b/src/nvim/menu.c @@ -30,6 +30,7 @@ #include "nvim/keymap.h" #include "nvim/garray.h" #include "nvim/strings.h" +#include "nvim/ui.h" #define MENUDEPTH 10 /* maximum depth of menus */ @@ -249,6 +250,7 @@ ex_menu ( xfree(map_buf); } + ui_update_menu(); theend: ; diff --git a/src/nvim/msgpack_rpc/remote_ui.c b/src/nvim/msgpack_rpc/remote_ui.c index 3334b0e6af..403ac13f2f 100644 --- a/src/nvim/msgpack_rpc/remote_ui.c +++ b/src/nvim/msgpack_rpc/remote_ui.c @@ -82,6 +82,7 @@ static Object remote_ui_attach(uint64_t channel_id, uint64_t request_id, ui->clear = remote_ui_clear; ui->eol_clear = remote_ui_eol_clear; ui->cursor_goto = remote_ui_cursor_goto; + ui->update_menu = remote_ui_update_menu; ui->busy_start = remote_ui_busy_start; ui->busy_stop = remote_ui_busy_stop; ui->mouse_on = remote_ui_mouse_on; @@ -189,6 +190,12 @@ static void remote_ui_cursor_goto(UI *ui, int row, int col) push_call(ui, "cursor_goto", args); } +static void remote_ui_update_menu(UI *ui) +{ + Array args = ARRAY_DICT_INIT; + push_call(ui, "update_menu", args); +} + static void remote_ui_busy_start(UI *ui) { Array args = ARRAY_DICT_INIT; diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c index 57a2b896f7..6382993d5b 100644 --- a/src/nvim/tui/tui.c +++ b/src/nvim/tui/tui.c @@ -149,6 +149,7 @@ UI *tui_start(void) ui->clear = tui_clear; ui->eol_clear = tui_eol_clear; ui->cursor_goto = tui_cursor_goto; + ui->update_menu = tui_update_menu; ui->busy_start = tui_busy_start; ui->busy_stop = tui_busy_stop; ui->mouse_on = tui_mouse_on; @@ -378,6 +379,11 @@ static void tui_cursor_goto(UI *ui, int row, int col) unibi_goto(ui, row, col); } +static void tui_update_menu(UI *ui) +{ + // Do nothing; menus are for GUI only +} + static void tui_busy_start(UI *ui) { ((TUIData *)ui->data)->busy = true; diff --git a/src/nvim/ui.c b/src/nvim/ui.c index ad875367c9..e1bbcdb193 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -324,6 +324,11 @@ void ui_cursor_goto(int new_row, int new_col) pending_cursor_update = true; } +void ui_update_menu(void) +{ + UI_CALL(update_menu); +} + int ui_current_row(void) { return row; diff --git a/src/nvim/ui.h b/src/nvim/ui.h index 9cfd99c096..c87d7f0c55 100644 --- a/src/nvim/ui.h +++ b/src/nvim/ui.h @@ -20,6 +20,7 @@ struct ui_t { void (*clear)(UI *ui); void (*eol_clear)(UI *ui); void (*cursor_goto)(UI *ui, int row, int col); + void (*update_menu)(UI *ui); void (*busy_start)(UI *ui); void (*busy_stop)(UI *ui); void (*mouse_on)(UI *ui); |