diff options
-rw-r--r-- | src/nvim/menu.c | 11 | ||||
-rw-r--r-- | test/functional/ex_cmds/menu_spec.lua | 30 |
2 files changed, 20 insertions, 21 deletions
diff --git a/src/nvim/menu.c b/src/nvim/menu.c index 0183f1d276..805952f395 100644 --- a/src/nvim/menu.c +++ b/src/nvim/menu.c @@ -660,7 +660,8 @@ static void free_menu_string(vimmenu_T *menu, int idx) /// /// @param[in] menu if null, starts from root_menu /// @param modes, a choice of \ref MENU_MODES -/// @return a dict with name/commands +/// @return dict with name/commands +/// @see show_menus_recursive /// @see menu_get static dict_T *menu_get_recursive(const vimmenu_T *menu, int modes) { @@ -715,10 +716,10 @@ static dict_T *menu_get_recursive(const vimmenu_T *menu, int modes) // visit recursively all children list_T *const children_list = tv_list_alloc(kListLenMayKnow); for (menu = menu->children; menu != NULL; menu = menu->next) { - dict_T *dic = menu_get_recursive(menu, modes); - if (tv_dict_len(dict) > 0) { - tv_list_append_dict(children_list, dic); - } + dict_T *d = menu_get_recursive(menu, modes); + if (tv_dict_len(d) > 0) { + tv_list_append_dict(children_list, d); + } } tv_dict_add_list(dict, S_LEN("submenus"), children_list); } diff --git a/test/functional/ex_cmds/menu_spec.lua b/test/functional/ex_cmds/menu_spec.lua index d06af45be0..07a40c7a2c 100644 --- a/test/functional/ex_cmds/menu_spec.lua +++ b/test/functional/ex_cmds/menu_spec.lua @@ -63,19 +63,21 @@ describe('menu_get', function() before_each(function() clear() - command('nnoremenu &Test.Test inormal<ESC>') - command('inoremenu Test.Test insert') - command('vnoremenu Test.Test x') - command('cnoremenu Test.Test cmdmode') - command('menu Test.Nested.test level1') - command('menu Test.Nested.Nested2 level2') + command([=[ + nnoremenu &Test.Test inormal<ESC> + inoremenu Test.Test insert + vnoremenu Test.Test x + cnoremenu Test.Test cmdmode + menu Test.Nested.test level1 + menu Test.Nested.Nested2 level2 - command('nnoremenu <script> Export.Script p') - command('tmenu Export.Script This is the tooltip') - command('menu ]Export.hidden thisoneshouldbehidden') + nnoremenu <script> Export.Script p + tmenu Export.Script This is the tooltip + menu ]Export.hidden thisoneshouldbehidden - command('nnoremenu Edit.Paste p') - command('cnoremenu Edit.Paste <C-R>"') + nnoremenu Edit.Paste p + cnoremenu Edit.Paste <C-R>" + ]=]) end) it("path='', modes='a'", function() @@ -306,7 +308,7 @@ describe('menu_get', function() eq(expected, m) end) - it('matching path, default modes', function() + it('matching path, all modes', function() local m = funcs.menu_get("Export", "a") local expected = { { @@ -349,8 +351,6 @@ describe('menu_get', function() name = "Test", hidden = 0 }, - { - } }, priority = 500, name = "Test" @@ -379,8 +379,6 @@ describe('menu_get', function() name = "Test", hidden = 0 }, - { - }, }, priority = 500, name = "Test", |