diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-04-26 11:59:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-26 11:59:59 +0200 |
commit | 0b59f988f447e23af692d972a83989156c6aad02 (patch) | |
tree | e7fba1e2be738d0a89d9aafdfb1ae0c92586af05 /src/nvim/screen.c | |
parent | 7e571bca5d5e00e9e33e266b983a48bb4014183f (diff) | |
parent | 6944abad2f3f443027af1966a2a310034d2179b2 (diff) | |
download | rneovim-0b59f988f447e23af692d972a83989156c6aad02.tar.gz rneovim-0b59f988f447e23af692d972a83989156c6aad02.tar.bz2 rneovim-0b59f988f447e23af692d972a83989156c6aad02.zip |
Merge #6583 from justinmk/ui-tabline
Diffstat (limited to 'src/nvim/screen.c')
-rw-r--r-- | src/nvim/screen.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c index 10dc86d5fa..de24156579 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -132,6 +132,7 @@ #include "nvim/version.h" #include "nvim/window.h" #include "nvim/os/time.h" +#include "nvim/api/private/helpers.h" #define MB_FILLER_CHAR '<' /* character used when a double-width character * doesn't fit. */ @@ -6887,6 +6888,10 @@ static void draw_tabline(void) } redraw_tabline = false; + if (ui_is_external(kUITabline)) { + ui_ext_tabline_update(); + return; + } if (tabline_height() < 1) return; @@ -7027,6 +7032,26 @@ static void draw_tabline(void) redraw_tabline = FALSE; } +void ui_ext_tabline_update(void) +{ + Array args = ARRAY_DICT_INIT; + ADD(args, INTEGER_OBJ(curtab->handle)); + Array tabs = ARRAY_DICT_INIT; + FOR_ALL_TABS(tp) { + Dictionary tab_info = ARRAY_DICT_INIT; + PUT(tab_info, "tab", TABPAGE_OBJ(tp->handle)); + + win_T *cwp = (tp == curtab) ? curwin : tp->tp_curwin; + get_trans_bufname(cwp->w_buffer); + PUT(tab_info, "name", STRING_OBJ(cstr_to_string((char *)NameBuff))); + + ADD(tabs, DICTIONARY_OBJ(tab_info)); + } + ADD(args, ARRAY_OBJ(tabs)); + + ui_event("tabline_update", args); +} + /* * Get buffer name for "buf" into NameBuff[]. * Takes care of special buffer names and translates special characters. |