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.
121 } VimVarIndex;
122 
124 typedef enum {
134 #define LAST_MSGPACK_TYPE kMPExt
136 
139 
140 #undef LAST_MSGPACK_TYPE
141 
142 typedef int (*ArgvFunc)(int current_argcount, typval_T *argv,
143  int called_func_argcount);
144 
145 #ifdef INCLUDE_GENERATED_DECLARATIONS
146 # include "eval.h.generated.h"
147 #endif
148 #endif // NVIM_EVAL_H
Definition: eval.h:77
Definition: eval.h:128
Definition: eval.h:102
Definition: eval.h:93
Definition: eval.h:38
Definition: eval.h:89
Definition: typval.h:164
Definition: eval.h:109
Definition: eval.h:64
Structure that holds an internal variable value.
Definition: typval.h:123
Definition: eval.h:85
Definition: eval.h:87
typval_T argv[MAX_FUNC_ARGS+1]
Definition: eval.c:6577
Definition: eval.h:98
Definition: eval.h:129
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:133
Definition: eval.h:108
#define LAST_MSGPACK_TYPE
Definition: eval.h:134
Definition: eval.h:39
Definition: eval.h:96
Definition: eval.h:118
Definition: eval.h:127
Definition: eval.h:62
Definition: eval.h:100
Definition: eval.h:47
Definition: eval.h:91
Definition: eval.h:130
Definition: eval.h:126
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:119
Definition: eval.h:50
Definition: eval.h:95
hashtab_T func_hashtab
Definition: eval.c:203
Definition: eval.h:99
Definition: eval.h:86
Definition: eval.h:107
Definition: eval.h:125
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:265
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:132
MessagePackType
All recognized msgpack types.
Definition: eval.h:124
Definition: eval.h:83
Definition: eval.h:48
Definition: eval.h:113
Definition: hashtab.h:62
Definition: eval.h:131
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:524
Definition: eval.h:120
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:142
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