Data Structures | Macros | Typedefs | Enumerations | Variables
eval.h File Reference
#include "nvim/buffer_defs.h"
#include "nvim/channel.h"
#include "nvim/eval/funcs.h"
#include "nvim/event/time.h"
#include "nvim/ex_cmds_defs.h"
#include "nvim/os/fileio.h"
#include "nvim/os/stdpaths_defs.h"

Go to the source code of this file.

Data Structures

struct  lval_S
 
struct  timer_T
 

Macros

#define COPYID_INC   2
 
#define COPYID_MASK   (~0x1)
 
#define UF2HIKEY(fp)   ((fp)->uf_name)
 
#define HIKEY2UF(p)   ((ufunc_T *)(p - offsetof(ufunc_T, uf_name)))
 
#define HI2UF(hi)   HIKEY2UF((hi)->hi_key)
 
#define LAST_MSGPACK_TYPE   kMPExt
 
#define FNE_INCL_BR   1
 flags for find_name_end() More...
 
#define FNE_CHECK_START
 

Typedefs

typedef struct lval_S lval_T
 
typedef int(* ex_unletlock_callback) (lval_T *, char_u *, exarg_T *, int)
 

Enumerations

enum  var_flavour_T { VAR_FLAVOUR_DEFAULT = 1, VAR_FLAVOUR_SESSION = 2, VAR_FLAVOUR_SHADA = 4 }
 enum used by var_flavour() More...
 
enum  VimVarIndex {
  VV_COUNT, VV_COUNT1, VV_PREVCOUNT, VV_ERRMSG,
  VV_WARNINGMSG, VV_STATUSMSG, VV_SHELL_ERROR, VV_THIS_SESSION,
  VV_VERSION, VV_LNUM, VV_TERMRESPONSE, VV_FNAME,
  VV_LANG, VV_LC_TIME, VV_CTYPE, VV_CC_FROM,
  VV_CC_TO, VV_FNAME_IN, VV_FNAME_OUT, VV_FNAME_NEW,
  VV_FNAME_DIFF, VV_CMDARG, VV_FOLDSTART, VV_FOLDEND,
  VV_FOLDDASHES, VV_FOLDLEVEL, VV_PROGNAME, VV_SEND_SERVER,
  VV_DYING, VV_EXCEPTION, VV_THROWPOINT, VV_REG,
  VV_CMDBANG, VV_INSERTMODE, VV_VAL, VV_KEY,
  VV_PROFILING, VV_FCS_REASON, VV_FCS_CHOICE, VV_BEVAL_BUFNR,
  VV_BEVAL_WINNR, VV_BEVAL_WINID, VV_BEVAL_LNUM, VV_BEVAL_COL,
  VV_BEVAL_TEXT, VV_SCROLLSTART, VV_SWAPNAME, VV_SWAPCHOICE,
  VV_SWAPCOMMAND, VV_CHAR, VV_MOUSE_WIN, VV_MOUSE_WINID,
  VV_MOUSE_LNUM, VV_MOUSE_COL, VV_OP, VV_SEARCHFORWARD,
  VV_HLSEARCH, VV_OLDFILES, VV_WINDOWID, VV_PROGPATH,
  VV_COMPLETED_ITEM, VV_OPTION_NEW, VV_OPTION_OLD, VV_OPTION_TYPE,
  VV_ERRORS, VV_FALSE, VV_TRUE, VV_NULL,
  VV_NUMBERMAX, VV_NUMBERMIN, VV_NUMBERSIZE, VV_VIM_DID_ENTER,
  VV_TESTING, VV_TYPE_NUMBER, VV_TYPE_STRING, VV_TYPE_FUNC,
  VV_TYPE_LIST, VV_TYPE_DICT, VV_TYPE_FLOAT, VV_TYPE_BOOL,
  VV_TYPE_BLOB, VV_EVENT, VV_ECHOSPACE, VV_ARGV,
  VV_COLLATE, VV_EXITING, VV_STDERR, VV_MSGPACK_TYPES,
  VV__NULL_STRING, VV__NULL_LIST, VV__NULL_DICT, VV__NULL_BLOB,
  VV_LUA
}
 Defines for Vim variables. More...
 
