eval.h
Go to the documentation of this file.
1 #ifndef NVIM_EVAL_H
2 #define NVIM_EVAL_H
3 
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"
14 
15 #define COPYID_INC 2
16 #define COPYID_MASK (~0x1)
17 
18 // All user-defined functions are found in this hashtable.
19 extern hashtab_T func_hashtab;
20 
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)
26 
28 typedef enum {
29  VAR_FLAVOUR_DEFAULT = 1, // doesn't start with uppercase
30  VAR_FLAVOUR_SESSION = 2, // starts with uppercase, some lower
31  VAR_FLAVOUR_SHADA = 4 // all uppercase
33 
35 typedef enum {
107  VV__NULL_LIST, // List with NULL value. For test purposes only.
108  VV__NULL_DICT, // Dictionary with NULL value. For test purposes only.
119 } VimVarIndex;
120 
122 typedef enum {
132 #define LAST_MSGPACK_TYPE kMPExt
134 
137 
138 #undef LAST_MSGPACK_TYPE
139 
140 typedef int (*ArgvFunc)(int current_argcount, typval_T *argv,
141  int called_func_argcount);
142 
143 #ifdef INCLUDE_GENERATED_DECLARATIONS
144 # include "eval.h.generated.h"
145 #endif
146 #endif // NVIM_EVAL_H
Definition: eval.h:77
Definition: eval.h:126
Definition: eval.h:102
Definition: eval.h:93
Definition: eval.h:38
Definition: eval.h:89
Definition: typval.h:166
Definition: eval.h:109
Definition: eval.h:64
Structure that holds an internal variable value.
Definition: typval.h:125
Definition: eval.h:85
Definition: eval.h:87
typval_T argv[MAX_FUNC_ARGS+1]
Definition: eval.c:6435
Definition: eval.h:98
Definition: eval.h:127
Definition: eval.h:69
Definition: eval.h:115
Definition: eval.h:37
Definition: eval.h:71
Definition: eval.h:70
Definition: eval.h:114
Definition: eval.h:65
Definition: eval.h:131
Definition: eval.h:108
#define LAST_MSGPACK_TYPE
Definition: eval.h:132
Definition: eval.h:39
Definition: eval.h:96
Definition: eval.h:125
Definition: eval.h:62
Definition: eval.h:100
Definition: eval.h:47
Definition: eval.h:91
Definition: eval.h:128
Definition: eval.h:124
var_flavour_T
enum used by var_flavour()
Definition: eval.h:28
Definition: eval.h:68
Definition: eval.h:73
Definition: eval.h:79
Definition: eval.h:42
Definition: eval.h:92
#define EXTERN
Definition: macros.h:7
Definition: eval.h:45
Definition: eval.h:72
Definition: eval.h:51
Definition: eval.h:118
Definition: eval.h:50
Definition: eval.h:95
hashtab_T func_hashtab
Definition: eval.c:202
Definition: eval.h:99
Definition: eval.h:86
Definition: eval.h:107
Definition: eval.h:123
Definition: eval.h:44
Definition: eval.h:117
Definition: eval.h:75
Definition: eval.h:58
Definition: eval.h:29
Structure to hold info for a user function.
Definition: typval.h:255
Definition: eval.h:110
Definition: eval.h:30
Definition: eval.h:31
Definition: eval.h:82
Definition: eval.h:43
Definition: eval.h:46
EXTERN ufunc_T dumuf
Definition: eval.h:22
VimVarIndex
Defines for Vim variables.
Definition: eval.h:35
Definition: eval.h:54
Definition: eval.h:130
MessagePackType
All recognized msgpack types.
Definition: eval.h:122
Definition: eval.h:83
Definition: eval.h:48
Definition: eval.h:113
Definition: hashtab.h:62
Definition: eval.h:129
Definition: eval.h:36
Definition: eval.h:80
Definition: eval.h:111
Definition: eval.h:101
const list_T * eval_msgpack_type_lists[LAST_MSGPACK_TYPE+1]
Array mapping values from MessagePackType to corresponding list pointers.
Definition: eval.c:518
Definition: eval.h:116
Definition: eval.h:67
Definition: eval.h:104
Definition: eval.h:112
Definition: eval.h:57
Definition: eval.h:60
Definition: eval.h:76
Definition: eval.h:94
Definition: eval.h:63
Definition: eval.h:56
Definition: eval.h:55
Definition: eval.h:105
Definition: eval.h:103
Definition: eval.h:66
Definition: eval.h:40
Definition: eval.h:106
Definition: eval.h:53
int(* ArgvFunc)(int current_argcount, typval_T *argv, int called_func_argcount)
Definition: eval.h:140
Definition: eval.h:52
Definition: eval.h:41
Definition: eval.h:88
Definition: eval.h:49
Definition: eval.h:97
Definition: eval.h:78
Definition: eval.h:74
Definition: eval.h:84
Definition: eval.h:90
Definition: eval.h:59
Definition: eval.h:61
Definition: eval.h:81