diff --git a/cmake.config/iwyu/posix.imp b/cmake.config/iwyu/posix.imp index ca96c984f2..c787c9a165 100644 --- a/cmake.config/iwyu/posix.imp +++ b/cmake.config/iwyu/posix.imp @@ -14,13 +14,13 @@ { include: [ '', private, '', public ] }, { include: [ '', private, '', public ] }, { include: [ '', private, '', public ] }, - { include: [ '', private, '', public ] }, + { include: [ '', private, '', private ] }, { symbol: ["SOCK_STREAM", private, "", public ] }, { symbol: ["SSIZE_MAX", private, "", public ] }, { symbol: ["S_IREAD", private, "", public ] }, { symbol: ["S_IWRITE", private, "", public ] }, - { symbol: ["_POSIX_VDISABLE", private, "", public ] }, + { symbol: ["_POSIX_VDISABLE", private, "", private ] }, { symbol: ["flock", private, "", public ] }, { symbol: ["iovec", private, "", public ] }, { symbol: ["mode_t", private, "", public ] }, diff --git a/src/clint.py b/src/clint.py index 7fcf840487..78eabb698f 100755 --- a/src/clint.py +++ b/src/clint.py @@ -853,17 +853,12 @@ def CheckIncludes(filename, lines, error): check_includes_ignore = [ "src/nvim/api/private/validate.h", "src/nvim/assert_defs.h", - "src/nvim/buffer.h", "src/nvim/channel.h", "src/nvim/charset.h", - "src/nvim/eval/encode.h", "src/nvim/eval/typval.h", - "src/nvim/eval/typval_defs.h", - "src/nvim/event/libuv_process.h", "src/nvim/event/multiqueue.h", "src/nvim/garray.h", "src/nvim/globals.h", - "src/nvim/grid.h", "src/nvim/highlight.h", "src/nvim/lua/executor.h", "src/nvim/main.h", @@ -872,18 +867,17 @@ def CheckIncludes(filename, lines, error): "src/nvim/msgpack_rpc/unpacker.h", "src/nvim/option.h", "src/nvim/os/pty_conpty_win.h", - "src/nvim/os/pty_process_unix.h", "src/nvim/os/pty_process_win.h", - "src/nvim/tui/input.h", - "src/nvim/viml/parser/expressions.h", - "src/nvim/viml/parser/parser.h", ] skip_headers = [ "auto/config.h", "klib/klist.h", "klib/kvec.h", + "mpack/mpack_core.h", + "mpack/object.h", "nvim/func_attr.h", + "termkey/termkey.h", ] for i in check_includes_ignore: diff --git a/src/nvim/api/autocmd.c b/src/nvim/api/autocmd.c index 88d7d985e8..78628c4154 100644 --- a/src/nvim/api/autocmd.c +++ b/src/nvim/api/autocmd.c @@ -14,8 +14,11 @@ #include "nvim/api/private/helpers.h" #include "nvim/api/private/validate.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds_defs.h" #include "nvim/globals.h" #include "nvim/lua/executor.h" diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c index c07e760469..8a091f39e4 100644 --- a/src/nvim/api/buffer.c +++ b/src/nvim/api/buffer.c @@ -17,25 +17,32 @@ #include "nvim/api/private/validate.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/buffer_updates.h" #include "nvim/change.h" #include "nvim/cursor.h" #include "nvim/drawscreen.h" #include "nvim/ex_cmds.h" #include "nvim/extmark.h" +#include "nvim/extmark_defs.h" #include "nvim/globals.h" #include "nvim/lua/executor.h" #include "nvim/mapping.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/move.h" #include "nvim/ops.h" #include "nvim/pos_defs.h" #include "nvim/state_defs.h" #include "nvim/types_defs.h" #include "nvim/undo.h" +#include "nvim/undo_defs.h" #include "nvim/vim_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/api/command.c b/src/nvim/api/command.c index abb589ecdf..db0a918f5c 100644 --- a/src/nvim/api/command.c +++ b/src/nvim/api/command.c @@ -13,12 +13,14 @@ #include "nvim/api/private/validate.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/cmdexpand_defs.h" -#include "nvim/ex_cmds.h" +#include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/globals.h" #include "nvim/lua/executor.h" #include "nvim/macros_defs.h" diff --git a/src/nvim/api/deprecated.c b/src/nvim/api/deprecated.c index f7bbd61cd3..b09645a819 100644 --- a/src/nvim/api/deprecated.c +++ b/src/nvim/api/deprecated.c @@ -6,20 +6,22 @@ #include "nvim/api/deprecated.h" #include "nvim/api/extmark.h" #include "nvim/api/keysets_defs.h" -#include "nvim/api/options.h" #include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/api/private/validate.h" #include "nvim/api/vimscript.h" #include "nvim/buffer_defs.h" #include "nvim/decoration.h" +#include "nvim/decoration_defs.h" #include "nvim/extmark.h" #include "nvim/globals.h" #include "nvim/highlight.h" #include "nvim/highlight_group.h" #include "nvim/lua/executor.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/pos_defs.h" #include "nvim/types_defs.h" diff --git a/src/nvim/api/extmark.c b/src/nvim/api/extmark.c index e66e25e527..9dec4a6c70 100644 --- a/src/nvim/api/extmark.c +++ b/src/nvim/api/extmark.c @@ -20,6 +20,7 @@ #include "nvim/grid.h" #include "nvim/highlight_group.h" #include "nvim/marktree.h" +#include "nvim/marktree_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" diff --git a/src/nvim/api/options.c b/src/nvim/api/options.c index ff1741558d..fce4a85804 100644 --- a/src/nvim/api/options.c +++ b/src/nvim/api/options.c @@ -9,14 +9,14 @@ #include "nvim/api/private/helpers.h" #include "nvim/api/private/validate.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/globals.h" -#include "nvim/macros_defs.h" #include "nvim/memory.h" #include "nvim/option.h" #include "nvim/types_defs.h" #include "nvim/vim_defs.h" -#include "nvim/window.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/options.c.generated.h" diff --git a/src/nvim/api/private/converter.h b/src/nvim/api/private/converter.h index a5acc56c7c..fc82abf332 100644 --- a/src/nvim/api/private/converter.h +++ b/src/nvim/api/private/converter.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/api/private/defs.h" // IWYU pragma: export +#include "nvim/api/private/defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/api/private/dispatch.h b/src/nvim/api/private/dispatch.h index 9b167a7b9e..6d051176ac 100644 --- a/src/nvim/api/private/dispatch.h +++ b/src/nvim/api/private/dispatch.h @@ -3,7 +3,7 @@ #include #include -#include "nvim/api/private/defs.h" // IWYU pragma: export +#include "nvim/api/private/defs.h" // IWYU pragma: keep #include "nvim/memory_defs.h" #include "nvim/types_defs.h" diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 06addbecb7..677e1ce9fd 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -19,7 +19,7 @@ #include "nvim/eval/typval.h" #include "nvim/eval/vars.h" #include "nvim/ex_eval.h" -#include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/globals.h" #include "nvim/highlight_group.h" #include "nvim/lua/executor.h" @@ -27,11 +27,13 @@ #include "nvim/mark.h" #include "nvim/memline.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/message.h" #include "nvim/msgpack_rpc/helpers.h" #include "nvim/pos_defs.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/version.h" #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/api/private/helpers.h b/src/nvim/api/private/helpers.h index 1ee66f906b..8a56d1704f 100644 --- a/src/nvim/api/private/helpers.h +++ b/src/nvim/api/private/helpers.h @@ -4,7 +4,7 @@ #include #include "klib/kvec.h" -#include "nvim/api/private/defs.h" // IWYU pragma: export +#include "nvim/api/private/defs.h" // IWYU pragma: keep #include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" // IWYU pragma: keep #include "nvim/ex_eval_defs.h" diff --git a/src/nvim/api/private/validate.h b/src/nvim/api/private/validate.h index 692ea46176..2c1d1a241d 100644 --- a/src/nvim/api/private/validate.h +++ b/src/nvim/api/private/validate.h @@ -3,7 +3,7 @@ #include #include -#include "nvim/api/private/defs.h" // IWYU pragma: export +#include "nvim/api/private/defs.h" // IWYU pragma: keep #include "nvim/api/private/helpers.h" #include "nvim/assert_defs.h" #include "nvim/macros_defs.h" diff --git a/src/nvim/api/ui.c b/src/nvim/api/ui.c index 271e58b851..b42c274411 100644 --- a/src/nvim/api/ui.c +++ b/src/nvim/api/ui.c @@ -13,20 +13,26 @@ #include "nvim/api/private/validate.h" #include "nvim/api/ui.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/channel.h" +#include "nvim/channel_defs.h" #include "nvim/eval.h" +#include "nvim/event/defs.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" #include "nvim/event/wstream.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/highlight.h" #include "nvim/macros_defs.h" #include "nvim/main.h" #include "nvim/map_defs.h" #include "nvim/mbyte.h" #include "nvim/memory.h" +#include "nvim/memory_defs.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_defs.h" diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index f683789945..e5a5cc059f 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -21,20 +21,26 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/channel.h" +#include "nvim/channel_defs.h" #include "nvim/context.h" #include "nvim/cursor.h" #include "nvim/decoration.h" #include "nvim/drawscreen.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" #include "nvim/fold.h" #include "nvim/getchar.h" +#include "nvim/getchar_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/keycodes.h" #include "nvim/log.h" @@ -42,15 +48,20 @@ #include "nvim/macros_defs.h" #include "nvim/mapping.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/message.h" +#include "nvim/message_defs.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" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/input.h" @@ -59,9 +70,11 @@ #include "nvim/popupmenu.h" #include "nvim/pos_defs.h" #include "nvim/runtime.h" -#include "nvim/sign.h" +#include "nvim/sign_defs.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/statusline.h" +#include "nvim/statusline_defs.h" #include "nvim/strings.h" #include "nvim/terminal.h" #include "nvim/types_defs.h" diff --git a/src/nvim/api/vimscript.c b/src/nvim/api/vimscript.c index 953bd80b0f..56541bb8b8 100644 --- a/src/nvim/api/vimscript.c +++ b/src/nvim/api/vimscript.c @@ -14,15 +14,18 @@ #include "nvim/buffer_defs.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/userfunc.h" #include "nvim/ex_docmd.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/globals.h" #include "nvim/memory.h" #include "nvim/runtime.h" #include "nvim/vim_defs.h" #include "nvim/viml/parser/expressions.h" #include "nvim/viml/parser/parser.h" +#include "nvim/viml/parser/parser_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/vimscript.c.generated.h" diff --git a/src/nvim/api/win_config.c b/src/nvim/api/win_config.c index 64eda43689..ccbd341fd2 100644 --- a/src/nvim/api/win_config.c +++ b/src/nvim/api/win_config.c @@ -10,11 +10,13 @@ #include "nvim/api/win_config.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/decoration.h" +#include "nvim/decoration_defs.h" #include "nvim/drawscreen.h" #include "nvim/globals.h" -#include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/highlight_group.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" @@ -25,6 +27,7 @@ #include "nvim/syntax.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/window.h" #include "nvim/winfloat.h" diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c index 7321d52e17..00126c64f1 100644 --- a/src/nvim/api/window.c +++ b/src/nvim/api/window.c @@ -15,10 +15,10 @@ #include "nvim/drawscreen.h" #include "nvim/eval/window.h" #include "nvim/ex_docmd.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/lua/executor.h" -#include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/message.h" #include "nvim/move.h" #include "nvim/plines.h" diff --git a/src/nvim/arglist.c b/src/nvim/arglist.c index 46725bbfc2..921d56ed78 100644 --- a/src/nvim/arglist.c +++ b/src/nvim/arglist.c @@ -10,9 +10,11 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand_defs.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/window.h" #include "nvim/ex_cmds.h" #include "nvim/ex_cmds2.h" @@ -20,7 +22,8 @@ #include "nvim/ex_getln.h" #include "nvim/fileio.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/macros_defs.h" #include "nvim/mark.h" @@ -33,6 +36,7 @@ #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/types_defs.h" #include "nvim/undo.h" #include "nvim/version.h" diff --git a/src/nvim/arglist.h b/src/nvim/arglist.h index d117f6163b..5b49423c18 100644 --- a/src/nvim/arglist.h +++ b/src/nvim/arglist.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/arglist_defs.h" // IWYU pragma: export +#include "nvim/arglist_defs.h" // IWYU pragma: keep #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep diff --git a/src/nvim/ascii_defs.h b/src/nvim/ascii_defs.h index 4215157654..0cd7ccfec4 100644 --- a/src/nvim/ascii_defs.h +++ b/src/nvim/ascii_defs.h @@ -3,7 +3,6 @@ #include #include "nvim/func_attr.h" -#include "nvim/macros_defs.h" #include "nvim/os/os_defs.h" // Definitions of various common control characters. diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c index 7c64c717e8..b44158c890 100644 --- a/src/nvim/autocmd.c +++ b/src/nvim/autocmd.c @@ -25,11 +25,13 @@ #include "nvim/ex_eval.h" #include "nvim/fileio.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/getchar_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/hashtab.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/insexpand.h" #include "nvim/lua/executor.h" #include "nvim/main.h" @@ -37,17 +39,22 @@ #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/time.h" +#include "nvim/os/time_defs.h" #include "nvim/path.h" #include "nvim/profile.h" #include "nvim/regexp.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/search.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" diff --git a/src/nvim/autocmd.h b/src/nvim/autocmd.h index 50417c959b..8019cb7145 100644 --- a/src/nvim/autocmd.h +++ b/src/nvim/autocmd.h @@ -6,7 +6,7 @@ #include "klib/kvec.h" #include "nvim/api/private/defs.h" // IWYU pragma: keep -#include "nvim/autocmd_defs.h" // IWYU pragma: export +#include "nvim/autocmd_defs.h" // IWYU pragma: keep #include "nvim/buffer_defs.h" #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" // IWYU pragma: keep diff --git a/src/nvim/autocmd_defs.h b/src/nvim/autocmd_defs.h index ec81c2f1ed..d1f1e16e1a 100644 --- a/src/nvim/autocmd_defs.h +++ b/src/nvim/autocmd_defs.h @@ -4,13 +4,8 @@ #include #include -#include "klib/kvec.h" -#include "nvim/api/private/defs.h" #include "nvim/buffer_defs.h" -#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds_defs.h" -#include "nvim/regexp_defs.h" -#include "nvim/types_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "auevents_enum.generated.h" diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index c22aaec3df..b29e87e91b 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -32,6 +32,7 @@ #include "nvim/ascii_defs.h" #include "nvim/assert_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" #include "nvim/buffer_updates.h" #include "nvim/change.h" @@ -43,21 +44,26 @@ #include "nvim/digraph.h" #include "nvim/drawscreen.h" #include "nvim/eval.h" +#include "nvim/eval/typval.h" #include "nvim/eval/vars.h" #include "nvim/ex_cmds.h" #include "nvim/ex_cmds2.h" +#include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" +#include "nvim/ex_eval_defs.h" #include "nvim/ex_getln.h" #include "nvim/extmark.h" #include "nvim/file_search.h" #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/help.h" #include "nvim/indent.h" #include "nvim/indent_c.h" @@ -65,25 +71,33 @@ #include "nvim/map_defs.h" #include "nvim/mapping.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memfile_defs.h" +#include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/move.h" #include "nvim/normal.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/time.h" #include "nvim/path.h" #include "nvim/plines.h" #include "nvim/pos_defs.h" #include "nvim/quickfix.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/search.h" #include "nvim/spell.h" #include "nvim/state_defs.h" @@ -4137,3 +4151,49 @@ int buf_open_scratch(handle_T bufnr, char *bufname) RESET_BINDING(curwin); return OK; } + +bool buf_is_empty(buf_T *buf) +{ + return buf->b_ml.ml_line_count == 1 && *ml_get_buf(buf, 1) == '\0'; +} + +/// Increment b:changedtick value +/// +/// Also checks b: for consistency in case of debug build. +/// +/// @param[in,out] buf Buffer to increment value in. +void buf_inc_changedtick(buf_T *const buf) + FUNC_ATTR_NONNULL_ALL +{ + buf_set_changedtick(buf, buf_get_changedtick(buf) + 1); +} + +/// Set b:changedtick, also checking b: for consistency in debug build +/// +/// @param[out] buf Buffer to set changedtick in. +/// @param[in] changedtick New value. +void buf_set_changedtick(buf_T *const buf, const varnumber_T changedtick) + FUNC_ATTR_NONNULL_ALL +{ + typval_T old_val = buf->changedtick_di.di_tv; + +#ifndef NDEBUG + dictitem_T *const changedtick_di = tv_dict_find(buf->b_vars, S_LEN("changedtick")); + assert(changedtick_di != NULL); + assert(changedtick_di->di_tv.v_type == VAR_NUMBER); + assert(changedtick_di->di_tv.v_lock == VAR_FIXED); + // For some reason formatc does not like the below. +# ifndef UNIT_TESTING_LUA_PREPROCESSING + assert(changedtick_di->di_flags == (DI_FLAGS_RO|DI_FLAGS_FIX)); +# endif + assert(changedtick_di == (dictitem_T *)&buf->changedtick_di); +#endif + buf->changedtick_di.di_tv.vval.v_number = changedtick; + + if (tv_dict_is_watched(buf->b_vars)) { + tv_dict_watcher_notify(buf->b_vars, + (char *)buf->changedtick_di.di_key, + &buf->changedtick_di.di_tv, + &old_val); + } +} diff --git a/src/nvim/buffer.h b/src/nvim/buffer.h index af30870776..4ad7144ad9 100644 --- a/src/nvim/buffer.h +++ b/src/nvim/buffer.h @@ -1,14 +1,11 @@ #pragma once -#include -#include -#include - -#include "nvim/buffer_defs.h" // IWYU pragma: export -#include "nvim/eval/typval.h" +#include "nvim/buffer_defs.h" // IWYU pragma: keep +#include "nvim/eval/typval_defs.h" +#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep #include "nvim/func_attr.h" +#include "nvim/gettext_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" -#include "nvim/memline.h" #include "nvim/types_defs.h" /// Values for buflist_getfile() @@ -71,38 +68,6 @@ EXTERN char *msg_qflist INIT( = N_("[Quickfix List]")); # include "buffer.h.generated.h" #endif -static inline void buf_set_changedtick(buf_T *buf, varnumber_T changedtick) - REAL_FATTR_NONNULL_ALL REAL_FATTR_ALWAYS_INLINE; - -/// Set b:changedtick, also checking b: for consistency in debug build -/// -/// @param[out] buf Buffer to set changedtick in. -/// @param[in] changedtick New value. -static inline void buf_set_changedtick(buf_T *const buf, const varnumber_T changedtick) -{ - typval_T old_val = buf->changedtick_di.di_tv; - -#ifndef NDEBUG - dictitem_T *const changedtick_di = tv_dict_find(buf->b_vars, S_LEN("changedtick")); - assert(changedtick_di != NULL); - assert(changedtick_di->di_tv.v_type == VAR_NUMBER); - assert(changedtick_di->di_tv.v_lock == VAR_FIXED); - // For some reason formatc does not like the below. -# ifndef UNIT_TESTING_LUA_PREPROCESSING - assert(changedtick_di->di_flags == (DI_FLAGS_RO|DI_FLAGS_FIX)); -# endif - assert(changedtick_di == (dictitem_T *)&buf->changedtick_di); -#endif - buf->changedtick_di.di_tv.vval.v_number = changedtick; - - if (tv_dict_is_watched(buf->b_vars)) { - tv_dict_watcher_notify(buf->b_vars, - (char *)buf->changedtick_di.di_key, - &buf->changedtick_di.di_tv, - &old_val); - } -} - static inline varnumber_T buf_get_changedtick(const buf_T *buf) REAL_FATTR_NONNULL_ALL REAL_FATTR_ALWAYS_INLINE REAL_FATTR_PURE REAL_FATTR_WARN_UNUSED_RESULT; @@ -116,21 +81,3 @@ static inline varnumber_T buf_get_changedtick(const buf_T *const buf) { return buf->changedtick_di.di_tv.vval.v_number; } - -static inline void buf_inc_changedtick(buf_T *buf) - REAL_FATTR_NONNULL_ALL REAL_FATTR_ALWAYS_INLINE; - -/// Increment b:changedtick value -/// -/// Also checks b: for consistency in case of debug build. -/// -/// @param[in,out] buf Buffer to increment value in. -static inline void buf_inc_changedtick(buf_T *const buf) -{ - buf_set_changedtick(buf, buf_get_changedtick(buf) + 1); -} - -static inline bool buf_is_empty(buf_T *buf) -{ - return buf->b_ml.ml_line_count == 1 && *ml_get_buf(buf, 1) == '\0'; -} diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h index 085070fc4a..f09aa70ef4 100644 --- a/src/nvim/buffer_defs.h +++ b/src/nvim/buffer_defs.h @@ -4,27 +4,14 @@ #include #include -#include "klib/kvec.h" -#include "nvim/api/private/defs.h" #include "nvim/arglist_defs.h" -#include "nvim/eval/typval_defs.h" -#include "nvim/extmark_defs.h" -#include "nvim/garray_defs.h" #include "nvim/grid_defs.h" -#include "nvim/hashtab_defs.h" -#include "nvim/highlight_defs.h" -#include "nvim/map_defs.h" #include "nvim/mapping_defs.h" -#include "nvim/mark_defs.h" #include "nvim/marktree_defs.h" #include "nvim/memline_defs.h" #include "nvim/option_defs.h" #include "nvim/os/fs_defs.h" -#include "nvim/pos_defs.h" -#include "nvim/regexp_defs.h" -#include "nvim/sign_defs.h" #include "nvim/statusline_defs.h" -#include "nvim/types_defs.h" #include "nvim/undo_defs.h" /// Reference to a buffer that stores the value of buf_free_count. diff --git a/src/nvim/buffer_updates.c b/src/nvim/buffer_updates.c index 7985d6931f..a91a890d0e 100644 --- a/src/nvim/buffer_updates.c +++ b/src/nvim/buffer_updates.c @@ -5,6 +5,7 @@ #include "klib/kvec.h" #include "nvim/api/buffer.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/assert_defs.h" #include "nvim/buffer.h" diff --git a/src/nvim/bufwrite.c b/src/nvim/bufwrite.c index 25f69094f4..94a6604fc1 100644 --- a/src/nvim/bufwrite.c +++ b/src/nvim/bufwrite.c @@ -12,7 +12,9 @@ #include "auto/config.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/bufwrite.h" #include "nvim/change.h" #include "nvim/drawscreen.h" @@ -22,19 +24,22 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_eval.h" #include "nvim/fileio.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/iconv_defs.h" #include "nvim/input.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option.h" #include "nvim/option_vars.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/input.h" #include "nvim/os/os_defs.h" #include "nvim/path.h" @@ -44,6 +49,7 @@ #include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/undo.h" +#include "nvim/undo_defs.h" #include "nvim/vim_defs.h" static const char *err_readonly = "is read-only (cannot override: \"W\" in 'cpoptions')"; diff --git a/src/nvim/change.c b/src/nvim/change.c index 82bb703b6f..09312118f6 100644 --- a/src/nvim/change.c +++ b/src/nvim/change.c @@ -8,7 +8,9 @@ #include "nvim/ascii_defs.h" #include "nvim/assert_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/buffer_updates.h" #include "nvim/change.h" #include "nvim/charset.h" @@ -19,17 +21,22 @@ #include "nvim/eval.h" #include "nvim/ex_cmds_defs.h" #include "nvim/extmark.h" +#include "nvim/extmark_defs.h" #include "nvim/fold.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/indent.h" #include "nvim/indent_c.h" #include "nvim/insexpand.h" #include "nvim/macros_defs.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/move.h" @@ -41,6 +48,7 @@ #include "nvim/search.h" #include "nvim/spell.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/textformat.h" #include "nvim/types_defs.h" diff --git a/src/nvim/channel.c b/src/nvim/channel.c index d2b064ef3c..05148801f4 100644 --- a/src/nvim/channel.c +++ b/src/nvim/channel.c @@ -7,8 +7,10 @@ #include "klib/kvec.h" #include "nvim/api/private/converter.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/channel.h" #include "nvim/eval.h" @@ -16,12 +18,13 @@ #include "nvim/eval/typval.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" +#include "nvim/event/process.h" #include "nvim/event/rstream.h" #include "nvim/event/socket.h" #include "nvim/event/stream.h" #include "nvim/event/wstream.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/log.h" #include "nvim/lua/executor.h" @@ -35,6 +38,7 @@ #include "nvim/os/shell.h" #include "nvim/path.h" #include "nvim/rbuffer.h" +#include "nvim/rbuffer_defs.h" #include "nvim/terminal.h" #include "nvim/types_defs.h" diff --git a/src/nvim/channel.h b/src/nvim/channel.h index e77f17d3e0..35d369e513 100644 --- a/src/nvim/channel.h +++ b/src/nvim/channel.h @@ -4,10 +4,10 @@ #include #include -#include "nvim/channel_defs.h" // IWYU pragma: export +#include "nvim/channel_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" +#include "nvim/event/defs.h" #include "nvim/event/libuv_process.h" -#include "nvim/event/process.h" #include "nvim/func_attr.h" #include "nvim/macros_defs.h" #include "nvim/map_defs.h" diff --git a/src/nvim/channel_defs.h b/src/nvim/channel_defs.h index f6475129ff..d4f1895420 100644 --- a/src/nvim/channel_defs.h +++ b/src/nvim/channel_defs.h @@ -3,13 +3,7 @@ #include #include -#include "nvim/eval/typval_defs.h" #include "nvim/event/defs.h" -#include "nvim/garray_defs.h" -#include "nvim/macros_defs.h" -#include "nvim/map_defs.h" -#include "nvim/msgpack_rpc/channel_defs.h" -#include "nvim/types_defs.h" #define CHAN_STDIO 1 #define CHAN_STDERR 2 diff --git a/src/nvim/charset.c b/src/nvim/charset.c index 82a2a3bfe7..81a42e619c 100644 --- a/src/nvim/charset.c +++ b/src/nvim/charset.c @@ -18,6 +18,7 @@ #include "nvim/cursor.h" #include "nvim/eval/typval_defs.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/globals.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" diff --git a/src/nvim/cmdexpand.c b/src/nvim/cmdexpand.c index 968081c6ac..c5f1bfeb87 100644 --- a/src/nvim/cmdexpand.c +++ b/src/nvim/cmdexpand.c @@ -8,11 +8,13 @@ #include #include +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/arglist.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand.h" #include "nvim/cmdhist.h" @@ -23,17 +25,20 @@ #include "nvim/eval/typval_defs.h" #include "nvim/eval/userfunc.h" #include "nvim/ex_cmds.h" +#include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_getln.h" #include "nvim/garray.h" #include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/help.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/keycodes.h" #include "nvim/log.h" @@ -41,6 +46,7 @@ #include "nvim/macros_defs.h" #include "nvim/mapping.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memory.h" #include "nvim/menu.h" #include "nvim/message.h" @@ -49,11 +55,13 @@ #include "nvim/os/fs.h" #include "nvim/os/lang.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/popupmenu.h" #include "nvim/profile.h" #include "nvim/regexp.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/search.h" #include "nvim/sign.h" #include "nvim/statusline.h" @@ -62,6 +70,7 @@ #include "nvim/tag.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/usercmd.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/cmdexpand.h b/src/nvim/cmdexpand.h index a45b334cfb..33ff787589 100644 --- a/src/nvim/cmdexpand.h +++ b/src/nvim/cmdexpand.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/cmdexpand_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_getln_defs.h" // IWYU pragma: keep #include "nvim/garray_defs.h" // IWYU pragma: keep diff --git a/src/nvim/cmdexpand_defs.h b/src/nvim/cmdexpand_defs.h index 923ba62099..c1fb85859c 100644 --- a/src/nvim/cmdexpand_defs.h +++ b/src/nvim/cmdexpand_defs.h @@ -4,7 +4,6 @@ #include #include "nvim/eval/typval_defs.h" -#include "nvim/types_defs.h" typedef enum { XP_PREFIX_NONE, ///< prefix not used diff --git a/src/nvim/cmdhist.c b/src/nvim/cmdhist.c index 51a73dec10..6a9290270a 100644 --- a/src/nvim/cmdhist.c +++ b/src/nvim/cmdhist.c @@ -15,7 +15,7 @@ #include "nvim/ex_cmds.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_getln.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/macros_defs.h" #include "nvim/memory.h" @@ -23,6 +23,7 @@ #include "nvim/option_vars.h" #include "nvim/os/time.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/vim_defs.h" diff --git a/src/nvim/context.c b/src/nvim/context.c index dfb214d065..7ce906b244 100644 --- a/src/nvim/context.c +++ b/src/nvim/context.c @@ -14,12 +14,14 @@ #include "nvim/context.h" #include "nvim/eval/encode.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/userfunc.h" #include "nvim/ex_docmd.h" #include "nvim/hashtab.h" #include "nvim/keycodes.h" #include "nvim/memory.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/shada.h" #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/cursor.c b/src/nvim/cursor.c index 10b8a58ef4..d8a63c1d7b 100644 --- a/src/nvim/cursor.c +++ b/src/nvim/cursor.c @@ -21,6 +21,7 @@ #include "nvim/plines.h" #include "nvim/pos_defs.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/types_defs.h" #include "nvim/vim_defs.h" diff --git a/src/nvim/cursor_shape.c b/src/nvim/cursor_shape.c index 7461dc7288..67bb34d4ea 100644 --- a/src/nvim/cursor_shape.c +++ b/src/nvim/cursor_shape.c @@ -8,7 +8,7 @@ #include "nvim/charset.h" #include "nvim/cursor_shape.h" #include "nvim/ex_getln.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight_group.h" #include "nvim/log.h" diff --git a/src/nvim/debugger.c b/src/nvim/debugger.c index e41ba9fb54..7d87b61ce5 100644 --- a/src/nvim/debugger.c +++ b/src/nvim/debugger.c @@ -15,23 +15,28 @@ #include "nvim/drawscreen.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_getln.h" #include "nvim/fileio.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/getchar_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/state_defs.h" #include "nvim/types_defs.h" #include "nvim/vim_defs.h" diff --git a/src/nvim/decoration.c b/src/nvim/decoration.c index 95b1443931..e27c2beacf 100644 --- a/src/nvim/decoration.c +++ b/src/nvim/decoration.c @@ -5,6 +5,7 @@ #include #include "nvim/api/extmark.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/buffer_defs.h" @@ -13,6 +14,7 @@ #include "nvim/extmark.h" #include "nvim/fold.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/highlight.h" #include "nvim/highlight_group.h" #include "nvim/map_defs.h" diff --git a/src/nvim/decoration.h b/src/nvim/decoration.h index d8fd432880..b3ff737123 100644 --- a/src/nvim/decoration.h +++ b/src/nvim/decoration.h @@ -5,7 +5,7 @@ #include #include "klib/kvec.h" -#include "nvim/decoration_defs.h" // IWYU pragma: export +#include "nvim/decoration_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" #include "nvim/marktree_defs.h" #include "nvim/pos_defs.h" // IWYU pragma: keep diff --git a/src/nvim/decoration_provider.c b/src/nvim/decoration_provider.c index 4b82ae257c..cd55219bf6 100644 --- a/src/nvim/decoration_provider.c +++ b/src/nvim/decoration_provider.c @@ -5,6 +5,7 @@ #include "klib/kvec.h" #include "nvim/api/extmark.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/buffer_defs.h" #include "nvim/decoration.h" diff --git a/src/nvim/diff.c b/src/nvim/diff.c index f8aed21556..2b3010e063 100644 --- a/src/nvim/diff.c +++ b/src/nvim/diff.c @@ -18,6 +18,7 @@ #include "auto/config.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" #include "nvim/bufwrite.h" #include "nvim/change.h" @@ -30,24 +31,30 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/extmark.h" +#include "nvim/extmark_defs.h" #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/linematch.h" #include "nvim/mark.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/move.h" #include "nvim/normal.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/shell.h" #include "nvim/path.h" #include "nvim/pos_defs.h" diff --git a/src/nvim/digraph.c b/src/nvim/digraph.c index c8c6e5baa0..f91ff9274b 100644 --- a/src/nvim/digraph.c +++ b/src/nvim/digraph.c @@ -19,12 +19,14 @@ #include "nvim/ex_getln.h" #include "nvim/garray.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/keycodes.h" #include "nvim/mapping.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/normal.h" diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c index aae374c8a7..5ccfb24b8a 100644 --- a/src/nvim/drawline.c +++ b/src/nvim/drawline.c @@ -11,6 +11,7 @@ #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cursor.h" #include "nvim/cursor_shape.h" @@ -25,10 +26,12 @@ #include "nvim/fold_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/indent.h" -#include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/match.h" #include "nvim/mbyte.h" #include "nvim/memline.h" @@ -40,15 +43,18 @@ #include "nvim/plines.h" #include "nvim/pos_defs.h" #include "nvim/quickfix.h" -#include "nvim/sign.h" +#include "nvim/sign_defs.h" #include "nvim/spell.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/statusline.h" +#include "nvim/statusline_defs.h" #include "nvim/strings.h" #include "nvim/syntax.h" #include "nvim/terminal.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/vim_defs.h" #define MB_FILLER_CHAR '<' // character used when a double-width character doesn't fit. diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c index 964fdb141a..7f794a58d2 100644 --- a/src/nvim/drawscreen.c +++ b/src/nvim/drawscreen.c @@ -63,11 +63,13 @@ #include "nvim/api/private/defs.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" #include "nvim/charset.h" #include "nvim/cmdexpand.h" #include "nvim/cursor.h" #include "nvim/decoration.h" +#include "nvim/decoration_defs.h" #include "nvim/decoration_provider.h" #include "nvim/diff.h" #include "nvim/digraph.h" @@ -76,11 +78,14 @@ #include "nvim/eval.h" #include "nvim/ex_getln.h" #include "nvim/fold.h" +#include "nvim/fold_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/insexpand.h" #include "nvim/match.h" @@ -89,6 +94,7 @@ #include "nvim/message.h" #include "nvim/move.h" #include "nvim/normal.h" +#include "nvim/normal_defs.h" #include "nvim/option.h" #include "nvim/option_vars.h" #include "nvim/os/os_defs.h" @@ -100,6 +106,7 @@ #include "nvim/search.h" #include "nvim/spell.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/statusline.h" #include "nvim/strings.h" #include "nvim/syntax.h" @@ -107,6 +114,7 @@ #include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/ui_compositor.h" +#include "nvim/ui_defs.h" #include "nvim/version.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 055b0bbfe8..4b472a2fbd 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -11,6 +11,7 @@ #include "nvim/autocmd.h" #include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cursor.h" @@ -22,13 +23,15 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/extmark.h" +#include "nvim/extmark_defs.h" #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/indent.h" #include "nvim/indent_c.h" @@ -37,13 +40,16 @@ #include "nvim/macros_defs.h" #include "nvim/mapping.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/mouse.h" #include "nvim/move.h" #include "nvim/normal.h" +#include "nvim/normal_defs.h" #include "nvim/ops.h" #include "nvim/option.h" #include "nvim/option_vars.h" @@ -53,6 +59,7 @@ #include "nvim/pos_defs.h" #include "nvim/search.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/syntax.h" #include "nvim/terminal.h" @@ -60,6 +67,7 @@ #include "nvim/textobject.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/undo.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 451e258356..5826316828 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -11,10 +11,12 @@ #include "auto/config.h" #include "nvim/api/private/converter.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/channel.h" #include "nvim/charset.h" #include "nvim/cmdexpand_defs.h" @@ -37,20 +39,22 @@ #include "nvim/ex_eval.h" #include "nvim/ex_getln.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid_defs.h" #include "nvim/hashtab.h" #include "nvim/highlight_group.h" #include "nvim/insexpand.h" #include "nvim/keycodes.h" -#include "nvim/lib/queue.h" +#include "nvim/lib/queue_defs.h" #include "nvim/lua/executor.h" #include "nvim/macros_defs.h" #include "nvim/main.h" #include "nvim/map_defs.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" @@ -63,8 +67,10 @@ #include "nvim/optionstr.h" #include "nvim/os/fileio.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/lang.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/shell.h" #include "nvim/os/stdpaths_defs.h" #include "nvim/path.h" @@ -72,13 +78,16 @@ #include "nvim/profile.h" #include "nvim/quickfix.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/search.h" #include "nvim/strings.h" #include "nvim/tag.h" #include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/ui_compositor.h" +#include "nvim/ui_defs.h" #include "nvim/usercmd.h" #include "nvim/version.h" #include "nvim/vim_defs.h" diff --git a/src/nvim/eval.h b/src/nvim/eval.h index abe2685424..d83af70ef7 100644 --- a/src/nvim/eval.h +++ b/src/nvim/eval.h @@ -7,7 +7,7 @@ #include "nvim/channel_defs.h" // IWYU pragma: keep #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" -#include "nvim/eval_defs.h" // IWYU pragma: export +#include "nvim/eval_defs.h" // IWYU pragma: keep #include "nvim/event/defs.h" #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep #include "nvim/grid_defs.h" // IWYU pragma: keep diff --git a/src/nvim/eval/buffer.c b/src/nvim/eval/buffer.c index 2ae2b94ce9..291a57657d 100644 --- a/src/nvim/eval/buffer.c +++ b/src/nvim/eval/buffer.c @@ -5,6 +5,7 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" #include "nvim/buffer_defs.h" #include "nvim/change.h" diff --git a/src/nvim/eval/decode.c b/src/nvim/eval/decode.c index 64b65b42a5..d7df7bb150 100644 --- a/src/nvim/eval/decode.c +++ b/src/nvim/eval/decode.c @@ -14,8 +14,9 @@ #include "nvim/eval/encode.h" #include "nvim/eval/typval.h" #include "nvim/eval/typval_defs.h" +#include "nvim/eval_defs.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" #include "nvim/memory.h" diff --git a/src/nvim/eval/encode.c b/src/nvim/eval/encode.c index 38be10dbaf..d35ac4eb7b 100644 --- a/src/nvim/eval/encode.c +++ b/src/nvim/eval/encode.c @@ -20,7 +20,7 @@ #include "nvim/eval/typval.h" #include "nvim/eval/typval_encode.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" #include "nvim/macros_defs.h" @@ -1056,3 +1056,17 @@ char *encode_tv2json(typval_T *tv, size_t *len) #undef TYPVAL_ENCODE_CONV_LIST_BETWEEN_ITEMS #undef TYPVAL_ENCODE_CONV_RECURSE #undef TYPVAL_ENCODE_ALLOW_SPECIALS + +/// Initialize ListReaderState structure +ListReaderState encode_init_lrstate(const list_T *const list) + FUNC_ATTR_NONNULL_ALL +{ + return (ListReaderState) { + .list = list, + .li = tv_list_first(list), + .offset = 0, + .li_length = (TV_LIST_ITEM_TV(tv_list_first(list))->vval.v_string == NULL + ? 0 + : strlen(TV_LIST_ITEM_TV(tv_list_first(list))->vval.v_string)), + }; +} diff --git a/src/nvim/eval/encode.h b/src/nvim/eval/encode.h index fe1b951e3c..6d1c0b61c5 100644 --- a/src/nvim/eval/encode.h +++ b/src/nvim/eval/encode.h @@ -3,8 +3,7 @@ #include #include -#include "nvim/eval/typval.h" -#include "nvim/func_attr.h" +#include "nvim/eval/typval_defs.h" #include "nvim/garray_defs.h" /// Convert Vimscript value to msgpack string @@ -33,22 +32,6 @@ typedef struct { size_t li_length; ///< Length of the string inside the read item. } ListReaderState; -static inline ListReaderState encode_init_lrstate(const list_T *list) - REAL_FATTR_NONNULL_ALL; - -/// Initialize ListReaderState structure -static inline ListReaderState encode_init_lrstate(const list_T *const list) -{ - return (ListReaderState) { - .list = list, - .li = tv_list_first(list), - .offset = 0, - .li_length = (TV_LIST_ITEM_TV(tv_list_first(list))->vval.v_string == NULL - ? 0 - : strlen(TV_LIST_ITEM_TV(tv_list_first(list))->vval.v_string)), - }; -} - /// Array mapping values from SpecialVarValue enum to names extern const char *const encode_bool_var_names[]; extern const char *const encode_special_var_names[]; diff --git a/src/nvim/eval/executor.c b/src/nvim/eval/executor.c index b483f5fbef..1b8c057d7c 100644 --- a/src/nvim/eval/executor.c +++ b/src/nvim/eval/executor.c @@ -6,7 +6,7 @@ #include "nvim/eval/typval.h" #include "nvim/eval/typval_defs.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/message.h" #include "nvim/strings.h" diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index d843c37082..4d60cd3660 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -19,14 +19,18 @@ #include "auto/config.h" #include "nvim/api/private/converter.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/dispatch.h" #include "nvim/api/private/helpers.h" #include "nvim/api/vim.h" #include "nvim/ascii_defs.h" #include "nvim/assert_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/channel.h" +#include "nvim/channel_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand.h" #include "nvim/cmdexpand_defs.h" @@ -45,21 +49,26 @@ #include "nvim/eval/userfunc.h" #include "nvim/eval/vars.h" #include "nvim/eval/window.h" +#include "nvim/event/defs.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" #include "nvim/event/process.h" #include "nvim/event/time.h" #include "nvim/ex_cmds.h" +#include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" #include "nvim/ex_getln.h" #include "nvim/file_search.h" #include "nvim/fileio.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/getchar_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/indent.h" @@ -71,24 +80,34 @@ #include "nvim/macros_defs.h" #include "nvim/main.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/math.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/menu.h" +#include "nvim/menu_defs.h" #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/normal_defs.h" #include "nvim/ops.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/dl.h" #include "nvim/os/fileio.h" +#include "nvim/os/fileio_defs.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/pty_process.h" #include "nvim/os/shell.h" #include "nvim/os/stdpaths_defs.h" @@ -99,12 +118,15 @@ #include "nvim/pos_defs.h" #include "nvim/profile.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/search.h" #include "nvim/sha256.h" #include "nvim/spell.h" #include "nvim/spellsuggest.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/syntax.h" #include "nvim/tag.h" diff --git a/src/nvim/eval/typval.c b/src/nvim/eval/typval.c index 18168d77b7..2892cb60f9 100644 --- a/src/nvim/eval/typval.c +++ b/src/nvim/eval/typval.c @@ -19,10 +19,12 @@ #include "nvim/eval/userfunc.h" #include "nvim/eval/vars.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" -#include "nvim/lib/queue.h" +#include "nvim/hashtab_defs.h" +#include "nvim/lib/queue_defs.h" #include "nvim/lua/executor.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" diff --git a/src/nvim/eval/typval.h b/src/nvim/eval/typval.h index 0928fdea62..f9ebd2f778 100644 --- a/src/nvim/eval/typval.h +++ b/src/nvim/eval/typval.h @@ -6,11 +6,11 @@ #include #include -#include "nvim/eval/typval_defs.h" // IWYU pragma: export +#include "nvim/eval/typval_defs.h" // IWYU pragma: keep #include "nvim/func_attr.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/hashtab.h" -#include "nvim/lib/queue.h" +#include "nvim/lib/queue_defs.h" #include "nvim/macros_defs.h" #include "nvim/mbyte_defs.h" // IWYU pragma: keep #include "nvim/message.h" diff --git a/src/nvim/eval/typval_defs.h b/src/nvim/eval/typval_defs.h index 9c94542d11..0d6ee28adc 100644 --- a/src/nvim/eval/typval_defs.h +++ b/src/nvim/eval/typval_defs.h @@ -2,10 +2,11 @@ #include #include +#include #include "nvim/garray_defs.h" #include "nvim/hashtab_defs.h" -#include "nvim/lib/queue.h" +#include "nvim/lib/queue_defs.h" #include "nvim/pos_defs.h" #include "nvim/types_defs.h" diff --git a/src/nvim/eval/userfunc.c b/src/nvim/eval/userfunc.c index e74bf39476..fe10d56d49 100644 --- a/src/nvim/eval/userfunc.c +++ b/src/nvim/eval/userfunc.c @@ -10,6 +10,7 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand_defs.h" @@ -23,10 +24,13 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" +#include "nvim/ex_eval_defs.h" #include "nvim/ex_getln.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/getchar_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" #include "nvim/insexpand.h" @@ -41,11 +45,13 @@ #include "nvim/path.h" #include "nvim/profile.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" #include "nvim/search.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/vim_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/eval/vars.c b/src/nvim/eval/vars.c index d57874480d..14498a19fc 100644 --- a/src/nvim/eval/vars.c +++ b/src/nvim/eval/vars.c @@ -11,6 +11,7 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/drawscreen.h" @@ -18,15 +19,17 @@ #include "nvim/eval/encode.h" #include "nvim/eval/funcs.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/userfunc.h" #include "nvim/eval/vars.h" #include "nvim/eval/window.h" +#include "nvim/eval_defs.h" #include "nvim/ex_cmds.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" #include "nvim/macros_defs.h" diff --git a/src/nvim/eval/window.c b/src/nvim/eval/window.c index cb9e9293ae..b621cec5f4 100644 --- a/src/nvim/eval/window.c +++ b/src/nvim/eval/window.c @@ -15,10 +15,11 @@ #include "nvim/eval/typval_defs.h" #include "nvim/eval/window.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/macros_defs.h" -#include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/move.h" diff --git a/src/nvim/eval/window.h b/src/nvim/eval/window.h index 1b2817edf0..37cb138404 100644 --- a/src/nvim/eval/window.h +++ b/src/nvim/eval/window.h @@ -6,7 +6,7 @@ #include "nvim/eval/typval_defs.h" // IWYU pragma: keep #include "nvim/os/os_defs.h" #include "nvim/pos_defs.h" -#include "nvim/types_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" /// Structure used by switch_win() to pass values to restore_win() typedef struct { diff --git a/src/nvim/event/defs.h b/src/nvim/event/defs.h index e19ad4c970..9b7d8708be 100644 --- a/src/nvim/event/defs.h +++ b/src/nvim/event/defs.h @@ -5,7 +5,9 @@ #include #include +#include "nvim/eval/typval_defs.h" #include "nvim/rbuffer_defs.h" +#include "nvim/types_defs.h" enum { EVENT_HANDLER_MAX_ARGC = 10, }; @@ -124,3 +126,31 @@ struct socket_watcher { socket_close_cb close_cb; MultiQueue *events; }; + +typedef enum { + kProcessTypeUv, + kProcessTypePty, +} ProcessType; + +typedef struct process Process; +typedef void (*process_exit_cb)(Process *proc, int status, void *data); +typedef void (*internal_process_cb)(Process *proc); + +struct process { + ProcessType type; + Loop *loop; + void *data; + int pid, status, refcount; + uint8_t exit_signal; // Signal used when killing (on Windows). + uint64_t stopped_time; // process_stop() timestamp + const char *cwd; + char **argv; + const char *exepath; + dict_T *env; + Stream in, out, err; + /// Exit handler. If set, user must call process_free(). + process_exit_cb cb; + internal_process_cb internal_exit_cb, internal_close_cb; + bool closed, detach, overlapped, fwd_err; + MultiQueue *events; +}; diff --git a/src/nvim/event/libuv_process.c b/src/nvim/event/libuv_process.c index 65132ec2b1..a7966994e0 100644 --- a/src/nvim/event/libuv_process.c +++ b/src/nvim/event/libuv_process.c @@ -4,11 +4,14 @@ #include #include "nvim/eval/typval.h" +#include "nvim/event/defs.h" #include "nvim/event/libuv_process.h" #include "nvim/event/loop.h" #include "nvim/event/process.h" #include "nvim/log.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" +#include "nvim/types_defs.h" #include "nvim/ui_client.h" #ifdef INCLUDE_GENERATED_DECLARATIONS @@ -126,3 +129,11 @@ static void exit_cb(uv_process_t *handle, int64_t status, int term_signal) proc->status = term_signal ? 128 + term_signal : (int)status; proc->internal_exit_cb(proc); } + +LibuvProcess libuv_process_init(Loop *loop, void *data) +{ + LibuvProcess rv = { + .process = process_init(loop, kProcessTypeUv, data) + }; + return rv; +} diff --git a/src/nvim/event/libuv_process.h b/src/nvim/event/libuv_process.h index e1e4a6c406..12401dbb35 100644 --- a/src/nvim/event/libuv_process.h +++ b/src/nvim/event/libuv_process.h @@ -2,8 +2,7 @@ #include -#include "nvim/event/process.h" -#include "nvim/types_defs.h" +#include "nvim/event/defs.h" typedef struct { Process process; @@ -12,14 +11,6 @@ typedef struct { uv_stdio_container_t uvstdio[4]; } LibuvProcess; -static inline LibuvProcess libuv_process_init(Loop *loop, void *data) -{ - LibuvProcess rv = { - .process = process_init(loop, kProcessTypeUv, data) - }; - return rv; -} - #ifdef INCLUDE_GENERATED_DECLARATIONS # include "event/libuv_process.h.generated.h" #endif diff --git a/src/nvim/event/loop.h b/src/nvim/event/loop.h index adcde4c909..6ecc7cb781 100644 --- a/src/nvim/event/loop.h +++ b/src/nvim/event/loop.h @@ -4,7 +4,7 @@ #include #include "klib/klist.h" -#include "nvim/event/defs.h" // IWYU pragma: export +#include "nvim/event/defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep typedef void *WatcherPtr; diff --git a/src/nvim/event/multiqueue.c b/src/nvim/event/multiqueue.c index f1b4414cb5..8646173776 100644 --- a/src/nvim/event/multiqueue.c +++ b/src/nvim/event/multiqueue.c @@ -48,7 +48,7 @@ #include "nvim/event/defs.h" #include "nvim/event/multiqueue.h" -#include "nvim/lib/queue.h" +#include "nvim/lib/queue_defs.h" #include "nvim/memory.h" typedef struct multiqueue_item MultiQueueItem; diff --git a/src/nvim/event/multiqueue.h b/src/nvim/event/multiqueue.h index a0cebcea1d..24aaa34ef7 100644 --- a/src/nvim/event/multiqueue.h +++ b/src/nvim/event/multiqueue.h @@ -2,7 +2,7 @@ #include // IWYU pragma: keep -#include "nvim/event/defs.h" // IWYU pragma: export +#include "nvim/event/defs.h" // IWYU pragma: keep #include "nvim/os/time.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/event/process.c b/src/nvim/event/process.c index 3d9578936c..7460e92766 100644 --- a/src/nvim/event/process.c +++ b/src/nvim/event/process.c @@ -16,7 +16,7 @@ #include "nvim/os/pty_process.h" #include "nvim/os/shell.h" #include "nvim/os/time.h" -#include "nvim/rbuffer.h" +#include "nvim/rbuffer_defs.h" #include "nvim/ui_client.h" #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/event/process.h b/src/nvim/event/process.h index a18414a86a..421a470244 100644 --- a/src/nvim/event/process.h +++ b/src/nvim/event/process.h @@ -2,40 +2,10 @@ #include #include -#include -#include "nvim/eval/typval_defs.h" -#include "nvim/event/defs.h" // IWYU pragma: export +#include "nvim/event/defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" -typedef enum { - kProcessTypeUv, - kProcessTypePty, -} ProcessType; - -typedef struct process Process; -typedef void (*process_exit_cb)(Process *proc, int status, void *data); -typedef void (*internal_process_cb)(Process *proc); - -struct process { - ProcessType type; - Loop *loop; - void *data; - int pid, status, refcount; - uint8_t exit_signal; // Signal used when killing (on Windows). - uint64_t stopped_time; // process_stop() timestamp - const char *cwd; - char **argv; - const char *exepath; - dict_T *env; - Stream in, out, err; - /// Exit handler. If set, user must call process_free(). - process_exit_cb cb; - internal_process_cb internal_exit_cb, internal_close_cb; - bool closed, detach, overlapped, fwd_err; - MultiQueue *events; -}; - static inline Process process_init(Loop *loop, ProcessType type, void *data) { return (Process) { diff --git a/src/nvim/event/rstream.c b/src/nvim/event/rstream.c index c70ddeefb0..f50c8a0e5a 100644 --- a/src/nvim/event/rstream.c +++ b/src/nvim/event/rstream.c @@ -12,6 +12,7 @@ #include "nvim/main.h" #include "nvim/os/os_defs.h" #include "nvim/rbuffer.h" +#include "nvim/rbuffer_defs.h" #include "nvim/types_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/event/rstream.h b/src/nvim/event/rstream.h index 3b04e5d435..4e2893bf88 100644 --- a/src/nvim/event/rstream.h +++ b/src/nvim/event/rstream.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/event/defs.h" // IWYU pragma: export +#include "nvim/event/defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/event/signal.h b/src/nvim/event/signal.h index 79784f1226..16cd2be951 100644 --- a/src/nvim/event/signal.h +++ b/src/nvim/event/signal.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/event/defs.h" // IWYU pragma: export +#include "nvim/event/defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/event/socket.c b/src/nvim/event/socket.c index 35db9150b3..4e878a2ecf 100644 --- a/src/nvim/event/socket.c +++ b/src/nvim/event/socket.c @@ -12,12 +12,12 @@ #include "nvim/event/multiqueue.h" #include "nvim/event/socket.h" #include "nvim/event/stream.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/log.h" #include "nvim/main.h" #include "nvim/memory.h" #include "nvim/os/fs.h" -#include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/types_defs.h" diff --git a/src/nvim/event/socket.h b/src/nvim/event/socket.h index 8dd72234d2..64a77a9a06 100644 --- a/src/nvim/event/socket.h +++ b/src/nvim/event/socket.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/event/defs.h" // IWYU pragma: export +#include "nvim/event/defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/event/stream.h b/src/nvim/event/stream.h index f79c0ebaa3..9bdfc421d6 100644 --- a/src/nvim/event/stream.h +++ b/src/nvim/event/stream.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/event/defs.h" // IWYU pragma: export +#include "nvim/event/defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/event/time.h b/src/nvim/event/time.h index 0b684db897..d1f92a3c0e 100644 --- a/src/nvim/event/time.h +++ b/src/nvim/event/time.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/event/defs.h" // IWYU pragma: export +#include "nvim/event/defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/event/wstream.h b/src/nvim/event/wstream.h index 5994e6d700..a431f940d2 100644 --- a/src/nvim/event/wstream.h +++ b/src/nvim/event/wstream.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/event/defs.h" // IWYU pragma: export +#include "nvim/event/defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index 7abc8354aa..9a04b941ab 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -18,7 +18,9 @@ #include "nvim/arglist.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/buffer_updates.h" #include "nvim/bufwrite.h" #include "nvim/change.h" @@ -34,6 +36,7 @@ #include "nvim/edit.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds.h" #include "nvim/ex_cmds2.h" #include "nvim/ex_cmds_defs.h" @@ -41,21 +44,25 @@ #include "nvim/ex_eval.h" #include "nvim/ex_getln.h" #include "nvim/extmark.h" +#include "nvim/extmark_defs.h" #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/help.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/indent.h" #include "nvim/input.h" #include "nvim/macros_defs.h" #include "nvim/main.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/mouse.h" @@ -63,11 +70,14 @@ #include "nvim/normal.h" #include "nvim/ops.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/shell.h" #include "nvim/os/time.h" #include "nvim/path.h" @@ -76,6 +86,7 @@ #include "nvim/profile.h" #include "nvim/quickfix.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/search.h" #include "nvim/spell.h" #include "nvim/state_defs.h" @@ -83,6 +94,7 @@ #include "nvim/terminal.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/undo.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/ex_cmds.h b/src/nvim/ex_cmds.h index c3e4a799b5..e0894cf7a8 100644 --- a/src/nvim/ex_cmds.h +++ b/src/nvim/ex_cmds.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/ex_cmds_defs.h" // IWYU pragma: export +#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep /// flags for do_ecmd() enum { diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c index 504078bcf6..234a927291 100644 --- a/src/nvim/ex_cmds2.c +++ b/src/nvim/ex_cmds2.c @@ -11,12 +11,15 @@ #include "nvim/arglist.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/bufwrite.h" #include "nvim/change.h" #include "nvim/channel.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/vars.h" #include "nvim/ex_cmds.h" #include "nvim/ex_cmds2.h" @@ -24,9 +27,10 @@ #include "nvim/ex_docmd.h" #include "nvim/ex_getln.h" #include "nvim/fileio.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/macros_defs.h" #include "nvim/mark.h" #include "nvim/memory.h" diff --git a/src/nvim/ex_cmds_defs.h b/src/nvim/ex_cmds_defs.h index 89b8999674..827680cbb5 100644 --- a/src/nvim/ex_cmds_defs.h +++ b/src/nvim/ex_cmds_defs.h @@ -5,9 +5,7 @@ #include "nvim/eval/typval_defs.h" #include "nvim/ex_eval_defs.h" -#include "nvim/normal_defs.h" #include "nvim/os/time_defs.h" -#include "nvim/pos_defs.h" #include "nvim/regexp_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 49c5f4e610..7c3eb47247 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -12,9 +12,12 @@ #include #include "auto/config.h" +#include "nvim/api/private/defs.h" +#include "nvim/api/private/helpers.h" #include "nvim/arglist.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" #include "nvim/buffer_defs.h" #include "nvim/change.h" @@ -28,6 +31,7 @@ #include "nvim/edit.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/userfunc.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" @@ -36,15 +40,18 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" +#include "nvim/ex_eval_defs.h" #include "nvim/ex_getln.h" #include "nvim/file_search.h" #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/input.h" #include "nvim/keycodes.h" @@ -52,20 +59,25 @@ #include "nvim/macros_defs.h" #include "nvim/main.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/mouse.h" #include "nvim/move.h" #include "nvim/normal.h" +#include "nvim/normal_defs.h" #include "nvim/ops.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/fs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/shell.h" #include "nvim/path.h" #include "nvim/popupmenu.h" @@ -73,16 +85,20 @@ #include "nvim/profile.h" #include "nvim/quickfix.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/search.h" #include "nvim/shada.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/statusline.h" #include "nvim/strings.h" #include "nvim/tag.h" #include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/undo.h" +#include "nvim/undo_defs.h" #include "nvim/usercmd.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/ex_eval.c b/src/nvim/ex_eval.c index 90dfa45c47..472741d537 100644 --- a/src/nvim/ex_eval.c +++ b/src/nvim/ex_eval.c @@ -13,18 +13,22 @@ #include "nvim/debugger.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/userfunc.h" +#include "nvim/eval_defs.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" #include "nvim/ex_eval_defs.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option_vars.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/strings.h" #include "nvim/vim_defs.h" diff --git a/src/nvim/ex_eval.h b/src/nvim/ex_eval.h index 0294acd109..d46d9c695a 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" // IWYU pragma: keep -#include "nvim/ex_eval_defs.h" // IWYU pragma: export +#include "nvim/ex_eval_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS # include "ex_eval.h.generated.h" diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index 2f2cb3f9e8..d10214b48f 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -11,14 +11,18 @@ #include "klib/kvec.h" #include "nvim/api/extmark.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/api/vim.h" #include "nvim/arabic.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand.h" +#include "nvim/cmdexpand_defs.h" #include "nvim/cmdhist.h" #include "nvim/cursor.h" #include "nvim/digraph.h" @@ -34,19 +38,23 @@ #include "nvim/ex_getln.h" #include "nvim/extmark.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" #include "nvim/map_defs.h" #include "nvim/mapping.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/message.h" #include "nvim/mouse.h" #include "nvim/move.h" @@ -63,16 +71,21 @@ #include "nvim/pos_defs.h" #include "nvim/profile.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/search.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/undo.h" +#include "nvim/undo_defs.h" #include "nvim/usercmd.h" #include "nvim/vim_defs.h" #include "nvim/viml/parser/expressions.h" #include "nvim/viml/parser/parser.h" +#include "nvim/viml/parser/parser_defs.h" #include "nvim/window.h" /// Last value of prompt_id, incremented when doing new prompt diff --git a/src/nvim/ex_getln.h b/src/nvim/ex_getln.h index af08970f0b..3e14ea12b8 100644 --- a/src/nvim/ex_getln.h +++ b/src/nvim/ex_getln.h @@ -4,7 +4,7 @@ #include "nvim/eval/typval_defs.h" // IWYU pragma: keep #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep -#include "nvim/ex_getln_defs.h" // IWYU pragma: export +#include "nvim/ex_getln_defs.h" // IWYU pragma: keep #include "nvim/option_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep diff --git a/src/nvim/ex_session.c b/src/nvim/ex_session.c index 887a0356c1..3e15641be8 100644 --- a/src/nvim/ex_session.c +++ b/src/nvim/ex_session.c @@ -10,10 +10,13 @@ #include #include "nvim/arglist.h" +#include "nvim/arglist_defs.h" #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_getln.h" @@ -21,8 +24,8 @@ #include "nvim/file_search.h" #include "nvim/fileio.h" #include "nvim/fold.h" -#include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/macros_defs.h" #include "nvim/mapping.h" @@ -33,6 +36,7 @@ #include "nvim/option_vars.h" #include "nvim/os/fs.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/runtime.h" diff --git a/src/nvim/extmark.c b/src/nvim/extmark.c index 69b10dd674..583d7eb061 100644 --- a/src/nvim/extmark.c +++ b/src/nvim/extmark.c @@ -32,6 +32,7 @@ #include "nvim/buffer_defs.h" #include "nvim/buffer_updates.h" #include "nvim/decoration.h" +#include "nvim/decoration_defs.h" #include "nvim/extmark.h" #include "nvim/extmark_defs.h" #include "nvim/globals.h" @@ -41,6 +42,7 @@ #include "nvim/pos_defs.h" #include "nvim/types_defs.h" #include "nvim/undo.h" +#include "nvim/undo_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "extmark.c.generated.h" diff --git a/src/nvim/extmark.h b/src/nvim/extmark.h index 2f2491f8a4..a68bbf33f2 100644 --- a/src/nvim/extmark.h +++ b/src/nvim/extmark.h @@ -4,7 +4,7 @@ #include #include "klib/kvec.h" -#include "nvim/extmark_defs.h" // IWYU pragma: export +#include "nvim/extmark_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" #include "nvim/marktree_defs.h" #include "nvim/pos_defs.h" diff --git a/src/nvim/extmark_defs.h b/src/nvim/extmark_defs.h index c5a8684545..71150cf07c 100644 --- a/src/nvim/extmark_defs.h +++ b/src/nvim/extmark_defs.h @@ -1,7 +1,6 @@ #pragma once #include "klib/kvec.h" -#include "nvim/types_defs.h" // TODO(bfredl): good enough name for now. typedef ptrdiff_t bcount_t; diff --git a/src/nvim/file_search.c b/src/nvim/file_search.c index 783bbf9d7d..ed4848b402 100644 --- a/src/nvim/file_search.c +++ b/src/nvim/file_search.c @@ -51,11 +51,13 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/file_search.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" @@ -64,8 +66,10 @@ #include "nvim/option.h" #include "nvim/option_vars.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/strings.h" #include "nvim/vim_defs.h" diff --git a/src/nvim/file_search.h b/src/nvim/file_search.h index a2d578a668..2450472681 100644 --- a/src/nvim/file_search.h +++ b/src/nvim/file_search.h @@ -1,5 +1,7 @@ #pragma once +#include // IWYU pragma: keep + #include "nvim/types_defs.h" // IWYU pragma: keep #include "nvim/vim_defs.h" // IWYU pragma: keep diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index 85656650b6..a06a773f47 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -18,7 +18,9 @@ #include "auto/config.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/buffer_updates.h" #include "nvim/change.h" #include "nvim/cursor.h" @@ -33,19 +35,24 @@ #include "nvim/garray.h" #include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/iconv_defs.h" #include "nvim/log.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memfile.h" +#include "nvim/memfile_defs.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/move.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/fs.h" @@ -56,6 +63,7 @@ #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/sha256.h" #include "nvim/shada.h" #include "nvim/state_defs.h" @@ -63,6 +71,7 @@ #include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/undo.h" +#include "nvim/undo_defs.h" #include "nvim/vim_defs.h" #ifdef BACKSLASH_IN_FILENAME diff --git a/src/nvim/fold.c b/src/nvim/fold.c index 6cbf94dced..0ef9e48e3e 100644 --- a/src/nvim/fold.c +++ b/src/nvim/fold.c @@ -11,6 +11,7 @@ #include "klib/kvec.h" #include "nvim/api/extmark.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/buffer_defs.h" @@ -25,13 +26,15 @@ #include "nvim/eval/typval.h" #include "nvim/ex_session.h" #include "nvim/extmark.h" +#include "nvim/extmark_defs.h" #include "nvim/fold.h" #include "nvim/garray.h" #include "nvim/garray_defs.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/indent.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" diff --git a/src/nvim/fold.h b/src/nvim/fold.h index 887787578e..f9044d247f 100644 --- a/src/nvim/fold.h +++ b/src/nvim/fold.h @@ -4,7 +4,7 @@ #include "nvim/decoration_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" // IWYU pragma: keep -#include "nvim/fold_defs.h" // IWYU pragma: export +#include "nvim/fold_defs.h" // IWYU pragma: keep #include "nvim/garray_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" #include "nvim/pos_defs.h" // IWYU pragma: keep diff --git a/src/nvim/garray.c b/src/nvim/garray.c index 28339c3059..f87a196361 100644 --- a/src/nvim/garray.c +++ b/src/nvim/garray.c @@ -217,3 +217,12 @@ void ga_append(garray_T *gap, uint8_t c) { GA_APPEND(uint8_t, gap, c); } + +void *ga_append_via_ptr(garray_T *gap, size_t item_size) +{ + if ((int)item_size != gap->ga_itemsize) { + WLOG("wrong item size (%zu), should be %d", item_size, gap->ga_itemsize); + } + ga_grow(gap, 1); + return ((char *)gap->ga_data) + (item_size * (size_t)gap->ga_len++); +} diff --git a/src/nvim/garray.h b/src/nvim/garray.h index dd355984b3..7a766f988a 100644 --- a/src/nvim/garray.h +++ b/src/nvim/garray.h @@ -3,8 +3,7 @@ #include #include -#include "nvim/garray_defs.h" // IWYU pragma: export -#include "nvim/log.h" +#include "nvim/garray_defs.h" // IWYU pragma: keep #include "nvim/memory.h" #define GA_EMPTY(ga_ptr) ((ga_ptr)->ga_len <= 0) @@ -23,15 +22,6 @@ # include "garray.h.generated.h" #endif -static inline void *ga_append_via_ptr(garray_T *gap, size_t item_size) -{ - if ((int)item_size != gap->ga_itemsize) { - WLOG("wrong item size (%zu), should be %d", item_size, gap->ga_itemsize); - } - ga_grow(gap, 1); - return ((char *)gap->ga_data) + (item_size * (size_t)gap->ga_len++); -} - /// Deep free a garray of specific type using a custom free function. /// Items in the array as well as the array itself are freed. /// diff --git a/src/nvim/getchar.c b/src/nvim/getchar.c index 6842aeddcb..23937a6bb5 100644 --- a/src/nvim/getchar.c +++ b/src/nvim/getchar.c @@ -11,6 +11,7 @@ #include #include +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/buffer_defs.h" @@ -27,8 +28,9 @@ #include "nvim/ex_docmd.h" #include "nvim/ex_getln.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/input.h" #include "nvim/insexpand.h" @@ -36,21 +38,26 @@ #include "nvim/lua/executor.h" #include "nvim/main.h" #include "nvim/mapping.h" +#include "nvim/mapping_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/mouse.h" #include "nvim/move.h" #include "nvim/normal.h" +#include "nvim/normal_defs.h" #include "nvim/ops.h" #include "nvim/option_vars.h" #include "nvim/os/fileio.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/plines.h" #include "nvim/pos_defs.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" diff --git a/src/nvim/getchar.h b/src/nvim/getchar.h index 6e41bef298..79f4f1f8ba 100644 --- a/src/nvim/getchar.h +++ b/src/nvim/getchar.h @@ -4,7 +4,7 @@ #include // IWYU pragma: keep #include "nvim/eval/typval_defs.h" // IWYU pragma: keep -#include "nvim/getchar_defs.h" // IWYU pragma: export +#include "nvim/getchar_defs.h" // IWYU pragma: keep #include "nvim/os/fileio_defs.h" #include "nvim/types_defs.h" // IWYU pragma: keep diff --git a/src/nvim/gettext.h b/src/nvim/gettext_defs.h similarity index 100% rename from src/nvim/gettext.h rename to src/nvim/gettext_defs.h diff --git a/src/nvim/grid.c b/src/nvim/grid.c index 0f8a0f8ab8..e4a34ae74a 100644 --- a/src/nvim/grid.c +++ b/src/nvim/grid.c @@ -22,14 +22,17 @@ #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/log.h" #include "nvim/map_defs.h" +#include "nvim/mbyte.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "grid.c.generated.h" @@ -1065,3 +1068,15 @@ win_T *get_win_by_grid_handle(handle_T handle) } return NULL; } + +/// Put a unicode character in a screen cell. +schar_T schar_from_char(int c) +{ + schar_T sc = 0; + if (c >= 0x200000) { + // TODO(bfredl): this must NEVER happen, even if the file contained overlong sequences + c = 0xFFFD; + } + utf_char2bytes(c, (char *)&sc); + return sc; +} diff --git a/src/nvim/grid.h b/src/nvim/grid.h index 7398ae7847..7506f0fc9d 100644 --- a/src/nvim/grid.h +++ b/src/nvim/grid.h @@ -3,9 +3,8 @@ #include #include // IWYU pragma: keep -#include "nvim/grid_defs.h" // IWYU pragma: export +#include "nvim/grid_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" -#include "nvim/mbyte.h" #include "nvim/pos_defs.h" #include "nvim/types_defs.h" @@ -41,18 +40,6 @@ EXTERN char *linebuf_scratch INIT( = NULL); # define schar_from_ascii(x) ((schar_T)(x)) #endif -/// Put a unicode character in a screen cell. -static inline schar_T schar_from_char(int c) -{ - schar_T sc = 0; - if (c >= 0x200000) { - // TODO(bfredl): this must NEVER happen, even if the file contained overlong sequences - c = 0xFFFD; - } - utf_char2bytes(c, (char *)&sc); - return sc; -} - #ifdef INCLUDE_GENERATED_DECLARATIONS # include "grid.h.generated.h" #endif diff --git a/src/nvim/hashtab.c b/src/nvim/hashtab.c index 68365cac5b..a8a998a361 100644 --- a/src/nvim/hashtab.c +++ b/src/nvim/hashtab.c @@ -24,7 +24,7 @@ #include #include "nvim/ascii_defs.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/hashtab.h" #include "nvim/memory.h" #include "nvim/message.h" diff --git a/src/nvim/hashtab.h b/src/nvim/hashtab.h index d14eb6944e..06c73ce6c0 100644 --- a/src/nvim/hashtab.h +++ b/src/nvim/hashtab.h @@ -2,7 +2,7 @@ #include -#include "nvim/hashtab_defs.h" // IWYU pragma: export +#include "nvim/hashtab_defs.h" // IWYU pragma: keep /// Magic number used for hashitem "hi_key" value indicating a deleted item /// diff --git a/src/nvim/help.c b/src/nvim/help.c index ff919f2fb9..c6a6108010 100644 --- a/src/nvim/help.c +++ b/src/nvim/help.c @@ -8,30 +8,36 @@ #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cmdexpand.h" +#include "nvim/cmdexpand_defs.h" #include "nvim/ex_cmds.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/extmark_defs.h" #include "nvim/fileio.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/help.h" #include "nvim/macros_defs.h" #include "nvim/mark.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/fs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/runtime.h" diff --git a/src/nvim/highlight.c b/src/nvim/highlight.c index cffa362d6a..bd599d686f 100644 --- a/src/nvim/highlight.c +++ b/src/nvim/highlight.c @@ -14,7 +14,7 @@ #include "nvim/decoration_defs.h" #include "nvim/decoration_provider.h" #include "nvim/drawscreen.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" #include "nvim/highlight_defs.h" @@ -23,6 +23,7 @@ #include "nvim/macros_defs.h" #include "nvim/map_defs.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/message.h" #include "nvim/option.h" #include "nvim/popupmenu.h" diff --git a/src/nvim/highlight.h b/src/nvim/highlight.h index 228d96ceb2..cb3a84bcaf 100644 --- a/src/nvim/highlight.h +++ b/src/nvim/highlight.h @@ -4,8 +4,8 @@ #include "nvim/api/keysets_defs.h" // IWYU pragma: keep #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/buffer_defs.h" +#include "nvim/highlight_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" #include "nvim/option_vars.h" #include "nvim/types_defs.h" diff --git a/src/nvim/highlight_group.c b/src/nvim/highlight_group.c index 71c44c852e..16210fb06f 100644 --- a/src/nvim/highlight_group.c +++ b/src/nvim/highlight_group.c @@ -15,6 +15,7 @@ #include "nvim/api/private/validate.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand_defs.h" @@ -26,7 +27,8 @@ #include "nvim/eval/vars.h" #include "nvim/ex_docmd.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" #include "nvim/highlight_group.h" @@ -34,14 +36,17 @@ #include "nvim/macros_defs.h" #include "nvim/map_defs.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/message.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/os/time.h" #include "nvim/runtime.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/vim_defs.h" /// \addtogroup SG_SET diff --git a/src/nvim/indent.c b/src/nvim/indent.c index 4022bca5ac..080f6f986a 100644 --- a/src/nvim/indent.c +++ b/src/nvim/indent.c @@ -7,6 +7,7 @@ #include "nvim/ascii_defs.h" #include "nvim/assert_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cursor.h" @@ -17,23 +18,26 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/extmark.h" -#include "nvim/gettext.h" +#include "nvim/extmark_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/indent.h" #include "nvim/indent_c.h" -#include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/move.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/input.h" #include "nvim/plines.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/search.h" #include "nvim/state_defs.h" #include "nvim/strings.h" diff --git a/src/nvim/indent_c.c b/src/nvim/indent_c.c index 36223f0899..a660c9dead 100644 --- a/src/nvim/indent_c.c +++ b/src/nvim/indent_c.c @@ -13,7 +13,7 @@ #include "nvim/indent.h" #include "nvim/indent_c.h" #include "nvim/macros_defs.h" -#include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/option.h" diff --git a/src/nvim/input.c b/src/nvim/input.c index b5080c87a0..7e6b6d4bd0 100644 --- a/src/nvim/input.c +++ b/src/nvim/input.c @@ -8,9 +8,10 @@ #include "nvim/ascii_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/input.h" #include "nvim/keycodes.h" #include "nvim/mbyte.h" diff --git a/src/nvim/insexpand.c b/src/nvim/insexpand.c index 6162371062..08de7ac6f6 100644 --- a/src/nvim/insexpand.c +++ b/src/nvim/insexpand.c @@ -12,32 +12,40 @@ #include "klib/kvec.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cmdexpand.h" +#include "nvim/cmdexpand_defs.h" #include "nvim/cursor.h" #include "nvim/drawscreen.h" #include "nvim/edit.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/userfunc.h" #include "nvim/ex_eval.h" #include "nvim/ex_getln.h" #include "nvim/extmark.h" +#include "nvim/extmark_defs.h" #include "nvim/fileio.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/indent.h" #include "nvim/indent_c.h" #include "nvim/insexpand.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" -#include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" @@ -52,9 +60,11 @@ #include "nvim/popupmenu.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/search.h" #include "nvim/spell.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/tag.h" #include "nvim/textformat.h" diff --git a/src/nvim/keycodes.c b/src/nvim/keycodes.c index dd7a917380..c45ad83204 100644 --- a/src/nvim/keycodes.c +++ b/src/nvim/keycodes.c @@ -10,14 +10,16 @@ #include "nvim/charset.h" #include "nvim/eval/typval_defs.h" #include "nvim/eval/vars.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/mouse.h" +#include "nvim/option_vars.h" #include "nvim/strings.h" #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/keycodes.h b/src/nvim/keycodes.h index 6aebad5b66..18af3f87d6 100644 --- a/src/nvim/keycodes.h +++ b/src/nvim/keycodes.h @@ -1,7 +1,5 @@ #pragma once -#include - #include "nvim/ascii_defs.h" #include "nvim/eval/typval_defs.h" // IWYU pragma: keep diff --git a/src/nvim/lib/queue.h b/src/nvim/lib/queue_defs.h similarity index 100% rename from src/nvim/lib/queue.h rename to src/nvim/lib/queue_defs.h diff --git a/src/nvim/log.c b/src/nvim/log.c index 4370693f49..fbb3e0385a 100644 --- a/src/nvim/log.c +++ b/src/nvim/log.c @@ -25,6 +25,7 @@ #include "nvim/message.h" #include "nvim/os/fs.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/stdpaths_defs.h" #include "nvim/os/time.h" #include "nvim/path.h" diff --git a/src/nvim/lua/converter.c b/src/nvim/lua/converter.c index 468fe19cf9..575dc2ce37 100644 --- a/src/nvim/lua/converter.c +++ b/src/nvim/lua/converter.c @@ -16,7 +16,7 @@ #include "nvim/eval/typval_defs.h" #include "nvim/eval/typval_encode.h" #include "nvim/eval/userfunc.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/lua/converter.h" #include "nvim/lua/executor.h" #include "nvim/macros_defs.h" diff --git a/src/nvim/lua/executor.c b/src/nvim/lua/executor.c index 116e8136cc..f48cab6739 100644 --- a/src/nvim/lua/executor.c +++ b/src/nvim/lua/executor.c @@ -13,6 +13,7 @@ #include "klib/kvec.h" #include "luv/luv.h" #include "nvim/api/extmark.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/buffer_defs.h" @@ -23,7 +24,9 @@ #include "nvim/eval.h" #include "nvim/eval/funcs.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/userfunc.h" +#include "nvim/event/defs.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" #include "nvim/event/time.h" @@ -31,8 +34,9 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_getln.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/keycodes.h" #include "nvim/lua/converter.h" @@ -43,22 +47,30 @@ #include "nvim/main.h" #include "nvim/memline.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/message.h" #include "nvim/msgpack_rpc/channel.h" #include "nvim/option_vars.h" #include "nvim/os/fileio.h" +#include "nvim/os/fileio_defs.h" #include "nvim/os/os.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/profile.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/strings.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/undo.h" #include "nvim/usercmd.h" #include "nvim/vim_defs.h" #include "nvim/window.h" +#ifndef MSWIN +# include +#endif + static int in_fast_callback = 0; static bool in_script = false; diff --git a/src/nvim/lua/executor.h b/src/nvim/lua/executor.h index 16fa5f8bc0..0b4623cbd3 100644 --- a/src/nvim/lua/executor.h +++ b/src/nvim/lua/executor.h @@ -9,7 +9,6 @@ #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep #include "nvim/func_attr.h" #include "nvim/macros_defs.h" -#include "nvim/map_defs.h" #include "nvim/types_defs.h" #include "nvim/usercmd.h" // IWYU pragma: keep diff --git a/src/nvim/lua/secure.c b/src/nvim/lua/secure.c index 65c13f8872..f62e0ace04 100644 --- a/src/nvim/lua/secure.c +++ b/src/nvim/lua/secure.c @@ -4,7 +4,7 @@ #include "nvim/charset.h" #include "nvim/ex_cmds_defs.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/lua/executor.h" #include "nvim/lua/secure.h" diff --git a/src/nvim/lua/spell.c b/src/nvim/lua/spell.c index e6c38ea9cb..ba83239dc5 100644 --- a/src/nvim/lua/spell.c +++ b/src/nvim/lua/spell.c @@ -7,7 +7,7 @@ #include "nvim/ascii_defs.h" #include "nvim/buffer_defs.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight_defs.h" #include "nvim/lua/spell.h" diff --git a/src/nvim/lua/stdlib.c b/src/nvim/lua/stdlib.c index db710457c3..5fea1ba5d8 100644 --- a/src/nvim/lua/stdlib.c +++ b/src/nvim/lua/stdlib.c @@ -14,10 +14,12 @@ #include "cjson/lua_cjson.h" #include "mpack/lmpack.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/buffer_defs.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/vars.h" #include "nvim/ex_eval.h" #include "nvim/fold.h" @@ -29,10 +31,12 @@ #include "nvim/lua/xdiff.h" #include "nvim/map_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" #include "nvim/strings.h" #include "nvim/types_defs.h" diff --git a/src/nvim/lua/xdiff.c b/src/nvim/lua/xdiff.c index e21bca170f..5285c1187d 100644 --- a/src/nvim/lua/xdiff.c +++ b/src/nvim/lua/xdiff.c @@ -5,6 +5,7 @@ #include #include "luaconf.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/linematch.h" #include "nvim/lua/converter.h" diff --git a/src/nvim/main.c b/src/nvim/main.c index e41501c562..6d71dc618a 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -19,13 +19,17 @@ #include "auto/config.h" // IWYU pragma: keep #include "nvim/api/extmark.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/api/ui.h" #include "nvim/arglist.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/channel.h" +#include "nvim/channel_defs.h" #include "nvim/decoration.h" #include "nvim/decoration_provider.h" #include "nvim/diff.h" @@ -33,6 +37,7 @@ #include "nvim/drawscreen.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/userfunc.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" @@ -46,7 +51,7 @@ #include "nvim/fold.h" #include "nvim/garray.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/hashtab.h" @@ -70,13 +75,16 @@ #include "nvim/normal.h" #include "nvim/ops.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/fileio.h" +#include "nvim/os/fileio_defs.h" #include "nvim/os/fs.h" #include "nvim/os/input.h" #include "nvim/os/lang.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/signal.h" #include "nvim/os/stdpaths_defs.h" #include "nvim/path.h" @@ -84,6 +92,7 @@ #include "nvim/profile.h" #include "nvim/quickfix.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/shada.h" #include "nvim/statusline.h" #include "nvim/strings.h" @@ -97,10 +106,15 @@ #include "nvim/vim_defs.h" #include "nvim/window.h" #include "nvim/winfloat.h" + #ifdef MSWIN # include "nvim/os/os_win_console.h" #endif +#if defined(MSWIN) && !defined(MAKE_LIB) +# include "nvim/mbyte.h" +#endif + // values for "window_layout" enum { WIN_HOR = 1, // "-o" horizontally split windows diff --git a/src/nvim/map_glyph_cache.c b/src/nvim/map_glyph_cache.c index 091b4f7990..5efa87b960 100644 --- a/src/nvim/map_glyph_cache.c +++ b/src/nvim/map_glyph_cache.c @@ -11,6 +11,7 @@ #include #include +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/macros_defs.h" diff --git a/src/nvim/mapping.c b/src/nvim/mapping.c index 58fce92fb0..a8af2168c5 100644 --- a/src/nvim/mapping.c +++ b/src/nvim/mapping.c @@ -25,15 +25,19 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_session.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/getchar_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/keycodes.h" #include "nvim/lua/executor.h" #include "nvim/macros_defs.h" #include "nvim/mapping.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option_defs.h" @@ -47,6 +51,7 @@ #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/vim_defs.h" /// List used for abbreviations. diff --git a/src/nvim/mapping.h b/src/nvim/mapping.h index 3baa52ee77..b82117ea86 100644 --- a/src/nvim/mapping.h +++ b/src/nvim/mapping.h @@ -8,7 +8,7 @@ #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/mapping_defs.h" // IWYU pragma: keep #include "nvim/option_defs.h" // IWYU pragma: keep #include "nvim/regexp_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep diff --git a/src/nvim/mapping_defs.h b/src/nvim/mapping_defs.h index 4f0334c226..05b8aef23a 100644 --- a/src/nvim/mapping_defs.h +++ b/src/nvim/mapping_defs.h @@ -3,7 +3,6 @@ #include #include "nvim/eval/typval_defs.h" -#include "nvim/types_defs.h" enum { MAXMAPLEN = 50, }; ///< Maximum length of key sequence to be mapped. diff --git a/src/nvim/mark.c b/src/nvim/mark.c index 075c371024..34e35a8277 100644 --- a/src/nvim/mark.c +++ b/src/nvim/mark.c @@ -9,30 +9,35 @@ #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cursor.h" #include "nvim/diff.h" #include "nvim/edit.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds_defs.h" #include "nvim/extmark.h" #include "nvim/extmark_defs.h" #include "nvim/fold.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/mark.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/move.h" -#include "nvim/normal.h" +#include "nvim/normal_defs.h" #include "nvim/option_vars.h" #include "nvim/os/fs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/time.h" +#include "nvim/os/time_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/quickfix.h" diff --git a/src/nvim/mark.h b/src/nvim/mark.h index 2c1bf7c73c..c3661e2e22 100644 --- a/src/nvim/mark.h +++ b/src/nvim/mark.h @@ -7,7 +7,7 @@ #include "nvim/extmark_defs.h" // IWYU pragma: keep #include "nvim/func_attr.h" #include "nvim/macros_defs.h" -#include "nvim/mark_defs.h" // IWYU pragma: export +#include "nvim/mark_defs.h" // IWYU pragma: keep #include "nvim/os/time.h" #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/mark_defs.h b/src/nvim/mark_defs.h index bf4fc8f6ad..98bdb6ee04 100644 --- a/src/nvim/mark_defs.h +++ b/src/nvim/mark_defs.h @@ -2,7 +2,6 @@ #include "nvim/eval/typval_defs.h" #include "nvim/os/time_defs.h" -#include "nvim/pos_defs.h" // marks: positions in a file // (a normal mark is a lnum/col pair, the same as a file position) diff --git a/src/nvim/marktree.c b/src/nvim/marktree.c index fb0d0502ee..9b6b6f8345 100644 --- a/src/nvim/marktree.c +++ b/src/nvim/marktree.c @@ -59,6 +59,7 @@ #include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #define T MT_BRANCH_FACTOR #define ILEN (sizeof(MTNode) + (2 * T) * sizeof(void *)) diff --git a/src/nvim/marktree.h b/src/nvim/marktree.h index 46d60a2b69..b31feaad3c 100644 --- a/src/nvim/marktree.h +++ b/src/nvim/marktree.h @@ -5,7 +5,7 @@ #include #include "nvim/decoration_defs.h" -#include "nvim/marktree_defs.h" // IWYU pragma: export +#include "nvim/marktree_defs.h" // IWYU pragma: keep #include "nvim/pos_defs.h" // IWYU pragma: keep // only for debug functions: #include "nvim/api/private/defs.h" // IWYU pragma: keep diff --git a/src/nvim/marktree_defs.h b/src/nvim/marktree_defs.h index 8aa1b1e376..5dc901b9bd 100644 --- a/src/nvim/marktree_defs.h +++ b/src/nvim/marktree_defs.h @@ -4,7 +4,6 @@ #include #include -#include "klib/kvec.h" #include "nvim/decoration_defs.h" #include "nvim/map_defs.h" diff --git a/src/nvim/match.c b/src/nvim/match.c index 3e77546800..c8837969b6 100644 --- a/src/nvim/match.c +++ b/src/nvim/match.c @@ -16,13 +16,15 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/fold.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/macros_defs.h" #include "nvim/match.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" diff --git a/src/nvim/mbyte.c b/src/nvim/mbyte.c index 75e38c59f3..26c95c698f 100644 --- a/src/nvim/mbyte.c +++ b/src/nvim/mbyte.c @@ -46,9 +46,10 @@ #include "nvim/eval/typval.h" #include "nvim/eval/typval_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/iconv_defs.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" @@ -2803,3 +2804,14 @@ char *get_encoding_name(expand_T *xp FUNC_ATTR_UNUSED, int idx) return (char *)enc_canon_table[idx].name; } + +/// Compare strings +/// +/// @param[in] ic True if case is to be ignored. +/// +/// @return 0 if s1 == s2, <0 if s1 < s2, >0 if s1 > s2. +int mb_strcmp_ic(bool ic, const char *s1, const char *s2) + FUNC_ATTR_NONNULL_ALL FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT +{ + return (ic ? mb_stricmp(s1, s2) : strcmp(s1, s2)); +} diff --git a/src/nvim/mbyte.h b/src/nvim/mbyte.h index 96f8b24983..2fb353de9e 100644 --- a/src/nvim/mbyte.h +++ b/src/nvim/mbyte.h @@ -1,15 +1,12 @@ #pragma once -#include #include -#include #include // IWYU pragma: keep #include // IWYU pragma: keep #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" // IWYU pragma: keep -#include "nvim/func_attr.h" -#include "nvim/mbyte_defs.h" // IWYU pragma: export +#include "nvim/mbyte_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS @@ -27,18 +24,6 @@ extern const uint8_t utf8len_tab_zero[256]; extern const uint8_t utf8len_tab[256]; -static inline int mb_strcmp_ic(bool ic, const char *s1, const char *s2) - REAL_FATTR_NONNULL_ALL REAL_FATTR_PURE REAL_FATTR_WARN_UNUSED_RESULT; -/// Compare strings -/// -/// @param[in] ic True if case is to be ignored. -/// -/// @return 0 if s1 == s2, <0 if s1 < s2, >0 if s1 > s2. -static inline int mb_strcmp_ic(bool ic, const char *s1, const char *s2) -{ - return (ic ? mb_stricmp(s1, s2) : strcmp(s1, s2)); -} - // Use our own character-case definitions, because the current locale may // differ from what the .spl file uses. // These must not be called with negative number! diff --git a/src/nvim/memfile.c b/src/nvim/memfile.c index 8869a428d1..fb9f2eb8df 100644 --- a/src/nvim/memfile.c +++ b/src/nvim/memfile.c @@ -47,7 +47,7 @@ #include "nvim/assert_defs.h" #include "nvim/buffer_defs.h" #include "nvim/fileio.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/map_defs.h" #include "nvim/memfile.h" @@ -56,8 +56,9 @@ #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/input.h" -#include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/types_defs.h" diff --git a/src/nvim/memfile.h b/src/nvim/memfile.h index 6e7b575e5b..17913e5fb2 100644 --- a/src/nvim/memfile.h +++ b/src/nvim/memfile.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/memfile_defs.h" // IWYU pragma: export +#include "nvim/memfile_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep /// flags for mf_sync() diff --git a/src/nvim/memfile_defs.h b/src/nvim/memfile_defs.h index fd8983664b..5caf13c9fb 100644 --- a/src/nvim/memfile_defs.h +++ b/src/nvim/memfile_defs.h @@ -5,8 +5,6 @@ #include #include "nvim/map_defs.h" -#include "nvim/pos_defs.h" -#include "nvim/types_defs.h" /// A block number. /// diff --git a/src/nvim/memline.c b/src/nvim/memline.c index 220e16ad99..e463f66714 100644 --- a/src/nvim/memline.c +++ b/src/nvim/memline.c @@ -46,7 +46,9 @@ #include "klib/kvec.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/cursor.h" #include "nvim/drawscreen.h" @@ -55,9 +57,10 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/fileio.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/input.h" #include "nvim/macros_defs.h" #include "nvim/main.h" @@ -65,16 +68,21 @@ #include "nvim/mark.h" #include "nvim/mbyte.h" #include "nvim/memfile.h" +#include "nvim/memfile_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/process.h" #include "nvim/os/time.h" +#include "nvim/os/time_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/spell.h" diff --git a/src/nvim/memline.h b/src/nvim/memline.h index 8e7f3a565c..23cbf75c19 100644 --- a/src/nvim/memline.h +++ b/src/nvim/memline.h @@ -2,7 +2,7 @@ #include "nvim/ascii_defs.h" #include "nvim/eval/typval_defs.h" // IWYU pragma: keep -#include "nvim/memline_defs.h" // IWYU pragma: export +#include "nvim/memline_defs.h" // IWYU pragma: keep #include "nvim/pos_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep diff --git a/src/nvim/memline_defs.h b/src/nvim/memline_defs.h index 0fde56f0e6..1a217c96d4 100644 --- a/src/nvim/memline_defs.h +++ b/src/nvim/memline_defs.h @@ -1,6 +1,7 @@ #pragma once #include "nvim/memfile_defs.h" +#include "nvim/pos_defs.h" /// /// When searching for a specific line, we remember what blocks in the tree diff --git a/src/nvim/memory.c b/src/nvim/memory.c index 3e43771cdf..cf584575b8 100644 --- a/src/nvim/memory.c +++ b/src/nvim/memory.c @@ -13,13 +13,14 @@ #include "nvim/api/ui.h" #include "nvim/arglist.h" #include "nvim/ascii_defs.h" +#include "nvim/buffer_defs.h" #include "nvim/buffer_updates.h" #include "nvim/channel.h" #include "nvim/context.h" #include "nvim/decoration_provider.h" #include "nvim/drawline.h" #include "nvim/eval.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" #include "nvim/highlight_group.h" diff --git a/src/nvim/memory.h b/src/nvim/memory.h index 1511876c81..5aafeb1260 100644 --- a/src/nvim/memory.h +++ b/src/nvim/memory.h @@ -2,12 +2,12 @@ #include #include // IWYU pragma: keep -#include // IWYU pragma: keep +#include #include // IWYU pragma: keep #include "auto/config.h" #include "nvim/macros_defs.h" -#include "nvim/memory_defs.h" // IWYU pragma: export +#include "nvim/memory_defs.h" // IWYU pragma: keep /// `malloc()` function signature typedef void *(*MemMalloc)(size_t); diff --git a/src/nvim/menu.c b/src/nvim/menu.c index b61c28a4df..4ca2a61ab1 100644 --- a/src/nvim/menu.c +++ b/src/nvim/menu.c @@ -8,22 +8,28 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand_defs.h" #include "nvim/cursor.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/getchar_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memory.h" #include "nvim/menu.h" #include "nvim/menu_defs.h" @@ -32,6 +38,7 @@ #include "nvim/popupmenu.h" #include "nvim/pos_defs.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" diff --git a/src/nvim/menu.h b/src/nvim/menu.h index 9644386003..08f5601ca3 100644 --- a/src/nvim/menu.h +++ b/src/nvim/menu.h @@ -2,7 +2,7 @@ #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/menu_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/message.c b/src/nvim/message.c index 35cf7d71fb..9dd83d6c02 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -11,6 +11,7 @@ #include #include "klib/kvec.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/buffer_defs.h" @@ -19,23 +20,28 @@ #include "nvim/drawscreen.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" +#include "nvim/event/defs.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_eval.h" #include "nvim/fileio.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/indent.h" #include "nvim/input.h" #include "nvim/keycodes.h" #include "nvim/log.h" #include "nvim/main.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/mouse.h" @@ -49,11 +55,13 @@ #include "nvim/pos_defs.h" #include "nvim/regexp.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/ui_compositor.h" +#include "nvim/ui_defs.h" #include "nvim/vim_defs.h" // To be able to scroll back at the "more" and "hit-enter" prompts we need to diff --git a/src/nvim/message.h b/src/nvim/message.h index 66165a3263..c11c33c039 100644 --- a/src/nvim/message.h +++ b/src/nvim/message.h @@ -3,12 +3,11 @@ #include #include #include // IWYU pragma: keep -#include #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep #include "nvim/grid_defs.h" #include "nvim/macros_defs.h" -#include "nvim/message_defs.h" // IWYU pragma: export +#include "nvim/message_defs.h" // IWYU pragma: keep /// Types of dialogs passed to do_dialog(). enum { diff --git a/src/nvim/message_defs.h b/src/nvim/message_defs.h index 67e037fc0f..e60e60b3be 100644 --- a/src/nvim/message_defs.h +++ b/src/nvim/message_defs.h @@ -2,10 +2,7 @@ #include -#include "klib/kvec.h" #include "nvim/api/private/defs.h" -#include "nvim/grid_defs.h" -#include "nvim/macros_defs.h" typedef struct { String text; diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c index eeec4e4cd9..a6da7dd3c7 100644 --- a/src/nvim/mouse.c +++ b/src/nvim/mouse.c @@ -6,6 +6,7 @@ #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cursor.h" #include "nvim/drawscreen.h" @@ -17,9 +18,10 @@ #include "nvim/getchar.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" -#include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" @@ -36,7 +38,9 @@ #include "nvim/pos_defs.h" #include "nvim/search.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/statusline.h" +#include "nvim/statusline_defs.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" diff --git a/src/nvim/move.c b/src/nvim/move.c index d23b57823e..a7380577c4 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -15,6 +15,7 @@ #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/cursor.h" #include "nvim/diff.h" #include "nvim/drawscreen.h" @@ -23,12 +24,13 @@ #include "nvim/eval/window.h" #include "nvim/fold.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/macros_defs.h" -#include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/message.h" diff --git a/src/nvim/msgpack_rpc/channel.c b/src/nvim/msgpack_rpc/channel.c index f1b7f8026e..286bb8098a 100644 --- a/src/nvim/msgpack_rpc/channel.c +++ b/src/nvim/msgpack_rpc/channel.c @@ -14,6 +14,7 @@ #include "nvim/api/private/helpers.h" #include "nvim/api/ui.h" #include "nvim/channel.h" +#include "nvim/channel_defs.h" #include "nvim/event/defs.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" @@ -32,6 +33,7 @@ #include "nvim/msgpack_rpc/unpacker.h" #include "nvim/os/input.h" #include "nvim/rbuffer.h" +#include "nvim/rbuffer_defs.h" #include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/ui_client.h" diff --git a/src/nvim/msgpack_rpc/channel.h b/src/nvim/msgpack_rpc/channel.h index a33081eadc..ff73a2fc53 100644 --- a/src/nvim/msgpack_rpc/channel.h +++ b/src/nvim/msgpack_rpc/channel.h @@ -6,7 +6,7 @@ #include "nvim/event/defs.h" #include "nvim/macros_defs.h" #include "nvim/memory_defs.h" // IWYU pragma: keep -#include "nvim/msgpack_rpc/channel_defs.h" // IWYU pragma: export +#include "nvim/msgpack_rpc/channel_defs.h" // IWYU pragma: keep #define METHOD_MAXLEN 512 diff --git a/src/nvim/msgpack_rpc/channel_defs.h b/src/nvim/msgpack_rpc/channel_defs.h index 20b8a89afb..56dbb332e0 100644 --- a/src/nvim/msgpack_rpc/channel_defs.h +++ b/src/nvim/msgpack_rpc/channel_defs.h @@ -4,11 +4,7 @@ #include #include -#include "klib/kvec.h" -#include "nvim/api/private/defs.h" #include "nvim/api/private/dispatch.h" -#include "nvim/event/process.h" -#include "nvim/event/socket.h" #include "nvim/map_defs.h" typedef struct Channel Channel; diff --git a/src/nvim/msgpack_rpc/server.c b/src/nvim/msgpack_rpc/server.c index e60c1b88a5..56b03d67d0 100644 --- a/src/nvim/msgpack_rpc/server.c +++ b/src/nvim/msgpack_rpc/server.c @@ -6,8 +6,10 @@ #include "nvim/channel.h" #include "nvim/eval.h" +#include "nvim/event/defs.h" #include "nvim/event/socket.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/log.h" #include "nvim/main.h" #include "nvim/memory.h" diff --git a/src/nvim/msgpack_rpc/unpacker.h b/src/nvim/msgpack_rpc/unpacker.h index d43dc2e997..022d778013 100644 --- a/src/nvim/msgpack_rpc/unpacker.h +++ b/src/nvim/msgpack_rpc/unpacker.h @@ -5,12 +5,13 @@ #include "mpack/mpack_core.h" #include "mpack/object.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/dispatch.h" #include "nvim/grid_defs.h" #include "nvim/memory_defs.h" #include "nvim/msgpack_rpc/channel_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" -#include "nvim/ui_client.h" +#include "nvim/ui_defs.h" struct Unpacker { mpack_parser_t parser; diff --git a/src/nvim/normal.c b/src/nvim/normal.c index 42ae7519c1..ed2b1437ec 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -17,7 +17,9 @@ #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cmdhist.h" @@ -34,17 +36,20 @@ #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/help.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" #include "nvim/mapping.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/mouse.h" @@ -60,9 +65,11 @@ #include "nvim/quickfix.h" #include "nvim/search.h" #include "nvim/spell.h" +#include "nvim/spell_defs.h" #include "nvim/spellfile.h" #include "nvim/spellsuggest.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/statusline.h" #include "nvim/strings.h" #include "nvim/syntax.h" @@ -71,6 +78,7 @@ #include "nvim/textobject.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/undo.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/normal.h b/src/nvim/normal.h index 93e3e09c2e..57a3418d92 100644 --- a/src/nvim/normal.h +++ b/src/nvim/normal.h @@ -3,7 +3,7 @@ #include // IWYU pragma: keep #include "nvim/macros_defs.h" -#include "nvim/normal_defs.h" // IWYU pragma: export +#include "nvim/normal_defs.h" // IWYU pragma: keep #include "nvim/pos_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep diff --git a/src/nvim/ops.c b/src/nvim/ops.c index 5a83d7d247..8386dcaec6 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -15,7 +15,9 @@ #include "nvim/ascii_defs.h" #include "nvim/assert_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cursor.h" @@ -29,17 +31,22 @@ #include "nvim/extmark.h" #include "nvim/fold.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/getchar_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/indent.h" #include "nvim/indent_c.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/mouse.h" @@ -54,11 +61,13 @@ #include "nvim/plines.h" #include "nvim/search.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/terminal.h" #include "nvim/textformat.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/undo.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/option.c b/src/nvim/option.c index 1561361771..68ddb95e38 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -30,8 +30,11 @@ #include "nvim/api/private/helpers.h" #include "nvim/api/private/validate.h" #include "nvim/ascii_defs.h" +#include "nvim/assert_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cmdexpand.h" @@ -51,9 +54,11 @@ #include "nvim/ex_session.h" #include "nvim/fold.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/indent.h" #include "nvim/indent_c.h" @@ -63,6 +68,7 @@ #include "nvim/lua/executor.h" #include "nvim/macros_defs.h" #include "nvim/mapping.h" +#include "nvim/math.h" #include "nvim/mbyte.h" #include "nvim/memfile.h" #include "nvim/memline.h" @@ -79,10 +85,12 @@ #include "nvim/os/input.h" #include "nvim/os/lang.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/popupmenu.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" #include "nvim/search.h" #include "nvim/spell.h" @@ -94,7 +102,9 @@ #include "nvim/terminal.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/undo.h" +#include "nvim/undo_defs.h" #include "nvim/vim_defs.h" #include "nvim/window.h" @@ -6399,3 +6409,24 @@ static Dictionary vimoption2dict(vimoption_T *opt, int req_scope, buf_T *buf, wi return dict; } + +/// Check if option is multitype (supports multiple types). +static bool option_is_multitype(OptIndex opt_idx) +{ + const OptTypeFlags type_flags = get_option(opt_idx)->type_flags; + assert(type_flags != 0); + return !is_power_of_two(type_flags); +} + +/// Check if option supports a specific type. +bool option_has_type(OptIndex opt_idx, OptValType type) +{ + // Ensure that type flags variable can hold all types. + STATIC_ASSERT(kOptValTypeSize <= sizeof(OptTypeFlags) * 8, + "Option type_flags cannot fit all option types"); + // Ensure that the type is valid before accessing type_flags. + assert(type > kOptValTypeNil && type < kOptValTypeSize); + // Bitshift 1 by the value of type to get the type's corresponding flag, and check if it's set in + // the type_flags bit field. + return get_option(opt_idx)->type_flags & (1 << type); +} diff --git a/src/nvim/option.h b/src/nvim/option.h index f122d5c344..061c09d0ed 100644 --- a/src/nvim/option.h +++ b/src/nvim/option.h @@ -1,19 +1,16 @@ #pragma once -#include #include #include #include // IWYU pragma: keep #include "nvim/api/private/defs.h" // IWYU pragma: keep #include "nvim/api/private/helpers.h" -#include "nvim/assert_defs.h" #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" -#include "nvim/math.h" -#include "nvim/option_defs.h" // IWYU pragma: export +#include "nvim/option_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep /// The options that are local to a window or buffer have "indir" set to one of @@ -126,24 +123,3 @@ static inline const char *optval_type_get_name(const OptValType type) #ifdef INCLUDE_GENERATED_DECLARATIONS # include "option.h.generated.h" #endif - -/// Check if option supports a specific type. -static inline bool option_has_type(OptIndex opt_idx, OptValType type) -{ - // Ensure that type flags variable can hold all types. - STATIC_ASSERT(kOptValTypeSize <= sizeof(OptTypeFlags) * 8, - "Option type_flags cannot fit all option types"); - // Ensure that the type is valid before accessing type_flags. - assert(type > kOptValTypeNil && type < kOptValTypeSize); - // Bitshift 1 by the value of type to get the type's corresponding flag, and check if it's set in - // the type_flags bit field. - return get_option(opt_idx)->type_flags & (1 << type); -} - -/// Check if option is multitype (supports multiple types). -static inline bool option_is_multitype(OptIndex opt_idx) -{ - const OptTypeFlags type_flags = get_option(opt_idx)->type_flags; - assert(type_flags != 0); - return !is_power_of_two(type_flags); -} diff --git a/src/nvim/option_defs.h b/src/nvim/option_defs.h index f8f01dd993..ae9ccd371c 100644 --- a/src/nvim/option_defs.h +++ b/src/nvim/option_defs.h @@ -6,7 +6,6 @@ #include "nvim/api/private/defs.h" #include "nvim/cmdexpand_defs.h" #include "nvim/regexp_defs.h" -#include "nvim/types_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "options_enum.generated.h" diff --git a/src/nvim/option_vars.h b/src/nvim/option_vars.h index 43664807cb..3dc82f8fdf 100644 --- a/src/nvim/option_vars.h +++ b/src/nvim/option_vars.h @@ -1,6 +1,7 @@ #pragma once #include "nvim/macros_defs.h" +#include "nvim/os/os_defs.h" #include "nvim/sign_defs.h" #include "nvim/types_defs.h" diff --git a/src/nvim/optionstr.c b/src/nvim/optionstr.c index 3930e53a90..cef9443e63 100644 --- a/src/nvim/optionstr.c +++ b/src/nvim/optionstr.c @@ -19,7 +19,7 @@ #include "nvim/eval/vars.h" #include "nvim/ex_getln.h" #include "nvim/fold.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/highlight_group.h" @@ -39,6 +39,7 @@ #include "nvim/os/os.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/spell.h" #include "nvim/spellfile.h" #include "nvim/spellsuggest.h" diff --git a/src/nvim/os/dl.c b/src/nvim/os/dl.c index 1a8d847f79..c6982e4fa8 100644 --- a/src/nvim/os/dl.c +++ b/src/nvim/os/dl.c @@ -5,7 +5,7 @@ #include #include -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/os/dl.h" diff --git a/src/nvim/os/env.c b/src/nvim/os/env.c index 6b4db8814c..cdfaf7580b 100644 --- a/src/nvim/os/env.c +++ b/src/nvim/os/env.c @@ -13,8 +13,9 @@ #include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand.h" +#include "nvim/cmdexpand_defs.h" #include "nvim/eval.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/log.h" #include "nvim/macros_defs.h" @@ -24,6 +25,7 @@ #include "nvim/option_vars.h" #include "nvim/os/fs.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/strings.h" #include "nvim/types_defs.h" diff --git a/src/nvim/os/fileio.c b/src/nvim/os/fileio.c index 79d6ac08e7..0141db7553 100644 --- a/src/nvim/os/fileio.c +++ b/src/nvim/os/fileio.c @@ -12,7 +12,7 @@ #include #include "auto/config.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/log.h" #include "nvim/macros_defs.h" @@ -22,6 +22,7 @@ #include "nvim/os/fs.h" #include "nvim/os/os_defs.h" #include "nvim/rbuffer.h" +#include "nvim/rbuffer_defs.h" #include "nvim/types_defs.h" #ifdef MSWIN diff --git a/src/nvim/os/fileio.h b/src/nvim/os/fileio.h index 55f213f377..e8fd2209db 100644 --- a/src/nvim/os/fileio.h +++ b/src/nvim/os/fileio.h @@ -2,7 +2,7 @@ #include // IWYU pragma: keep -#include "nvim/os/fileio_defs.h" // IWYU pragma: export +#include "nvim/os/fileio_defs.h" // IWYU pragma: keep /// file_open() flags typedef enum { diff --git a/src/nvim/os/fs.c b/src/nvim/os/fs.c index a8c7fcc38f..09203990bb 100644 --- a/src/nvim/os/fs.c +++ b/src/nvim/os/fs.c @@ -18,6 +18,7 @@ #include "auto/config.h" #include "nvim/os/fs.h" +#include "nvim/os/os_defs.h" #if defined(HAVE_ACL) # ifdef HAVE_SYS_ACL_H @@ -33,7 +34,7 @@ #endif #include "nvim/ascii_defs.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/log.h" #include "nvim/macros_defs.h" diff --git a/src/nvim/os/fs.h b/src/nvim/os/fs.h index 56dd657f70..19cdb09c99 100644 --- a/src/nvim/os/fs.h +++ b/src/nvim/os/fs.h @@ -5,7 +5,7 @@ #include // IWYU pragma: keep #include // IWYU pragma: keep -#include "nvim/os/fs_defs.h" // IWYU pragma: export +#include "nvim/os/fs_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/os/input.c b/src/nvim/os/input.c index 0aa11beb6d..abba49f0e8 100644 --- a/src/nvim/os/input.c +++ b/src/nvim/os/input.c @@ -8,13 +8,14 @@ #include "nvim/api/private/defs.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" #include "nvim/event/rstream.h" #include "nvim/event/stream.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/keycodes.h" #include "nvim/log.h" @@ -27,7 +28,9 @@ #include "nvim/os/time.h" #include "nvim/profile.h" #include "nvim/rbuffer.h" +#include "nvim/rbuffer_defs.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #define READ_BUFFER_SIZE 0xfff #define INPUT_BUFFER_SIZE (READ_BUFFER_SIZE * 4) diff --git a/src/nvim/os/lang.c b/src/nvim/os/lang.c index 617ce4d3ea..f1e23fa543 100644 --- a/src/nvim/os/lang.c +++ b/src/nvim/os/lang.c @@ -19,7 +19,7 @@ #include "nvim/eval.h" #include "nvim/ex_cmds_defs.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/macros_defs.h" #include "nvim/memory.h" diff --git a/src/nvim/os/os.h b/src/nvim/os/os.h index 73fcd4ea7b..1a942d062b 100644 --- a/src/nvim/os/os.h +++ b/src/nvim/os/os.h @@ -1,14 +1,14 @@ #pragma once -#include // IWYU pragma: keep -#include // IWYU pragma: keep -#include // IWYU pragma: keep +#include +#include +#include -#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep -#include "nvim/garray_defs.h" // IWYU pragma: keep -#include "nvim/os/os_defs.h" // IWYU pragma: export -#include "nvim/os/stdpaths_defs.h" // IWYU pragma: keep -#include "nvim/types_defs.h" // IWYU pragma: keep +#include "nvim/cmdexpand_defs.h" +#include "nvim/garray_defs.h" +#include "nvim/os/os_defs.h" +#include "nvim/os/stdpaths_defs.h" +#include "nvim/types_defs.h" extern char *default_vim_dir; extern char *default_vimruntime_dir; diff --git a/src/nvim/os/pty_process_unix.c b/src/nvim/os/pty_process_unix.c index 1bdbb094bd..4d34e8fac4 100644 --- a/src/nvim/os/pty_process_unix.c +++ b/src/nvim/os/pty_process_unix.c @@ -32,6 +32,7 @@ #include "auto/config.h" #include "klib/klist.h" #include "nvim/eval/typval.h" +#include "nvim/event/defs.h" #include "nvim/event/loop.h" #include "nvim/event/process.h" #include "nvim/log.h" @@ -39,6 +40,7 @@ #include "nvim/os/os_defs.h" #include "nvim/os/pty_process.h" #include "nvim/os/pty_process_unix.h" +#include "nvim/types_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "os/pty_process_unix.c.generated.h" @@ -403,3 +405,13 @@ static void chld_handler(uv_signal_t *handle, int signum) proc->internal_exit_cb(proc); } } + +PtyProcess pty_process_init(Loop *loop, void *data) +{ + PtyProcess rv; + rv.process = process_init(loop, kProcessTypePty, data); + rv.width = 80; + rv.height = 24; + rv.tty_fd = -1; + return rv; +} diff --git a/src/nvim/os/pty_process_unix.h b/src/nvim/os/pty_process_unix.h index 05603c8e53..1a77ae5fd5 100644 --- a/src/nvim/os/pty_process_unix.h +++ b/src/nvim/os/pty_process_unix.h @@ -4,8 +4,7 @@ #include #include -#include "nvim/event/process.h" -#include "nvim/types_defs.h" +#include "nvim/event/defs.h" typedef struct { Process process; @@ -14,16 +13,6 @@ typedef struct { int tty_fd; } PtyProcess; -static inline PtyProcess pty_process_init(Loop *loop, void *data) -{ - PtyProcess rv; - rv.process = process_init(loop, kProcessTypePty, data); - rv.width = 80; - rv.height = 24; - rv.tty_fd = -1; - return rv; -} - #ifdef INCLUDE_GENERATED_DECLARATIONS # include "os/pty_process_unix.h.generated.h" #endif diff --git a/src/nvim/os/pty_process_win.c b/src/nvim/os/pty_process_win.c index e898879729..06ffb5694c 100644 --- a/src/nvim/os/pty_process_win.c +++ b/src/nvim/os/pty_process_win.c @@ -409,3 +409,15 @@ cleanup: return rc; } + +PtyProcess pty_process_init(Loop *loop, void *data) +{ + PtyProcess rv; + rv.process = process_init(loop, kProcessTypePty, data); + rv.width = 80; + rv.height = 24; + rv.conpty = NULL; + rv.finish_wait = NULL; + rv.process_handle = NULL; + return rv; +} diff --git a/src/nvim/os/pty_process_win.h b/src/nvim/os/pty_process_win.h index 26cf387e54..3528f6bfe5 100644 --- a/src/nvim/os/pty_process_win.h +++ b/src/nvim/os/pty_process_win.h @@ -4,7 +4,7 @@ #include #include "nvim/event/process.h" -#include "nvim/lib/queue.h" +#include "nvim/lib/queue_defs.h" #include "nvim/os/pty_conpty_win.h" typedef struct pty_process { @@ -22,18 +22,6 @@ typedef struct arg_node { QUEUE node; // QUEUE structure. } ArgNode; -static inline PtyProcess pty_process_init(Loop *loop, void *data) -{ - PtyProcess rv; - rv.process = process_init(loop, kProcessTypePty, data); - rv.width = 80; - rv.height = 24; - rv.conpty = NULL; - rv.finish_wait = NULL; - rv.process_handle = NULL; - return rv; -} - #ifdef INCLUDE_GENERATED_DECLARATIONS # include "os/pty_process_win.h.generated.h" #endif diff --git a/src/nvim/os/shell.c b/src/nvim/os/shell.c index 8f541a829d..46ba13c4cd 100644 --- a/src/nvim/os/shell.c +++ b/src/nvim/os/shell.c @@ -12,6 +12,7 @@ #include "nvim/charset.h" #include "nvim/eval.h" #include "nvim/eval/typval_defs.h" +#include "nvim/event/defs.h" #include "nvim/event/libuv_process.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" @@ -21,7 +22,7 @@ #include "nvim/event/wstream.h" #include "nvim/ex_cmds.h" #include "nvim/fileio.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/macros_defs.h" #include "nvim/main.h" @@ -39,6 +40,7 @@ #include "nvim/pos_defs.h" #include "nvim/profile.h" #include "nvim/rbuffer.h" +#include "nvim/rbuffer_defs.h" #include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/tag.h" diff --git a/src/nvim/os/signal.c b/src/nvim/os/signal.c index 0cbedc7330..ecedf144e5 100644 --- a/src/nvim/os/signal.c +++ b/src/nvim/os/signal.c @@ -7,8 +7,10 @@ #endif #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/eval.h" +#include "nvim/event/defs.h" #include "nvim/event/signal.h" #include "nvim/globals.h" #include "nvim/log.h" diff --git a/src/nvim/os/time.c b/src/nvim/os/time.c index b2a402f559..16118028b4 100644 --- a/src/nvim/os/time.c +++ b/src/nvim/os/time.c @@ -9,7 +9,7 @@ #include "auto/config.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/log.h" #include "nvim/main.h" diff --git a/src/nvim/os/time.h b/src/nvim/os/time.h index 2748ba6953..b4d82d8002 100644 --- a/src/nvim/os/time.h +++ b/src/nvim/os/time.h @@ -3,7 +3,7 @@ #include // IWYU pragma: keep #include // IWYU pragma: keep -#include "nvim/os/time_defs.h" // IWYU pragma: export +#include "nvim/os/time_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS # include "os/time.h.generated.h" diff --git a/src/nvim/os/users.c b/src/nvim/os/users.c index b9657beb7a..8886d6068d 100644 --- a/src/nvim/os/users.c +++ b/src/nvim/os/users.c @@ -9,8 +9,10 @@ #include "nvim/ascii_defs.h" #include "nvim/cmdexpand_defs.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/memory.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/vim_defs.h" #ifdef HAVE_PWD_FUNCS # include diff --git a/src/nvim/path.c b/src/nvim/path.c index 5ec0709521..4de18c7530 100644 --- a/src/nvim/path.c +++ b/src/nvim/path.c @@ -17,20 +17,24 @@ #include "nvim/file_search.h" #include "nvim/fileio.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/shell.h" #include "nvim/path.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/strings.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/plines.c b/src/nvim/plines.c index 2649977133..c2cf3796a7 100644 --- a/src/nvim/plines.c +++ b/src/nvim/plines.c @@ -9,12 +9,13 @@ #include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/decoration.h" +#include "nvim/decoration_defs.h" #include "nvim/diff.h" #include "nvim/fold.h" #include "nvim/globals.h" #include "nvim/indent.h" #include "nvim/macros_defs.h" -#include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/marktree.h" #include "nvim/mbyte.h" #include "nvim/memline.h" @@ -24,6 +25,7 @@ #include "nvim/plines.h" #include "nvim/pos_defs.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/types_defs.h" #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/popupmenu.c b/src/nvim/popupmenu.c index 220214c887..0350ff6928 100644 --- a/src/nvim/popupmenu.c +++ b/src/nvim/popupmenu.c @@ -6,29 +6,35 @@ #include #include +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/api/vim.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/drawscreen.h" #include "nvim/eval/typval.h" #include "nvim/ex_cmds.h" +#include "nvim/ex_cmds_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/insexpand.h" #include "nvim/keycodes.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/menu.h" #include "nvim/message.h" #include "nvim/move.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/plines.h" @@ -39,6 +45,7 @@ #include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/ui_compositor.h" +#include "nvim/ui_defs.h" #include "nvim/vim_defs.h" #include "nvim/window.h" #include "nvim/winfloat.h" diff --git a/src/nvim/profile.c b/src/nvim/profile.c index 685497a9e3..f7776ef74f 100644 --- a/src/nvim/profile.c +++ b/src/nvim/profile.c @@ -16,9 +16,10 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/fileio.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/keycodes.h" #include "nvim/memory.h" #include "nvim/message.h" diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c index 6dc45cffcf..3ae3807937 100644 --- a/src/nvim/quickfix.c +++ b/src/nvim/quickfix.c @@ -13,6 +13,7 @@ #include "nvim/arglist.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" #include "nvim/buffer_defs.h" #include "nvim/charset.h" @@ -27,19 +28,24 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" +#include "nvim/ex_eval_defs.h" #include "nvim/ex_getln.h" #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/help.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/macros_defs.h" #include "nvim/mark.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/move.h" @@ -49,12 +55,15 @@ #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/quickfix.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/search.h" #include "nvim/strings.h" #include "nvim/types_defs.h" diff --git a/src/nvim/rbuffer.h b/src/nvim/rbuffer.h index 9ec1b1130c..942e1f2365 100644 --- a/src/nvim/rbuffer.h +++ b/src/nvim/rbuffer.h @@ -16,7 +16,7 @@ #include #include -#include "nvim/rbuffer_defs.h" // IWYU pragma: export +#include "nvim/rbuffer_defs.h" // IWYU pragma: keep // Macros that simplify working with the read/write pointers directly by hiding // ring buffer wrap logic. Some examples: diff --git a/src/nvim/regexp.c b/src/nvim/regexp.c index 088f3bda70..eff31e4d33 100644 --- a/src/nvim/regexp.c +++ b/src/nvim/regexp.c @@ -22,12 +22,15 @@ #include "nvim/eval/typval.h" #include "nvim/eval/userfunc.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" diff --git a/src/nvim/regexp.h b/src/nvim/regexp.h index 1414749c2f..de4e5ded9c 100644 --- a/src/nvim/regexp.h +++ b/src/nvim/regexp.h @@ -2,7 +2,7 @@ #include "nvim/eval/typval_defs.h" // IWYU pragma: keep #include "nvim/pos_defs.h" // IWYU pragma: keep -#include "nvim/regexp_defs.h" // IWYU pragma: export +#include "nvim/regexp_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep // Second argument for vim_regcomp(). diff --git a/src/nvim/runtime.c b/src/nvim/runtime.c index 11868ac447..3f8e467118 100644 --- a/src/nvim/runtime.c +++ b/src/nvim/runtime.c @@ -17,6 +17,7 @@ #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand.h" @@ -27,15 +28,18 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" +#include "nvim/ex_eval_defs.h" #include "nvim/garray.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/lua/executor.h" #include "nvim/macros_defs.h" #include "nvim/map_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" @@ -45,11 +49,13 @@ #include "nvim/os/fs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/stdpaths_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/profile.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" #include "nvim/strings.h" #include "nvim/types_defs.h" diff --git a/src/nvim/runtime.h b/src/nvim/runtime.h index 87e4436618..7312b62526 100644 --- a/src/nvim/runtime.h +++ b/src/nvim/runtime.h @@ -9,7 +9,7 @@ #include "nvim/garray_defs.h" #include "nvim/option_defs.h" // IWYU pragma: keep #include "nvim/pos_defs.h" // IWYU pragma: keep -#include "nvim/runtime_defs.h" // IWYU pragma: export +#include "nvim/runtime_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep /// Stack of execution contexts. Each entry is an estack_T. diff --git a/src/nvim/runtime_defs.h b/src/nvim/runtime_defs.h index 169cadfb94..7029e8be66 100644 --- a/src/nvim/runtime_defs.h +++ b/src/nvim/runtime_defs.h @@ -3,11 +3,6 @@ #include #include "nvim/autocmd_defs.h" -#include "nvim/eval/typval_defs.h" -#include "nvim/ex_eval_defs.h" -#include "nvim/garray_defs.h" -#include "nvim/pos_defs.h" -#include "nvim/types_defs.h" typedef enum { ETYPE_TOP, ///< toplevel diff --git a/src/nvim/search.c b/src/nvim/search.c index 067d91be69..273a924876 100644 --- a/src/nvim/search.c +++ b/src/nvim/search.c @@ -10,7 +10,9 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cmdhist.h" @@ -19,19 +21,23 @@ #include "nvim/eval.h" #include "nvim/eval/typval.h" #include "nvim/ex_cmds.h" +#include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_getln.h" #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/indent_c.h" #include "nvim/insexpand.h" #include "nvim/macros_defs.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" @@ -52,6 +58,7 @@ #include "nvim/strings.h" #include "nvim/tag.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/shada.c b/src/nvim/shada.c index 0544529304..61c43e271b 100644 --- a/src/nvim/shada.c +++ b/src/nvim/shada.c @@ -13,36 +13,47 @@ #include #include "auto/config.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/cmdhist.h" #include "nvim/eval.h" #include "nvim/eval/decode.h" #include "nvim/eval/encode.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds.h" +#include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/fileio.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/macros_defs.h" #include "nvim/map_defs.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/msgpack_rpc/helpers.h" -#include "nvim/normal.h" +#include "nvim/normal_defs.h" #include "nvim/ops.h" #include "nvim/option.h" #include "nvim/option_vars.h" #include "nvim/os/fileio.h" +#include "nvim/os/fileio_defs.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/time.h" +#include "nvim/os/time_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" diff --git a/src/nvim/sign.c b/src/nvim/sign.c index 1b33848e34..e8d4f4b163 100644 --- a/src/nvim/sign.c +++ b/src/nvim/sign.c @@ -9,29 +9,36 @@ #include "klib/kvec.h" #include "nvim/api/extmark.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand_defs.h" #include "nvim/cursor.h" #include "nvim/decoration.h" +#include "nvim/decoration_defs.h" #include "nvim/drawscreen.h" #include "nvim/edit.h" #include "nvim/eval/funcs.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/extmark.h" #include "nvim/fold.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/macros_defs.h" #include "nvim/map_defs.h" #include "nvim/marktree.h" +#include "nvim/marktree_defs.h" #include "nvim/mbyte.h" #include "nvim/memory.h" #include "nvim/message.h" diff --git a/src/nvim/sign.h b/src/nvim/sign.h index 2b6497c255..c6d9e1002c 100644 --- a/src/nvim/sign.h +++ b/src/nvim/sign.h @@ -2,7 +2,7 @@ #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 +#include "nvim/sign_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS diff --git a/src/nvim/spell.c b/src/nvim/spell.c index f4b1127ef1..c2091c6bae 100644 --- a/src/nvim/spell.c +++ b/src/nvim/spell.c @@ -63,7 +63,9 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cursor.h" @@ -74,19 +76,23 @@ #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/highlight_defs.h" #include "nvim/insexpand.h" #include "nvim/log.h" #include "nvim/macros_defs.h" -#include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/os/fs.h" #include "nvim/os/input.h" @@ -94,6 +100,7 @@ #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" #include "nvim/search.h" #include "nvim/spell.h" diff --git a/src/nvim/spell.h b/src/nvim/spell.h index 1462c45f5c..adbdd3705e 100644 --- a/src/nvim/spell.h +++ b/src/nvim/spell.h @@ -1,7 +1,9 @@ #pragma once +#include + #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep -#include "nvim/spell_defs.h" // IWYU pragma: export +#include "nvim/spell_defs.h" // IWYU pragma: keep #include "nvim/vim_defs.h" // IWYU pragma: keep /// First language that is loaded, start of the linked list of loaded languages. diff --git a/src/nvim/spell_defs.h b/src/nvim/spell_defs.h index e98689f0c1..005f3aa9e4 100644 --- a/src/nvim/spell_defs.h +++ b/src/nvim/spell_defs.h @@ -4,9 +4,6 @@ #include #include "nvim/buffer_defs.h" -#include "nvim/garray_defs.h" -#include "nvim/hashtab_defs.h" -#include "nvim/regexp_defs.h" enum { /// Assume max. word len is this many bytes. diff --git a/src/nvim/spellfile.c b/src/nvim/spellfile.c index 3f3908585d..1c632d2700 100644 --- a/src/nvim/spellfile.c +++ b/src/nvim/spellfile.c @@ -237,29 +237,37 @@ #include "nvim/arglist.h" #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/drawscreen.h" #include "nvim/ex_cmds_defs.h" #include "nvim/fileio.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/os/fs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/os/time.h" +#include "nvim/os/time_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/regexp.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/spell.h" #include "nvim/spell_defs.h" #include "nvim/spellfile.h" diff --git a/src/nvim/spellsuggest.c b/src/nvim/spellsuggest.c index 0736ad81cf..887ad3a62a 100644 --- a/src/nvim/spellsuggest.c +++ b/src/nvim/spellsuggest.c @@ -16,17 +16,20 @@ #include "nvim/cursor.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/fileio.h" #include "nvim/garray.h" #include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/highlight_defs.h" #include "nvim/input.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memline.h" #include "nvim/memory.h" #include "nvim/message.h" @@ -39,11 +42,13 @@ #include "nvim/pos_defs.h" #include "nvim/profile.h" #include "nvim/spell.h" +#include "nvim/spell_defs.h" #include "nvim/spellfile.h" #include "nvim/spellsuggest.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/undo.h" #include "nvim/vim_defs.h" diff --git a/src/nvim/state.c b/src/nvim/state.c index a22081ceaa..527acee306 100644 --- a/src/nvim/state.c +++ b/src/nvim/state.c @@ -3,10 +3,13 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer_defs.h" #include "nvim/drawscreen.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" +#include "nvim/event/defs.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" #include "nvim/ex_getln.h" diff --git a/src/nvim/state.h b/src/nvim/state.h index 8c5957bf9a..9002f018d2 100644 --- a/src/nvim/state.h +++ b/src/nvim/state.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/state_defs.h" // IWYU pragma: export +#include "nvim/state_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS # include "state.h.generated.h" diff --git a/src/nvim/statusline.c b/src/nvim/statusline.c index 95d23d76f0..dac3354f90 100644 --- a/src/nvim/statusline.c +++ b/src/nvim/statusline.c @@ -6,9 +6,11 @@ #include #include +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/digraph.h" #include "nvim/drawline.h" @@ -16,30 +18,37 @@ #include "nvim/eval.h" #include "nvim/eval/typval_defs.h" #include "nvim/eval/vars.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/message.h" #include "nvim/normal.h" #include "nvim/option.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/path.h" #include "nvim/plines.h" #include "nvim/pos_defs.h" #include "nvim/sign.h" +#include "nvim/sign_defs.h" #include "nvim/state_defs.h" #include "nvim/statusline.h" #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/undo.h" #include "nvim/window.h" diff --git a/src/nvim/statusline.h b/src/nvim/statusline.h index 36fc5be68e..1a5f12dbf4 100644 --- a/src/nvim/statusline.h +++ b/src/nvim/statusline.h @@ -4,7 +4,7 @@ #include "nvim/macros_defs.h" #include "nvim/option_defs.h" // IWYU pragma: keep -#include "nvim/statusline_defs.h" // IWYU pragma: export +#include "nvim/statusline_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep /// Array defining what should be done when tabline is clicked diff --git a/src/nvim/strings.c b/src/nvim/strings.c index fab04438b6..468e9213a9 100644 --- a/src/nvim/strings.c +++ b/src/nvim/strings.c @@ -17,11 +17,13 @@ #include "nvim/eval/typval_defs.h" #include "nvim/ex_docmd.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/macros_defs.h" #include "nvim/math.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option.h" diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index 30cb3681d4..ab8ab62b90 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -9,7 +9,9 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand_defs.h" #include "nvim/drawscreen.h" @@ -20,10 +22,13 @@ #include "nvim/ex_docmd.h" #include "nvim/fold.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/indent_c.h" #include "nvim/macros_defs.h" @@ -38,6 +43,7 @@ #include "nvim/pos_defs.h" #include "nvim/profile.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" #include "nvim/strings.h" #include "nvim/syntax.h" diff --git a/src/nvim/syntax.h b/src/nvim/syntax.h index f07ad238d3..69fc1a74b8 100644 --- a/src/nvim/syntax.h +++ b/src/nvim/syntax.h @@ -3,7 +3,7 @@ #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" -#include "nvim/syntax_defs.h" // IWYU pragma: export +#include "nvim/syntax_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep enum { diff --git a/src/nvim/syntax_defs.h b/src/nvim/syntax_defs.h index 224e2d8f7c..94ca2c4cba 100644 --- a/src/nvim/syntax_defs.h +++ b/src/nvim/syntax_defs.h @@ -1,9 +1,6 @@ #pragma once #include "nvim/buffer_defs.h" -#include "nvim/garray_defs.h" -#include "nvim/highlight_defs.h" -#include "nvim/regexp_defs.h" #define SST_MIN_ENTRIES 150 // minimal size for state stack array #define SST_MAX_ENTRIES 1000 // maximal size for state stack array diff --git a/src/nvim/tag.c b/src/nvim/tag.c index f7e30a8267..19aabb3aba 100644 --- a/src/nvim/tag.c +++ b/src/nvim/tag.c @@ -10,9 +10,12 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/cmdexpand.h" +#include "nvim/cmdexpand_defs.h" #include "nvim/cursor.h" #include "nvim/drawscreen.h" #include "nvim/eval.h" @@ -24,16 +27,21 @@ #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/help.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/input.h" #include "nvim/insexpand.h" #include "nvim/macros_defs.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" +#include "nvim/mbyte_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/move.h" @@ -49,6 +57,7 @@ #include "nvim/pos_defs.h" #include "nvim/quickfix.h" #include "nvim/regexp.h" +#include "nvim/regexp_defs.h" #include "nvim/runtime.h" #include "nvim/search.h" #include "nvim/state_defs.h" diff --git a/src/nvim/terminal.c b/src/nvim/terminal.c index 8b29fcfa42..8bee5071af 100644 --- a/src/nvim/terminal.c +++ b/src/nvim/terminal.c @@ -47,14 +47,19 @@ #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/channel.h" +#include "nvim/channel_defs.h" #include "nvim/cursor.h" #include "nvim/drawline.h" #include "nvim/drawscreen.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" +#include "nvim/event/defs.h" #include "nvim/event/loop.h" #include "nvim/event/multiqueue.h" #include "nvim/event/time.h" @@ -62,6 +67,7 @@ #include "nvim/getchar.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" @@ -73,13 +79,15 @@ #include "nvim/mouse.h" #include "nvim/move.h" #include "nvim/msgpack_rpc/channel_defs.h" -#include "nvim/normal.h" +#include "nvim/normal_defs.h" #include "nvim/ops.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/optionstr.h" #include "nvim/pos_defs.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/strings.h" #include "nvim/terminal.h" #include "nvim/types_defs.h" diff --git a/src/nvim/testing.c b/src/nvim/testing.c index 6515da7500..343568d71e 100644 --- a/src/nvim/testing.c +++ b/src/nvim/testing.c @@ -13,15 +13,18 @@ #include "nvim/eval/typval_defs.h" #include "nvim/ex_docmd.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/garray_defs.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/hashtab.h" +#include "nvim/hashtab_defs.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/os/fs.h" #include "nvim/runtime.h" +#include "nvim/runtime_defs.h" #include "nvim/strings.h" #include "nvim/testing.h" #include "nvim/types_defs.h" diff --git a/src/nvim/textformat.c b/src/nvim/textformat.c index 509a88e441..e1b6d3acc9 100644 --- a/src/nvim/textformat.c +++ b/src/nvim/textformat.c @@ -26,6 +26,7 @@ #include "nvim/move.h" #include "nvim/ops.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/os/input.h" #include "nvim/pos_defs.h" diff --git a/src/nvim/textobject.c b/src/nvim/textobject.c index 76ea24039a..d9c2b3b111 100644 --- a/src/nvim/textobject.c +++ b/src/nvim/textobject.c @@ -15,6 +15,7 @@ #include "nvim/globals.h" #include "nvim/indent.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" #include "nvim/memory.h" diff --git a/src/nvim/tui/input.c b/src/nvim/tui/input.c index 903e12b095..214474ff51 100644 --- a/src/nvim/tui/input.c +++ b/src/nvim/tui/input.c @@ -4,6 +4,7 @@ #include #include "klib/kvec.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/event/loop.h" #include "nvim/event/stream.h" @@ -13,6 +14,7 @@ #include "nvim/memory.h" #include "nvim/option_vars.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/rbuffer.h" #include "nvim/strings.h" #include "nvim/tui/input.h" diff --git a/src/nvim/tui/input.h b/src/nvim/tui/input.h index 2da7f95338..bf6d0f2978 100644 --- a/src/nvim/tui/input.h +++ b/src/nvim/tui/input.h @@ -4,10 +4,10 @@ #include #include -#include "nvim/event/stream.h" +#include "nvim/event/defs.h" #include "nvim/rbuffer_defs.h" -#include "nvim/tui/input_defs.h" // IWYU pragma: export -#include "nvim/tui/tui.h" +#include "nvim/tui/input_defs.h" // IWYU pragma: keep +#include "nvim/tui/tui_defs.h" #include "nvim/types_defs.h" #include "termkey/termkey.h" diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c index 934b498df9..9cd0c64bfe 100644 --- a/src/nvim/tui/tui.c +++ b/src/nvim/tui/tui.c @@ -15,11 +15,13 @@ #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/cursor_shape.h" +#include "nvim/event/defs.h" #include "nvim/event/loop.h" #include "nvim/event/signal.h" #include "nvim/event/stream.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/highlight_defs.h" #include "nvim/log.h" #include "nvim/macros_defs.h" @@ -29,6 +31,7 @@ #include "nvim/msgpack_rpc/channel.h" #include "nvim/os/input.h" #include "nvim/os/os.h" +#include "nvim/os/os_defs.h" #include "nvim/tui/input.h" #include "nvim/tui/terminfo.h" #include "nvim/tui/tui.h" diff --git a/src/nvim/tui/tui.h b/src/nvim/tui/tui.h index 34a98004f3..12e0491b4b 100644 --- a/src/nvim/tui/tui.h +++ b/src/nvim/tui/tui.h @@ -1,24 +1,9 @@ #pragma once -#include "nvim/api/private/defs.h" // IWYU pragma: keep #include "nvim/highlight_defs.h" // IWYU pragma: keep -#include "nvim/types_defs.h" // IWYU pragma: keep +#include "nvim/tui/tui_defs.h" // IWYU pragma: keep #include "nvim/ui_defs.h" // IWYU pragma: keep -typedef struct TUIData TUIData; - -typedef enum { - kTermModeSynchronizedOutput = 2026, -} TermMode; - -typedef enum { - kTermModeNotRecognized = 0, - kTermModeSet = 1, - kTermModeReset = 2, - kTermModePermanentlySet = 3, - kTermModePermanentlyReset = 4, -} TermModeState; - #ifdef INCLUDE_GENERATED_DECLARATIONS # include "tui/tui.h.generated.h" #endif diff --git a/src/nvim/tui/tui_defs.h b/src/nvim/tui/tui_defs.h new file mode 100644 index 0000000000..c5149d4829 --- /dev/null +++ b/src/nvim/tui/tui_defs.h @@ -0,0 +1,15 @@ +#pragma once + +typedef struct TUIData TUIData; + +typedef enum { + kTermModeSynchronizedOutput = 2026, +} TermMode; + +typedef enum { + kTermModeNotRecognized = 0, + kTermModeSet = 1, + kTermModeReset = 2, + kTermModePermanentlySet = 3, + kTermModePermanentlyReset = 4, +} TermModeState; diff --git a/src/nvim/types_defs.h b/src/nvim/types_defs.h index 0573439b73..99f448d8a1 100644 --- a/src/nvim/types_defs.h +++ b/src/nvim/types_defs.h @@ -1,6 +1,5 @@ #pragma once -#include #include // dummy to pass an ACL to a function diff --git a/src/nvim/ui.c b/src/nvim/ui.c index 5303a25acc..8888535878 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -12,11 +12,12 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/cursor_shape.h" #include "nvim/drawscreen.h" #include "nvim/event/multiqueue.h" #include "nvim/ex_getln.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/highlight.h" @@ -25,8 +26,10 @@ #include "nvim/lua/executor.h" #include "nvim/map_defs.h" #include "nvim/memory.h" +#include "nvim/memory_defs.h" #include "nvim/message.h" #include "nvim/option.h" +#include "nvim/option_defs.h" #include "nvim/option_vars.h" #include "nvim/os/time.h" #include "nvim/state_defs.h" diff --git a/src/nvim/ui.h b/src/nvim/ui.h index b783e4b6d3..ef75bf62d9 100644 --- a/src/nvim/ui.h +++ b/src/nvim/ui.h @@ -8,7 +8,7 @@ #include "nvim/highlight_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" #include "nvim/types_defs.h" // IWYU pragma: keep -#include "nvim/ui_defs.h" // IWYU pragma: export +#include "nvim/ui_defs.h" // IWYU pragma: keep /// Keep in sync with UIExtension in ui_defs.h EXTERN const char *ui_ext_names[] INIT( = { diff --git a/src/nvim/ui_client.c b/src/nvim/ui_client.c index c7c0457fcd..055e234d67 100644 --- a/src/nvim/ui_client.c +++ b/src/nvim/ui_client.c @@ -5,22 +5,29 @@ #include #include "nvim/api/keysets_defs.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/dispatch.h" #include "nvim/api/private/helpers.h" #include "nvim/channel.h" +#include "nvim/channel_defs.h" #include "nvim/eval.h" #include "nvim/eval/typval_defs.h" #include "nvim/event/multiqueue.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/log.h" #include "nvim/main.h" #include "nvim/memory.h" +#include "nvim/memory_defs.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/tui/tui_defs.h" #include "nvim/ui.h" #include "nvim/ui_client.h" +#include "nvim/ui_defs.h" #ifdef MSWIN # include "nvim/os/os_win_console.h" diff --git a/src/nvim/ui_client.h b/src/nvim/ui_client.h index 8603ae9ca1..d3be9882aa 100644 --- a/src/nvim/ui_client.h +++ b/src/nvim/ui_client.h @@ -4,15 +4,10 @@ #include #include -#include "nvim/api/private/defs.h" #include "nvim/grid_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" #include "nvim/types_defs.h" - -typedef struct { - const char *name; - void (*fn)(Array args); -} UIClientHandler; +#include "nvim/ui_defs.h" // IWYU pragma: keep // Temporary buffer for converting a single grid_line event EXTERN size_t grid_line_buf_size INIT( = 0); diff --git a/src/nvim/ui_compositor.c b/src/nvim/ui_compositor.c index 4cd11f3ccf..85e7d63e11 100644 --- a/src/nvim/ui_compositor.c +++ b/src/nvim/ui_compositor.c @@ -18,6 +18,7 @@ #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/highlight_group.h" #include "nvim/log.h" #include "nvim/macros_defs.h" diff --git a/src/nvim/ui_defs.h b/src/nvim/ui_defs.h index c4707d4d7c..2245575306 100644 --- a/src/nvim/ui_defs.h +++ b/src/nvim/ui_defs.h @@ -93,3 +93,8 @@ struct ui_t { // TODO(bfredl): integrate into struct! UIData data[1]; }; + +typedef struct { + const char *name; + void (*fn)(Array args); +} UIClientHandler; diff --git a/src/nvim/undo.c b/src/nvim/undo.c index df38b3cb02..b08ce96568 100644 --- a/src/nvim/undo.c +++ b/src/nvim/undo.c @@ -85,6 +85,7 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/buffer_updates.h" #include "nvim/change.h" #include "nvim/cursor.h" @@ -96,25 +97,32 @@ #include "nvim/ex_docmd.h" #include "nvim/ex_getln.h" #include "nvim/extmark.h" +#include "nvim/extmark_defs.h" #include "nvim/fileio.h" #include "nvim/fold.h" #include "nvim/garray.h" +#include "nvim/garray_defs.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/macros_defs.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/mbyte.h" #include "nvim/memline.h" +#include "nvim/memline_defs.h" #include "nvim/memory.h" #include "nvim/message.h" #include "nvim/option.h" #include "nvim/option_vars.h" #include "nvim/os/fs.h" +#include "nvim/os/fs_defs.h" #include "nvim/os/input.h" #include "nvim/os/os_defs.h" #include "nvim/os/time.h" +#include "nvim/os/time_defs.h" #include "nvim/path.h" #include "nvim/pos_defs.h" #include "nvim/sha256.h" diff --git a/src/nvim/undo.h b/src/nvim/undo.h index a70b1fe486..800a1bfae0 100644 --- a/src/nvim/undo.h +++ b/src/nvim/undo.h @@ -4,7 +4,7 @@ #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep #include "nvim/pos_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep -#include "nvim/undo_defs.h" // IWYU pragma: export +#include "nvim/undo_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS # include "undo.h.generated.h" diff --git a/src/nvim/undo_defs.h b/src/nvim/undo_defs.h index e38b5e88fe..39786fa928 100644 --- a/src/nvim/undo_defs.h +++ b/src/nvim/undo_defs.h @@ -4,7 +4,6 @@ #include "nvim/extmark_defs.h" #include "nvim/mark_defs.h" -#include "nvim/pos_defs.h" enum { UNDO_HASH_SIZE = 32, }; ///< Size in bytes of the hash used in the undo file. diff --git a/src/nvim/usercmd.c b/src/nvim/usercmd.c index 39f80878c9..e20c3f6044 100644 --- a/src/nvim/usercmd.c +++ b/src/nvim/usercmd.c @@ -16,9 +16,10 @@ #include "nvim/eval.h" #include "nvim/ex_docmd.h" #include "nvim/garray.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/keycodes.h" #include "nvim/lua/executor.h" #include "nvim/macros_defs.h" diff --git a/src/nvim/usercmd.h b/src/nvim/usercmd.h index 4ad9767e1f..84a8f61719 100644 --- a/src/nvim/usercmd.h +++ b/src/nvim/usercmd.h @@ -8,7 +8,7 @@ #include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds_defs.h" #include "nvim/garray_defs.h" -#include "nvim/types_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" typedef struct { char *uc_name; ///< The command name diff --git a/src/nvim/version.c b/src/nvim/version.c index 5da35a9724..a2d9bcc8a1 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -16,13 +16,15 @@ #include "nvim/api/private/helpers.h" #include "nvim/ascii_defs.h" #include "nvim/buffer.h" +#include "nvim/buffer_defs.h" #include "nvim/charset.h" #include "nvim/drawscreen.h" #include "nvim/ex_cmds_defs.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" #include "nvim/highlight.h" +#include "nvim/highlight_defs.h" #include "nvim/lua/executor.h" #include "nvim/mbyte.h" #include "nvim/memory.h" diff --git a/src/nvim/vim_defs.h b/src/nvim/vim_defs.h index 4cd0097cdf..f6b348e009 100644 --- a/src/nvim/vim_defs.h +++ b/src/nvim/vim_defs.h @@ -1,8 +1,5 @@ #pragma once -#include "auto/config.h" -#include "nvim/os/os_defs.h" // IWYU pragma: keep - // Some defines from the old feature.h #define SESSION_FILE "Session.vim" #define MAX_MSG_HIST_LEN 200 diff --git a/src/nvim/viml/parser/expressions.c b/src/nvim/viml/parser/expressions.c index 11f5276053..3403fb7926 100644 --- a/src/nvim/viml/parser/expressions.c +++ b/src/nvim/viml/parser/expressions.c @@ -59,7 +59,7 @@ #include "nvim/assert_defs.h" #include "nvim/charset.h" #include "nvim/eval.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" #include "nvim/mbyte.h" diff --git a/src/nvim/viml/parser/expressions.h b/src/nvim/viml/parser/expressions.h index ff33b9ead1..ba54c4de07 100644 --- a/src/nvim/viml/parser/expressions.h +++ b/src/nvim/viml/parser/expressions.h @@ -6,7 +6,7 @@ #include "nvim/eval/typval_defs.h" #include "nvim/types_defs.h" -#include "nvim/viml/parser/parser.h" +#include "nvim/viml/parser/parser_defs.h" // Defines whether to ignore case: // == kCCStrategyUseOption diff --git a/src/nvim/viml/parser/parser.c b/src/nvim/viml/parser/parser.c index d8679208c3..bdade3fae2 100644 --- a/src/nvim/viml/parser/parser.c +++ b/src/nvim/viml/parser/parser.c @@ -1,3 +1,6 @@ +#include "nvim/func_attr.h" +#include "nvim/mbyte.h" +#include "nvim/memory.h" #include "nvim/viml/parser/parser.h" #ifdef INCLUDE_GENERATED_DECLARATIONS @@ -11,3 +14,62 @@ void parser_simple_get_line(void *cookie, ParserLine *ret_pline) *ret_pline = **plines_p; (*plines_p)++; } + +/// Get currently parsed line, shifted to pstate->pos.col +/// +/// @param pstate Parser state to operate on. +/// +/// @return True if there is a line, false in case of EOF. +bool viml_parser_get_remaining_line(ParserState *const pstate, ParserLine *const ret_pline) + FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_NONNULL_ALL +{ + const size_t num_lines = kv_size(pstate->reader.lines); + if (pstate->pos.line == num_lines) { + viml_preader_get_line(&pstate->reader, ret_pline); + } else { + *ret_pline = kv_last(pstate->reader.lines); + } + assert(pstate->pos.line == kv_size(pstate->reader.lines) - 1); + if (ret_pline->data != NULL) { + ret_pline->data += pstate->pos.col; + ret_pline->size -= pstate->pos.col; + } + return ret_pline->data != NULL; +} + +/// Get one line from ParserInputReader +static void viml_preader_get_line(ParserInputReader *const preader, ParserLine *const ret_pline) + FUNC_ATTR_NONNULL_ALL +{ + ParserLine pline; + preader->get_line(preader->cookie, &pline); + if (preader->conv.vc_type != CONV_NONE && pline.size) { + ParserLine cpline = { + .allocated = true, + .size = pline.size, + }; + cpline.data = string_convert(&preader->conv, (char *)pline.data, &cpline.size); + if (pline.allocated) { + xfree((void *)pline.data); + } + pline = cpline; + } + kvi_push(preader->lines, pline); + *ret_pline = pline; +} + +/// Free all memory allocated by the parser on heap +/// +/// @param pstate Parser state to free. +void viml_parser_destroy(ParserState *const pstate) + FUNC_ATTR_NONNULL_ALL +{ + for (size_t i = 0; i < kv_size(pstate->reader.lines); i++) { + ParserLine pline = kv_A(pstate->reader.lines, i); + if (pline.allocated) { + xfree((void *)pline.data); + } + } + kvi_destroy(pstate->reader.lines); + kvi_destroy(pstate->stack); +} diff --git a/src/nvim/viml/parser/parser.h b/src/nvim/viml/parser/parser.h index b29a77b5ef..31decdc798 100644 --- a/src/nvim/viml/parser/parser.h +++ b/src/nvim/viml/parser/parser.h @@ -6,79 +6,8 @@ #include "klib/kvec.h" #include "nvim/func_attr.h" -#include "nvim/mbyte.h" -#include "nvim/memory.h" - -/// One parsed line -typedef struct { - const char *data; ///< Parsed line pointer - size_t size; ///< Parsed line size - bool allocated; ///< True if line may be freed. -} ParserLine; - -/// Line getter type for parser -/// -/// Line getter must return {NULL, 0} for EOF. -typedef void (*ParserLineGetter)(void *cookie, ParserLine *ret_pline); - -/// Parser position in the input -typedef struct { - size_t line; ///< Line index in ParserInputReader.lines. - size_t col; ///< Byte index in the line. -} ParserPosition; - -/// Parser state item. -typedef struct { - enum { - kPTopStateParsingCommand = 0, - kPTopStateParsingExpression, - } type; - union { - struct { - enum { - kExprUnknown = 0, - } type; - } expr; - } data; -} ParserStateItem; - -/// Structure defining input reader -typedef struct { - /// Function used to get next line. - ParserLineGetter get_line; - /// Data for get_line function. - void *cookie; - /// All lines obtained by get_line. - kvec_withinit_t(ParserLine, 4) lines; - /// Conversion, for :scriptencoding. - vimconv_T conv; -} ParserInputReader; - -/// Highlighted region definition -/// -/// Note: one chunk may highlight only one line. -typedef struct { - ParserPosition start; ///< Start of the highlight: line and column. - size_t end_col; ///< End column, points to the start of the next character. - const char *group; ///< Highlight group. -} ParserHighlightChunk; - -/// Highlighting defined by a parser -typedef kvec_withinit_t(ParserHighlightChunk, 16) ParserHighlight; - -/// Structure defining parser state -typedef struct { - /// Line reader. - ParserInputReader reader; - /// Position up to which input was parsed. - ParserPosition pos; - /// Parser state stack. - kvec_withinit_t(ParserStateItem, 16) stack; - /// Highlighting support. - ParserHighlight *colors; - /// True if line continuation can be used. - bool can_continuate; -} ParserState; +#include "nvim/mbyte_defs.h" +#include "nvim/viml/parser/parser_defs.h" // IWYU pragma: keep static inline void viml_parser_init(ParserState *ret_pstate, ParserLineGetter get_line, void *cookie, ParserHighlight *colors) @@ -108,73 +37,6 @@ static inline void viml_parser_init(ParserState *const ret_pstate, const ParserL kvi_init(ret_pstate->stack); } -static inline void viml_parser_destroy(ParserState *pstate) - REAL_FATTR_NONNULL_ALL REAL_FATTR_ALWAYS_INLINE; - -/// Free all memory allocated by the parser on heap -/// -/// @param pstate Parser state to free. -static inline void viml_parser_destroy(ParserState *const pstate) -{ - for (size_t i = 0; i < kv_size(pstate->reader.lines); i++) { - ParserLine pline = kv_A(pstate->reader.lines, i); - if (pline.allocated) { - xfree((void *)pline.data); - } - } - kvi_destroy(pstate->reader.lines); - kvi_destroy(pstate->stack); -} - -static inline void viml_preader_get_line(ParserInputReader *preader, ParserLine *ret_pline) - REAL_FATTR_NONNULL_ALL; - -/// Get one line from ParserInputReader -static inline void viml_preader_get_line(ParserInputReader *const preader, - ParserLine *const ret_pline) -{ - ParserLine pline; - preader->get_line(preader->cookie, &pline); - if (preader->conv.vc_type != CONV_NONE && pline.size) { - ParserLine cpline = { - .allocated = true, - .size = pline.size, - }; - cpline.data = string_convert(&preader->conv, (char *)pline.data, &cpline.size); - if (pline.allocated) { - xfree((void *)pline.data); - } - pline = cpline; - } - kvi_push(preader->lines, pline); - *ret_pline = pline; -} - -static inline bool viml_parser_get_remaining_line(ParserState *pstate, ParserLine *ret_pline) - REAL_FATTR_ALWAYS_INLINE REAL_FATTR_WARN_UNUSED_RESULT REAL_FATTR_NONNULL_ALL; - -/// Get currently parsed line, shifted to pstate->pos.col -/// -/// @param pstate Parser state to operate on. -/// -/// @return True if there is a line, false in case of EOF. -static inline bool viml_parser_get_remaining_line(ParserState *const pstate, - ParserLine *const ret_pline) -{ - const size_t num_lines = kv_size(pstate->reader.lines); - if (pstate->pos.line == num_lines) { - viml_preader_get_line(&pstate->reader, ret_pline); - } else { - *ret_pline = kv_last(pstate->reader.lines); - } - assert(pstate->pos.line == kv_size(pstate->reader.lines) - 1); - if (ret_pline->data != NULL) { - ret_pline->data += pstate->pos.col; - ret_pline->size -= pstate->pos.col; - } - return ret_pline->data != NULL; -} - static inline void viml_parser_advance(ParserState *pstate, size_t len) REAL_FATTR_ALWAYS_INLINE REAL_FATTR_NONNULL_ALL; diff --git a/src/nvim/viml/parser/parser_defs.h b/src/nvim/viml/parser/parser_defs.h new file mode 100644 index 0000000000..59fab23054 --- /dev/null +++ b/src/nvim/viml/parser/parser_defs.h @@ -0,0 +1,79 @@ +#pragma once + +#include +#include +#include + +#include "klib/kvec.h" +#include "nvim/mbyte_defs.h" + +/// One parsed line +typedef struct { + const char *data; ///< Parsed line pointer + size_t size; ///< Parsed line size + bool allocated; ///< True if line may be freed. +} ParserLine; + +/// Line getter type for parser +/// +/// Line getter must return {NULL, 0} for EOF. +typedef void (*ParserLineGetter)(void *cookie, ParserLine *ret_pline); + +/// Parser position in the input +typedef struct { + size_t line; ///< Line index in ParserInputReader.lines. + size_t col; ///< Byte index in the line. +} ParserPosition; + +/// Parser state item. +typedef struct { + enum { + kPTopStateParsingCommand = 0, + kPTopStateParsingExpression, + } type; + union { + struct { + enum { + kExprUnknown = 0, + } type; + } expr; + } data; +} ParserStateItem; + +/// Structure defining input reader +typedef struct { + /// Function used to get next line. + ParserLineGetter get_line; + /// Data for get_line function. + void *cookie; + /// All lines obtained by get_line. + kvec_withinit_t(ParserLine, 4) lines; + /// Conversion, for :scriptencoding. + vimconv_T conv; +} ParserInputReader; + +/// Highlighted region definition +/// +/// Note: one chunk may highlight only one line. +typedef struct { + ParserPosition start; ///< Start of the highlight: line and column. + size_t end_col; ///< End column, points to the start of the next character. + const char *group; ///< Highlight group. +} ParserHighlightChunk; + +/// Highlighting defined by a parser +typedef kvec_withinit_t(ParserHighlightChunk, 16) ParserHighlight; + +/// Structure defining parser state +typedef struct { + /// Line reader. + ParserInputReader reader; + /// Position up to which input was parsed. + ParserPosition pos; + /// Parser state stack. + kvec_withinit_t(ParserStateItem, 16) stack; + /// Highlighting support. + ParserHighlight *colors; + /// True if line continuation can be used. + bool can_continuate; +} ParserState; diff --git a/src/nvim/window.c b/src/nvim/window.c index 6a305f9b2f..d9a05cde17 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -8,10 +8,12 @@ #include #include "klib/kvec.h" +#include "nvim/api/private/defs.h" #include "nvim/api/private/helpers.h" #include "nvim/arglist.h" #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" +#include "nvim/autocmd_defs.h" #include "nvim/buffer.h" #include "nvim/buffer_defs.h" #include "nvim/charset.h" @@ -22,10 +24,12 @@ #include "nvim/edit.h" #include "nvim/eval.h" #include "nvim/eval/typval.h" +#include "nvim/eval/typval_defs.h" #include "nvim/eval/vars.h" #include "nvim/eval/window.h" #include "nvim/ex_cmds.h" #include "nvim/ex_cmds2.h" +#include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/ex_eval.h" #include "nvim/ex_getln.h" @@ -34,16 +38,18 @@ #include "nvim/fold.h" #include "nvim/garray.h" #include "nvim/getchar.h" -#include "nvim/gettext.h" +#include "nvim/gettext_defs.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/hashtab.h" #include "nvim/keycodes.h" #include "nvim/macros_defs.h" #include "nvim/main.h" #include "nvim/map_defs.h" -#include "nvim/mapping.h" // IWYU pragma: keep (langmap_adjust_mb) +#include "nvim/mapping.h" #include "nvim/mark.h" +#include "nvim/mark_defs.h" #include "nvim/match.h" #include "nvim/mbyte.h" #include "nvim/memory.h" @@ -62,6 +68,7 @@ #include "nvim/quickfix.h" #include "nvim/search.h" #include "nvim/state.h" +#include "nvim/state_defs.h" #include "nvim/statusline.h" #include "nvim/strings.h" #include "nvim/syntax.h" @@ -69,6 +76,7 @@ #include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/ui_compositor.h" +#include "nvim/ui_defs.h" #include "nvim/undo.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/winfloat.c b/src/nvim/winfloat.c index 693f9cf1e6..1d22590ac0 100644 --- a/src/nvim/winfloat.c +++ b/src/nvim/winfloat.c @@ -11,6 +11,7 @@ #include "nvim/drawscreen.h" #include "nvim/globals.h" #include "nvim/grid.h" +#include "nvim/grid_defs.h" #include "nvim/macros_defs.h" #include "nvim/memory.h" #include "nvim/mouse.h" @@ -21,6 +22,7 @@ #include "nvim/strings.h" #include "nvim/types_defs.h" #include "nvim/ui.h" +#include "nvim/ui_defs.h" #include "nvim/vim_defs.h" #include "nvim/window.h" #include "nvim/winfloat.h"