enum  MessagePackType {
  kMPNil, kMPBoolean, kMPInteger, kMPFloat,
  kMPString, kMPBinary, kMPArray, kMPMap,
  kMPExt
}
 All recognized msgpack types. More...
 
enum  TransFunctionNameFlags {
  TFN_INT = 1, TFN_QUIET = 2, TFN_NO_AUTOLOAD = 4, TFN_NO_DEREF = 8,
  TFN_READ_ONLY = 16
}
 trans_function_name() flags More...
 
enum  GetLvalFlags { GLV_QUIET = TFN_QUIET, GLV_NO_AUTOLOAD = TFN_NO_AUTOLOAD, GLV_READ_ONLY = TFN_READ_ONLY }
 get_lval() flags More...
 
enum  assert_type_T {
  ASSERT_EQUAL, ASSERT_NOTEQUAL, ASSERT_MATCH, ASSERT_NOTMATCH,
  ASSERT_INRANGE, ASSERT_OTHER
}
 Type of assert_* check being performed. More...
 
enum  exprtype_T {
  EXPR_UNKNOWN = 0, EXPR_EQUAL, EXPR_NEQUAL, EXPR_GREATER,
  EXPR_GEQUAL, EXPR_SMALLER, EXPR_SEQUAL, EXPR_MATCH,
  EXPR_NOMATCH, EXPR_IS, EXPR_ISNOT
}
 types for expressions. More...
 
enum  DictListType { kDictListKeys, kDictListValues, kDictListItems }
 Type for dict_list function. More...
 

Variables

hashtab_T func_hashtab
 
EXTERN ufunc_T dumuf
 
const list_Teval_msgpack_type_lists [LAST_MSGPACK_TYPE+1]
 Array mapping values from MessagePackType to corresponding list pointers. More...
 
booleval_lavars_used
 Used for checking if local variables or arguments used in a lambda. More...
 

Macro Definition Documentation

◆ COPYID_INC

#define COPYID_INC   2

◆ COPYID_MASK

#define COPYID_MASK   (~0x1)

◆ FNE_CHECK_START

#define FNE_CHECK_START
Value:
2 /* find_name_end(): check name starts with
valid character */

◆ FNE_INCL_BR

#define FNE_INCL_BR   1

flags for find_name_end()

◆ HI2UF

#define HI2UF (   hi)    HIKEY2UF((hi)->hi_key)

◆ HIKEY2UF

#define HIKEY2UF (   p)    ((ufunc_T *)(p - offsetof(ufunc_T, uf_name)))

◆ LAST_MSGPACK_TYPE

#define LAST_MSGPACK_TYPE   kMPExt

◆ UF2HIKEY

#define UF2HIKEY (   fp)    ((fp)->uf_name)

Typedef Documentation

◆ ex_unletlock_callback

typedef int(* ex_unletlock_callback) (lval_T *, char_u *, exarg_T *, int)

◆ lval_T

typedef struct lval_S lval_T

Enumeration Type Documentation

◆ assert_type_T

Type of assert_* check being performed.

Enumerator
ASSERT_EQUAL 
ASSERT_NOTEQUAL 
ASSERT_MATCH 
ASSERT_NOTMATCH 
ASSERT_INRANGE 
ASSERT_OTHER 

◆ DictListType

Type for dict_list function.

Enumerator
kDictListKeys 

List dictionary keys.

kDictListValues 

List dictionary values.

kDictListItems 

List dictionary contents: [keys, values].

◆ exprtype_T

enum exprtype_T

types for expressions.

Enumerator
EXPR_UNKNOWN 
EXPR_EQUAL 

==

EXPR_NEQUAL 

!=

EXPR_GREATER 

EXPR_GEQUAL 

>=

EXPR_SMALLER 

<

EXPR_SEQUAL 

<=

EXPR_MATCH 

=~

EXPR_NOMATCH 

!~

EXPR_IS 

is

EXPR_ISNOT 

isnot

◆ GetLvalFlags

get_lval() flags

Enumerator
GLV_QUIET 

Do not emit error messages.

GLV_NO_AUTOLOAD 

Do not use script autoloading.

GLV_READ_ONLY 

