context.h (870B)
1 #pragma once 2 3 #include <stddef.h> // IWYU pragma: keep 4 5 #include "klib/kvec.h" 6 #include "nvim/api/private/defs.h" 7 8 typedef struct { 9 String regs; ///< Registers. 10 String jumps; ///< Jumplist. 11 String bufs; ///< Buffer list. 12 String gvars; ///< Global variables. 13 Array funcs; ///< Functions. 14 } Context; 15 typedef kvec_t(Context) ContextVec; 16 17 #define CONTEXT_INIT (Context) { \ 18 .regs = STRING_INIT, \ 19 .jumps = STRING_INIT, \ 20 .bufs = STRING_INIT, \ 21 .gvars = STRING_INIT, \ 22 .funcs = ARRAY_DICT_INIT, \ 23 } 24 25 typedef enum { 26 kCtxRegs = 1, ///< Registers 27 kCtxJumps = 2, ///< Jumplist 28 kCtxBufs = 4, ///< Buffer list 29 kCtxGVars = 8, ///< Global variables 30 kCtxSFuncs = 16, ///< Script functions 31 kCtxFuncs = 32, ///< Functions 32 } ContextTypeFlags; 33 34 extern int kCtxAll; 35 36 #include "context.h.generated.h"