diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-09-11 18:44:20 -0700 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-09-12 17:04:05 -0700 |
commit | 6dd56d09025c960ef36952e3d4a1f77779782c52 (patch) | |
tree | 4619033c696a2ea5442e85a1f570ebf223541f86 /src/nvim/ui.c | |
parent | e9cf515888705640ebd754483349f2bf84c32255 (diff) | |
download | rneovim-6dd56d09025c960ef36952e3d4a1f77779782c52.tar.gz rneovim-6dd56d09025c960ef36952e3d4a1f77779782c52.tar.bz2 rneovim-6dd56d09025c960ef36952e3d4a1f77779782c52.zip |
UIAttach, UIDetach
doc: ginit.vim, gvimrc
fix #3656
Diffstat (limited to 'src/nvim/ui.c')
-rw-r--r-- | src/nvim/ui.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/nvim/ui.c b/src/nvim/ui.c index 25077675bf..4096bc1e8e 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -9,6 +9,7 @@ #include "nvim/vim.h" #include "nvim/log.h" +#include "nvim/aucmd.h" #include "nvim/ui.h" #include "nvim/charset.h" #include "nvim/cursor.h" @@ -268,7 +269,7 @@ void ui_busy_stop(void) } } -void ui_attach_impl(UI *ui) +void ui_attach_impl(UI *ui, uint64_t chanid) { if (ui_count == MAX_UI_COUNT) { abort(); @@ -292,9 +293,14 @@ void ui_attach_impl(UI *ui) ui_send_all_hls(ui); } ui_refresh(); + + bool is_compositor = (ui == uis[0]); + if (!is_compositor) { + do_autocmd_uiattach(chanid, true); + } } -void ui_detach_impl(UI *ui) +void ui_detach_impl(UI *ui, uint64_t chanid) { size_t shift_index = MAX_UI_COUNT; @@ -326,6 +332,8 @@ void ui_detach_impl(UI *ui) if (!ui->ui_ext[kUIMultigrid] && !ui->ui_ext[kUIFloatDebug]) { ui_comp_detach(ui); } + + do_autocmd_uiattach(chanid, false); } void ui_set_ext_option(UI *ui, UIExtension ext, bool active) |