aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-01-26 21:55:45 +0100
committerJustin M. Keyes <justinkz@gmail.com>2019-01-27 00:51:58 +0100
commitd760e08facda964c04c08d589135cd6b53e16196 (patch)
tree913683c743390ee232f9509c47b7939c155484ba
parent827ed144fb4cfafd2727f55e6b25e07c96962138 (diff)
downloadrneovim-d760e08facda964c04c08d589135cd6b53e16196.tar.gz
rneovim-d760e08facda964c04c08d589135cd6b53e16196.tar.bz2
rneovim-d760e08facda964c04c08d589135cd6b53e16196.zip
menu_get(): Do not include empty items
Caused by a typo: `dict` instead of `dic`. Renamed variable to `d` to make it less similar.
-rw-r--r--src/nvim/menu.c11
-rw-r--r--test/functional/ex_cmds/menu_spec.lua30
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",