mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 06:28:35 +00:00
refactor: move menu non-symbols to menu_defs.h (#19778)
This commit is contained in:
@@ -1132,43 +1132,6 @@ typedef struct {
|
|||||||
pos_T w_cursor_corr; // corrected cursor position
|
pos_T w_cursor_corr; // corrected cursor position
|
||||||
} pos_save_T;
|
} 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.
|
/// Structure which contains all information that belongs to a window.
|
||||||
///
|
///
|
||||||
/// All row numbers are relative to the start of the window, except w_winrow.
|
/// All row numbers are relative to the start of the window, except w_winrow.
|
||||||
|
@@ -47,6 +47,7 @@
|
|||||||
#include "nvim/match.h"
|
#include "nvim/match.h"
|
||||||
#include "nvim/math.h"
|
#include "nvim/math.h"
|
||||||
#include "nvim/memline.h"
|
#include "nvim/memline.h"
|
||||||
|
#include "nvim/menu.h"
|
||||||
#include "nvim/mouse.h"
|
#include "nvim/mouse.h"
|
||||||
#include "nvim/move.h"
|
#include "nvim/move.h"
|
||||||
#include "nvim/msgpack_rpc/channel.h"
|
#include "nvim/msgpack_rpc/channel.h"
|
||||||
|
@@ -6,11 +6,12 @@
|
|||||||
|
|
||||||
#include "nvim/ascii.h"
|
#include "nvim/ascii.h"
|
||||||
#include "nvim/event/loop.h"
|
#include "nvim/event/loop.h"
|
||||||
|
#include "nvim/ex_cmds_defs.h"
|
||||||
#include "nvim/ex_eval_defs.h"
|
#include "nvim/ex_eval_defs.h"
|
||||||
#include "nvim/iconv.h"
|
#include "nvim/iconv.h"
|
||||||
#include "nvim/macros.h"
|
#include "nvim/macros.h"
|
||||||
#include "nvim/mbyte.h"
|
#include "nvim/mbyte.h"
|
||||||
#include "nvim/menu.h"
|
#include "nvim/menu_defs.h"
|
||||||
#include "nvim/os/os_defs.h"
|
#include "nvim/os/os_defs.h"
|
||||||
#include "nvim/runtime.h"
|
#include "nvim/runtime.h"
|
||||||
#include "nvim/syntax_defs.h"
|
#include "nvim/syntax_defs.h"
|
||||||
|
@@ -1659,26 +1659,19 @@ void ex_emenu(exarg_T *eap)
|
|||||||
if (arg[0] && ascii_iswhite(arg[1])) {
|
if (arg[0] && ascii_iswhite(arg[1])) {
|
||||||
switch (arg[0]) {
|
switch (arg[0]) {
|
||||||
case 'n':
|
case 'n':
|
||||||
mode_idx = MENU_INDEX_NORMAL;
|
mode_idx = MENU_INDEX_NORMAL; break;
|
||||||
break;
|
|
||||||
case 'v':
|
case 'v':
|
||||||
mode_idx = MENU_INDEX_VISUAL;
|
mode_idx = MENU_INDEX_VISUAL; break;
|
||||||
break;
|
|
||||||
case 's':
|
case 's':
|
||||||
mode_idx = MENU_INDEX_SELECT;
|
mode_idx = MENU_INDEX_SELECT; break;
|
||||||
break;
|
|
||||||
case 'o':
|
case 'o':
|
||||||
mode_idx = MENU_INDEX_OP_PENDING;
|
mode_idx = MENU_INDEX_OP_PENDING; break;
|
||||||
break;
|
|
||||||
case 't':
|
case 't':
|
||||||
mode_idx = MENU_INDEX_TERMINAL;
|
mode_idx = MENU_INDEX_TERMINAL; break;
|
||||||
break;
|
|
||||||
case 'i':
|
case 'i':
|
||||||
mode_idx = MENU_INDEX_INSERT;
|
mode_idx = MENU_INDEX_INSERT; break;
|
||||||
break;
|
|
||||||
case 'c':
|
case 'c':
|
||||||
mode_idx = MENU_INDEX_CMDLINE;
|
mode_idx = MENU_INDEX_CMDLINE; break;
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
semsg(_(e_invarg2), arg);
|
semsg(_(e_invarg2), arg);
|
||||||
return;
|
return;
|
||||||
|
@@ -4,28 +4,9 @@
|
|||||||
#include <stdbool.h> // for bool
|
#include <stdbool.h> // for bool
|
||||||
|
|
||||||
#include "nvim/ex_cmds_defs.h" // for exarg_T
|
#include "nvim/ex_cmds_defs.h" // for exarg_T
|
||||||
|
#include "nvim/menu_defs.h"
|
||||||
#include "nvim/types.h" // for char_u and expand_T
|
#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
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||||
# include "menu.h.generated.h"
|
# include "menu.h.generated.h"
|
||||||
#endif
|
#endif
|
||||||
|
64
src/nvim/menu_defs.h
Normal file
64
src/nvim/menu_defs.h
Normal file
@@ -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
|
@@ -43,6 +43,7 @@
|
|||||||
#include "nvim/mark.h"
|
#include "nvim/mark.h"
|
||||||
#include "nvim/memline.h"
|
#include "nvim/memline.h"
|
||||||
#include "nvim/memory.h"
|
#include "nvim/memory.h"
|
||||||
|
#include "nvim/menu.h"
|
||||||
#include "nvim/message.h"
|
#include "nvim/message.h"
|
||||||
#include "nvim/mouse.h"
|
#include "nvim/mouse.h"
|
||||||
#include "nvim/move.h"
|
#include "nvim/move.h"
|
||||||
|
Reference in New Issue
Block a user