mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
refactor(IWYU): move typedefs out of globals.h (#26322)
This commit is contained in:
parent
3b6dd8608d
commit
c8e37a589a
11
Makefile
11
Makefile
@ -173,11 +173,7 @@ iwyu: build/.ran-cmake
|
|||||||
|src/nvim/event/stream.h\
|
|src/nvim/event/stream.h\
|
||||||
|src/nvim/event/time.h\
|
|src/nvim/event/time.h\
|
||||||
|src/nvim/event/wstream.h\
|
|src/nvim/event/wstream.h\
|
||||||
|src/nvim/ex_cmds.h\
|
|
||||||
|src/nvim/ex_docmd.h\
|
|
||||||
|src/nvim/extmark.h\
|
|src/nvim/extmark.h\
|
||||||
|src/nvim/file_search.h\
|
|
||||||
|src/nvim/fileio.h\
|
|
||||||
|src/nvim/fold.h\
|
|src/nvim/fold.h\
|
||||||
|src/nvim/garray.h\
|
|src/nvim/garray.h\
|
||||||
|src/nvim/getchar.h\
|
|src/nvim/getchar.h\
|
||||||
@ -186,14 +182,11 @@ iwyu: build/.ran-cmake
|
|||||||
|src/nvim/highlight.h\
|
|src/nvim/highlight.h\
|
||||||
|src/nvim/highlight_group.h\
|
|src/nvim/highlight_group.h\
|
||||||
|src/nvim/input.h\
|
|src/nvim/input.h\
|
||||||
|src/nvim/insexpand.h\
|
|
||||||
|src/nvim/keycodes.h\
|
|src/nvim/keycodes.h\
|
||||||
|src/nvim/log.h\
|
|src/nvim/log.h\
|
||||||
|src/nvim/lua/executor.h\
|
|src/nvim/lua/executor.h\
|
||||||
|src/nvim/main.h\
|
|src/nvim/main.h\
|
||||||
|src/nvim/mark.h\
|
|src/nvim/mark.h\
|
||||||
|src/nvim/mouse.h\
|
|
||||||
|src/nvim/move.h\
|
|
||||||
|src/nvim/msgpack_rpc/channel.h\
|
|src/nvim/msgpack_rpc/channel.h\
|
||||||
|src/nvim/msgpack_rpc/channel_defs.h\
|
|src/nvim/msgpack_rpc/channel_defs.h\
|
||||||
|src/nvim/msgpack_rpc/helpers.h\
|
|src/nvim/msgpack_rpc/helpers.h\
|
||||||
@ -207,10 +200,6 @@ iwyu: build/.ran-cmake
|
|||||||
|src/nvim/path.h\
|
|src/nvim/path.h\
|
||||||
|src/nvim/plines.h\
|
|src/nvim/plines.h\
|
||||||
|src/nvim/popupmenu.h\
|
|src/nvim/popupmenu.h\
|
||||||
|src/nvim/search.h\
|
|
||||||
|src/nvim/spell.h\
|
|
||||||
|src/nvim/syntax.h\
|
|
||||||
|src/nvim/textobject.h\
|
|
||||||
|src/nvim/tui/input.h\
|
|src/nvim/tui/input.h\
|
||||||
|src/nvim/ui.h\
|
|src/nvim/ui.h\
|
||||||
|src/nvim/viml/parser/expressions.h\
|
|src/nvim/viml/parser/expressions.h\
|
||||||
|
11
src/clint.py
11
src/clint.py
@ -931,11 +931,7 @@ def CheckIncludes(filename, lines, error):
|
|||||||
"src/nvim/event/stream.h",
|
"src/nvim/event/stream.h",
|
||||||
"src/nvim/event/time.h",
|
"src/nvim/event/time.h",
|
||||||
"src/nvim/event/wstream.h",
|
"src/nvim/event/wstream.h",
|
||||||
"src/nvim/ex_cmds.h",
|
|
||||||
"src/nvim/ex_docmd.h",
|
|
||||||
"src/nvim/extmark.h",
|
"src/nvim/extmark.h",
|
||||||
"src/nvim/file_search.h",
|
|
||||||
"src/nvim/fileio.h",
|
|
||||||
"src/nvim/fold.h",
|
"src/nvim/fold.h",
|
||||||
"src/nvim/garray.h",
|
"src/nvim/garray.h",
|
||||||
"src/nvim/getchar.h",
|
"src/nvim/getchar.h",
|
||||||
@ -944,14 +940,11 @@ def CheckIncludes(filename, lines, error):
|
|||||||
"src/nvim/highlight.h",
|
"src/nvim/highlight.h",
|
||||||
"src/nvim/highlight_group.h",
|
"src/nvim/highlight_group.h",
|
||||||
"src/nvim/input.h",
|
"src/nvim/input.h",
|
||||||
"src/nvim/insexpand.h",
|
|
||||||
"src/nvim/keycodes.h",
|
"src/nvim/keycodes.h",
|
||||||
"src/nvim/log.h",
|
"src/nvim/log.h",
|
||||||
"src/nvim/lua/executor.h",
|
"src/nvim/lua/executor.h",
|
||||||
"src/nvim/main.h",
|
"src/nvim/main.h",
|
||||||
"src/nvim/mark.h",
|
"src/nvim/mark.h",
|
||||||
"src/nvim/mouse.h",
|
|
||||||
"src/nvim/move.h",
|
|
||||||
"src/nvim/msgpack_rpc/channel.h",
|
"src/nvim/msgpack_rpc/channel.h",
|
||||||
"src/nvim/msgpack_rpc/channel_defs.h",
|
"src/nvim/msgpack_rpc/channel_defs.h",
|
||||||
"src/nvim/msgpack_rpc/helpers.h",
|
"src/nvim/msgpack_rpc/helpers.h",
|
||||||
@ -965,10 +958,6 @@ def CheckIncludes(filename, lines, error):
|
|||||||
"src/nvim/path.h",
|
"src/nvim/path.h",
|
||||||
"src/nvim/plines.h",
|
"src/nvim/plines.h",
|
||||||
"src/nvim/popupmenu.h",
|
"src/nvim/popupmenu.h",
|
||||||
"src/nvim/search.h",
|
|
||||||
"src/nvim/spell.h",
|
|
||||||
"src/nvim/syntax.h",
|
|
||||||
"src/nvim/textobject.h",
|
|
||||||
"src/nvim/tui/input.h",
|
"src/nvim/tui/input.h",
|
||||||
"src/nvim/ui.h",
|
"src/nvim/ui.h",
|
||||||
"src/nvim/viml/parser/expressions.h",
|
"src/nvim/viml/parser/expressions.h",
|
||||||
|
@ -27,18 +27,57 @@ EXTERN win_T *last_cursormoved_win INIT( = NULL);
|
|||||||
/// For CursorMoved event, only used when last_cursormoved_win == curwin
|
/// For CursorMoved event, only used when last_cursormoved_win == curwin
|
||||||
EXTERN pos_T last_cursormoved INIT( = { 0, 0, 0 });
|
EXTERN pos_T last_cursormoved INIT( = { 0, 0, 0 });
|
||||||
|
|
||||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
EXTERN bool autocmd_busy INIT( = false); ///< Is apply_autocmds() busy?
|
||||||
# include "autocmd.h.generated.h"
|
EXTERN int autocmd_no_enter INIT( = false); ///< *Enter autocmds disabled
|
||||||
#endif
|
EXTERN int autocmd_no_leave INIT( = false); ///< *Leave autocmds disabled
|
||||||
|
EXTERN bool did_filetype INIT( = false); ///< FileType event found
|
||||||
|
/// value for did_filetype when starting to execute autocommands
|
||||||
|
EXTERN bool keep_filetype INIT( = false);
|
||||||
|
|
||||||
#define AUGROUP_DEFAULT (-1) // default autocmd group
|
/// When deleting the current buffer, another one must be loaded.
|
||||||
#define AUGROUP_ERROR (-2) // erroneous autocmd group
|
/// If we know which one is preferred, au_new_curbuf is set to it.
|
||||||
#define AUGROUP_ALL (-3) // all autocmd groups
|
EXTERN bufref_T au_new_curbuf INIT( = { NULL, 0, 0 });
|
||||||
#define AUGROUP_DELETED (-4) // all autocmd groups
|
|
||||||
// #define AUGROUP_NS -5 // TODO(tjdevries): Support namespaced based augroups
|
|
||||||
|
|
||||||
#define BUFLOCAL_PAT_LEN 25
|
// When deleting a buffer/window and autocmd_busy is true, do not free the
|
||||||
|
// buffer/window. but link it in the list starting with
|
||||||
|
// au_pending_free_buf/ap_pending_free_win, using b_next/w_next.
|
||||||
|
// Free the buffer/window when autocmd_busy is being set to false.
|
||||||
|
EXTERN buf_T *au_pending_free_buf INIT( = NULL);
|
||||||
|
EXTERN win_T *au_pending_free_win INIT( = NULL);
|
||||||
|
|
||||||
|
EXTERN char *autocmd_fname INIT( = NULL); ///< fname for <afile> on cmdline
|
||||||
|
EXTERN bool autocmd_fname_full INIT( = false); ///< autocmd_fname is full path
|
||||||
|
EXTERN int autocmd_bufnr INIT( = 0); ///< fnum for <abuf> on cmdline
|
||||||
|
EXTERN char *autocmd_match INIT( = NULL); ///< name for <amatch> on cmdline
|
||||||
|
EXTERN bool did_cursorhold INIT( = false); ///< set when CursorHold t'gerd
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
win_T *auc_win; ///< Window used in aucmd_prepbuf(). When not NULL the
|
||||||
|
///< window has been allocated.
|
||||||
|
bool auc_win_used; ///< This auc_win is being used.
|
||||||
|
} aucmdwin_T;
|
||||||
|
|
||||||
|
/// When executing autocommands for a buffer that is not in any window, a
|
||||||
|
/// special window is created to handle the side effects. When autocommands
|
||||||
|
/// nest we may need more than one.
|
||||||
|
EXTERN kvec_t(aucmdwin_T) aucmd_win_vec INIT( = KV_INITIAL_VALUE);
|
||||||
|
#define aucmd_win (aucmd_win_vec.items)
|
||||||
|
#define AUCMD_WIN_COUNT ((int)aucmd_win_vec.size)
|
||||||
|
|
||||||
|
enum {
|
||||||
|
AUGROUP_DEFAULT = -1, ///< default autocmd group
|
||||||
|
AUGROUP_ERROR = -2, ///< erroneous autocmd group
|
||||||
|
AUGROUP_ALL = -3, ///< all autocmd groups
|
||||||
|
AUGROUP_DELETED = -4, ///< all autocmd groups
|
||||||
|
// AUGROUP_NS = -5, // TODO(tjdevries): Support namespaced based augroups
|
||||||
|
};
|
||||||
|
|
||||||
|
enum { BUFLOCAL_PAT_LEN = 25, };
|
||||||
|
|
||||||
/// Iterates over all the events for auto commands
|
/// Iterates over all the events for auto commands
|
||||||
#define FOR_ALL_AUEVENTS(event) \
|
#define FOR_ALL_AUEVENTS(event) \
|
||||||
for (event_T event = (event_T)0; (int)event < (int)NUM_EVENTS; event = (event_T)((int)event + 1)) // NOLINT
|
for (event_T event = (event_T)0; (int)event < (int)NUM_EVENTS; event = (event_T)((int)event + 1)) // NOLINT
|
||||||
|
|
||||||
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||||
|
# include "autocmd.h.generated.h"
|
||||||
|
#endif
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
#include "nvim/api/private/defs.h"
|
#include "nvim/api/private/defs.h"
|
||||||
#include "nvim/api/private/helpers.h"
|
#include "nvim/api/private/helpers.h"
|
||||||
#include "nvim/ascii_defs.h"
|
#include "nvim/ascii_defs.h"
|
||||||
|
#include "nvim/autocmd.h"
|
||||||
#include "nvim/buffer.h"
|
#include "nvim/buffer.h"
|
||||||
#include "nvim/buffer_defs.h"
|
#include "nvim/buffer_defs.h"
|
||||||
#include "nvim/channel.h"
|
#include "nvim/channel.h"
|
||||||
|
@ -4,17 +4,18 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "nvim/buffer_defs.h"
|
#include "nvim/buffer_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/channel.h"
|
#include "nvim/channel.h"
|
||||||
#include "nvim/cmdexpand_defs.h"
|
#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/eval/typval_defs.h"
|
#include "nvim/eval/typval_defs.h"
|
||||||
#include "nvim/event/time.h"
|
#include "nvim/event/time.h"
|
||||||
#include "nvim/ex_cmds_defs.h"
|
#include "nvim/ex_cmds_defs.h"
|
||||||
#include "nvim/globals.h"
|
|
||||||
#include "nvim/hashtab_defs.h"
|
#include "nvim/hashtab_defs.h"
|
||||||
#include "nvim/macros_defs.h"
|
#include "nvim/macros_defs.h"
|
||||||
|
#include "nvim/mbyte_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/os/fileio.h"
|
#include "nvim/os/fileio.h"
|
||||||
#include "nvim/os/stdpaths_defs.h"
|
#include "nvim/os/stdpaths_defs.h"
|
||||||
|
#include "nvim/vim_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
#define COPYID_INC 2
|
#define COPYID_INC 2
|
||||||
#define COPYID_MASK (~0x1)
|
#define COPYID_MASK (~0x1)
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#include "nvim/eval/typval_encode.h"
|
#include "nvim/eval/typval_encode.h"
|
||||||
#include "nvim/garray.h"
|
#include "nvim/garray.h"
|
||||||
#include "nvim/gettext.h"
|
#include "nvim/gettext.h"
|
||||||
|
#include "nvim/globals.h"
|
||||||
#include "nvim/hashtab.h"
|
#include "nvim/hashtab.h"
|
||||||
#include "nvim/macros_defs.h"
|
#include "nvim/macros_defs.h"
|
||||||
#include "nvim/math.h"
|
#include "nvim/math.h"
|
||||||
|
@ -13,8 +13,10 @@
|
|||||||
typedef int64_t varnumber_T;
|
typedef int64_t varnumber_T;
|
||||||
typedef uint64_t uvarnumber_T;
|
typedef uint64_t uvarnumber_T;
|
||||||
|
|
||||||
/// Refcount for dict or list that should not be freed
|
enum {
|
||||||
enum { DO_NOT_FREE_CNT = (INT_MAX / 2), };
|
/// Refcount for dict or list that should not be freed
|
||||||
|
DO_NOT_FREE_CNT = (INT_MAX / 2),
|
||||||
|
};
|
||||||
|
|
||||||
/// Additional values for tv_list_alloc() len argument
|
/// Additional values for tv_list_alloc() len argument
|
||||||
enum ListLenSpecials {
|
enum ListLenSpecials {
|
||||||
@ -291,12 +293,9 @@ typedef struct {
|
|||||||
uint64_t channel_id; /// Only used when script_id is SID_API_CLIENT.
|
uint64_t channel_id; /// Only used when script_id is SID_API_CLIENT.
|
||||||
} LastSet;
|
} LastSet;
|
||||||
|
|
||||||
/// Maximum number of function arguments
|
enum { MAX_FUNC_ARGS = 20, }; ///< Maximum number of function arguments
|
||||||
enum { MAX_FUNC_ARGS = 20, };
|
enum { VAR_SHORT_LEN = 20, }; ///< Short variable name length
|
||||||
/// Short variable name length
|
enum { FIXVAR_CNT = 12, }; ///< Number of fixed variables used for arguments
|
||||||
enum { VAR_SHORT_LEN = 20, };
|
|
||||||
/// Number of fixed variables used for arguments
|
|
||||||
enum { FIXVAR_CNT = 12, };
|
|
||||||
|
|
||||||
/// Structure to hold info for a function that is currently being executed.
|
/// Structure to hold info for a function that is currently being executed.
|
||||||
typedef struct funccall_S funccall_T;
|
typedef struct funccall_S funccall_T;
|
||||||
|
@ -1,27 +1,28 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
|
|
||||||
#include "nvim/buffer_defs.h" // IWYU pragma: keep
|
#include "nvim/buffer_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/eval/typval_defs.h"
|
#include "nvim/eval/typval_defs.h"
|
||||||
#include "nvim/ex_cmds_defs.h" // IWYU pragma: export
|
#include "nvim/ex_cmds_defs.h" // IWYU pragma: export
|
||||||
#include "nvim/os/time.h"
|
#include "nvim/os/time_defs.h"
|
||||||
#include "nvim/pos_defs.h" // IWYU pragma: keep
|
#include "nvim/pos_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
// flags for do_ecmd()
|
/// flags for do_ecmd()
|
||||||
#define ECMD_HIDE 0x01 // don't free the current buffer
|
enum {
|
||||||
#define ECMD_SET_HELP 0x02 // set b_help flag of (new) buffer before
|
ECMD_HIDE = 0x01, ///< don't free the current buffer
|
||||||
// opening file
|
ECMD_SET_HELP = 0x02, ///< set b_help flag of (new) buffer before opening file
|
||||||
#define ECMD_OLDBUF 0x04 // use existing buffer if it exists
|
ECMD_OLDBUF = 0x04, ///< use existing buffer if it exists
|
||||||
#define ECMD_FORCEIT 0x08 // ! used in Ex command
|
ECMD_FORCEIT = 0x08, ///< ! used in Ex command
|
||||||
#define ECMD_ADDBUF 0x10 // don't edit, just add to buffer list
|
ECMD_ADDBUF = 0x10, ///< don't edit, just add to buffer list
|
||||||
#define ECMD_ALTBUF 0x20 // like ECMD_ADDBUF and set the alternate file
|
ECMD_ALTBUF = 0x20, ///< like ECMD_ADDBUF and set the alternate file
|
||||||
#define ECMD_NOWINENTER 0x40 // do not trigger BufWinEnter
|
ECMD_NOWINENTER = 0x40, ///< do not trigger BufWinEnter
|
||||||
|
};
|
||||||
|
|
||||||
// for lnum argument in do_ecmd()
|
/// for lnum argument in do_ecmd()
|
||||||
#define ECMD_LASTL 0 // use last position in loaded file
|
enum {
|
||||||
#define ECMD_LAST (-1) // use last position in all files
|
ECMD_LASTL = 0, ///< use last position in loaded file
|
||||||
#define ECMD_ONE 1 // use first line
|
ECMD_LAST = -1, ///< use last position in all files
|
||||||
|
ECMD_ONE = 1, ///< use first line
|
||||||
|
};
|
||||||
|
|
||||||
/// Previous :substitute replacement string definition
|
/// Previous :substitute replacement string definition
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
|
#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
|
#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/getchar_defs.h"
|
#include "nvim/getchar_defs.h"
|
||||||
#include "nvim/globals.h"
|
|
||||||
#include "nvim/types_defs.h" // IWYU pragma: keep
|
#include "nvim/types_defs.h" // IWYU pragma: keep
|
||||||
|
#include "nvim/vim_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
/// flags for do_cmdline()
|
/// flags for do_cmdline()
|
||||||
enum {
|
enum {
|
||||||
|
@ -13,9 +13,11 @@ struct eslist_elem {
|
|||||||
eslist_T *next; ///< next element on the list
|
eslist_T *next; ///< next element on the list
|
||||||
};
|
};
|
||||||
|
|
||||||
/// For conditional commands a stack is kept of nested conditionals.
|
enum {
|
||||||
/// When cs_idx < 0, there is no conditional command.
|
/// For conditional commands a stack is kept of nested conditionals.
|
||||||
enum { CSTACK_LEN = 50, };
|
/// When cs_idx < 0, there is no conditional command.
|
||||||
|
CSTACK_LEN = 50,
|
||||||
|
};
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int cs_flags[CSTACK_LEN]; ///< CSF_ flags
|
int cs_flags[CSTACK_LEN]; ///< CSF_ flags
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "nvim/globals.h"
|
|
||||||
#include "nvim/types_defs.h" // IWYU pragma: keep
|
#include "nvim/types_defs.h" // IWYU pragma: keep
|
||||||
|
#include "nvim/vim_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
// Flags for find_file_*() functions.
|
/// Flags for find_file_*() functions.
|
||||||
#define FINDFILE_FILE 0 // only files
|
enum {
|
||||||
#define FINDFILE_DIR 1 // only directories
|
FINDFILE_FILE = 0, ///< only files
|
||||||
#define FINDFILE_BOTH 2 // files and directories
|
FINDFILE_DIR = 1, ///< only directories
|
||||||
|
FINDFILE_BOTH = 2, ///< files and directories
|
||||||
|
};
|
||||||
|
|
||||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||||
# include "file_search.h.generated.h"
|
# include "file_search.h.generated.h"
|
||||||
|
@ -8,44 +8,49 @@
|
|||||||
#include "nvim/eval/typval_defs.h"
|
#include "nvim/eval/typval_defs.h"
|
||||||
#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
|
#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/garray_defs.h" // IWYU pragma: keep
|
#include "nvim/garray_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/globals.h"
|
|
||||||
#include "nvim/os/fs_defs.h" // IWYU pragma: keep
|
#include "nvim/os/fs_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/pos_defs.h"
|
#include "nvim/pos_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
// Values for readfile() flags
|
/// Values for readfile() flags
|
||||||
#define READ_NEW 0x01 // read a file into a new buffer
|
enum {
|
||||||
#define READ_FILTER 0x02 // read filter output
|
READ_NEW = 0x01, ///< read a file into a new buffer
|
||||||
#define READ_STDIN 0x04 // read from stdin
|
READ_FILTER = 0x02, ///< read filter output
|
||||||
#define READ_BUFFER 0x08 // read from curbuf (converting stdin)
|
READ_STDIN = 0x04, ///< read from stdin
|
||||||
#define READ_DUMMY 0x10 // reading into a dummy buffer
|
READ_BUFFER = 0x08, ///< read from curbuf (converting stdin)
|
||||||
#define READ_KEEP_UNDO 0x20 // keep undo info
|
READ_DUMMY = 0x10, ///< reading into a dummy buffer
|
||||||
#define READ_FIFO 0x40 // read from fifo or socket
|
READ_KEEP_UNDO = 0x20, ///< keep undo info
|
||||||
#define READ_NOWINENTER 0x80 // do not trigger BufWinEnter
|
READ_FIFO = 0x40, ///< read from fifo or socket
|
||||||
#define READ_NOFILE 0x100 // do not read a file, do trigger BufReadCmd
|
READ_NOWINENTER = 0x80, ///< do not trigger BufWinEnter
|
||||||
|
READ_NOFILE = 0x100, ///< do not read a file, do trigger BufReadCmd
|
||||||
|
};
|
||||||
|
|
||||||
typedef varnumber_T (*CheckItem)(void *expr, const char *name);
|
typedef varnumber_T (*CheckItem)(void *expr, const char *name);
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
FIO_LATIN1 = 0x01, // convert Latin1
|
FIO_LATIN1 = 0x01, ///< convert Latin1
|
||||||
FIO_UTF8 = 0x02, // convert UTF-8
|
FIO_UTF8 = 0x02, ///< convert UTF-8
|
||||||
FIO_UCS2 = 0x04, // convert UCS-2
|
FIO_UCS2 = 0x04, ///< convert UCS-2
|
||||||
FIO_UCS4 = 0x08, // convert UCS-4
|
FIO_UCS4 = 0x08, ///< convert UCS-4
|
||||||
FIO_UTF16 = 0x10, // convert UTF-16
|
FIO_UTF16 = 0x10, ///< convert UTF-16
|
||||||
FIO_ENDIAN_L = 0x80, // little endian
|
FIO_ENDIAN_L = 0x80, ///< little endian
|
||||||
FIO_NOCONVERT = 0x2000, // skip encoding conversion
|
FIO_NOCONVERT = 0x2000, ///< skip encoding conversion
|
||||||
FIO_UCSBOM = 0x4000, // check for BOM at start of file
|
FIO_UCSBOM = 0x4000, ///< check for BOM at start of file
|
||||||
FIO_ALL = -1, // allow all formats
|
FIO_ALL = -1, ///< allow all formats
|
||||||
};
|
};
|
||||||
|
|
||||||
// When converting, a read() or write() may leave some bytes to be converted
|
enum {
|
||||||
// for the next call. The value is guessed...
|
/// When converting, a read() or write() may leave some bytes to be converted
|
||||||
#define CONV_RESTLEN 30
|
/// for the next call. The value is guessed...
|
||||||
|
CONV_RESTLEN = 30,
|
||||||
|
};
|
||||||
|
|
||||||
#define WRITEBUFSIZE 8192 // size of normal write buffer
|
enum { WRITEBUFSIZE = 8192, }; ///< size of normal write buffer
|
||||||
|
|
||||||
// We have to guess how much a sequence of bytes may expand when converting
|
enum {
|
||||||
// with iconv() to be able to allocate a buffer.
|
/// We have to guess how much a sequence of bytes may expand when converting
|
||||||
#define ICONV_MULT 8
|
/// with iconv() to be able to allocate a buffer.
|
||||||
|
ICONV_MULT = 8,
|
||||||
|
};
|
||||||
|
|
||||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||||
# include "fileio.h.generated.h"
|
# include "fileio.h.generated.h"
|
||||||
|
@ -15,8 +15,7 @@ typedef enum {
|
|||||||
FLUSH_INPUT, ///< flush typebuf and inchar() input
|
FLUSH_INPUT, ///< flush typebuf and inchar() input
|
||||||
} flush_buffers_T;
|
} flush_buffers_T;
|
||||||
|
|
||||||
/// Maximum number of streams to read script from
|
enum { NSCRIPT = 15, }; ///< Maximum number of streams to read script from
|
||||||
enum { NSCRIPT = 15, };
|
|
||||||
|
|
||||||
/// Streams to read script from
|
/// Streams to read script from
|
||||||
extern FileDescriptor *scriptin[NSCRIPT];
|
extern FileDescriptor *scriptin[NSCRIPT];
|
||||||
|
@ -103,34 +103,6 @@ EXTERN struct nvim_stats_s {
|
|||||||
EXTERN int Rows INIT( = DFLT_ROWS); // nr of rows in the screen
|
EXTERN int Rows INIT( = DFLT_ROWS); // nr of rows in the screen
|
||||||
EXTERN int Columns INIT( = DFLT_COLS); // nr of columns in the screen
|
EXTERN int Columns INIT( = DFLT_COLS); // nr of columns in the screen
|
||||||
|
|
||||||
// We use 64-bit file functions here, if available. E.g. ftello() returns
|
|
||||||
// off_t instead of long, which helps if long is 32 bit and off_t is 64 bit.
|
|
||||||
// We assume that when fseeko() is available then ftello() is too.
|
|
||||||
// Note that Windows has different function names.
|
|
||||||
#if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__MINGW32__)
|
|
||||||
typedef __int64 off_T;
|
|
||||||
# ifdef __MINGW32__
|
|
||||||
# define vim_lseek lseek64
|
|
||||||
# define vim_fseek fseeko64
|
|
||||||
# define vim_ftell ftello64
|
|
||||||
# else
|
|
||||||
# define vim_lseek _lseeki64
|
|
||||||
# define vim_fseek _fseeki64
|
|
||||||
# define vim_ftell _ftelli64
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
typedef off_t off_T;
|
|
||||||
# ifdef HAVE_FSEEKO
|
|
||||||
# define vim_lseek lseek
|
|
||||||
# define vim_ftell ftello
|
|
||||||
# define vim_fseek fseeko
|
|
||||||
# else
|
|
||||||
# define vim_lseek lseek
|
|
||||||
# define vim_ftell ftell
|
|
||||||
# define vim_fseek(a, b, c) fseek(a, (long)b, c)
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// When vgetc() is called, it sets mod_mask to the set of modifiers that are
|
// When vgetc() is called, it sets mod_mask to the set of modifiers that are
|
||||||
// held down based on the MOD_MASK_* symbols that are read first.
|
// held down based on the MOD_MASK_* symbols that are read first.
|
||||||
EXTERN int mod_mask INIT( = 0); // current key modifiers
|
EXTERN int mod_mask INIT( = 0); // current key modifiers
|
||||||
@ -370,24 +342,7 @@ EXTERN bool did_check_timestamps INIT( = false); // did check timestamps
|
|||||||
// recently
|
// recently
|
||||||
EXTERN int no_check_timestamps INIT( = 0); // Don't check timestamps
|
EXTERN int no_check_timestamps INIT( = 0); // Don't check timestamps
|
||||||
|
|
||||||
EXTERN bool autocmd_busy INIT( = false); // Is apply_autocmds() busy?
|
|
||||||
EXTERN int autocmd_no_enter INIT( = false); // *Enter autocmds disabled
|
|
||||||
EXTERN int autocmd_no_leave INIT( = false); // *Leave autocmds disabled
|
|
||||||
EXTERN int modified_was_set; // did ":set modified"
|
EXTERN int modified_was_set; // did ":set modified"
|
||||||
EXTERN bool did_filetype INIT( = false); // FileType event found
|
|
||||||
// value for did_filetype when starting to execute autocommands
|
|
||||||
EXTERN bool keep_filetype INIT( = false);
|
|
||||||
|
|
||||||
// When deleting the current buffer, another one must be loaded.
|
|
||||||
// If we know which one is preferred, au_new_curbuf is set to it.
|
|
||||||
EXTERN bufref_T au_new_curbuf INIT( = { NULL, 0, 0 });
|
|
||||||
|
|
||||||
// When deleting a buffer/window and autocmd_busy is true, do not free the
|
|
||||||
// buffer/window. but link it in the list starting with
|
|
||||||
// au_pending_free_buf/ap_pending_free_win, using b_next/w_next.
|
|
||||||
// Free the buffer/window when autocmd_busy is being set to false.
|
|
||||||
EXTERN buf_T *au_pending_free_buf INIT( = NULL);
|
|
||||||
EXTERN win_T *au_pending_free_win INIT( = NULL);
|
|
||||||
|
|
||||||
// Mouse coordinates, set by handle_mouse_event()
|
// Mouse coordinates, set by handle_mouse_event()
|
||||||
EXTERN int mouse_grid;
|
EXTERN int mouse_grid;
|
||||||
@ -426,19 +381,6 @@ EXTERN win_T *prevwin INIT( = NULL); // previous window
|
|||||||
|
|
||||||
EXTERN win_T *curwin; // currently active window
|
EXTERN win_T *curwin; // currently active window
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
win_T *auc_win; ///< Window used in aucmd_prepbuf(). When not NULL the
|
|
||||||
///< window has been allocated.
|
|
||||||
bool auc_win_used; ///< This auc_win is being used.
|
|
||||||
} aucmdwin_T;
|
|
||||||
|
|
||||||
/// When executing autocommands for a buffer that is not in any window, a
|
|
||||||
/// special window is created to handle the side effects. When autocommands
|
|
||||||
/// nest we may need more than one.
|
|
||||||
EXTERN kvec_t(aucmdwin_T) aucmd_win_vec INIT( = KV_INITIAL_VALUE);
|
|
||||||
#define aucmd_win (aucmd_win_vec.items)
|
|
||||||
#define AUCMD_WIN_COUNT ((int)aucmd_win_vec.size)
|
|
||||||
|
|
||||||
// The window layout is kept in a tree of frames. topframe points to the top
|
// The window layout is kept in a tree of frames. topframe points to the top
|
||||||
// of the tree.
|
// of the tree.
|
||||||
EXTERN frame_T *topframe; // top of the window frame tree
|
EXTERN frame_T *topframe; // top of the window frame tree
|
||||||
@ -758,11 +700,6 @@ EXTERN char last_mode[MODE_MAX_LENGTH] INIT( = "n");
|
|||||||
EXTERN char *last_cmdline INIT( = NULL); // last command line (for ":)
|
EXTERN char *last_cmdline INIT( = NULL); // last command line (for ":)
|
||||||
EXTERN char *repeat_cmdline INIT( = NULL); // command line for "."
|
EXTERN char *repeat_cmdline INIT( = NULL); // command line for "."
|
||||||
EXTERN char *new_last_cmdline INIT( = NULL); // new value for last_cmdline
|
EXTERN char *new_last_cmdline INIT( = NULL); // new value for last_cmdline
|
||||||
EXTERN char *autocmd_fname INIT( = NULL); // fname for <afile> on cmdline
|
|
||||||
EXTERN bool autocmd_fname_full INIT( = false); // autocmd_fname is full path
|
|
||||||
EXTERN int autocmd_bufnr INIT( = 0); // fnum for <abuf> on cmdline
|
|
||||||
EXTERN char *autocmd_match INIT( = NULL); // name for <amatch> on cmdline
|
|
||||||
EXTERN bool did_cursorhold INIT( = false); // set when CursorHold t'gerd
|
|
||||||
|
|
||||||
EXTERN int postponed_split INIT( = 0); // for CTRL-W CTRL-] command
|
EXTERN int postponed_split INIT( = 0); // for CTRL-W CTRL-] command
|
||||||
EXTERN int postponed_split_flags INIT( = 0); // args for win_split()
|
EXTERN int postponed_split_flags INIT( = 0); // args for win_split()
|
||||||
@ -1051,39 +988,7 @@ EXTERN bool headless_mode INIT(= false);
|
|||||||
|
|
||||||
// uncrustify:on
|
// uncrustify:on
|
||||||
|
|
||||||
/// Used to track the status of external functions.
|
/// Only filled for Win32.
|
||||||
/// Currently only used for iconv().
|
|
||||||
typedef enum {
|
|
||||||
kUnknown,
|
|
||||||
kWorking,
|
|
||||||
kBroken,
|
|
||||||
} WorkingStatus;
|
|
||||||
|
|
||||||
/// The scope of a working-directory command like `:cd`.
|
|
||||||
///
|
|
||||||
/// Scopes are enumerated from lowest to highest. When adding a scope make sure
|
|
||||||
/// to update all functions using scopes as well, such as the implementation of
|
|
||||||
/// `getcwd()`. When using scopes as limits (e.g. in loops) don't use the scopes
|
|
||||||
/// directly, use `MIN_CD_SCOPE` and `MAX_CD_SCOPE` instead.
|
|
||||||
typedef enum {
|
|
||||||
kCdScopeInvalid = -1,
|
|
||||||
kCdScopeWindow, ///< Affects one window.
|
|
||||||
kCdScopeTabpage, ///< Affects one tab page.
|
|
||||||
kCdScopeGlobal, ///< Affects the entire Nvim instance.
|
|
||||||
} CdScope;
|
|
||||||
|
|
||||||
#define MIN_CD_SCOPE kCdScopeWindow
|
|
||||||
#define MAX_CD_SCOPE kCdScopeGlobal
|
|
||||||
|
|
||||||
/// What caused the current directory to change.
|
|
||||||
typedef enum {
|
|
||||||
kCdCauseOther = -1,
|
|
||||||
kCdCauseManual, ///< Using `:cd`, `:tcd`, `:lcd` or `chdir()`.
|
|
||||||
kCdCauseWindow, ///< Switching to another window.
|
|
||||||
kCdCauseAuto, ///< On 'autochdir'.
|
|
||||||
} CdCause;
|
|
||||||
|
|
||||||
// Only filled for Win32.
|
|
||||||
EXTERN char windowsVersion[20] INIT( = { 0 });
|
EXTERN char windowsVersion[20] INIT( = { 0 });
|
||||||
|
|
||||||
/// While executing a regexp and set to OPTION_MAGIC_ON or OPTION_MAGIC_OFF this
|
/// While executing a regexp and set to OPTION_MAGIC_ON or OPTION_MAGIC_OFF this
|
||||||
|
@ -34,11 +34,13 @@ typedef struct hashitem_S {
|
|||||||
char *hi_key;
|
char *hi_key;
|
||||||
} hashitem_T;
|
} hashitem_T;
|
||||||
|
|
||||||
/// Initial size for a hashtable.
|
enum {
|
||||||
/// Our items are relatively small and growing is expensive, thus start with 16.
|
/// Initial size for a hashtable.
|
||||||
/// Must be a power of 2.
|
/// Our items are relatively small and growing is expensive, thus start with 16.
|
||||||
/// This allows for storing 10 items (2/3 of 16) before a resize is needed.
|
/// Must be a power of 2.
|
||||||
enum { HT_INIT_SIZE = 16, };
|
/// This allows for storing 10 items (2/3 of 16) before a resize is needed.
|
||||||
|
HT_INIT_SIZE = 16,
|
||||||
|
};
|
||||||
|
|
||||||
/// An array-based hashtable.
|
/// An array-based hashtable.
|
||||||
///
|
///
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "nvim/macros_defs.h"
|
|
||||||
#include "nvim/option_defs.h" // IWYU pragma: keep
|
#include "nvim/option_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/pos_defs.h" // IWYU pragma: keep
|
#include "nvim/pos_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/types_defs.h" // IWYU pragma: keep
|
#include "nvim/types_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/vim_defs.h"
|
#include "nvim/vim_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||||
# include "insexpand.h.generated.h"
|
# include "insexpand.h.generated.h"
|
||||||
|
@ -5,8 +5,7 @@
|
|||||||
#include "nvim/eval/typval_defs.h"
|
#include "nvim/eval/typval_defs.h"
|
||||||
#include "nvim/types_defs.h"
|
#include "nvim/types_defs.h"
|
||||||
|
|
||||||
/// Maximum length of key sequence to be mapped.
|
enum { MAXMAPLEN = 50, }; ///< Maximum length of key sequence to be mapped.
|
||||||
enum { MAXMAPLEN = 50, };
|
|
||||||
|
|
||||||
/// Structure used for mappings and abbreviations.
|
/// Structure used for mappings and abbreviations.
|
||||||
typedef struct mapblock mapblock_T;
|
typedef struct mapblock mapblock_T;
|
||||||
|
@ -4,13 +4,14 @@
|
|||||||
|
|
||||||
#include "nvim/iconv_defs.h"
|
#include "nvim/iconv_defs.h"
|
||||||
|
|
||||||
/// Maximum number of bytes in a multi-byte character. It can be one 32-bit
|
enum {
|
||||||
/// character of up to 6 bytes, or one 16-bit character of up to three bytes
|
/// Maximum number of bytes in a multi-byte character. It can be one 32-bit
|
||||||
/// plus six following composing characters of three bytes each.
|
/// character of up to 6 bytes, or one 16-bit character of up to three bytes
|
||||||
enum { MB_MAXBYTES = 21, };
|
/// plus six following composing characters of three bytes each.
|
||||||
|
MB_MAXBYTES = 21,
|
||||||
/// max length of an unicode char
|
/// max length of an unicode char
|
||||||
enum { MB_MAXCHAR = 6, };
|
MB_MAXCHAR = 6,
|
||||||
|
};
|
||||||
|
|
||||||
/// properties used in enc_canon_table[] (first three mutually exclusive)
|
/// properties used in enc_canon_table[] (first three mutually exclusive)
|
||||||
enum {
|
enum {
|
||||||
|
@ -30,8 +30,7 @@ enum {
|
|||||||
VIM_DISCARDALL = 6,
|
VIM_DISCARDALL = 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// special attribute addition: Put message in history
|
enum { MSG_HIST = 0x1000, }; ///< special attribute addition: Put message in history
|
||||||
enum { MSG_HIST = 0x1000, };
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
String text;
|
String text;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
|
#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/normal_defs.h" // IWYU pragma: keep
|
#include "nvim/normal_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/types_defs.h" // IWYU pragma: keep
|
#include "nvim/types_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/vim_defs.h"
|
#include "nvim/vim_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
/// jump_to_mouse() returns one of first five these values, possibly with
|
/// jump_to_mouse() returns one of first five these values, possibly with
|
||||||
/// some of the other five added.
|
/// some of the other five added.
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
|
|
||||||
#include "nvim/buffer_defs.h" // IWYU pragma: keep
|
#include "nvim/buffer_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
|
#include "nvim/eval/typval_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/types_defs.h" // IWYU pragma: keep
|
#include "nvim/types_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/vim_defs.h"
|
#include "nvim/vim_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||||
# include "move.h.generated.h"
|
# include "move.h.generated.h"
|
||||||
|
@ -70,6 +70,5 @@ enum {
|
|||||||
REPLACE_NL_NCHAR = -2,
|
REPLACE_NL_NCHAR = -2,
|
||||||
};
|
};
|
||||||
|
|
||||||
/// columns needed by shown command
|
enum { SHOWCMD_COLS = 10, }; ///< columns needed by shown command
|
||||||
enum { SHOWCMD_COLS = 10, };
|
|
||||||
enum { SHOWCMD_BUFLEN = SHOWCMD_COLS + 1 + 30, };
|
enum { SHOWCMD_BUFLEN = SHOWCMD_COLS + 1 + 30, };
|
||||||
|
@ -113,3 +113,31 @@
|
|||||||
&& (defined(S_ISCHR) || defined(S_IFCHR))
|
&& (defined(S_ISCHR) || defined(S_IFCHR))
|
||||||
# define OPEN_CHR_FILES
|
# define OPEN_CHR_FILES
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// We use 64-bit file functions here, if available. E.g. ftello() returns
|
||||||
|
// off_t instead of long, which helps if long is 32 bit and off_t is 64 bit.
|
||||||
|
// We assume that when fseeko() is available then ftello() is too.
|
||||||
|
// Note that Windows has different function names.
|
||||||
|
#if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__MINGW32__)
|
||||||
|
typedef __int64 off_T;
|
||||||
|
# ifdef __MINGW32__
|
||||||
|
# define vim_lseek lseek64
|
||||||
|
# define vim_fseek fseeko64
|
||||||
|
# define vim_ftell ftello64
|
||||||
|
# else
|
||||||
|
# define vim_lseek _lseeki64
|
||||||
|
# define vim_fseek _fseeki64
|
||||||
|
# define vim_ftell _ftelli64
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
typedef off_t off_T;
|
||||||
|
# ifdef HAVE_FSEEKO
|
||||||
|
# define vim_lseek lseek
|
||||||
|
# define vim_ftell ftello
|
||||||
|
# define vim_fseek fseeko
|
||||||
|
# else
|
||||||
|
# define vim_lseek lseek
|
||||||
|
# define vim_ftell ftell
|
||||||
|
# define vim_fseek(a, b, c) fseek(a, (long)b, c)
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
@ -12,19 +12,15 @@ typedef int colnr_T;
|
|||||||
/// Format used to print values which have colnr_T type
|
/// Format used to print values which have colnr_T type
|
||||||
#define PRIdCOLNR "d"
|
#define PRIdCOLNR "d"
|
||||||
|
|
||||||
/// Maximal (invalid) line number
|
enum { MAXLNUM = 0x7fffffff, }; ///< Maximal (invalid) line number
|
||||||
enum { MAXLNUM = 0x7fffffff, };
|
|
||||||
|
|
||||||
/// Maximal column number
|
// MAXCOL used to be INT_MAX, but with 64 bit ints that results in running
|
||||||
/// MAXCOL used to be INT_MAX, but with 64 bit ints that results in running
|
// out of memory when trying to allocate a very long line.
|
||||||
/// out of memory when trying to allocate a very long line.
|
enum { MAXCOL = 0x7fffffff, }; ///< Maximal column number
|
||||||
enum { MAXCOL = 0x7fffffff, };
|
|
||||||
|
|
||||||
/// Minimum line number
|
enum { MINLNUM = 1, }; ///< Minimum line number
|
||||||
enum { MINLNUM = 1, };
|
|
||||||
|
|
||||||
/// Minimum column number
|
enum { MINCOL = 1, }; ///< Minimum column number
|
||||||
enum { MINCOL = 1, };
|
|
||||||
|
|
||||||
/// position in file or buffer
|
/// position in file or buffer
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -33,18 +33,22 @@ typedef enum {
|
|||||||
MAGIC_ALL = 4, ///< "\v" very magic
|
MAGIC_ALL = 4, ///< "\v" very magic
|
||||||
} magic_T;
|
} magic_T;
|
||||||
|
|
||||||
/// The number of sub-matches is limited to 10.
|
|
||||||
/// The first one (index 0) is the whole match, referenced with "\0".
|
|
||||||
/// The second one (index 1) is the first sub-match, referenced with "\1".
|
|
||||||
/// This goes up to the tenth (index 9), referenced with "\9".
|
|
||||||
enum { NSUBEXP = 10, };
|
|
||||||
|
|
||||||
/// In the NFA engine: how many braces are allowed.
|
|
||||||
/// TODO(RE): Use dynamic memory allocation instead of static, like here
|
|
||||||
enum { NFA_MAX_BRACES = 20, };
|
|
||||||
|
|
||||||
/// In the NFA engine: how many states are allowed.
|
|
||||||
enum {
|
enum {
|
||||||
|
/// The number of sub-matches is limited to 10.
|
||||||
|
/// The first one (index 0) is the whole match, referenced with "\0".
|
||||||
|
/// The second one (index 1) is the first sub-match, referenced with "\1".
|
||||||
|
/// This goes up to the tenth (index 9), referenced with "\9".
|
||||||
|
NSUBEXP = 10,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
/// In the NFA engine: how many braces are allowed.
|
||||||
|
/// TODO(RE): Use dynamic memory allocation instead of static, like here
|
||||||
|
NFA_MAX_BRACES = 20,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
/// In the NFA engine: how many states are allowed.
|
||||||
NFA_MAX_STATES = 100000,
|
NFA_MAX_STATES = 100000,
|
||||||
NFA_TOO_EXPENSIVE = -1,
|
NFA_TOO_EXPENSIVE = -1,
|
||||||
};
|
};
|
||||||
|
@ -3,61 +3,73 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "nvim/buffer_defs.h"
|
#include "nvim/buffer_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/eval/typval_defs.h"
|
#include "nvim/eval/typval_defs.h"
|
||||||
#include "nvim/normal_defs.h" // IWYU pragma: keep
|
#include "nvim/normal_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/os/time_defs.h"
|
#include "nvim/os/time_defs.h"
|
||||||
#include "nvim/pos_defs.h"
|
#include "nvim/pos_defs.h"
|
||||||
#include "nvim/regexp_defs.h" // IWYU pragma: keep
|
#include "nvim/regexp_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/types_defs.h"
|
#include "nvim/types_defs.h"
|
||||||
#include "nvim/vim_defs.h"
|
#include "nvim/vim_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
// Values for the find_pattern_in_path() function args 'type' and 'action':
|
/// Values for the find_pattern_in_path() function args 'type' and 'action':
|
||||||
#define FIND_ANY 1
|
enum {
|
||||||
#define FIND_DEFINE 2
|
FIND_ANY = 1,
|
||||||
#define CHECK_PATH 3
|
FIND_DEFINE = 2,
|
||||||
|
CHECK_PATH = 3,
|
||||||
|
};
|
||||||
|
|
||||||
#define ACTION_SHOW 1
|
enum {
|
||||||
#define ACTION_GOTO 2
|
ACTION_SHOW = 1,
|
||||||
#define ACTION_SPLIT 3
|
ACTION_GOTO = 2,
|
||||||
#define ACTION_SHOW_ALL 4
|
ACTION_SPLIT = 3,
|
||||||
#define ACTION_EXPAND 5
|
ACTION_SHOW_ALL = 4,
|
||||||
|
ACTION_EXPAND = 5,
|
||||||
|
};
|
||||||
|
|
||||||
// Values for 'options' argument in do_search() and searchit()
|
/// Values for "options" argument in do_search() and searchit()
|
||||||
#define SEARCH_REV 0x01 ///< go in reverse of previous dir.
|
enum {
|
||||||
#define SEARCH_ECHO 0x02 ///< echo the search command and handle options
|
SEARCH_REV = 0x01, ///< go in reverse of previous dir.
|
||||||
#define SEARCH_MSG 0x0c ///< give messages (yes, it's not 0x04)
|
SEARCH_ECHO = 0x02, ///< echo the search command and handle options
|
||||||
#define SEARCH_NFMSG 0x08 ///< give all messages except not found
|
SEARCH_MSG = 0x0c, ///< give messages (yes, it's not 0x04)
|
||||||
#define SEARCH_OPT 0x10 ///< interpret optional flags
|
SEARCH_NFMSG = 0x08, ///< give all messages except not found
|
||||||
#define SEARCH_HIS 0x20 ///< put search pattern in history
|
SEARCH_OPT = 0x10, ///< interpret optional flags
|
||||||
#define SEARCH_END 0x40 ///< put cursor at end of match
|
SEARCH_HIS = 0x20, ///< put search pattern in history
|
||||||
#define SEARCH_NOOF 0x80 ///< don't add offset to position
|
SEARCH_END = 0x40, ///< put cursor at end of match
|
||||||
#define SEARCH_START 0x100 ///< start search without col offset
|
SEARCH_NOOF = 0x80, ///< don't add offset to position
|
||||||
#define SEARCH_MARK 0x200 ///< set previous context mark
|
SEARCH_START = 0x100, ///< start search without col offset
|
||||||
#define SEARCH_KEEP 0x400 ///< keep previous search pattern
|
SEARCH_MARK = 0x200, ///< set previous context mark
|
||||||
#define SEARCH_PEEK 0x800 ///< peek for typed char, cancel search
|
SEARCH_KEEP = 0x400, ///< keep previous search pattern
|
||||||
#define SEARCH_COL 0x1000 ///< start at specified column instead of zero
|
SEARCH_PEEK = 0x800, ///< peek for typed char, cancel search
|
||||||
|
SEARCH_COL = 0x1000, ///< start at specified column instead of zero
|
||||||
|
};
|
||||||
|
|
||||||
// Values for flags argument for findmatchlimit()
|
/// Values for flags argument for findmatchlimit()
|
||||||
#define FM_BACKWARD 0x01 // search backwards
|
enum {
|
||||||
#define FM_FORWARD 0x02 // search forwards
|
FM_BACKWARD = 0x01, ///< search backwards
|
||||||
#define FM_BLOCKSTOP 0x04 // stop at start/end of block
|
FM_FORWARD = 0x02, ///< search forwards
|
||||||
#define FM_SKIPCOMM 0x08 // skip comments
|
FM_BLOCKSTOP = 0x04, ///< stop at start/end of block
|
||||||
|
FM_SKIPCOMM = 0x08, ///< skip comments
|
||||||
|
};
|
||||||
|
|
||||||
// Values for sub_cmd and which_pat argument for search_regcomp()
|
/// Values for sub_cmd and which_pat argument for search_regcomp()
|
||||||
// Also used for which_pat argument for searchit()
|
/// Also used for which_pat argument for searchit()
|
||||||
#define RE_SEARCH 0 // save/use pat in/from search_pattern
|
enum {
|
||||||
#define RE_SUBST 1 // save/use pat in/from subst_pattern
|
RE_SEARCH = 0, ///< save/use pat in/from search_pattern
|
||||||
#define RE_BOTH 2 // save pat in both patterns
|
RE_SUBST = 1, ///< save/use pat in/from subst_pattern
|
||||||
#define RE_LAST 2 // use last used pattern if "pat" is NULL
|
RE_BOTH = 2, ///< save pat in both patterns
|
||||||
|
RE_LAST = 2, ///< use last used pattern if "pat" is NULL
|
||||||
|
};
|
||||||
|
|
||||||
// Values for searchcount()
|
// Values for searchcount()
|
||||||
#define SEARCH_STAT_DEF_TIMEOUT 40
|
enum { SEARCH_STAT_DEF_TIMEOUT = 40, };
|
||||||
#define SEARCH_STAT_DEF_MAX_COUNT 99
|
enum { SEARCH_STAT_DEF_MAX_COUNT = 99, };
|
||||||
#define SEARCH_STAT_BUF_LEN 12
|
enum { SEARCH_STAT_BUF_LEN = 12, };
|
||||||
|
|
||||||
/// Maximum number of characters that can be fuzzy matched
|
enum {
|
||||||
#define MAX_FUZZY_MATCHES 256
|
/// Maximum number of characters that can be fuzzy matched
|
||||||
|
MAX_FUZZY_MATCHES = 256,
|
||||||
|
};
|
||||||
|
|
||||||
/// Structure containing offset definition for the last search pattern
|
/// Structure containing offset definition for the last search pattern
|
||||||
///
|
///
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
|
|
||||||
#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
|
#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/globals.h"
|
|
||||||
#include "nvim/spell_defs.h" // IWYU pragma: export
|
#include "nvim/spell_defs.h" // IWYU pragma: export
|
||||||
#include "nvim/vim_defs.h"
|
#include "nvim/vim_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
/// First language that is loaded, start of the linked list of loaded languages.
|
/// First language that is loaded, start of the linked list of loaded languages.
|
||||||
extern slang_T *first_lang;
|
extern slang_T *first_lang;
|
||||||
|
@ -8,12 +8,13 @@
|
|||||||
#include "nvim/hashtab_defs.h"
|
#include "nvim/hashtab_defs.h"
|
||||||
#include "nvim/regexp_defs.h"
|
#include "nvim/regexp_defs.h"
|
||||||
|
|
||||||
/// Assume max. word len is this many bytes.
|
enum {
|
||||||
/// Some places assume a word length fits in a byte, thus it can't be above 255.
|
/// Assume max. word len is this many bytes.
|
||||||
enum { MAXWLEN = 254, };
|
/// Some places assume a word length fits in a byte, thus it can't be above 255.
|
||||||
|
MAXWLEN = 254,
|
||||||
|
};
|
||||||
|
|
||||||
/// Number of regions supported.
|
enum { MAXREGIONS = 8, }; ///< Number of regions supported.
|
||||||
enum { MAXREGIONS = 8, };
|
|
||||||
|
|
||||||
/// Type used for indexes in the word tree need to be at least 4 bytes. If int
|
/// Type used for indexes in the word tree need to be at least 4 bytes. If int
|
||||||
/// is 8 bytes we could use something smaller, but what?
|
/// is 8 bytes we could use something smaller, but what?
|
||||||
|
@ -1,33 +1,32 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
|
|
||||||
#include "nvim/buffer_defs.h" // IWYU pragma: keep
|
#include "nvim/buffer_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
|
#include "nvim/cmdexpand_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
|
#include "nvim/ex_cmds_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/globals.h"
|
|
||||||
#include "nvim/macros_defs.h"
|
#include "nvim/macros_defs.h"
|
||||||
#include "nvim/syntax_defs.h" // IWYU pragma: export
|
#include "nvim/syntax_defs.h" // IWYU pragma: export
|
||||||
|
|
||||||
#define HL_CONTAINED 0x01 // not used on toplevel
|
enum {
|
||||||
#define HL_TRANSP 0x02 // has no highlighting
|
HL_CONTAINED = 0x01, ///< not used on toplevel
|
||||||
#define HL_ONELINE 0x04 // match within one line only
|
HL_TRANSP = 0x02, ///< has no highlighting
|
||||||
#define HL_HAS_EOL 0x08 // end pattern that matches with $
|
HL_ONELINE = 0x04, ///< match within one line only
|
||||||
#define HL_SYNC_HERE 0x10 // sync point after this item (syncing only)
|
HL_HAS_EOL = 0x08, ///< end pattern that matches with $
|
||||||
#define HL_SYNC_THERE 0x20 // sync point at current line (syncing only)
|
HL_SYNC_HERE = 0x10, ///< sync point after this item (syncing only)
|
||||||
#define HL_MATCH 0x40 // use match ID instead of item ID
|
HL_SYNC_THERE = 0x20, ///< sync point at current line (syncing only)
|
||||||
#define HL_SKIPNL 0x80 // nextgroup can skip newlines
|
HL_MATCH = 0x40, ///< use match ID instead of item ID
|
||||||
#define HL_SKIPWHITE 0x100 // nextgroup can skip white space
|
HL_SKIPNL = 0x80, ///< nextgroup can skip newlines
|
||||||
#define HL_SKIPEMPTY 0x200 // nextgroup can skip empty lines
|
HL_SKIPWHITE = 0x100, ///< nextgroup can skip white space
|
||||||
#define HL_KEEPEND 0x400 // end match always kept
|
HL_SKIPEMPTY = 0x200, ///< nextgroup can skip empty lines
|
||||||
#define HL_EXCLUDENL 0x800 // exclude NL from match
|
HL_KEEPEND = 0x400, ///< end match always kept
|
||||||
#define HL_DISPLAY 0x1000 // only used for displaying, not syncing
|
HL_EXCLUDENL = 0x800, ///< exclude NL from match
|
||||||
#define HL_FOLD 0x2000 // define fold
|
HL_DISPLAY = 0x1000, ///< only used for displaying, not syncing
|
||||||
#define HL_EXTEND 0x4000 // ignore a keepend
|
HL_FOLD = 0x2000, ///< define fold
|
||||||
#define HL_MATCHCONT 0x8000 // match continued from previous line
|
HL_EXTEND = 0x4000, ///< ignore a keepend
|
||||||
#define HL_TRANS_CONT 0x10000 // transparent item without contains arg
|
HL_MATCHCONT = 0x8000, ///< match continued from previous line
|
||||||
#define HL_CONCEAL 0x20000 // can be concealed
|
HL_TRANS_CONT = 0x10000, ///< transparent item without contains arg
|
||||||
#define HL_CONCEALENDS 0x40000 // can be concealed
|
HL_CONCEAL = 0x20000, ///< can be concealed
|
||||||
|
HL_CONCEALENDS = 0x40000, ///< can be concealed
|
||||||
|
};
|
||||||
|
|
||||||
#define SYN_GROUP_STATIC(s) syn_check_group(S_LEN(s))
|
#define SYN_GROUP_STATIC(s) syn_check_group(S_LEN(s))
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#include "nvim/normal_defs.h" // IWYU pragma: keep
|
#include "nvim/normal_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/pos_defs.h" // IWYU pragma: keep
|
#include "nvim/pos_defs.h" // IWYU pragma: keep
|
||||||
#include "nvim/vim_defs.h"
|
#include "nvim/vim_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
||||||
# include "textobject.h.generated.h"
|
# include "textobject.h.generated.h"
|
||||||
|
@ -6,8 +6,7 @@
|
|||||||
#include "nvim/mark_defs.h"
|
#include "nvim/mark_defs.h"
|
||||||
#include "nvim/pos_defs.h"
|
#include "nvim/pos_defs.h"
|
||||||
|
|
||||||
/// Size in bytes of the hash used in the undo file.
|
enum { UNDO_HASH_SIZE = 32, }; ///< Size in bytes of the hash used in the undo file.
|
||||||
enum { UNDO_HASH_SIZE = 32, };
|
|
||||||
|
|
||||||
typedef struct u_header u_header_T;
|
typedef struct u_header u_header_T;
|
||||||
|
|
||||||
|
@ -15,11 +15,10 @@
|
|||||||
# error Configure did not run properly.
|
# error Configure did not run properly.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// bring lots of system header files
|
enum {
|
||||||
#include "nvim/os/os_defs.h" // IWYU pragma: keep
|
/// length of a buffer to store a number in ASCII (64 bits binary + NUL)
|
||||||
|
NUMBUFLEN = 65,
|
||||||
/// length of a buffer to store a number in ASCII (64 bits binary + NUL)
|
};
|
||||||
enum { NUMBUFLEN = 65, };
|
|
||||||
|
|
||||||
#define MAX_TYPENR 65535
|
#define MAX_TYPENR 65535
|
||||||
|
|
||||||
@ -32,6 +31,41 @@ typedef enum {
|
|||||||
BACKWARD_FILE = -3,
|
BACKWARD_FILE = -3,
|
||||||
} Direction;
|
} Direction;
|
||||||
|
|
||||||
|
/// Used to track the status of external functions.
|
||||||
|
/// Currently only used for iconv().
|
||||||
|
typedef enum {
|
||||||
|
kUnknown,
|
||||||
|
kWorking,
|
||||||
|
kBroken,
|
||||||
|
} WorkingStatus;
|
||||||
|
|
||||||
|
/// The scope of a working-directory command like `:cd`.
|
||||||
|
///
|
||||||
|
/// Scopes are enumerated from lowest to highest. When adding a scope make sure
|
||||||
|
/// to update all functions using scopes as well, such as the implementation of
|
||||||
|
/// `getcwd()`. When using scopes as limits (e.g. in loops) don't use the scopes
|
||||||
|
/// directly, use `MIN_CD_SCOPE` and `MAX_CD_SCOPE` instead.
|
||||||
|
typedef enum {
|
||||||
|
kCdScopeInvalid = -1,
|
||||||
|
kCdScopeWindow, ///< Affects one window.
|
||||||
|
kCdScopeTabpage, ///< Affects one tab page.
|
||||||
|
kCdScopeGlobal, ///< Affects the entire Nvim instance.
|
||||||
|
} CdScope;
|
||||||
|
|
||||||
|
#define MIN_CD_SCOPE kCdScopeWindow
|
||||||
|
#define MAX_CD_SCOPE kCdScopeGlobal
|
||||||
|
|
||||||
|
/// What caused the current directory to change.
|
||||||
|
typedef enum {
|
||||||
|
kCdCauseOther = -1,
|
||||||
|
kCdCauseManual, ///< Using `:cd`, `:tcd`, `:lcd` or `chdir()`.
|
||||||
|
kCdCauseWindow, ///< Switching to another window.
|
||||||
|
kCdCauseAuto, ///< On 'autochdir'.
|
||||||
|
} CdCause;
|
||||||
|
|
||||||
|
// bring lots of system header files
|
||||||
|
#include "nvim/os/os_defs.h" // IWYU pragma: keep
|
||||||
|
|
||||||
// return values for functions
|
// return values for functions
|
||||||
#if !(defined(OK) && (OK == 1))
|
#if !(defined(OK) && (OK == 1))
|
||||||
// OK already defined to 1 in MacOS X curses, skip this
|
// OK already defined to 1 in MacOS X curses, skip this
|
||||||
|
@ -38,8 +38,10 @@ enum {
|
|||||||
STATUS_HEIGHT = 1, ///< height of a status line under a window
|
STATUS_HEIGHT = 1, ///< height of a status line under a window
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Lowest number used for window ID. Cannot have this many windows per tab.
|
enum {
|
||||||
enum { LOWEST_WIN_ID = 1000, };
|
/// Lowest number used for window ID. Cannot have this many windows per tab.
|
||||||
|
LOWEST_WIN_ID = 1000,
|
||||||
|
};
|
||||||
|
|
||||||
/// Set to true if 'cmdheight' was explicitly set to 0.
|
/// Set to true if 'cmdheight' was explicitly set to 0.
|
||||||
EXTERN bool p_ch_was_zero INIT( = false);
|
EXTERN bool p_ch_was_zero INIT( = false);
|
||||||
|
Loading…
Reference in New Issue
Block a user