blob: fdb2e34dd95a8de89cfcaf08e0a176b89440b3d7 [file] [log] [blame]
Bram Moolenaar0522ba02019-08-27 22:48:30 +02001/* evalvars.c */
Bram Moolenaare5cdf152019-08-29 22:09:46 +02002void evalvars_init(void);
3void evalvars_clear(void);
4int garbage_collect_vimvars(int copyID);
5int garbage_collect_scriptvars(int copyID);
6void set_internal_string_var(char_u *name, char_u *value);
7void prepare_vimvar(int idx, typval_T *save_tv);
8void restore_vimvar(int idx, typval_T *save_tv);
Bram Moolenaar0522ba02019-08-27 22:48:30 +02009void ex_let(exarg_T *eap);
10void ex_const(exarg_T *eap);
11int ex_let_vars(char_u *arg_start, typval_T *tv, int copy, int semicolon, int var_count, int is_const, char_u *op);
12char_u *skip_var_list(char_u *arg, int *var_count, int *semicolon);
13void list_hashtable_vars(hashtab_T *ht, char *prefix, int empty, int *first);
14void ex_unlet(exarg_T *eap);
15void ex_lockvar(exarg_T *eap);
16int do_unlet(char_u *name, int forceit);
Bram Moolenaare5cdf152019-08-29 22:09:46 +020017char_u *get_user_var_name(expand_T *xp, int idx);
Bram Moolenaar34ed68d2019-08-29 22:48:24 +020018void set_vim_var_type(int idx, vartype_T type);
Bram Moolenaare5cdf152019-08-29 22:09:46 +020019void set_vim_var_nr(int idx, varnumber_T val);
20typval_T *get_vim_var_tv(int idx);
21varnumber_T get_vim_var_nr(int idx);
22char_u *get_vim_var_str(int idx);
23list_T *get_vim_var_list(int idx);
24dict_T *get_vim_var_dict(int idx);
25void set_vim_var_char(int c);
26void set_vcount(long count, long count1, int set_prevcount);
27void save_vimvars(vimvars_save_T *vvsave);
28void restore_vimvars(vimvars_save_T *vvsave);
29void set_vim_var_string(int idx, char_u *val, int len);
30void set_vim_var_list(int idx, list_T *val);
31void set_vim_var_dict(int idx, dict_T *val);
32void set_reg_var(int c);
33char_u *v_exception(char_u *oldval);
34char_u *v_throwpoint(char_u *oldval);
35char_u *set_cmdarg(exarg_T *eap, char_u *oldarg);
Bram Moolenaar0522ba02019-08-27 22:48:30 +020036int get_var_tv(char_u *name, int len, typval_T *rettv, dictitem_T **dip, int verbose, int no_autoload);
Bram Moolenaare5cdf152019-08-29 22:09:46 +020037void check_vars(char_u *name, int len);
38dictitem_T *find_var(char_u *name, hashtab_T **htp, int no_autoload);
39dictitem_T *find_var_in_ht(hashtab_T *ht, int htname, char_u *varname, int no_autoload);
40hashtab_T *find_var_ht(char_u *name, char_u **varname);
Bram Moolenaar0522ba02019-08-27 22:48:30 +020041char_u *get_var_value(char_u *name);
Bram Moolenaare5cdf152019-08-29 22:09:46 +020042void new_script_vars(scid_T id);
43void init_var_dict(dict_T *dict, dictitem_T *dict_var, int scope);
44void unref_var_dict(dict_T *dict);
Bram Moolenaar0522ba02019-08-27 22:48:30 +020045void vars_clear(hashtab_T *ht);
46void vars_clear_ext(hashtab_T *ht, int free_val);
47void delete_var(hashtab_T *ht, hashitem_T *hi);
48void set_var(char_u *name, typval_T *tv, int copy);
49void set_var_const(char_u *name, typval_T *tv, int copy, int is_const);
50int var_check_ro(int flags, char_u *name, int use_gettext);
51int var_check_fixed(int flags, char_u *name, int use_gettext);
52int var_check_func_name(char_u *name, int new_var);
53int var_check_lock(int lock, char_u *name, int use_gettext);
54int valid_varname(char_u *varname);
Bram Moolenaare5cdf152019-08-29 22:09:46 +020055void reset_v_option_vars(void);
56void assert_error(garray_T *gap);
Bram Moolenaar0522ba02019-08-27 22:48:30 +020057int var_exists(char_u *var);
58void f_gettabvar(typval_T *argvars, typval_T *rettv);
59void f_gettabwinvar(typval_T *argvars, typval_T *rettv);
60void f_getwinvar(typval_T *argvars, typval_T *rettv);
Bram Moolenaar8d71b542019-08-30 15:46:30 +020061void f_getbufvar(typval_T *argvars, typval_T *rettv);
Bram Moolenaar0522ba02019-08-27 22:48:30 +020062void f_settabvar(typval_T *argvars, typval_T *rettv);
63void f_settabwinvar(typval_T *argvars, typval_T *rettv);
64void f_setwinvar(typval_T *argvars, typval_T *rettv);
Bram Moolenaar8d71b542019-08-30 15:46:30 +020065void f_setbufvar(typval_T *argvars, typval_T *rettv);
Bram Moolenaar0522ba02019-08-27 22:48:30 +020066/* vim: set ft=c : */