aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/normal.h
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-11-29 12:10:42 +0800
committerGitHub <noreply@github.com>2023-11-29 12:10:42 +0800
commit64b53b71ba5d804b2c8cf186be68931b2621f53c (patch)
tree8bee6d6d45876d11011e22143a39ca417f8485c6 /src/nvim/normal.h
parent8868ecd401f6a45d005fe68c57fbba79d32af192 (diff)
downloadrneovim-64b53b71ba5d804b2c8cf186be68931b2621f53c.tar.gz
rneovim-64b53b71ba5d804b2c8cf186be68931b2621f53c.tar.bz2
rneovim-64b53b71ba5d804b2c8cf186be68931b2621f53c.zip
refactor(IWYU): create normal_defs.h (#26293)
Diffstat (limited to 'src/nvim/normal.h')
-rw-r--r--src/nvim/normal.h81
1 files changed, 9 insertions, 72 deletions
diff --git a/src/nvim/normal.h b/src/nvim/normal.h
index 9fb332d320..dbe74712fc 100644
--- a/src/nvim/normal.h
+++ b/src/nvim/normal.h
@@ -1,81 +1,18 @@
#pragma once
-#include <stdbool.h>
-
#include "nvim/buffer_defs.h" // IWYU pragma: keep
#include "nvim/macros_defs.h"
-#include "nvim/pos_defs.h"
-
-// Values for find_ident_under_cursor()
-#define FIND_IDENT 1 // find identifier (word)
-#define FIND_STRING 2 // find any string (WORD)
-#define FIND_EVAL 4 // include "->", "[]" and "."
-
-/// Motion types, used for operators and for yank/delete registers.
-///
-/// The three valid numerical values must not be changed, as they
-/// are used in external communication and serialization.
-typedef enum {
- kMTCharWise = 0, ///< character-wise movement/register
- kMTLineWise = 1, ///< line-wise movement/register
- kMTBlockWise = 2, ///< block-wise movement/register
- kMTUnknown = -1, ///< Unknown or invalid motion type
-} MotionType;
-
-// Arguments for operators.
-typedef struct oparg_S {
- int op_type; // current pending operator type
- int regname; // register to use for the operator
- MotionType motion_type; // type of the current cursor motion
- int motion_force; // force motion type: 'v', 'V' or CTRL-V
- bool use_reg_one; // true if delete uses reg 1 even when not
- // linewise
- bool inclusive; // true if char motion is inclusive (only
- // valid when motion_type is kMTCharWise)
- bool end_adjusted; // backuped b_op_end one char (only used by
- // do_format())
- pos_T start; // start of the operator
- pos_T end; // end of the operator
- pos_T cursor_start; // cursor position before motion for "gw"
-
- linenr_T line_count; // number of lines from op_start to op_end
- // (inclusive)
- bool empty; // op_start and op_end the same (only used by
- // op_change())
- bool is_VIsual; // operator on Visual area
- colnr_T start_vcol; // start col for block mode operator
- colnr_T end_vcol; // end col for block mode operator
- int prev_opcount; // ca.opcount saved for K_EVENT
- int prev_count0; // ca.count0 saved for K_EVENT
- bool excl_tr_ws; // exclude trailing whitespace for yank of a
- // block
-} oparg_T;
-
-// Arguments for Normal mode commands.
-typedef struct cmdarg_S {
- oparg_T *oap; // Operator arguments
- int prechar; // prefix character (optional, always 'g')
- int cmdchar; // command character
- int nchar; // next command character (optional)
- int ncharC1; // first composing character (optional)
- int ncharC2; // second composing character (optional)
- int extra_char; // yet another character (optional)
- int opcount; // count before an operator
- int count0; // count before command, default 0
- int count1; // count before command, default 1
- int arg; // extra argument from nv_cmds[]
- int retval; // return: CA_* values
- char *searchbuf; // return: pointer to search pattern or NULL
-} cmdarg_T;
+#include "nvim/normal_defs.h" // IWYU pragma: export
+#include "nvim/pos_defs.h" // IWYU pragma: keep
-// values for retval:
-#define CA_COMMAND_BUSY 1 // skip restarting edit() once
-#define CA_NO_ADJ_OP_END 2 // don't adjust operator end
+/// Values for find_ident_under_cursor()
+enum {
+ FIND_IDENT = 1, ///< find identifier (word)
+ FIND_STRING = 2, ///< find any string (WORD)
+ FIND_EVAL = 4, ///< include "->", "[]" and "."
+};
-// columns needed by shown command
-#define SHOWCMD_COLS 10
-// 'showcmd' buffer shared between normal.c and statusline.c
-#define SHOWCMD_BUFLEN (SHOWCMD_COLS + 1 + 30)
+/// 'showcmd' buffer shared between normal.c and statusline.c
EXTERN char showcmd_buf[SHOWCMD_BUFLEN];
#ifdef INCLUDE_GENERATED_DECLARATIONS