aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ui.c
diff options
context:
space:
mode:
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)