neovim

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

commit 96289f24169281da419e8ce1078705258db3229b
parent 82c7a82c3585100e73e154c49e3e002b7dc35437
Author: Famiu Haque <famiuhaque@protonmail.com>
Date:   Thu,  5 May 2022 21:00:47 +0600

feat(api): add `group_name` to `nvim_get_autocmds`

Diffstat:
Mruntime/doc/api.txt | 1+
Msrc/nvim/api/autocmd.c | 2++
Mtest/functional/api/autocmd_spec.lua | 3+++
3 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/runtime/doc/api.txt b/runtime/doc/api.txt @@ -3508,6 +3508,7 @@ nvim_get_autocmds({*opts}) *nvim_get_autocmds()* • id (number): the autocommand id (only when defined with the API). • group (integer): the autocommand group id. + • group_name (string): the autocommand group name. • desc (string): the autocommand description. • event (string): the autocommand event. • command (string): the autocommand command. diff --git a/src/nvim/api/autocmd.c b/src/nvim/api/autocmd.c @@ -64,6 +64,7 @@ static int64_t next_autocmd_id = 1; /// containing the following fields: /// - id (number): the autocommand id (only when defined with the API). /// - group (integer): the autocommand group id. +/// - group_name (string): the autocommand group name. /// - desc (string): the autocommand description. /// - event (string): the autocommand event. /// - command (string): the autocommand command. @@ -269,6 +270,7 @@ Array nvim_get_autocmds(Dict(get_autocmds) *opts, Error *err) if (ap->group != AUGROUP_DEFAULT) { PUT(autocmd_info, "group", INTEGER_OBJ(ap->group)); + PUT(autocmd_info, "group_name", CSTR_TO_OBJ(augroup_name(ap->group))); } if (ac->id > 0) { diff --git a/test/functional/api/autocmd_spec.lua b/test/functional/api/autocmd_spec.lua @@ -444,6 +444,7 @@ describe('autocmd api', function() eq(1, #aus) eq([[:echo "GroupOne:1"]], aus[1].command) + eq("GroupOne", aus[1].group_name) end) it('should return only the group specified, multiple values', function() @@ -454,7 +455,9 @@ describe('autocmd api', function() eq(2, #aus) eq([[:echo "GroupTwo:2"]], aus[1].command) + eq("GroupTwo", aus[1].group_name) eq([[:echo "GroupTwo:3"]], aus[2].command) + eq("GroupTwo", aus[2].group_name) end) end)