aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2022-03-01 09:07:41 +0100
committerGitHub <noreply@github.com>2022-03-01 09:07:41 +0100
commit37a86a2f964b5d6f9dbfae8b78acaa3a71f981bb (patch)
tree750ef6524088849bb3f7f044e247eb162e5a4695
parent01139ec82ccea53ac631a41cbc46d3c440ec907b (diff)
downloadrneovim-37a86a2f964b5d6f9dbfae8b78acaa3a71f981bb.tar.gz
rneovim-37a86a2f964b5d6f9dbfae8b78acaa3a71f981bb.tar.bz2
rneovim-37a86a2f964b5d6f9dbfae8b78acaa3a71f981bb.zip
fix(api): include event in get_autocmds (#17553)
-rw-r--r--src/nvim/api/autocmd.c4
-rw-r--r--src/nvim/autocmd.c2
-rw-r--r--test/functional/api/autocmd_spec.lua8
3 files changed, 13 insertions, 1 deletions
diff --git a/src/nvim/api/autocmd.c b/src/nvim/api/autocmd.c
index 6b89eb1770..ad0e78cb50 100644
--- 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
index 5d53ac6b17..dfd6c16c96 100644
--- 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
index 32a3db34a3..e50e812b4b 100644
--- 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()