1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6static int add_menu_path(const char_u *const menu_path, vimmenu_T *menuarg, const long *const pri_tab, const char_u *const call_data );
7static int menu_enable_recurse(vimmenu_T *menu, char_u *name, int modes, int enable);
8static int remove_menu(vimmenu_T **menup, char_u *name, int modes, _Bool silent );
9static void free_menu(vimmenu_T **menup);
10static void free_menu_string(vimmenu_T *menu, int idx);
11static dict_T *menu_get_recursive(const vimmenu_T *menu, int modes);
12static vimmenu_T *find_menu(vimmenu_T *menu, char_u *name, int modes);
13static int show_menus(char_u *const path_name, int modes);
14static void show_menus_recursive(vimmenu_T *menu, int modes, int depth);
15static _Bool menu_name_equal(const char_u *const name, vimmenu_T *const menu);
16static _Bool menu_namecmp(const char_u *const name, const char_u *const mname);
17static char_u *popup_mode_name(char_u *name, int idx);
18static char_u *menu_text(const char_u *str, int *mnemonic, char_u **actext) FUNC_ATTR_NONNULL_RET FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ARG(1);
19static int menu_is_hidden(char_u *name);
20static char_u *menu_skip_part(char_u *p);
21static char_u *menutrans_lookup(char_u *name, int len);
22static void menu_unescape_name(char_u *name);
23static char_u *menu_translate_tab_and_shift(char_u *arg_start);
24#include "nvim/func_attr.h"
25