aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-08-15 10:04:05 +0800
committerGitHub <noreply@github.com>2022-08-15 10:04:05 +0800
commit1c164689a4ef243be2a0e1b4332c9b6c56b5b031 (patch)
tree5e378a5fef48777e1261b762c85753f2077256d3
parent36acb803c673baa7969244d64bd5e319b7bbc675 (diff)
downloadrneovim-1c164689a4ef243be2a0e1b4332c9b6c56b5b031.tar.gz
rneovim-1c164689a4ef243be2a0e1b4332c9b6c56b5b031.tar.bz2
rneovim-1c164689a4ef243be2a0e1b4332c9b6c56b5b031.zip
refactor: move menu non-symbols to menu_defs.h (#19778)
-rw-r--r--src/nvim/buffer_defs.h37
-rw-r--r--src/nvim/eval/funcs.c1
-rw-r--r--src/nvim/globals.h3
-rw-r--r--src/nvim/menu.c21
-rw-r--r--src/nvim/menu.h21
-rw-r--r--src/nvim/menu_defs.h64
-rw-r--r--src/nvim/normal.c1
7 files changed, 76 insertions, 72 deletions
diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h
index 89a8a99296..f5dd86cb98 100644
--- a/src/nvim/buffer_defs.h
+++ b/src/nvim/buffer_defs.h
@@ -1132,43 +1132,6 @@ typedef struct {
pos_T w_cursor_corr; // corrected cursor position
} pos_save_T;
-/// Indices into vimmenu_T->strings[] and vimmenu_T->noremap[] for each mode
-/// \addtogroup MENU_INDEX
-/// @{
-enum {
- MENU_INDEX_INVALID = -1,
- MENU_INDEX_NORMAL = 0,
- MENU_INDEX_VISUAL = 1,
- MENU_INDEX_SELECT = 2,
- MENU_INDEX_OP_PENDING = 3,
- MENU_INDEX_INSERT = 4,
- MENU_INDEX_CMDLINE = 5,
- MENU_INDEX_TERMINAL = 6,
- MENU_INDEX_TIP = 7,
- MENU_MODES = 8,
-};
-
-typedef struct VimMenu vimmenu_T;
-
-struct VimMenu {
- int modes; ///< Which modes is this menu visible for
- int enabled; ///< for which modes the menu is enabled
- char *name; ///< Name of menu, possibly translated
- char *dname; ///< Displayed Name ("name" without '&')
- char *en_name; ///< "name" untranslated, NULL when
- ///< was not translated
- char *en_dname; ///< NULL when "dname" untranslated
- int mnemonic; ///< mnemonic key (after '&')
- char *actext; ///< accelerator text (after TAB)
- long priority; ///< Menu order priority
- char *strings[MENU_MODES]; ///< Mapped string for each mode
- int noremap[MENU_MODES]; ///< A \ref REMAP_VALUES flag for each mode
- bool silent[MENU_MODES]; ///< A silent flag for each mode
- vimmenu_T *children; ///< Children of sub-menu
- vimmenu_T *parent; ///< Parent of menu
- vimmenu_T *next; ///< Next item in menu
-};
-
/// Structure which contains all information that belongs to a window.
///
/// All row numbers are relative to the start of the window, except w_winrow.
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 41445f4c9d..609d2f0f7b 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -47,6 +47,7 @@
#include "nvim/match.h"
#include "nvim/math.h"
#include "nvim/memline.h"
+#include "nvim/menu.h"
#include "nvim/mouse.h"
#include "nvim/move.h"
#include "nvim/msgpack_rpc/channel.h"
diff --git a/src/nvim/globals.h b/src/nvim/globals.h
index a3ef859276..545a2729e6 100644
--- a/src/nvim/globals.h
+++ b/src/nvim/globals.h
@@ -6,11 +6,12 @@
#include "nvim/ascii.h"
#include "nvim/event/loop.h"
+#include "nvim/ex_cmds_defs.h"
#include "nvim/ex_eval_defs.h"
#include "nvim/iconv.h"
#include "nvim/macros.h"
#include "nvim/mbyte.h"
-#include "nvim/menu.h"
+#include "nvim/menu_defs.h"
#include "nvim/os/os_defs.h"
#include "nvim/runtime.h"
#include "nvim/syntax_defs.h"
diff --git a/src/nvim/menu.c b/src/nvim/menu.c
index 16802a4e50..1aa1fb5f5a 100644
--- a/src/nvim/menu.c
+++ b/src/nvim/menu.c
@@ -1659,26 +1659,19 @@ void ex_emenu(exarg_T *eap)
if (arg[0] && ascii_iswhite(arg[1])) {
switch (arg[0]) {
case 'n':
- mode_idx = MENU_INDEX_NORMAL;
- break;
+ mode_idx = MENU_INDEX_NORMAL; break;
case 'v':
- mode_idx = MENU_INDEX_VISUAL;
- break;
+ mode_idx = MENU_INDEX_VISUAL; break;
case 's':
- mode_idx = MENU_INDEX_SELECT;
- break;
+ mode_idx = MENU_INDEX_SELECT; break;
case 'o':
- mode_idx = MENU_INDEX_OP_PENDING;
- break;
+ mode_idx = MENU_INDEX_OP_PENDING; break;
case 't':
- mode_idx = MENU_INDEX_TERMINAL;
- break;
+ mode_idx = MENU_INDEX_TERMINAL; break;
case 'i':
- mode_idx = MENU_INDEX_INSERT;
- break;
+ mode_idx = MENU_INDEX_INSERT; break;
case 'c':
- mode_idx = MENU_INDEX_CMDLINE;
- break;
+ mode_idx = MENU_INDEX_CMDLINE; break;
default:
semsg(_(e_invarg2), arg);
return;
diff --git a/src/nvim/menu.h b/src/nvim/menu.h
index 9a60ebfb83..be294a1831 100644
--- a/src/nvim/menu.h
+++ b/src/nvim/menu.h
@@ -4,28 +4,9 @@
#include <stdbool.h> // for bool
#include "nvim/ex_cmds_defs.h" // for exarg_T
+#include "nvim/menu_defs.h"
#include "nvim/types.h" // for char_u and expand_T
-/// @}
-/// note MENU_INDEX_TIP is not a 'real' mode
-
-/// Menu modes
-/// \addtogroup MENU_MODES
-/// @{
-#define MENU_NORMAL_MODE (1 << MENU_INDEX_NORMAL)
-#define MENU_VISUAL_MODE (1 << MENU_INDEX_VISUAL)
-#define MENU_SELECT_MODE (1 << MENU_INDEX_SELECT)
-#define MENU_OP_PENDING_MODE (1 << MENU_INDEX_OP_PENDING)
-#define MENU_INSERT_MODE (1 << MENU_INDEX_INSERT)
-#define MENU_CMDLINE_MODE (1 << MENU_INDEX_CMDLINE)
-#define MENU_TERMINAL_MODE (1 << MENU_INDEX_TERMINAL)
-#define MENU_TIP_MODE (1 << MENU_INDEX_TIP)
-#define MENU_ALL_MODES ((1 << MENU_INDEX_TIP) - 1)
-/// @}
-
-/// Start a menu name with this to not include it on the main menu bar
-#define MNU_HIDDEN_CHAR ']'
-
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "menu.h.generated.h"
#endif
diff --git a/src/nvim/menu_defs.h b/src/nvim/menu_defs.h
new file mode 100644
index 0000000000..5fdb222bde
--- /dev/null
+++ b/src/nvim/menu_defs.h
@@ -0,0 +1,64 @@
+#ifndef NVIM_MENU_DEFS_H
+#define NVIM_MENU_DEFS_H
+
+#include <stdbool.h> // for bool
+
+/// Indices into vimmenu_T->strings[] and vimmenu_T->noremap[] for each mode
+/// \addtogroup MENU_INDEX
+/// @{
+enum {
+ MENU_INDEX_INVALID = -1,
+ MENU_INDEX_NORMAL = 0,
+ MENU_INDEX_VISUAL = 1,
+ MENU_INDEX_SELECT = 2,
+ MENU_INDEX_OP_PENDING = 3,
+ MENU_INDEX_INSERT = 4,
+ MENU_INDEX_CMDLINE = 5,
+ MENU_INDEX_TERMINAL = 6,
+ MENU_INDEX_TIP = 7,
+ MENU_MODES = 8,
+};
+/// @}
+
+/// Menu modes
+/// \addtogroup MENU_MODES
+/// @{
+enum {
+ MENU_NORMAL_MODE = 1 << MENU_INDEX_NORMAL,
+ MENU_VISUAL_MODE = 1 << MENU_INDEX_VISUAL,
+ MENU_SELECT_MODE = 1 << MENU_INDEX_SELECT,
+ MENU_OP_PENDING_MODE = 1 << MENU_INDEX_OP_PENDING,
+ MENU_INSERT_MODE = 1 << MENU_INDEX_INSERT,
+ MENU_CMDLINE_MODE = 1 << MENU_INDEX_CMDLINE,
+ MENU_TERMINAL_MODE = 1 << MENU_INDEX_TERMINAL,
+ MENU_TIP_MODE = 1 << MENU_INDEX_TIP,
+ MENU_ALL_MODES = (1 << MENU_INDEX_TIP) - 1,
+};
+/// @}
+/// note MENU_INDEX_TIP is not a 'real' mode
+
+/// Start a menu name with this to not include it on the main menu bar
+#define MNU_HIDDEN_CHAR ']'
+
+typedef struct VimMenu vimmenu_T;
+
+struct VimMenu {
+ int modes; ///< Which modes is this menu visible for
+ int enabled; ///< for which modes the menu is enabled
+ char *name; ///< Name of menu, possibly translated
+ char *dname; ///< Displayed Name ("name" without '&')
+ char *en_name; ///< "name" untranslated, NULL when
+ ///< was not translated
+ char *en_dname; ///< NULL when "dname" untranslated
+ int mnemonic; ///< mnemonic key (after '&')
+ char *actext; ///< accelerator text (after TAB)
+ long priority; ///< Menu order priority
+ char *strings[MENU_MODES]; ///< Mapped string for each mode
+ int noremap[MENU_MODES]; ///< A \ref REMAP_VALUES flag for each mode
+ bool silent[MENU_MODES]; ///< A silent flag for each mode
+ vimmenu_T *children; ///< Children of sub-menu
+ vimmenu_T *parent; ///< Parent of menu
+ vimmenu_T *next; ///< Next item in menu
+};
+
+#endif // NVIM_MENU_DEFS_H
diff --git a/src/nvim/normal.c b/src/nvim/normal.c
index e6fa9e76c6..c28ffaa22e 100644
--- a/src/nvim/normal.c
+++ b/src/nvim/normal.c
@@ -43,6 +43,7 @@
#include "nvim/mark.h"
#include "nvim/memline.h"
#include "nvim/memory.h"
+#include "nvim/menu.h"
#include "nvim/message.h"
#include "nvim/mouse.h"
#include "nvim/move.h"