mirror of
https://github.com/neovim/neovim.git
synced 2025-10-04 08:56:29 +00:00
@@ -7,11 +7,32 @@
|
||||
#include "nvim/main.h"
|
||||
#include "nvim/ui.h"
|
||||
#include "nvim/aucmd.h"
|
||||
#include "nvim/eval.h"
|
||||
|
||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||
# include "aucmd.c.generated.h"
|
||||
#endif
|
||||
|
||||
void do_autocmd_uiattach(uint64_t chanid, bool attached)
|
||||
{
|
||||
static bool recursive = false;
|
||||
|
||||
if (recursive) {
|
||||
return; // disallow recursion
|
||||
}
|
||||
recursive = true;
|
||||
|
||||
dict_T *dict = get_vim_var_dict(VV_EVENT);
|
||||
assert(chanid < VARNUMBER_MAX);
|
||||
tv_dict_add_nr(dict, S_LEN("chan"), (varnumber_T)chanid);
|
||||
tv_dict_set_keys_readonly(dict);
|
||||
apply_autocmds(attached ? EVENT_UIATTACH : EVENT_UIDETACH,
|
||||
NULL, NULL, false, curbuf);
|
||||
tv_dict_clear(dict);
|
||||
|
||||
recursive = false;
|
||||
}
|
||||
|
||||
static void focusgained_event(void **argv)
|
||||
{
|
||||
bool *gainedp = argv[0];
|
||||
@@ -38,4 +59,3 @@ static void do_autocmd_focusgained(bool gained)
|
||||
NULL, NULL, false, curbuf);
|
||||
recursive = false;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user