diff options
Diffstat (limited to 'src/nvim/api')
-rw-r--r-- | src/nvim/api/ui.c | 4 | ||||
-rw-r--r-- | src/nvim/api/ui_events.in.h | 26 |
2 files changed, 23 insertions, 7 deletions
diff --git a/src/nvim/api/ui.c b/src/nvim/api/ui.c index bc8a1a941f..b77516d588 100644 --- a/src/nvim/api/ui.c +++ b/src/nvim/api/ui.c @@ -113,6 +113,8 @@ void nvim_ui_attach(uint64_t channel_id, Integer width, Integer height, ui->set_title = remote_ui_set_title; ui->set_icon = remote_ui_set_icon; ui->option_set = remote_ui_option_set; + ui->win_scroll_over_start = remote_ui_win_scroll_over_start; + ui->win_scroll_over_reset = remote_ui_win_scroll_over_reset; ui->event = remote_ui_event; ui->inspect = remote_ui_inspect; @@ -459,7 +461,7 @@ static void remote_ui_put(UI *ui, const char *cell) static void remote_ui_raw_line(UI *ui, Integer grid, Integer row, Integer startcol, Integer endcol, Integer clearcol, Integer clearattr, - Boolean wrap, const schar_T *chunk, + LineFlags flags, const schar_T *chunk, const sattr_T *attrs) { UIData *data = ui->data; diff --git a/src/nvim/api/ui_events.in.h b/src/nvim/api/ui_events.in.h index 59a7780651..ef3ff0f4c2 100644 --- a/src/nvim/api/ui_events.in.h +++ b/src/nvim/api/ui_events.in.h @@ -38,6 +38,9 @@ void set_icon(String icon) FUNC_API_SINCE(3); void option_set(String name, Object value) FUNC_API_SINCE(4) FUNC_API_BRIDGE_IMPL; +// Stop event is not exported as such, represented by EOF in the msgpack stream. +void stop(void) + FUNC_API_NOEXPORT; // First revison of the grid protocol, used by default void update_fg(Integer fg) @@ -71,28 +74,39 @@ void hl_attr_define(Integer id, HlAttrs rgb_attrs, HlAttrs cterm_attrs, Array info) FUNC_API_SINCE(5) FUNC_API_REMOTE_IMPL FUNC_API_BRIDGE_IMPL; void grid_resize(Integer grid, Integer width, Integer height) - FUNC_API_SINCE(5) FUNC_API_REMOTE_IMPL; + FUNC_API_SINCE(5) FUNC_API_REMOTE_IMPL FUNC_API_COMPOSITOR_IMPL; void grid_clear(Integer grid) - FUNC_API_SINCE(5) FUNC_API_REMOTE_IMPL; + FUNC_API_SINCE(5) FUNC_API_REMOTE_IMPL FUNC_API_COMPOSITOR_IMPL; void grid_cursor_goto(Integer grid, Integer row, Integer col) - FUNC_API_SINCE(5) FUNC_API_REMOTE_IMPL; + FUNC_API_SINCE(5) FUNC_API_REMOTE_IMPL FUNC_API_COMPOSITOR_IMPL; void grid_line(Integer grid, Integer row, Integer col_start, Array data) FUNC_API_SINCE(5) FUNC_API_REMOTE_ONLY; void grid_scroll(Integer grid, Integer top, Integer bot, Integer left, Integer right, Integer rows, Integer cols) - FUNC_API_SINCE(5) FUNC_API_REMOTE_IMPL; + FUNC_API_SINCE(5) FUNC_API_REMOTE_IMPL FUNC_API_COMPOSITOR_IMPL; void grid_destroy(Integer grid) FUNC_API_SINCE(6) FUNC_API_REMOTE_ONLY; +// For perfomance and simplicity, we use the dense screen representation +// in internal code, such as compositor and TUI. The remote_ui module will +// translate this in to the public grid_line format. +void raw_line(Integer grid, Integer row, Integer startcol, + Integer endcol, Integer clearcol, Integer clearattr, + LineFlags flags, const schar_T *chunk, const sattr_T *attrs) + FUNC_API_NOEXPORT FUNC_API_COMPOSITOR_IMPL; + +void event(char *name, Array args, bool *args_consumed) + FUNC_API_NOEXPORT; + void win_pos(Integer grid, Integer win, Integer startrow, Integer startcol, Integer width, Integer height) FUNC_API_SINCE(6) FUNC_API_REMOTE_ONLY; void win_hide(Integer grid) FUNC_API_SINCE(6) FUNC_API_REMOTE_ONLY; void win_scroll_over_start(void) - FUNC_API_SINCE(6) FUNC_API_REMOTE_ONLY; + FUNC_API_SINCE(6) FUNC_API_BRIDGE_IMPL FUNC_API_COMPOSITOR_IMPL; void win_scroll_over_reset(void) - FUNC_API_SINCE(6) FUNC_API_REMOTE_ONLY; + FUNC_API_SINCE(6) FUNC_API_BRIDGE_IMPL FUNC_API_COMPOSITOR_IMPL; void popupmenu_show(Array items, Integer selected, Integer row, Integer col, Integer grid) |