neovim

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

commit 69299380ca501558c1d844fc90075cfb7de17a15
parent 27ce21ac852cb520740210ba68062e981657b6f4
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Thu,  4 Aug 2022 14:45:05 +0800

fix(menu): make :menu still print header when there are no menus

Diffstat:
Msrc/nvim/menu.c | 16+++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/nvim/menu.c b/src/nvim/menu.c @@ -810,17 +810,23 @@ static vimmenu_T *find_menu(vimmenu_T *menu, char *name, int modes) /// Show the mapping associated with a menu item or hierarchy in a sub-menu. static int show_menus(char *const path_name, int modes) { - // First, find the (sub)menu with the given name - vimmenu_T *menu = find_menu(*get_root_menu(path_name), path_name, modes); - if (!menu) { - return FAIL; + vimmenu_T *menu = *get_root_menu(path_name); + if (menu != NULL) { + // First, find the (sub)menu with the given name + menu = find_menu(menu, path_name, modes); + if (menu == NULL) { + return FAIL; + } } + // When there are no menus at all, the title still needs to be shown. // Now we have found the matching menu, and we list the mappings // Highlight title msg_puts_title(_("\n--- Menus ---")); - show_menus_recursive(menu->parent, modes, 0); + if (menu != NULL) { + show_menus_recursive(menu->parent, modes, 0); + } return OK; }