Neovim Home
src
nvim
eval
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
{
18
char
*
name
;
19
uint8_t
min_argc
;
20
uint8_t
max_argc
;
21
uint8_t
base_arg
;
22
VimLFunc
func
;
23
FunPtr
data
;
24
}
EvalFuncDef
;
25
26
#ifdef INCLUDE_GENERATED_DECLARATIONS
27
# include "eval/funcs.h.generated.h"
28
#endif
29
#endif // NVIM_EVAL_FUNCS_H
EvalFuncDef::name
char * name
Name of the function.
Definition:
funcs.h:18
typval_T
Structure that holds an internal variable value.
Definition:
typval.h:135
VimLFunc
void(* VimLFunc)(typval_T *args, typval_T *rvar, FunPtr data)
Prototype of C function that implements VimL function.
Definition:
funcs.h:10
EvalFuncDef
Structure holding VimL function definition.
Definition:
funcs.h:17
FunPtr
void(* FunPtr)(void)
Definition:
funcs.h:7
void
void(WINAPI *pClosePseudoConsole)(HPCON)
EvalFuncDef::base_arg
uint8_t base_arg
Method base arg # (1-indexed), BASE_NONE or BASE_LAST.
Definition:
funcs.h:21
typval.h
EvalFuncDef::func
VimLFunc func
Function implementation.
Definition:
funcs.h:22
EvalFuncDef::data
FunPtr data
Userdata for function implementation.
Definition:
funcs.h:23
EvalFuncDef::min_argc
uint8_t min_argc
Minimal number of arguments.
Definition:
funcs.h:19
buffer_defs.h
EvalFuncDef::max_argc
uint8_t max_argc
Maximal number of arguments.
Definition:
funcs.h:20
args
va_list args
Definition:
log.c:149