aboutsummaryrefslogtreecommitdiff
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
parent8868ecd401f6a45d005fe68c57fbba79d32af192 (diff)
downloadrneovim-64b53b71ba5d804b2c8cf186be68931b2621f53c.tar.gz
rneovim-64b53b71ba5d804b2c8cf186be68931b2621f53c.tar.bz2
rneovim-64b53b71ba5d804b2c8cf186be68931b2621f53c.zip
refactor(IWYU): create normal_defs.h (#26293)
-rw-r--r--Makefile1
-rwxr-xr-xsrc/clint.py1
-rw-r--r--src/nvim/api/vim.c1
-rw-r--r--src/nvim/bufwrite.c1
-rw-r--r--src/nvim/drawscreen.c1
-rw-r--r--src/nvim/ex_cmds_defs.h2
-rw-r--r--src/nvim/mouse.h9
-rw-r--r--src/nvim/normal.h81
-rw-r--r--src/nvim/normal_defs.h69
-rw-r--r--src/nvim/option.h2
-rw-r--r--src/nvim/os/shell.c1
-rw-r--r--src/nvim/search.h5
-rw-r--r--src/nvim/spell.c1
-rw-r--r--src/nvim/spellsuggest.c1
-rw-r--r--src/nvim/tag.c1
-rw-r--r--src/nvim/textformat.c1
-rw-r--r--src/nvim/textformat.h2
-rw-r--r--src/nvim/textobject.c1
-rw-r--r--src/nvim/textobject.h4
-rw-r--r--src/nvim/window.c1
20 files changed, 90 insertions, 96 deletions
diff --git a/Makefile b/Makefile
index 107ec4acb1..b1c39d5816 100644
--- a/Makefile
+++ b/Makefile
@@ -224,7 +224,6 @@ iwyu: build/.ran-cmake
|src/nvim/search.h\
|src/nvim/spell.h\
|src/nvim/syntax.h\
- |src/nvim/textformat.h\
|src/nvim/textobject.h\
|src/nvim/tui/input.h\
|src/nvim/tui/tui.h\
diff --git a/src/clint.py b/src/clint.py
index 91fee4917a..ef2ac57a87 100755
--- a/src/clint.py
+++ b/src/clint.py
@@ -979,7 +979,6 @@ def CheckIncludes(filename, lines, error):
"src/nvim/search.h",
"src/nvim/spell.h",
"src/nvim/syntax.h",
- "src/nvim/textformat.h",
"src/nvim/textobject.h",
"src/nvim/tui/input.h",
"src/nvim/tui/tui.h",
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index fdf12cba9e..d631b10af9 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -55,7 +55,6 @@
#include "nvim/option_vars.h"
#include "nvim/optionstr.h"
#include "nvim/os/input.h"
-#include "nvim/os/os_defs.h"
#include "nvim/os/process.h"
#include "nvim/popupmenu.h"
#include "nvim/pos_defs.h"
diff --git a/src/nvim/bufwrite.c b/src/nvim/bufwrite.c
index 0525e9ccc4..178218729a 100644
--- a/src/nvim/bufwrite.c
+++ b/src/nvim/bufwrite.c
@@ -38,7 +38,6 @@
#include "nvim/option_vars.h"
#include "nvim/os/fs.h"
#include "nvim/os/input.h"
-#include "nvim/os/os.h"
#include "nvim/path.h"
#include "nvim/pos_defs.h"
#include "nvim/sha256.h"
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c
index 8873dc01b1..ea33c39178 100644
--- a/src/nvim/drawscreen.c
+++ b/src/nvim/drawscreen.c
@@ -92,7 +92,6 @@
#include "nvim/normal.h"
#include "nvim/option.h"
#include "nvim/option_vars.h"
-#include "nvim/os/os_defs.h"
#include "nvim/plines.h"
#include "nvim/popupmenu.h"
#include "nvim/pos_defs.h"
diff --git a/src/nvim/ex_cmds_defs.h b/src/nvim/ex_cmds_defs.h
index ffdb4ba6af..00363884ec 100644
--- a/src/nvim/ex_cmds_defs.h
+++ b/src/nvim/ex_cmds_defs.h
@@ -5,7 +5,7 @@
#include "nvim/eval/typval_defs.h"
#include "nvim/ex_eval_defs.h"
-#include "nvim/normal.h"
+#include "nvim/normal_defs.h"
#include "nvim/pos_defs.h"
#include "nvim/regexp_defs.h"
diff --git a/src/nvim/mouse.h b/src/nvim/mouse.h
index 5d2475005e..928b3e360b 100644
--- a/src/nvim/mouse.h
+++ b/src/nvim/mouse.h
@@ -1,11 +1,10 @@
#pragma once
-#include <stdbool.h>
-
-#include "nvim/buffer_defs.h"
-#include "nvim/normal.h"
+#include "nvim/buffer_defs.h" // IWYU pragma: keep
+#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
+#include "nvim/normal_defs.h" // IWYU pragma: keep
+#include "nvim/types_defs.h" // IWYU pragma: keep
#include "nvim/vim_defs.h"
-#include "nvim/window.h"
/// jump_to_mouse() returns one of first five these values, possibly with
/// some of the other five added.
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
diff --git a/src/nvim/normal_defs.h b/src/nvim/normal_defs.h
new file mode 100644
index 0000000000..dcb7aa6186
--- /dev/null
+++ b/src/nvim/normal_defs.h
@@ -0,0 +1,69 @@
+#pragma once
+
+#include <stdbool.h>
+
+#include "nvim/pos_defs.h"
+
+/// 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;
+
+/// values for retval:
+enum {
+ CA_COMMAND_BUSY = 1, ///< skip restarting edit() once
+ CA_NO_ADJ_OP_END = 2, ///< don't adjust operator end
+};
+
+/// columns needed by shown command
+enum { SHOWCMD_COLS = 10, };
+enum { SHOWCMD_BUFLEN = SHOWCMD_COLS + 1 + 30, };
diff --git a/src/nvim/option.h b/src/nvim/option.h
index 4d89d354f9..ebf8e0417d 100644
--- a/src/nvim/option.h
+++ b/src/nvim/option.h
@@ -1,6 +1,7 @@
#pragma once
#include <stdint.h>
+#include <stdio.h> // IWYU pragma: keep
#include "nvim/api/private/defs.h" // IWYU pragma: keep
#include "nvim/api/private/helpers.h"
@@ -8,7 +9,6 @@
#include "nvim/eval/typval_defs.h"
#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
#include "nvim/option_defs.h" // IWYU pragma: export
-#include "nvim/search.h"
#include "nvim/types_defs.h" // IWYU pragma: keep
/// The options that are local to a window or buffer have "indir" set to one of
diff --git a/src/nvim/os/shell.c b/src/nvim/os/shell.c
index 0aaa7be2b8..994c67ae4c 100644
--- a/src/nvim/os/shell.c
+++ b/src/nvim/os/shell.c
@@ -31,7 +31,6 @@
#include "nvim/message.h"
#include "nvim/option_vars.h"
#include "nvim/os/fs.h"
-#include "nvim/os/os_defs.h"
#include "nvim/os/shell.h"
#include "nvim/os/signal.h"
#include "nvim/os/time.h"
diff --git a/src/nvim/search.h b/src/nvim/search.h
index c86bb2700f..48ca555e7f 100644
--- a/src/nvim/search.h
+++ b/src/nvim/search.h
@@ -5,9 +5,10 @@
#include "nvim/buffer_defs.h"
#include "nvim/eval/typval_defs.h"
-#include "nvim/normal.h"
-#include "nvim/os/time.h"
+#include "nvim/normal_defs.h" // IWYU pragma: keep
+#include "nvim/os/time_defs.h"
#include "nvim/pos_defs.h"
+#include "nvim/regexp_defs.h" // IWYU pragma: keep
#include "nvim/types_defs.h"
#include "nvim/vim_defs.h"
diff --git a/src/nvim/spell.c b/src/nvim/spell.c
index 0b4f363d64..905f5c25b4 100644
--- a/src/nvim/spell.c
+++ b/src/nvim/spell.c
@@ -91,7 +91,6 @@
#include "nvim/option_vars.h"
#include "nvim/os/fs.h"
#include "nvim/os/input.h"
-#include "nvim/os/os_defs.h"
#include "nvim/path.h"
#include "nvim/pos_defs.h"
#include "nvim/regexp.h"
diff --git a/src/nvim/spellsuggest.c b/src/nvim/spellsuggest.c
index 0a48e613ed..d9dd28527e 100644
--- a/src/nvim/spellsuggest.c
+++ b/src/nvim/spellsuggest.c
@@ -36,7 +36,6 @@
#include "nvim/option_vars.h"
#include "nvim/os/fs.h"
#include "nvim/os/input.h"
-#include "nvim/os/os_defs.h"
#include "nvim/pos_defs.h"
#include "nvim/profile.h"
#include "nvim/spell.h"
diff --git a/src/nvim/tag.c b/src/nvim/tag.c
index 3b6a1bfe85..f99f0dc612 100644
--- a/src/nvim/tag.c
+++ b/src/nvim/tag.c
@@ -44,7 +44,6 @@
#include "nvim/optionstr.h"
#include "nvim/os/fs.h"
#include "nvim/os/input.h"
-#include "nvim/os/os_defs.h"
#include "nvim/os/time.h"
#include "nvim/path.h"
#include "nvim/pos_defs.h"
diff --git a/src/nvim/textformat.c b/src/nvim/textformat.c
index 25a197d401..64c698f48f 100644
--- a/src/nvim/textformat.c
+++ b/src/nvim/textformat.c
@@ -26,7 +26,6 @@
#include "nvim/memory.h"
#include "nvim/message.h"
#include "nvim/move.h"
-#include "nvim/normal.h"
#include "nvim/ops.h"
#include "nvim/option.h"
#include "nvim/option_vars.h"
diff --git a/src/nvim/textformat.h b/src/nvim/textformat.h
index b86df20f13..25e7152f1b 100644
--- a/src/nvim/textformat.h
+++ b/src/nvim/textformat.h
@@ -1,6 +1,6 @@
#pragma once
-#include "nvim/normal.h"
+#include "nvim/normal_defs.h" // IWYU pragma: keep
#include "nvim/pos_defs.h" // IWYU pragma: keep
#ifdef INCLUDE_GENERATED_DECLARATIONS
diff --git a/src/nvim/textobject.c b/src/nvim/textobject.c
index 3a0a3cc659..d4310d47a4 100644
--- a/src/nvim/textobject.c
+++ b/src/nvim/textobject.c
@@ -20,7 +20,6 @@
#include "nvim/memline.h"
#include "nvim/memory.h"
#include "nvim/move.h"
-#include "nvim/normal.h"
#include "nvim/option_vars.h"
#include "nvim/pos_defs.h"
#include "nvim/search.h"
diff --git a/src/nvim/textobject.h b/src/nvim/textobject.h
index 2ca5be43b7..a540c7c98f 100644
--- a/src/nvim/textobject.h
+++ b/src/nvim/textobject.h
@@ -1,7 +1,7 @@
#pragma once
-#include "nvim/normal.h"
-#include "nvim/pos_defs.h"
+#include "nvim/normal_defs.h" // IWYU pragma: keep
+#include "nvim/pos_defs.h" // IWYU pragma: keep
#include "nvim/vim_defs.h"
#ifdef INCLUDE_GENERATED_DECLARATIONS
diff --git a/src/nvim/window.c b/src/nvim/window.c
index ff62531dc7..ce038d2723 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -57,7 +57,6 @@
#include "nvim/option_defs.h"
#include "nvim/option_vars.h"
#include "nvim/os/fs.h"
-#include "nvim/os/os_defs.h"
#include "nvim/path.h"
#include "nvim/plines.h"
#include "nvim/pos_defs.h"