Go to the documentation of this file.
1 #ifndef NVIM_EVAL_H
2 #define NVIM_EVAL_H
4 #include "nvim/hashtab.h" // For hashtab_T
5 #include "nvim/buffer_defs.h"
6 #include "nvim/ex_cmds_defs.h" // For exarg_T
7 #include "nvim/eval/typval.h"
8 #include "nvim/profile.h"
9 #include "nvim/garray.h"
10 #include "nvim/event/rstream.h"
11 #include "nvim/event/wstream.h"
12 #include "nvim/channel.h"
13 #include "nvim/os/stdpaths_defs.h"
15 #define COPYID_INC 2
16 #define COPYID_MASK (~0x1)
18 // All user-defined functions are found in this hashtable.
19 extern hashtab_T func_hashtab;
21 // From user function to hashitem and back.
23 #define UF2HIKEY(fp) ((fp)->uf_name)
24 #define HIKEY2UF(p) ((ufunc_T *)(p - offsetof(ufunc_T, uf_name)))
25 #define HI2UF(hi) HIKEY2UF((hi)->hi_key)
28 typedef enum {
100  VV__NULL_LIST, // List with NULL value. For test purposes only.
101  VV__NULL_DICT, // Dictionary with NULL value. For test purposes only.
112 } VimVarIndex;
115 typedef enum {
125 #define LAST_MSGPACK_TYPE kMPExt
133 typedef int (*ArgvFunc)(int current_argcount, typval_T *argv,
134  int called_func_argcount);
137 # include "eval.h.generated.h"
138 #endif
139 #endif // NVIM_EVAL_H
Definition: eval.h:70
Definition: eval.h:119
Definition: eval.h:95
Definition: eval.h:86
Definition: eval.h:31
Definition: eval.h:82
Definition: typval.h:166
Definition: eval.h:102
Definition: eval.h:57
Structure that holds an internal variable value.
Definition: typval.h:125
Definition: eval.h:78
Definition: eval.h:80
Definition: eval.h:91
Definition: eval.h:120
Definition: eval.h:62
Definition: eval.h:108
Definition: eval.h:30
Definition: eval.h:64
Definition: eval.h:63
Definition: eval.h:107
Definition: eval.h:58
Definition: eval.h:124
Definition: eval.h:101
Definition: eval.h:125
Definition: eval.h:32
Definition: eval.h:89
Definition: eval.h:118
Definition: eval.h:55
Definition: eval.h:93
Definition: eval.h:40
Definition: eval.h:84
Definition: eval.h:121
Definition: eval.h:117
Definition: eval.h:61
Definition: eval.h:66
Definition: eval.h:72
Definition: eval.h:35
Definition: eval.h:85
#define EXTERN
Definition: macros.h:7
Definition: eval.h:38
Definition: eval.h:65
Definition: eval.h:44
Definition: eval.h:111
Definition: eval.h:43
Definition: eval.h:88
hashtab_T func_hashtab
Definition: eval.c:198
Definition: eval.h:92
Definition: eval.h:79
Definition: eval.h:100
Definition: eval.h:116
Definition: eval.h:37
Definition: eval.h:110
Definition: eval.h:68
Definition: eval.h:51
Structure to hold info for a user function.
Definition: typval.h:255
Definition: eval.h:103
Definition: eval.h:75
Definition: eval.h:36
Definition: eval.h:39
EXTERN ufunc_T dumuf
Definition: eval.h:22
Defines for Vim variables.
Definition: eval.h:28
Definition: eval.h:47
Definition: eval.h:123
All recognized msgpack types.
Definition: eval.h:115
Definition: eval.h:76
Definition: eval.h:41
Definition: eval.h:106
Definition: hashtab.h:62
Definition: eval.h:122
Definition: eval.h:29
Definition: eval.h:73
Definition: eval.h:104
Definition: eval.h:94
const list_T * eval_msgpack_type_lists[LAST_MSGPACK_TYPE+1]
Array mapping values from MessagePackType to corresponding list pointers.
Definition: eval.c:521
Definition: eval.h:109
Definition: eval.h:60
Definition: eval.h:97
Definition: eval.h:105
Definition: eval.h:50
Definition: eval.h:53
Definition: eval.h:69
Definition: eval.h:87
Definition: eval.h:56
Definition: eval.h:49
Definition: eval.h:48
Definition: eval.h:98
Definition: eval.h:96
Definition: eval.h:59
Definition: eval.h:33
Definition: eval.h:99
Definition: eval.h:46
int(* ArgvFunc)(int current_argcount, typval_T *argv, int called_func_argcount)
Definition: eval.h:133
Definition: eval.h:45
Definition: eval.h:34
Definition: eval.h:81
Definition: eval.h:42
Definition: eval.h:90
Definition: eval.h:71
Definition: eval.h:67
Definition: eval.h:77
Definition: eval.h:83
Definition: eval.h:52
Definition: eval.h:54
Definition: eval.h:74