Indicates that caller will not change the value (prevents error message).

◆ MessagePackType

All recognized msgpack types.

Enumerator
kMPNil 
kMPBoolean 
kMPInteger 
kMPFloat 
kMPString 
kMPBinary 
kMPArray 
kMPMap 
kMPExt 

◆ TransFunctionNameFlags

trans_function_name() flags

Enumerator
TFN_INT 

May use internal function name.

TFN_QUIET 

Do not emit error messages.

TFN_NO_AUTOLOAD 

Do not use script autoloading.

TFN_NO_DEREF 

Do not dereference a Funcref.

TFN_READ_ONLY 

Will not change the variable.

◆ var_flavour_T

enum used by var_flavour()

Enumerator
VAR_FLAVOUR_DEFAULT 
VAR_FLAVOUR_SESSION 
VAR_FLAVOUR_SHADA 

◆ VimVarIndex

Defines for Vim variables.

Enumerator
VV_COUNT 
VV_COUNT1 
VV_PREVCOUNT 
VV_ERRMSG 
VV_WARNINGMSG 
VV_STATUSMSG 
VV_SHELL_ERROR 
VV_THIS_SESSION 
VV_VERSION 
VV_LNUM 
VV_TERMRESPONSE 
VV_FNAME 
VV_LANG 
VV_LC_TIME 
VV_CTYPE 
VV_CC_FROM 
VV_CC_TO 
VV_FNAME_IN 
VV_FNAME_OUT 
VV_FNAME_NEW 
VV_FNAME_DIFF 
VV_CMDARG 
VV_FOLDSTART 
VV_FOLDEND 
VV_FOLDDASHES 
VV_FOLDLEVEL 
VV_PROGNAME 
VV_SEND_SERVER 
VV_DYING 
VV_EXCEPTION 
VV_THROWPOINT 
VV_REG 
VV_CMDBANG 
VV_INSERTMODE 
VV_VAL 
VV_KEY 
VV_PROFILING 
VV_FCS_REASON 
VV_FCS_CHOICE 
VV_BEVAL_BUFNR 
VV_BEVAL_WINNR 
VV_BEVAL_WINID 
VV_BEVAL_LNUM 
VV_BEVAL_COL 
VV_BEVAL_TEXT 
VV_SCROLLSTART 
VV_SWAPNAME 
VV_SWAPCHOICE 
VV_SWAPCOMMAND 
VV_CHAR 
VV_MOUSE_WIN 
VV_MOUSE_WINID 
VV_MOUSE_LNUM 
VV_MOUSE_COL 
VV_OP 
VV_SEARCHFORWARD 
VV_HLSEARCH 
VV_OLDFILES 
VV_WINDOWID 
VV_PROGPATH 
VV_COMPLETED_ITEM 
VV_OPTION_NEW 
VV_OPTION_OLD 
VV_OPTION_TYPE 
VV_ERRORS 
VV_FALSE 
VV_TRUE 
VV_NULL 
VV_NUMBERMAX 
VV_NUMBERMIN 
VV_NUMBERSIZE 
VV_VIM_DID_ENTER 
VV_TESTING 
VV_TYPE_NUMBER 
VV_TYPE_STRING 
VV_TYPE_FUNC 
VV_TYPE_LIST 
VV_TYPE_DICT 
VV_TYPE_FLOAT 
VV_TYPE_BOOL 
VV_TYPE_BLOB 
VV_EVENT 
VV_ECHOSPACE 
VV_ARGV 
VV_COLLATE 
VV_EXITING 
VV_STDERR 
VV_MSGPACK_TYPES 
VV__NULL_STRING 
VV__NULL_LIST 
VV__NULL_DICT 
VV__NULL_BLOB 
VV_LUA 

Variable Documentation

◆ dumuf

EXTERN ufunc_T dumuf

◆ eval_lavars_used

bool* eval_lavars_used

Used for checking if local variables or arguments used in a lambda.

◆ eval_msgpack_type_lists

const list_T* eval_msgpack_type_lists[LAST_MSGPACK_TYPE+1]

Array mapping values from MessagePackType to corresponding list pointers.

◆ func_hashtab

hashtab_T func_hashtab