aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ui.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-09-11 18:44:20 -0700
committerJustin M. Keyes <justinkz@gmail.com>2019-09-12 17:04:05 -0700
commit6dd56d09025c960ef36952e3d4a1f77779782c52 (patch)
tree4619033c696a2ea5442e85a1f570ebf223541f86 /src/nvim/ui.c
parente9cf515888705640ebd754483349f2bf84c32255 (diff)
downloadrneovim-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.c12
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)