neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

eval_defs.h (2583B)


      1 #pragma once
      2 
      3 #include "nvim/ex_cmds_defs.h"
      4 
      5 /// All recognized msgpack types
      6 typedef enum {
      7  kMPNil,
      8  kMPBoolean,
      9  kMPInteger,
     10  kMPFloat,
     11  kMPString,
     12  kMPArray,
     13  kMPMap,
     14  kMPExt,
     15 } MessagePackType;
     16 #define NUM_MSGPACK_TYPES (kMPExt + 1)
     17 
     18 /// Struct passed through eval() functions.
     19 /// See EVALARG_EVALUATE for a fixed value with eval_flags set to EVAL_EVALUATE.
     20 typedef struct {
     21  int eval_flags;     ///< EVAL_ flag values below
     22 
     23  /// copied from exarg_T when "getline" is "getsourceline". Can be NULL.
     24  LineGetter eval_getline;
     25  void *eval_cookie;  ///< argument for eval_getline()
     26 
     27  /// pointer to the last line obtained with getsourceline()
     28  char *eval_tofree;
     29 } evalarg_T;
     30 
     31 /// Defines for Vim variables
     32 typedef enum {
     33  VV_COUNT,
     34  VV_COUNT1,
     35  VV_PREVCOUNT,
     36  VV_ERRMSG,
     37  VV_WARNINGMSG,
     38  VV_STATUSMSG,
     39  VV_SHELL_ERROR,
     40  VV_THIS_SESSION,
     41  VV_VERSION,
     42  VV_LNUM,
     43  VV_TERMREQUEST,
     44  VV_TERMRESPONSE,
     45  VV_FNAME,
     46  VV_LANG,
     47  VV_LC_TIME,
     48  VV_CTYPE,
     49  VV_CC_FROM,
     50  VV_CC_TO,
     51  VV_FNAME_IN,
     52  VV_FNAME_OUT,
     53  VV_FNAME_NEW,
     54  VV_FNAME_DIFF,
     55  VV_CMDARG,
     56  VV_FOLDSTART,
     57  VV_FOLDEND,
     58  VV_FOLDDASHES,
     59  VV_FOLDLEVEL,
     60  VV_PROGNAME,
     61  VV_SEND_SERVER,
     62  VV_DYING,
     63  VV_EXCEPTION,
     64  VV_THROWPOINT,
     65  VV_REG,
     66  VV_CMDBANG,
     67  VV_INSERTMODE,
     68  VV_VAL,
     69  VV_KEY,
     70  VV_PROFILING,
     71  VV_FCS_REASON,
     72  VV_FCS_CHOICE,
     73  VV_BEVAL_BUFNR,
     74  VV_BEVAL_WINNR,
     75  VV_BEVAL_WINID,
     76  VV_BEVAL_LNUM,
     77  VV_BEVAL_COL,
     78  VV_BEVAL_TEXT,
     79  VV_SCROLLSTART,
     80  VV_SWAPNAME,
     81  VV_SWAPCHOICE,
     82  VV_SWAPCOMMAND,
     83  VV_CHAR,
     84  VV_MOUSE_WIN,
     85  VV_MOUSE_WINID,
     86  VV_MOUSE_LNUM,
     87  VV_MOUSE_COL,
     88  VV_OP,
     89  VV_SEARCHFORWARD,
     90  VV_HLSEARCH,
     91  VV_OLDFILES,
     92  VV_WINDOWID,
     93  VV_PROGPATH,
     94  VV_COMPLETED_ITEM,
     95  VV_OPTION_NEW,
     96  VV_OPTION_OLD,
     97  VV_OPTION_OLDLOCAL,
     98  VV_OPTION_OLDGLOBAL,
     99  VV_OPTION_COMMAND,
    100  VV_OPTION_TYPE,
    101  VV_ERRORS,
    102  VV_FALSE,
    103  VV_TRUE,
    104  VV_NULL,
    105  VV_NUMBERMAX,
    106  VV_NUMBERMIN,
    107  VV_NUMBERSIZE,
    108  VV_VIM_DID_ENTER,
    109  VV_TESTING,
    110  VV_TYPE_NUMBER,
    111  VV_TYPE_STRING,
    112  VV_TYPE_FUNC,
    113  VV_TYPE_LIST,
    114  VV_TYPE_DICT,
    115  VV_TYPE_FLOAT,
    116  VV_TYPE_BOOL,
    117  VV_TYPE_BLOB,
    118  VV_EVENT,
    119  VV_VERSIONLONG,
    120  VV_ECHOSPACE,
    121  VV_ARGF,
    122  VV_ARGV,
    123  VV_COLLATE,
    124  VV_EXITING,
    125  VV_MAXCOL,
    126  VV_STACKTRACE,
    127  VV_VIM_DID_INIT,
    128  // Nvim
    129  VV_STDERR,
    130  VV_MSGPACK_TYPES,
    131  VV__NULL_STRING,  // String with NULL value. For test purposes only.
    132  VV__NULL_LIST,  // List with NULL value. For test purposes only.
    133  VV__NULL_DICT,  // Dict with NULL value. For test purposes only.
    134  VV__NULL_BLOB,  // Blob with NULL value. For test purposes only.
    135  VV_LUA,
    136  VV_RELNUM,
    137  VV_VIRTNUM,
    138 } VimVarIndex;