funcs.h
Go to the documentation of this file.
1 #ifndef NVIM_EVAL_FUNCS_H
2 #define NVIM_EVAL_FUNCS_H
3 
4 #include "nvim/buffer_defs.h"
5 #include "nvim/eval/typval.h"
6 
7 typedef void (*FunPtr)(void);
8 
10 typedef void (*VimLFunc)(typval_T *args, typval_T *rvar, FunPtr data);
11 
13 #define BASE_NONE 0
14 #define BASE_LAST UINT8_MAX
15 
16 typedef struct fst {
18  char *name;
19  uint8_t min_argc;
20  uint8_t max_argc;
21  uint8_t base_arg;
24 } VimLFuncDef;
25 
26 #ifdef INCLUDE_GENERATED_DECLARATIONS
27 # include "eval/funcs.h.generated.h"
28 #endif
29 #endif // NVIM_EVAL_FUNCS_H
typval_T
Structure that holds an internal variable value.
Definition: typval.h:131
fst::data
FunPtr data
Userdata for function implementation.
Definition: funcs.h:23
VimLFunc
void(* VimLFunc)(typval_T *args, typval_T *rvar, FunPtr data)
Prototype of C function that implements VimL function.
Definition: funcs.h:10
FunPtr
void(* FunPtr)(void)
Definition: funcs.h:7
void
void(WINAPI *pClosePseudoConsole)(HPCON)
fst::base_arg
uint8_t base_arg
Method base arg # (1-indexed), BASE_NONE or BASE_LAST.
Definition: funcs.h:21
VimLFuncDef
struct fst VimLFuncDef
Structure holding VimL function definition.
fst
Structure holding VimL function definition.
Definition: funcs.h:17
fst::min_argc
uint8_t min_argc
Minimal number of arguments.
Definition: funcs.h:19
typval.h
fst::max_argc
uint8_t max_argc
Maximal number of arguments.
Definition: funcs.h:20
fst::name
char * name
Name of the function.
Definition: funcs.h:18
buffer_defs.h
fst::func
VimLFunc func
Function implementation.
Definition: funcs.h:22
args
va_list args
Definition: log.c:149