UIAttach, UIDetach

doc: ginit.vim, gvimrc
fix #3656
This commit is contained in:
Justin M. Keyes
2019-09-11 18:44:20 -07:00
parent e9cf515888
commit 6dd56d0902
14 changed files with 85 additions and 121 deletions

View File

@@ -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)