aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-11-27 09:51:26 +0800
committerGitHub <noreply@github.com>2023-11-27 09:51:26 +0800
commit09541d514dd18bf86f673d3784d406236fcbdad8 (patch)
treea719e36a3161d84714cd2f5e6e70f21f5410fb5c /src
parent7e2387f41be7cd8304fe48bfa089f2bea155dd5a (diff)
downloadrneovim-09541d514dd18bf86f673d3784d406236fcbdad8.tar.gz
rneovim-09541d514dd18bf86f673d3784d406236fcbdad8.tar.bz2
rneovim-09541d514dd18bf86f673d3784d406236fcbdad8.zip
build(IWYU): replace public-to-public mappings with pragmas (#26237)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/clint.py2
-rw-r--r--src/nvim/api/ui.c1
-rw-r--r--src/nvim/api/vim.c1
-rw-r--r--src/nvim/arglist.h8
-rw-r--r--src/nvim/buffer.h2
-rw-r--r--src/nvim/cmdexpand.h6
-rw-r--r--src/nvim/decoration.h2
-rw-r--r--src/nvim/eval/funcs.c1
-rw-r--r--src/nvim/eval/typval.h2
-rw-r--r--src/nvim/ex_cmds.h2
-rw-r--r--src/nvim/ex_eval.h4
-rw-r--r--src/nvim/extmark.h2
-rw-r--r--src/nvim/fold.h6
-rw-r--r--src/nvim/garray.h2
-rw-r--r--src/nvim/getchar.h4
-rw-r--r--src/nvim/gettext.h2
-rw-r--r--src/nvim/grid.h2
-rw-r--r--src/nvim/highlight.h7
-rw-r--r--src/nvim/mapping.h14
-rw-r--r--src/nvim/mark.h2
-rw-r--r--src/nvim/mbyte.h6
-rw-r--r--src/nvim/memfile.h4
-rw-r--r--src/nvim/memline.h3
-rw-r--r--src/nvim/menu.h6
-rw-r--r--src/nvim/msgpack_rpc/channel.h1
-rw-r--r--src/nvim/option.h6
-rw-r--r--src/nvim/os/fs.h2
-rw-r--r--src/nvim/os/os.h1
-rw-r--r--src/nvim/os/pty_process_unix.h1
-rw-r--r--src/nvim/os/pty_process_win.h1
-rw-r--r--src/nvim/os/unix_defs.h9
-rw-r--r--src/nvim/os/win_defs.h1
-rw-r--r--src/nvim/regexp.h4
-rw-r--r--src/nvim/sign.h8
-rw-r--r--src/nvim/spell.h4
-rw-r--r--src/nvim/statusline.h4
-rw-r--r--src/nvim/syntax.h7
-rw-r--r--src/nvim/tui/input.h2
-rw-r--r--src/nvim/ui_client.c1
-rw-r--r--src/nvim/undo.h5
40 files changed, 76 insertions, 72 deletions
diff --git a/src/clint.py b/src/clint.py
index ee2f3cc00f..6e4d419b38 100755
--- a/src/clint.py
+++ b/src/clint.py
@@ -1090,7 +1090,7 @@ def CheckIncludes(filename, lines, error):
return
for i, line in enumerate(lines):
- matched = Match(r'#\s*include\s*"([^"]*)"$', line)
+ matched = Match(r'#\s*include\s*"([^"]*)"', line)
if matched:
name = matched.group(1)
if (not name.endswith('.h.generated.h') and
diff --git a/src/nvim/api/ui.c b/src/nvim/api/ui.c
index c1fc986029..52165420b2 100644
--- a/src/nvim/api/ui.c
+++ b/src/nvim/api/ui.c
@@ -26,7 +26,6 @@
#include "nvim/mbyte.h"
#include "nvim/memory.h"
#include "nvim/msgpack_rpc/channel.h"
-#include "nvim/msgpack_rpc/channel_defs.h"
#include "nvim/msgpack_rpc/helpers.h"
#include "nvim/option.h"
#include "nvim/types.h"
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c
index 27b48c0b28..b4e9af491f 100644
--- a/src/nvim/api/vim.c
+++ b/src/nvim/api/vim.c
@@ -48,7 +48,6 @@
#include "nvim/message.h"
#include "nvim/move.h"
#include "nvim/msgpack_rpc/channel.h"
-#include "nvim/msgpack_rpc/channel_defs.h"
#include "nvim/msgpack_rpc/unpacker.h"
#include "nvim/ops.h"
#include "nvim/option.h"
diff --git a/src/nvim/arglist.h b/src/nvim/arglist.h
index 82c7dd54ef..6ca73291d8 100644
--- a/src/nvim/arglist.h
+++ b/src/nvim/arglist.h
@@ -1,9 +1,9 @@
#pragma once
-#include "nvim/arglist_defs.h"
-#include "nvim/cmdexpand_defs.h"
-#include "nvim/eval/typval_defs.h"
-#include "nvim/ex_cmds_defs.h"
+#include "nvim/arglist_defs.h" // IWYU pragma: export
+#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
+#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
+#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
#include "nvim/types.h"
#ifdef INCLUDE_GENERATED_DECLARATIONS
diff --git a/src/nvim/buffer.h b/src/nvim/buffer.h
index 83c9e20041..6069022178 100644
--- a/src/nvim/buffer.h
+++ b/src/nvim/buffer.h
@@ -4,7 +4,7 @@
#include <stdbool.h>
#include <stddef.h>
-#include "nvim/buffer_defs.h"
+#include "nvim/buffer_defs.h" // IWYU pragma: export
#include "nvim/eval/typval.h"
#include "nvim/eval/typval_defs.h"
#include "nvim/ex_cmds_defs.h"
diff --git a/src/nvim/cmdexpand.h b/src/nvim/cmdexpand.h
index dabef1125e..21578aaa34 100644
--- a/src/nvim/cmdexpand.h
+++ b/src/nvim/cmdexpand.h
@@ -1,9 +1,9 @@
#pragma once
-#include "nvim/cmdexpand_defs.h"
-#include "nvim/eval/typval_defs.h"
+#include "nvim/cmdexpand_defs.h" // IWYU pragma: export
+#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
#include "nvim/ex_getln.h"
-#include "nvim/garray_defs.h"
+#include "nvim/garray_defs.h" // IWYU pragma: keep
#include "nvim/types.h"
// Values for nextwild() and ExpandOne(). See ExpandOne() for meaning.
diff --git a/src/nvim/decoration.h b/src/nvim/decoration.h
index d5fd83e9d4..e2fcb5bc00 100644
--- a/src/nvim/decoration.h
+++ b/src/nvim/decoration.h
@@ -6,7 +6,7 @@
#include "klib/kvec.h"
#include "nvim/buffer_defs.h"
-#include "nvim/decoration_defs.h"
+#include "nvim/decoration_defs.h" // IWYU pragma: export
#include "nvim/extmark_defs.h"
#include "nvim/macros.h"
#include "nvim/marktree.h"
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 2e9dce8b5b..fca1534dfc 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -82,7 +82,6 @@
#include "nvim/message.h"
#include "nvim/move.h"
#include "nvim/msgpack_rpc/channel.h"
-#include "nvim/msgpack_rpc/channel_defs.h"
#include "nvim/msgpack_rpc/server.h"
#include "nvim/normal.h"
#include "nvim/ops.h"
diff --git a/src/nvim/eval/typval.h b/src/nvim/eval/typval.h
index b9f2f9b1b0..252dea2b64 100644
--- a/src/nvim/eval/typval.h
+++ b/src/nvim/eval/typval.h
@@ -6,7 +6,7 @@
#include <stdint.h>
#include <string.h>
-#include "nvim/eval/typval_defs.h"
+#include "nvim/eval/typval_defs.h" // IWYU pragma: export
#include "nvim/func_attr.h"
#include "nvim/garray_defs.h"
#include "nvim/gettext.h"
diff --git a/src/nvim/ex_cmds.h b/src/nvim/ex_cmds.h
index 493b17431c..c1cbaffa0b 100644
--- a/src/nvim/ex_cmds.h
+++ b/src/nvim/ex_cmds.h
@@ -4,7 +4,7 @@
#include "nvim/buffer_defs.h"
#include "nvim/eval/typval_defs.h"
-#include "nvim/ex_cmds_defs.h"
+#include "nvim/ex_cmds_defs.h" // IWYU pragma: export
#include "nvim/os/time.h"
#include "nvim/pos.h"
diff --git a/src/nvim/ex_eval.h b/src/nvim/ex_eval.h
index bf39341ce4..0294acd109 100644
--- a/src/nvim/ex_eval.h
+++ b/src/nvim/ex_eval.h
@@ -1,7 +1,7 @@
#pragma once
-#include "nvim/ex_cmds_defs.h"
-#include "nvim/ex_eval_defs.h"
+#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
+#include "nvim/ex_eval_defs.h" // IWYU pragma: export
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "ex_eval.h.generated.h"
diff --git a/src/nvim/extmark.h b/src/nvim/extmark.h
index 1288714462..d89a59f95a 100644
--- a/src/nvim/extmark.h
+++ b/src/nvim/extmark.h
@@ -7,7 +7,7 @@
#include "klib/kvec.h"
#include "nvim/buffer_defs.h"
#include "nvim/decoration.h"
-#include "nvim/extmark_defs.h"
+#include "nvim/extmark_defs.h" // IWYU pragma: export
#include "nvim/macros.h"
#include "nvim/marktree.h"
#include "nvim/pos.h"
diff --git a/src/nvim/fold.h b/src/nvim/fold.h
index 9992295ca4..630b673b58 100644
--- a/src/nvim/fold.h
+++ b/src/nvim/fold.h
@@ -2,9 +2,9 @@
#include <stdio.h>
-#include "nvim/buffer_defs.h"
-#include "nvim/fold_defs.h"
-#include "nvim/garray_defs.h"
+#include "nvim/buffer_defs.h" // IWYU pragma: keep
+#include "nvim/fold_defs.h" // IWYU pragma: export
+#include "nvim/garray_defs.h" // IWYU pragma: keep
#include "nvim/macros.h"
#include "nvim/pos.h"
#include "nvim/types.h"
diff --git a/src/nvim/garray.h b/src/nvim/garray.h
index bebf6fc35f..6bfbb583c4 100644
--- a/src/nvim/garray.h
+++ b/src/nvim/garray.h
@@ -3,7 +3,7 @@
#include <stdbool.h>
#include <stddef.h>
-#include "nvim/garray_defs.h"
+#include "nvim/garray_defs.h" // IWYU pragma: export
#include "nvim/log.h"
#include "nvim/memory.h"
#include "nvim/types.h"
diff --git a/src/nvim/getchar.h b/src/nvim/getchar.h
index c97c7d6d74..a1f5d92ffa 100644
--- a/src/nvim/getchar.h
+++ b/src/nvim/getchar.h
@@ -3,8 +3,8 @@
#include <stdbool.h>
#include <stdint.h>
-#include "nvim/eval/typval_defs.h"
-#include "nvim/getchar_defs.h"
+#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
+#include "nvim/getchar_defs.h" // IWYU pragma: export
#include "nvim/os/fileio.h"
#include "nvim/types.h"
diff --git a/src/nvim/gettext.h b/src/nvim/gettext.h
index cbc080e7b7..2c7b5626d2 100644
--- a/src/nvim/gettext.h
+++ b/src/nvim/gettext.h
@@ -1,7 +1,7 @@
#pragma once
#ifdef HAVE_WORKING_LIBINTL
-# include <libintl.h>
+# include <libintl.h> // IWYU pragma: export
# define _(x) gettext(x) // NOLINT(bugprone-reserved-identifier)
// XXX do we actually need this?
# ifdef gettext_noop
diff --git a/src/nvim/grid.h b/src/nvim/grid.h
index ef9c4e1b87..b2766c27bd 100644
--- a/src/nvim/grid.h
+++ b/src/nvim/grid.h
@@ -5,7 +5,7 @@
#include "nvim/ascii.h"
#include "nvim/buffer_defs.h"
-#include "nvim/grid_defs.h"
+#include "nvim/grid_defs.h" // IWYU pragma: export
#include "nvim/macros.h"
#include "nvim/mbyte.h"
#include "nvim/memory.h"
diff --git a/src/nvim/highlight.h b/src/nvim/highlight.h
index 9c3a07d7ab..9212c96bcc 100644
--- a/src/nvim/highlight.h
+++ b/src/nvim/highlight.h
@@ -3,10 +3,9 @@
#include <stdbool.h>
#include "nvim/api/keysets.h"
-#include "nvim/api/private/defs.h"
-#include "nvim/buffer_defs.h"
-#include "nvim/highlight_defs.h"
-#include "nvim/option_defs.h"
+#include "nvim/api/private/defs.h" // IWYU pragma: keep
+#include "nvim/buffer_defs.h" // IWYU pragma: keep
+#include "nvim/highlight_defs.h" // IWYU pragma: export
#include "nvim/option_vars.h"
#include "nvim/ui.h"
diff --git a/src/nvim/mapping.h b/src/nvim/mapping.h
index 68f272ee42..1df05146ef 100644
--- a/src/nvim/mapping.h
+++ b/src/nvim/mapping.h
@@ -5,13 +5,13 @@
#include <stdint.h>
#include "nvim/api/keysets.h"
-#include "nvim/api/private/defs.h"
-#include "nvim/cmdexpand_defs.h"
-#include "nvim/eval/typval_defs.h"
-#include "nvim/ex_cmds_defs.h"
-#include "nvim/mapping_defs.h"
-#include "nvim/option_defs.h"
-#include "nvim/regexp_defs.h"
+#include "nvim/api/private/defs.h" // IWYU pragma: keep
+#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
+#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
+#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
+#include "nvim/mapping_defs.h" // IWYU pragma: export
+#include "nvim/option_defs.h" // IWYU pragma: keep
+#include "nvim/regexp_defs.h" // IWYU pragma: keep
#include "nvim/types.h"
/// Used for the first argument of do_map()
diff --git a/src/nvim/mark.h b/src/nvim/mark.h
index c74e81df0e..ee84b00797 100644
--- a/src/nvim/mark.h
+++ b/src/nvim/mark.h
@@ -9,7 +9,7 @@
#include "nvim/extmark_defs.h"
#include "nvim/func_attr.h"
#include "nvim/macros.h"
-#include "nvim/mark_defs.h"
+#include "nvim/mark_defs.h" // IWYU pragma: export
#include "nvim/memory.h"
#include "nvim/os/time.h"
#include "nvim/pos.h"
diff --git a/src/nvim/mbyte.h b/src/nvim/mbyte.h
index c177f14ce2..4e2ba21f47 100644
--- a/src/nvim/mbyte.h
+++ b/src/nvim/mbyte.h
@@ -4,11 +4,11 @@
#include <stdint.h>
#include <string.h>
-#include "nvim/cmdexpand_defs.h"
-#include "nvim/eval/typval_defs.h"
+#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
+#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
#include "nvim/func_attr.h"
#include "nvim/grid_defs.h"
-#include "nvim/mbyte_defs.h"
+#include "nvim/mbyte_defs.h" // IWYU pragma: export
#include "nvim/os/os_defs.h"
#include "nvim/types.h"
diff --git a/src/nvim/memfile.h b/src/nvim/memfile.h
index fb453778cc..753806b3c3 100644
--- a/src/nvim/memfile.h
+++ b/src/nvim/memfile.h
@@ -1,7 +1,7 @@
#pragma once
-#include "nvim/buffer_defs.h"
-#include "nvim/memfile_defs.h"
+#include "nvim/buffer_defs.h" // IWYU pragma: keep
+#include "nvim/memfile_defs.h" // IWYU pragma: export
/// flags for mf_sync()
#define MFS_ALL 1 /// also sync blocks with negative numbers
diff --git a/src/nvim/memline.h b/src/nvim/memline.h
index 97a1f99b85..8a49c4faaf 100644
--- a/src/nvim/memline.h
+++ b/src/nvim/memline.h
@@ -1,6 +1,7 @@
#pragma once
-#include "nvim/buffer_defs.h"
+#include "nvim/buffer_defs.h" // IWYU pragma: keep
+#include "nvim/memline_defs.h" // IWYU pragma: export
#include "nvim/pos.h"
#include "nvim/types.h"
diff --git a/src/nvim/menu.h b/src/nvim/menu.h
index 7da78a64a3..1c59789260 100644
--- a/src/nvim/menu.h
+++ b/src/nvim/menu.h
@@ -2,9 +2,9 @@
#include <stdbool.h>
-#include "nvim/cmdexpand_defs.h"
-#include "nvim/ex_cmds_defs.h"
-#include "nvim/menu_defs.h"
+#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
+#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
+#include "nvim/menu_defs.h" // IWYU pragma: export
#include "nvim/types.h"
#ifdef INCLUDE_GENERATED_DECLARATIONS
diff --git a/src/nvim/msgpack_rpc/channel.h b/src/nvim/msgpack_rpc/channel.h
index e2b7f5d8d1..ac189c98dc 100644
--- a/src/nvim/msgpack_rpc/channel.h
+++ b/src/nvim/msgpack_rpc/channel.h
@@ -9,6 +9,7 @@
#include "nvim/event/process.h"
#include "nvim/event/socket.h"
#include "nvim/macros.h"
+#include "nvim/msgpack_rpc/channel_defs.h" // IWYU pragma: export
#include "nvim/vim.h"
#define METHOD_MAXLEN 512
diff --git a/src/nvim/option.h b/src/nvim/option.h
index f60810f8de..a36c57eab0 100644
--- a/src/nvim/option.h
+++ b/src/nvim/option.h
@@ -3,10 +3,10 @@
#include <stdint.h>
#include "nvim/api/private/helpers.h"
-#include "nvim/cmdexpand_defs.h"
+#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
#include "nvim/eval/typval_defs.h"
-#include "nvim/ex_cmds_defs.h"
-#include "nvim/option_defs.h"
+#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
+#include "nvim/option_defs.h" // IWYU pragma: export
#include "nvim/search.h"
/// The options that are local to a window or buffer have "indir" set to one of
diff --git a/src/nvim/os/fs.h b/src/nvim/os/fs.h
index 4fe54215ba..aacb1c2f48 100644
--- a/src/nvim/os/fs.h
+++ b/src/nvim/os/fs.h
@@ -1,6 +1,6 @@
#pragma once
-#include "nvim/os/fs_defs.h"
+#include "nvim/os/fs_defs.h" // IWYU pragma: export
#include "nvim/types.h"
#ifdef INCLUDE_GENERATED_DECLARATIONS
diff --git a/src/nvim/os/os.h b/src/nvim/os/os.h
index ede9234865..84c4e6668e 100644
--- a/src/nvim/os/os.h
+++ b/src/nvim/os/os.h
@@ -7,6 +7,7 @@
#include "nvim/cmdexpand_defs.h"
#include "nvim/garray_defs.h"
#include "nvim/os/fs_defs.h"
+#include "nvim/os/os_defs.h" // IWYU pragma: export
#include "nvim/os/stdpaths_defs.h"
#include "nvim/types.h"
diff --git a/src/nvim/os/pty_process_unix.h b/src/nvim/os/pty_process_unix.h
index 344e0a3423..92cc582832 100644
--- a/src/nvim/os/pty_process_unix.h
+++ b/src/nvim/os/pty_process_unix.h
@@ -1,4 +1,5 @@
#pragma once
+// IWYU pragma: private, include "nvim/os/pty_process.h"
#include <stdint.h>
#include <sys/ioctl.h>
diff --git a/src/nvim/os/pty_process_win.h b/src/nvim/os/pty_process_win.h
index 71190380fd..26cf387e54 100644
--- a/src/nvim/os/pty_process_win.h
+++ b/src/nvim/os/pty_process_win.h
@@ -1,4 +1,5 @@
#pragma once
+// IWYU pragma: private, include "nvim/os/pty_process.h"
#include <uv.h>
diff --git a/src/nvim/os/unix_defs.h b/src/nvim/os/unix_defs.h
index b90e306932..fe5dce5655 100644
--- a/src/nvim/os/unix_defs.h
+++ b/src/nvim/os/unix_defs.h
@@ -1,10 +1,11 @@
#pragma once
+// IWYU pragma: private, include "nvim/os/os_defs.h"
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <unistd.h>
+#include <sys/param.h> // IWYU pragma: export
+#include <sys/socket.h> // IWYU pragma: export
+#include <unistd.h> // IWYU pragma: export
#if defined(HAVE_TERMIOS_H)
-# include <termios.h>
+# include <termios.h> // IWYU pragma: export
#endif
// POSIX.1-2008 says that NAME_MAX should be in here
diff --git a/src/nvim/os/win_defs.h b/src/nvim/os/win_defs.h
index e1bc1a727b..852059f78b 100644
--- a/src/nvim/os/win_defs.h
+++ b/src/nvim/os/win_defs.h
@@ -1,4 +1,5 @@
#pragma once
+// IWYU pragma: private, include "nvim/os/os_defs.h"
#ifndef MSWIN
# error Header must be included only when compiling for Windows.
diff --git a/src/nvim/regexp.h b/src/nvim/regexp.h
index f025584460..1f0e59aa89 100644
--- a/src/nvim/regexp.h
+++ b/src/nvim/regexp.h
@@ -1,7 +1,7 @@
#pragma once
-#include "nvim/buffer_defs.h"
-#include "nvim/regexp_defs.h"
+#include "nvim/buffer_defs.h" // IWYU pragma: keep
+#include "nvim/regexp_defs.h" // IWYU pragma: export
#include "nvim/types.h"
// Second argument for vim_regcomp().
diff --git a/src/nvim/sign.h b/src/nvim/sign.h
index ac69b9f866..febde551f6 100644
--- a/src/nvim/sign.h
+++ b/src/nvim/sign.h
@@ -2,10 +2,10 @@
#include <stdbool.h>
-#include "nvim/buffer_defs.h"
-#include "nvim/cmdexpand_defs.h"
-#include "nvim/ex_cmds_defs.h"
-#include "nvim/sign_defs.h"
+#include "nvim/buffer_defs.h" // IWYU pragma: keep
+#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
+#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
+#include "nvim/sign_defs.h" // IWYU pragma: export
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "sign.h.generated.h"
diff --git a/src/nvim/spell.h b/src/nvim/spell.h
index 5e7eaba3ae..839c76e6e7 100644
--- a/src/nvim/spell.h
+++ b/src/nvim/spell.h
@@ -2,9 +2,9 @@
#include <stdbool.h>
-#include "nvim/ex_cmds_defs.h"
+#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
#include "nvim/globals.h"
-#include "nvim/spell_defs.h"
+#include "nvim/spell_defs.h" // IWYU pragma: export
#include "nvim/vim.h"
#ifdef INCLUDE_GENERATED_DECLARATIONS
diff --git a/src/nvim/statusline.h b/src/nvim/statusline.h
index 7fcdddf580..79ae84c5ce 100644
--- a/src/nvim/statusline.h
+++ b/src/nvim/statusline.h
@@ -2,9 +2,9 @@
#include <stddef.h>
-#include "nvim/buffer_defs.h"
+#include "nvim/buffer_defs.h" // IWYU pragma: keep
#include "nvim/macros.h"
-#include "nvim/statusline_defs.h"
+#include "nvim/statusline_defs.h" // IWYU pragma: export
/// Array defining what should be done when tabline is clicked
EXTERN StlClickDefinition *tab_page_click_defs INIT( = NULL);
diff --git a/src/nvim/syntax.h b/src/nvim/syntax.h
index 4fcfaac074..9ead4aa89a 100644
--- a/src/nvim/syntax.h
+++ b/src/nvim/syntax.h
@@ -2,11 +2,12 @@
#include <stdbool.h>
-#include "nvim/buffer_defs.h"
-#include "nvim/cmdexpand_defs.h"
-#include "nvim/ex_cmds_defs.h"
+#include "nvim/buffer_defs.h" // IWYU pragma: keep
+#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
+#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
#include "nvim/globals.h"
#include "nvim/macros.h"
+#include "nvim/syntax_defs.h" // IWYU pragma: export
#define HL_CONTAINED 0x01 // not used on toplevel
#define HL_TRANSP 0x02 // has no highlighting
diff --git a/src/nvim/tui/input.h b/src/nvim/tui/input.h
index 2d72d1978c..2474e1b9b4 100644
--- a/src/nvim/tui/input.h
+++ b/src/nvim/tui/input.h
@@ -9,7 +9,7 @@
#include "nvim/event/stream.h"
#include "nvim/event/time.h"
#include "nvim/rbuffer.h"
-#include "nvim/tui/input_defs.h"
+#include "nvim/tui/input_defs.h" // IWYU pragma: export
#include "nvim/tui/tui.h"
#include "nvim/types.h"
diff --git a/src/nvim/ui_client.c b/src/nvim/ui_client.c
index 2f91257a5d..13756ace3c 100644
--- a/src/nvim/ui_client.c
+++ b/src/nvim/ui_client.c
@@ -17,7 +17,6 @@
#include "nvim/main.h"
#include "nvim/memory.h"
#include "nvim/msgpack_rpc/channel.h"
-#include "nvim/msgpack_rpc/channel_defs.h"
#include "nvim/os/os_defs.h"
#include "nvim/tui/tui.h"
#include "nvim/ui.h"
diff --git a/src/nvim/undo.h b/src/nvim/undo.h
index d9b8cbaff4..b2d7bef843 100644
--- a/src/nvim/undo.h
+++ b/src/nvim/undo.h
@@ -1,7 +1,8 @@
#pragma once
-#include "nvim/ex_cmds_defs.h"
-#include "nvim/undo_defs.h"
+#include "nvim/buffer_defs.h" // IWYU pragma: keep
+#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
+#include "nvim/undo_defs.h" // IWYU pragma: export
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "undo.h.generated.h"