diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-12-11 23:05:36 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-12-13 22:17:39 +0100 |
commit | 6b51c72e0cc99c6c03c521f77793028cf63afd45 (patch) | |
tree | 8d99fc28882dca17d57cabdbf0158d24d9a1883b /src/nvim/ui_bridge.c | |
parent | 6203c23449cfdf8fb09c33d3ab267703d57123fa (diff) | |
download | rneovim-6b51c72e0cc99c6c03c521f77793028cf63afd45.tar.gz rneovim-6b51c72e0cc99c6c03c521f77793028cf63afd45.tar.bz2 rneovim-6b51c72e0cc99c6c03c521f77793028cf63afd45.zip |
tui: rework deferred-termcodes implementation
Try another approach to defer the termcodes. Seems less janky, but still
not perfect.
ref #7664
ref #7649
ref #7664
ref 27f9b1c7b029d8
Diffstat (limited to 'src/nvim/ui_bridge.c')
-rw-r--r-- | src/nvim/ui_bridge.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/nvim/ui_bridge.c b/src/nvim/ui_bridge.c index 0a69cf0ecb..324d821df5 100644 --- a/src/nvim/ui_bridge.c +++ b/src/nvim/ui_bridge.c @@ -42,6 +42,7 @@ UI *ui_bridge_attach(UI *ui, ui_main_fn ui_main, event_scheduler scheduler) rv->ui = ui; rv->bridge.rgb = ui->rgb; rv->bridge.stop = ui_bridge_stop; + rv->bridge.after_startup = ui_bridge_after_startup; rv->bridge.resize = ui_bridge_resize; rv->bridge.clear = ui_bridge_clear; rv->bridge.eol_clear = ui_bridge_eol_clear; @@ -106,6 +107,16 @@ static void ui_thread_run(void *data) bridge->ui_main(bridge, bridge->ui); } +static void ui_bridge_after_startup(UI *b) +{ + UI_BRIDGE_CALL(b, after_startup, 1, b); +} +static void ui_bridge_after_startup_event(void **argv) +{ + UI *ui = UI(argv[0]); + ui->after_startup(ui); +} + static void ui_bridge_stop(UI *b) { UIBridgeData *bridge = (UIBridgeData *)b; |