neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 37a86a2f964b5d6f9dbfae8b78acaa3a71f981bb
parent 01139ec82ccea53ac631a41cbc46d3c440ec907b
Author: Christian Clason <c.clason@uni-graz.at>
Date:   Tue,  1 Mar 2022 09:07:41 +0100

fix(api): include event in get_autocmds (#17553)


Diffstat:
Msrc/nvim/api/autocmd.c | 4++++
Msrc/nvim/autocmd.c | 2+-
Mtest/functional/api/autocmd_spec.lua | 8++++++++
3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/nvim/api/autocmd.c b/src/nvim/api/autocmd.c @@ -197,6 +197,10 @@ Array nvim_get_autocmds(Dict(get_autocmds) *opts, Error *err) "pattern", STRING_OBJ(cstr_to_string((char *)ap->pat))); + PUT(autocmd_info, + "event", + STRING_OBJ(cstr_to_string((char *)event_nr2name(event)))); + PUT(autocmd_info, "once", BOOLEAN_OBJ(ac->once)); if (ap->buflocal_nr) { diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c @@ -598,7 +598,7 @@ event_T event_name2nr(const char_u *start, char_u **end) /// @param[in] event Event to return name for. /// /// @return Event name, static string. Returns "Unknown" for unknown events. -static const char *event_nr2name(event_T event) +const char *event_nr2name(event_T event) FUNC_ATTR_NONNULL_RET FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_CONST { int i; diff --git a/test/functional/api/autocmd_spec.lua b/test/functional/api/autocmd_spec.lua @@ -217,6 +217,14 @@ describe('autocmd api', function() eq(1, #new_aus) eq(first, new_aus[1]) end) + + it('should return event name', function() + command [[au! InsertEnter]] + command [[au InsertEnter * :echo "1"]] + + local aus = meths.get_autocmds { event = "InsertEnter" } + eq({ { buflocal = false, command = ':echo "1"', event = "InsertEnter", once = false, pattern = "*" } }, aus) + end) end) describe('groups', function()