commit 8533adb4844b771b84dac2141fa2fa60e0487b47 parent 8c611f53feaeb6110875499cec9097c93b892c8c Author: zeertzjq <zeertzjq@outlook.com> Date: Thu, 21 Dec 2023 16:50:05 +0800 refactor(IWYU): move decor provider types to decoration_defs.h (#26692) Diffstat:
69 files changed, 110 insertions(+), 142 deletions(-)
diff --git a/Makefile b/Makefile @@ -148,7 +148,6 @@ iwyu: build/.ran-cmake |src/nvim/buffer_defs.h\ |src/nvim/channel.h\ |src/nvim/charset.h\ - |src/nvim/drawline.h\ |src/nvim/eval.h\ |src/nvim/eval/encode.h\ |src/nvim/eval/typval.h\ diff --git a/src/clint.py b/src/clint.py @@ -906,7 +906,6 @@ def CheckIncludes(filename, lines, error): "src/nvim/buffer_defs.h", "src/nvim/channel.h", "src/nvim/charset.h", - "src/nvim/drawline.h", "src/nvim/eval.h", "src/nvim/eval/encode.h", "src/nvim/eval/typval.h", diff --git a/src/nvim/api/buffer.c b/src/nvim/api/buffer.c @@ -18,7 +18,6 @@ #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" diff --git a/src/nvim/api/buffer.h b/src/nvim/api/buffer.h @@ -5,7 +5,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/pos_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS # include "api/buffer.h.generated.h" diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c @@ -64,7 +64,6 @@ #include "nvim/statusline.h" #include "nvim/strings.h" #include "nvim/terminal.h" -#include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/vim_defs.h" #include "nvim/window.h" diff --git a/src/nvim/base64.c b/src/nvim/base64.c @@ -3,6 +3,7 @@ #include <stdint.h> #include <string.h> +#include "auto/config.h" #include "nvim/base64.h" #include "nvim/memory.h" diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c @@ -94,7 +94,6 @@ #include "nvim/strings.h" #include "nvim/syntax.h" #include "nvim/terminal.h" -#include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/undo.h" #include "nvim/usercmd.h" diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h @@ -24,7 +24,7 @@ #include "nvim/regexp_defs.h" #include "nvim/sign_defs.h" #include "nvim/statusline_defs.h" -#include "nvim/terminal.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/bufwrite.c b/src/nvim/bufwrite.c @@ -13,12 +13,10 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" -#include "nvim/buffer_defs.h" #include "nvim/bufwrite.h" #include "nvim/change.h" #include "nvim/drawscreen.h" #include "nvim/eval.h" -#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_eval.h" diff --git a/src/nvim/bufwrite.h b/src/nvim/bufwrite.h @@ -1,8 +1,8 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep #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 #ifdef INCLUDE_GENERATED_DECLARATIONS # include "bufwrite.h.generated.h" diff --git a/src/nvim/change.c b/src/nvim/change.c @@ -9,7 +9,6 @@ #include "nvim/assert_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/charset.h" diff --git a/src/nvim/change.h b/src/nvim/change.h @@ -1,7 +1,9 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep +#include <stddef.h> // IWYU pragma: keep + #include "nvim/pos_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep /// flags for open_line() enum { diff --git a/src/nvim/channel.h b/src/nvim/channel.h @@ -17,7 +17,6 @@ #include "nvim/map_defs.h" #include "nvim/msgpack_rpc/channel_defs.h" #include "nvim/os/pty_process.h" -#include "nvim/terminal.h" #include "nvim/types_defs.h" static inline bool callback_reader_set(CallbackReader reader) diff --git a/src/nvim/cursor.h b/src/nvim/cursor.h @@ -1,7 +1,7 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/pos_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS # include "cursor.h.generated.h" diff --git a/src/nvim/decoration.c b/src/nvim/decoration.c @@ -20,7 +20,6 @@ #include "nvim/move.h" #include "nvim/option_vars.h" #include "nvim/pos_defs.h" -#include "nvim/sign.h" #ifdef INCLUDE_GENERATED_DECLARATIONS # include "decoration.c.generated.h" diff --git a/src/nvim/decoration.h b/src/nvim/decoration.h @@ -5,11 +5,11 @@ #include <stdint.h> #include "klib/kvec.h" -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/decoration_defs.h" // IWYU pragma: export #include "nvim/macros_defs.h" #include "nvim/marktree_defs.h" #include "nvim/pos_defs.h" // IWYU pragma: keep +#include "nvim/sign_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // actual Decor* data is in decoration_defs.h diff --git a/src/nvim/decoration_defs.h b/src/nvim/decoration_defs.h @@ -125,3 +125,21 @@ typedef struct { // initializes in a valid state for the DecorHighlightInline branch #define DECOR_INLINE_INIT { .ext = false, .data.hl = DECOR_HIGHLIGHT_INLINE_INIT } + +typedef struct { + NS ns_id; + bool active; + LuaRef redraw_start; + LuaRef redraw_buf; + LuaRef redraw_win; + LuaRef redraw_line; + LuaRef redraw_end; + LuaRef hl_def; + LuaRef spell_nav; + int hl_valid; + bool hl_cached; + + uint8_t error_count; +} DecorProvider; + +typedef kvec_withinit_t(DecorProvider *, 4) DecorProviders; diff --git a/src/nvim/decoration_provider.c b/src/nvim/decoration_provider.c @@ -1,5 +1,6 @@ #include <assert.h> #include <lauxlib.h> +#include <stdint.h> #include <string.h> #include "klib/kvec.h" @@ -8,6 +9,7 @@ #include "nvim/api/private/helpers.h" #include "nvim/buffer_defs.h" #include "nvim/decoration.h" +#include "nvim/decoration_defs.h" #include "nvim/decoration_provider.h" #include "nvim/globals.h" #include "nvim/highlight.h" @@ -16,6 +18,12 @@ #include "nvim/message.h" #include "nvim/pos_defs.h" +#ifdef INCLUDE_GENERATED_DECLARATIONS +# include "decoration_provider.c.generated.h" +#endif + +enum { DP_MAX_ERROR = 3, }; + static kvec_t(DecorProvider) decor_providers = KV_INITIAL_VALUE; #define DECORATION_PROVIDER_INIT(ns_id) (DecorProvider) \ diff --git a/src/nvim/decoration_provider.h b/src/nvim/decoration_provider.h @@ -1,32 +1,10 @@ #pragma once #include <stdbool.h> -#include <stdint.h> -#include "klib/kvec.h" -#include "nvim/buffer_defs.h" // IWYU pragma: keep +#include "nvim/decoration_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" -#include "nvim/types_defs.h" - -#define DP_MAX_ERROR 3 - -typedef struct { - NS ns_id; - bool active; - LuaRef redraw_start; - LuaRef redraw_buf; - LuaRef redraw_win; - LuaRef redraw_line; - LuaRef redraw_end; - LuaRef hl_def; - LuaRef spell_nav; - int hl_valid; - bool hl_cached; - - uint8_t error_count; -} DecorProvider; - -typedef kvec_withinit_t(DecorProvider *, 4) DecorProviders; +#include "nvim/types_defs.h" // IWYU pragma: keep EXTERN bool provider_active INIT( = false); diff --git a/src/nvim/digraph.h b/src/nvim/digraph.h @@ -1,6 +1,5 @@ #pragma once -#include "nvim/buffer_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/garray_defs.h" // IWYU pragma: keep diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c @@ -15,6 +15,7 @@ #include "nvim/cursor.h" #include "nvim/cursor_shape.h" #include "nvim/decoration.h" +#include "nvim/decoration_defs.h" #include "nvim/decoration_provider.h" #include "nvim/diff.h" #include "nvim/drawline.h" diff --git a/src/nvim/drawline.h b/src/nvim/drawline.h @@ -4,14 +4,13 @@ #include <stdint.h> #include "klib/kvec.h" -#include "nvim/decoration_provider.h" -#include "nvim/fold_defs.h" +#include "nvim/decoration_defs.h" // IWYU pragma: keep +#include "nvim/fold_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" #include "nvim/pos_defs.h" #include "nvim/types_defs.h" -// Maximum columns for terminal highlight attributes -#define TERM_ATTRS_MAX 1024 +enum { TERM_ATTRS_MAX = 1024, }; ///< Maximum columns for terminal highlight attributes typedef struct { NS ns_id; @@ -23,7 +22,7 @@ EXTERN kvec_t(WinExtmark) win_extmark_arr INIT( = KV_INITIAL_VALUE); EXTERN bool conceal_cursor_used INIT( = false); -// Spell checking variables passed from win_update() to win_line(). +/// Spell checking variables passed from win_update() to win_line(). typedef struct { bool spv_has_spell; ///< drawn window has spell checking bool spv_unchanged; ///< not updating for changed text diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c @@ -105,7 +105,6 @@ #include "nvim/strings.h" #include "nvim/syntax.h" #include "nvim/terminal.h" -#include "nvim/types_defs.h" #include "nvim/ui.h" #include "nvim/ui_compositor.h" #include "nvim/version.h" diff --git a/src/nvim/edit.c b/src/nvim/edit.c @@ -18,7 +18,6 @@ #include "nvim/drawscreen.h" #include "nvim/edit.h" #include "nvim/eval.h" -#include "nvim/eval/typval_defs.h" #include "nvim/ex_cmds_defs.h" #include "nvim/ex_docmd.h" #include "nvim/extmark.h" diff --git a/src/nvim/edit.h b/src/nvim/edit.h @@ -1,8 +1,8 @@ #pragma once #include "nvim/autocmd_defs.h" // IWYU pragma: keep -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/pos_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep /// Values for in_cinkeys() enum { diff --git a/src/nvim/eval.c b/src/nvim/eval.c @@ -16,7 +16,6 @@ #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" diff --git a/src/nvim/eval.h b/src/nvim/eval.h @@ -4,18 +4,19 @@ #include <stddef.h> #include <stdint.h> -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/channel.h" #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" #include "nvim/event/time.h" #include "nvim/ex_cmds_defs.h" +#include "nvim/grid_defs.h" // IWYU pragma: keep #include "nvim/hashtab_defs.h" #include "nvim/macros_defs.h" #include "nvim/mbyte_defs.h" // IWYU pragma: keep #include "nvim/option_defs.h" // IWYU pragma: keep #include "nvim/os/fileio_defs.h" // IWYU pragma: keep #include "nvim/os/stdpaths_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep #include "nvim/vim_defs.h" // IWYU pragma: keep #define COPYID_INC 2 diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c @@ -28,7 +28,6 @@ #include "nvim/assert_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.h" diff --git a/src/nvim/eval/funcs.h b/src/nvim/eval/funcs.h @@ -3,7 +3,6 @@ #include <stdbool.h> #include <stdint.h> -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" #include "nvim/pos_defs.h" // IWYU pragma: keep diff --git a/src/nvim/ex_cmds2.h b/src/nvim/ex_cmds2.h @@ -1,7 +1,7 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep /// flags for check_changed() enum { diff --git a/src/nvim/extmark.h b/src/nvim/extmark.h @@ -4,11 +4,11 @@ #include <stdint.h> #include "klib/kvec.h" -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/extmark_defs.h" // IWYU pragma: export #include "nvim/macros_defs.h" #include "nvim/marktree_defs.h" #include "nvim/pos_defs.h" +#include "nvim/types_defs.h" // IWYU pragma: keep EXTERN int curbuf_splice_pending INIT( = 0); diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c @@ -19,7 +19,6 @@ #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" diff --git a/src/nvim/fileio.h b/src/nvim/fileio.h @@ -4,12 +4,13 @@ #include <stdio.h> // IWYU pragma: keep #include <time.h> // IWYU pragma: keep -#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/garray_defs.h" // IWYU pragma: keep #include "nvim/os/fs_defs.h" // IWYU pragma: keep +#include "nvim/os/os_defs.h" // IWYU pragma: keep #include "nvim/pos_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep /// Values for readfile() flags enum { diff --git a/src/nvim/fold.h b/src/nvim/fold.h @@ -2,7 +2,8 @@ #include <stdio.h> // IWYU pragma: keep -#include "nvim/buffer_defs.h" // IWYU pragma: keep +#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/garray_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" diff --git a/src/nvim/highlight.c b/src/nvim/highlight.c @@ -11,6 +11,7 @@ #include "nvim/api/private/helpers.h" #include "nvim/api/private/validate.h" #include "nvim/api/ui.h" +#include "nvim/decoration_defs.h" #include "nvim/decoration_provider.h" #include "nvim/drawscreen.h" #include "nvim/gettext.h" diff --git a/src/nvim/indent.h b/src/nvim/indent.h @@ -1,6 +1,5 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep #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 diff --git a/src/nvim/indent_c.h b/src/nvim/indent_c.h @@ -1,7 +1,7 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/pos_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS # include "indent_c.h.generated.h" diff --git a/src/nvim/memfile.h b/src/nvim/memfile.h @@ -1,7 +1,7 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/memfile_defs.h" // IWYU pragma: export +#include "nvim/types_defs.h" // IWYU pragma: keep /// flags for mf_sync() enum { diff --git a/src/nvim/memline.c b/src/nvim/memline.c @@ -48,7 +48,6 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" -#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/cursor.h" #include "nvim/drawscreen.h" diff --git a/src/nvim/memline.h b/src/nvim/memline.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep +#include "nvim/eval/typval_defs.h" // IWYU pragma: keep #include "nvim/memline_defs.h" // IWYU pragma: export #include "nvim/pos_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep diff --git a/src/nvim/memory.h b/src/nvim/memory.h @@ -2,7 +2,7 @@ #include <stdbool.h> #include <stdint.h> // IWYU pragma: keep -#include <string.h> +#include <string.h> // IWYU pragma: keep #include <time.h> // IWYU pragma: keep #include "auto/config.h" diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c @@ -6,7 +6,6 @@ #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" diff --git a/src/nvim/mouse.h b/src/nvim/mouse.h @@ -1,6 +1,5 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" // IWYU pragma: keep #include "nvim/normal_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep diff --git a/src/nvim/move.h b/src/nvim/move.h @@ -1,6 +1,5 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep #include "nvim/vim_defs.h" // IWYU pragma: keep diff --git a/src/nvim/normal.c b/src/nvim/normal.c @@ -18,7 +18,6 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" -#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cmdhist.h" diff --git a/src/nvim/normal.h b/src/nvim/normal.h @@ -1,9 +1,11 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep +#include <stddef.h> // IWYU pragma: keep + #include "nvim/macros_defs.h" #include "nvim/normal_defs.h" // IWYU pragma: export #include "nvim/pos_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep /// Values for find_ident_under_cursor() enum { diff --git a/src/nvim/option.c b/src/nvim/option.c @@ -38,6 +38,7 @@ #include "nvim/cmdexpand.h" #include "nvim/cmdexpand_defs.h" #include "nvim/cursor_shape.h" +#include "nvim/decoration_defs.h" #include "nvim/decoration_provider.h" #include "nvim/diff.h" #include "nvim/drawscreen.h" diff --git a/src/nvim/optionstr.h b/src/nvim/optionstr.h @@ -2,9 +2,9 @@ #include <stdint.h> // IWYU pragma: keep -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/option_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep #ifdef INCLUDE_GENERATED_DECLARATIONS # include "optionstr.h.generated.h" diff --git a/src/nvim/os/os.h b/src/nvim/os/os.h @@ -4,11 +4,11 @@ #include <stdint.h> // IWYU pragma: keep #include <uv.h> // IWYU pragma: keep -#include "nvim/buffer_defs.h" // IWYU pragma: keep #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 #define HAVE_PATHDEF diff --git a/src/nvim/os/os_win_console.c b/src/nvim/os/os_win_console.c @@ -1,6 +1,7 @@ #include <string.h> #include "nvim/globals.h" +#include "nvim/memory.h" #include "nvim/os/fs.h" #include "nvim/os/input.h" #include "nvim/os/os.h" @@ -105,3 +106,40 @@ void os_title_reset(void) { SetConsoleTitle(origTitle); } + +#if !defined(ENABLE_VIRTUAL_TERMINAL_PROCESSING) +# define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 +#endif +/// Guesses the terminal-type. Calls SetConsoleMode() and uv_set_vterm_state() +/// if appropriate. +/// +/// @param[in,out] term Name of the guessed terminal, statically-allocated +/// @param out_fd stdout file descriptor +void os_tty_guess_term(const char **term, int out_fd) +{ + bool conemu_ansi = strequal(os_getenv("ConEmuANSI"), "ON"); + bool vtp = false; + + HANDLE handle = (HANDLE)_get_osfhandle(out_fd); + DWORD dwMode; + if (handle != INVALID_HANDLE_VALUE && GetConsoleMode(handle, &dwMode)) { + dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING; + if (SetConsoleMode(handle, dwMode)) { + vtp = true; + } + } + + if (*term == NULL) { + if (vtp) { + *term = "vtpcon"; + } else if (conemu_ansi) { + *term = "conemu"; + } else { + *term = "win32con"; + } + } + + if (conemu_ansi) { + uv_tty_set_vterm_state(UV_TTY_SUPPORTED); + } +} diff --git a/src/nvim/os/pty_conpty_win.c b/src/nvim/os/pty_conpty_win.c @@ -1,5 +1,6 @@ #include <uv.h> +#include "nvim/log.h" #include "nvim/os/os.h" #include "nvim/os/pty_conpty_win.h" #include "nvim/vim_defs.h" diff --git a/src/nvim/os/pty_process_win.c b/src/nvim/os/pty_process_win.c @@ -4,6 +4,7 @@ #include "nvim/ascii_defs.h" #include "nvim/eval/typval.h" +#include "nvim/log.h" #include "nvim/mbyte.h" #include "nvim/memory.h" #include "nvim/os/os.h" diff --git a/src/nvim/os/tty.c b/src/nvim/os/tty.c @@ -1,52 +0,0 @@ -// -// Terminal/console utils -// - -#ifdef MSWIN -# include "nvim/memory.h" -# include "nvim/os/os.h" -#endif -#include "nvim/os/tty.h" - -#ifdef INCLUDE_GENERATED_DECLARATIONS -# include "os/tty.c.generated.h" // IWYU pragma: export -#endif - -#ifdef MSWIN -# if !defined(ENABLE_VIRTUAL_TERMINAL_PROCESSING) -# define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 -# endif -/// Guesses the terminal-type. Calls SetConsoleMode() and uv_set_vterm_state() -/// if appropriate. -/// -/// @param[in,out] term Name of the guessed terminal, statically-allocated -/// @param out_fd stdout file descriptor -void os_tty_guess_term(const char **term, int out_fd) -{ - bool conemu_ansi = strequal(os_getenv("ConEmuANSI"), "ON"); - bool vtp = false; - - HANDLE handle = (HANDLE)_get_osfhandle(out_fd); - DWORD dwMode; - if (handle != INVALID_HANDLE_VALUE && GetConsoleMode(handle, &dwMode)) { - dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING; - if (SetConsoleMode(handle, dwMode)) { - vtp = true; - } - } - - if (*term == NULL) { - if (vtp) { - *term = "vtpcon"; - } else if (conemu_ansi) { - *term = "conemu"; - } else { - *term = "win32con"; - } - } - - if (conemu_ansi) { - uv_tty_set_vterm_state(UV_TTY_SUPPORTED); - } -} -#endif diff --git a/src/nvim/os/tty.h b/src/nvim/os/tty.h @@ -1,5 +0,0 @@ -#pragma once - -#ifdef INCLUDE_GENERATED_DECLARATIONS -# include "os/tty.h.generated.h" -#endif diff --git a/src/nvim/popupmenu.c b/src/nvim/popupmenu.c @@ -12,7 +12,6 @@ #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" diff --git a/src/nvim/popupmenu.h b/src/nvim/popupmenu.h @@ -2,11 +2,11 @@ #include <stdbool.h> -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" // IWYU pragma: keep #include "nvim/grid_defs.h" #include "nvim/macros_defs.h" #include "nvim/menu_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep /// Used for popup menu items. typedef struct { diff --git a/src/nvim/regexp.h b/src/nvim/regexp.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep +#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/types_defs.h" // IWYU pragma: keep diff --git a/src/nvim/search.c b/src/nvim/search.c @@ -11,7 +11,6 @@ #include "nvim/ascii_defs.h" #include "nvim/autocmd.h" #include "nvim/buffer.h" -#include "nvim/buffer_defs.h" #include "nvim/change.h" #include "nvim/charset.h" #include "nvim/cmdhist.h" diff --git a/src/nvim/search.h b/src/nvim/search.h @@ -3,7 +3,6 @@ #include <stdbool.h> #include <stdint.h> -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/eval/typval_defs.h" #include "nvim/normal_defs.h" // IWYU pragma: keep #include "nvim/os/time_defs.h" diff --git a/src/nvim/sign.c b/src/nvim/sign.c @@ -13,7 +13,6 @@ #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" diff --git a/src/nvim/sign.h b/src/nvim/sign.h @@ -1,6 +1,5 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep #include "nvim/sign_defs.h" // IWYU pragma: export diff --git a/src/nvim/statusline.c b/src/nvim/statusline.c @@ -10,7 +10,6 @@ #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" diff --git a/src/nvim/statusline.h b/src/nvim/statusline.h @@ -2,10 +2,10 @@ #include <stddef.h> -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" #include "nvim/option_defs.h" // IWYU pragma: keep #include "nvim/statusline_defs.h" // IWYU pragma: export +#include "nvim/types_defs.h" // IWYU pragma: keep /// Array defining what should be done when tabline is clicked EXTERN StlClickDefinition *tab_page_click_defs INIT( = NULL); diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c @@ -10,7 +10,6 @@ #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/drawscreen.h" diff --git a/src/nvim/syntax.h b/src/nvim/syntax.h @@ -1,10 +1,10 @@ #pragma once -#include "nvim/buffer_defs.h" // IWYU pragma: keep #include "nvim/cmdexpand_defs.h" // IWYU pragma: keep #include "nvim/ex_cmds_defs.h" // IWYU pragma: keep #include "nvim/macros_defs.h" #include "nvim/syntax_defs.h" // IWYU pragma: export +#include "nvim/types_defs.h" // IWYU pragma: keep enum { HL_CONTAINED = 0x01, ///< not used on toplevel diff --git a/src/nvim/tag.h b/src/nvim/tag.h @@ -1,9 +1,9 @@ #pragma once -#include "nvim/buffer_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/option_defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep enum { LSIZE = 512, }; ///< max. size of a line in the tags file diff --git a/src/nvim/terminal.h b/src/nvim/terminal.h @@ -5,6 +5,7 @@ #include <stdint.h> #include "nvim/api/private/defs.h" // IWYU pragma: keep +#include "nvim/types_defs.h" // IWYU pragma: keep typedef void (*terminal_write_cb)(const char *buffer, size_t size, void *data); typedef void (*terminal_resize_cb)(uint16_t width, uint16_t height, void *data); diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c @@ -40,7 +40,6 @@ #ifdef MSWIN # include "nvim/os/os_win_console.h" -# include "nvim/os/tty.h" #endif #define OUTBUF_SIZE 0xffff diff --git a/src/nvim/undo.h b/src/nvim/undo.h @@ -1,6 +1,6 @@ #pragma once -#include "nvim/buffer_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/pos_defs.h" // IWYU pragma: keep #include "nvim/types_defs.h" // IWYU pragma: keep