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 /* find_name_end(): include [] in name */
 flags for find_name_end() More...
 
#define FNE_CHECK_START
 

Typedefs

typedef struct lval_S lval_T
 

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_STDERR,
  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_MSGPACK_TYPES, VV_EVENT,
  VV_FALSE, VV_TRUE, VV_NULL, VV__NULL_LIST,
  VV__NULL_DICT, 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_ECHOSPACE, VV_EXITING,
  VV_LUA, VV_ARGV
}
 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  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...
 
bool * eval_lavars_used
 Used for checking if local variables or arguments used in a lambda. More...
 

Macro Definition Documentation

#define COPYID_INC   2
#define COPYID_MASK   (~0x1)
#define FNE_CHECK_START
Value:
2 /* find_name_end(): check name starts with
valid character */
#define FNE_INCL_BR   1 /* find_name_end(): include [] in name */

flags for find_name_end()

#define HI2UF (   hi)    HIKEY2UF((hi)->hi_key)
#define HIKEY2UF (   p)    ((ufunc_T *)(p - offsetof(ufunc_T, uf_name)))
#define LAST_MSGPACK_TYPE   kMPExt
#define UF2HIKEY (   fp)    ((fp)->uf_name)

Typedef Documentation

typedef struct lval_S lval_T

Enumeration Type Documentation

Type of assert_* check being performed.

Enumerator
ASSERT_EQUAL 
ASSERT_NOTEQUAL 
ASSERT_MATCH 
ASSERT_NOTMATCH 
ASSERT_INRANGE 
ASSERT_OTHER 

Type for dict_list function.

Enumerator
kDictListKeys 

List dictionary keys.

kDictListValues 

List dictionary values.

kDictListItems 

List dictionary contents: [keys, values].

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).

All recognized msgpack types.

Enumerator
kMPNil 
kMPBoolean 
kMPInteger 
kMPFloat 
kMPString 
kMPBinary 
kMPArray 
kMPMap 
kMPExt 

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.

enum used by var_flavour()

Enumerator
VAR_FLAVOUR_DEFAULT 
VAR_FLAVOUR_SESSION 
VAR_FLAVOUR_SHADA 

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_STDERR 
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_MSGPACK_TYPES 
VV_EVENT 
VV_FALSE 
VV_TRUE 
VV_NULL 
VV__NULL_LIST 
VV__NULL_DICT 
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_ECHOSPACE 
VV_EXITING 
VV_LUA 
VV_ARGV 

Variable Documentation

EXTERN ufunc_T dumuf
bool* eval_lavars_used

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

const list_T* eval_msgpack_type_lists[LAST_MSGPACK_TYPE+1]

Array mapping values from MessagePackType to corresponding list pointers.

hashtab_T func_hashtab