diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2018-07-21 14:41:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-21 14:41:49 +0200 |
commit | 94841e5eaebc3f2fb556056dd676afff21ff5d23 (patch) | |
tree | 2bf31609b6f8e0fcb283ea4d776b39c654e9f399 /src/nvim/ui.h | |
parent | 5ff90a100a2af99ee4236995bef221a41eb2f643 (diff) | |
parent | 6b8cd827a98e69eb61c107bff02ad953e240d787 (diff) | |
download | rneovim-94841e5eaebc3f2fb556056dd676afff21ff5d23.tar.gz rneovim-94841e5eaebc3f2fb556056dd676afff21ff5d23.tar.bz2 rneovim-94841e5eaebc3f2fb556056dd676afff21ff5d23.zip |
Merge pull request #8221 from bfredl/hlstate
UI grid protocol revision: line based updates and semantic highlights
Diffstat (limited to 'src/nvim/ui.h')
-rw-r--r-- | src/nvim/ui.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/nvim/ui.h b/src/nvim/ui.h index 6b04e9c67a..584d8a77c6 100644 --- a/src/nvim/ui.h +++ b/src/nvim/ui.h @@ -5,14 +5,18 @@ #include <stdbool.h> #include <stdint.h> -#include "api/private/defs.h" -#include "nvim/buffer_defs.h" +#include "nvim/globals.h" +#include "nvim/api/private/defs.h" +#include "nvim/highlight_defs.h" typedef enum { kUICmdline = 0, kUIPopupmenu, kUITabline, kUIWildmenu, +#define kUIGlobalCount (kUIWildmenu+1) + kUINewgrid, + kUIHlState, kUIExtCount, } UIExtension; @@ -20,7 +24,9 @@ EXTERN const char *ui_ext_names[] INIT(= { "ext_cmdline", "ext_popupmenu", "ext_tabline", - "ext_wildmenu" + "ext_wildmenu", + "ext_newgrid", + "ext_hlstate", }); @@ -31,9 +37,17 @@ struct ui_t { bool ui_ext[kUIExtCount]; ///< Externalized widgets int width, height; void *data; + #ifdef INCLUDE_GENERATED_DECLARATIONS # include "ui_events.generated.h" #endif + + // For perfomance and simplicity, we use the dense screen representation + // in the bridge and the TUI. The remote_ui module will translate this + // in to the public grid_line format. + void (*raw_line)(UI *ui, Integer grid, Integer row, Integer startcol, + Integer endcol, Integer clearcol, Integer clearattr, + const schar_T *chunk, const sattr_T *attrs); void (*event)(UI *ui, char *name, Array args, bool *args_consumed); void (*stop)(UI *ui); void (*inspect)(UI *ui, Dictionary *info); |