executor.h
Go to the documentation of this file.
1 #ifndef NVIM_LUA_EXECUTOR_H
2 #define NVIM_LUA_EXECUTOR_H
3 
4 #include <lauxlib.h>
5 #include <lua.h>
6 
8 #include "nvim/assert.h"
9 #include "nvim/eval/typval.h"
10 #include "nvim/ex_cmds_defs.h"
11 #include "nvim/ex_docmd.h"
12 #include "nvim/func_attr.h"
13 #include "nvim/lua/converter.h"
14 
15 // Generated by msgpack-gen.lua
16 void nlua_add_api_functions(lua_State *lstate) REAL_FATTR_NONNULL_ALL;
17 
18 typedef struct {
21  int ref_count;
22 #if __has_feature(address_sanitizer)
23  PMap(handle_T) ref_markers;
24 #endif
26 
27 #define NLUA_CLEAR_REF(x) \
28  do { \
29  /* Take the address to avoid double evaluation. #1375 */ \
30  if ((x) != LUA_NOREF) { \
31  api_free_luaref(x); \
32  (x) = LUA_NOREF; \
33  } \
34  } while (0)
35 
36 #ifdef INCLUDE_GENERATED_DECLARATIONS
37 # include "lua/executor.h.generated.h"
38 #endif
39 
40 EXTERN nlua_ref_state_t *nlua_global_refs INIT(= NULL);
41 EXTERN bool nlua_disable_preload INIT(= false);
42 
43 #endif // NVIM_LUA_EXECUTOR_H
assert.h
nlua_ref_state_t::nil_ref
LuaRef nil_ref
Definition: executor.h:19
LuaRef
int LuaRef
Definition: types.h:23
defs.h
REAL_FATTR_NONNULL_ALL
#define REAL_FATTR_NONNULL_ALL
Definition: func_attr.h:183
INIT
EXTERN nlua_ref_state_t *nlua_global_refs INIT(=NULL)
converter.h
nlua_ref_state_t::ref_count
int ref_count
Definition: executor.h:21
typval.h
nlua_ref_state_t::empty_dict_ref
LuaRef empty_dict_ref
Definition: executor.h:20
EXTERN
#define EXTERN
Definition: macros.h:9
handle_T
int handle_T
Definition: types.h:18
ex_cmds_defs.h
nlua_add_api_functions
void nlua_add_api_functions(lua_State *lstate) REAL_FATTR_NONNULL_ALL
ex_docmd.h
func_attr.h
PMap
#define PMap(T)
Definition: map_defs.h:10
nlua_ref_state_t
Definition: executor.h:18
NULL
return NULL
Definition: eval.c:9968