blob: fae403a504703a0273068226eb93536cf293b0a2 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* eval.c */
Bram Moolenaaref269542016-01-19 13:22:12 +01002void eval_init(void);
3void eval_clear(void);
4char_u *func_name(void *cookie);
5linenr_T *func_breakpoint(void *cookie);
6int *func_dbg_tick(void *cookie);
7int func_level(void *cookie);
8int current_func_returned(void);
9void set_internal_string_var(char_u *name, char_u *value);
10int var_redir_start(char_u *name, int append);
11void var_redir_str(char_u *value, int value_len);
12void var_redir_stop(void);
13int eval_charconvert(char_u *enc_from, char_u *enc_to, char_u *fname_from, char_u *fname_to);
14int eval_printexpr(char_u *fname, char_u *args);
15void eval_diff(char_u *origfile, char_u *newfile, char_u *outfile);
16void eval_patch(char_u *origfile, char_u *difffile, char_u *outfile);
17int eval_to_bool(char_u *arg, int *error, char_u **nextcmd, int skip);
18char_u *eval_to_string_skip(char_u *arg, char_u **nextcmd, int skip);
19int skip_expr(char_u **pp);
20char_u *eval_to_string(char_u *arg, char_u **nextcmd, int convert);
21char_u *eval_to_string_safe(char_u *arg, char_u **nextcmd, int use_sandbox);
22int eval_to_number(char_u *expr);
23list_T *eval_spell_expr(char_u *badword, char_u *expr);
24int get_spellword(list_T *list, char_u **pp);
25typval_T *eval_expr(char_u *arg, char_u **nextcmd);
26int call_vim_function(char_u *func, int argc, char_u **argv, int safe, int str_arg_only, typval_T *rettv);
27long call_func_retnr(char_u *func, int argc, char_u **argv, int safe);
28void *call_func_retstr(char_u *func, int argc, char_u **argv, int safe);
29void *call_func_retlist(char_u *func, int argc, char_u **argv, int safe);
30void *save_funccal(void);
31void restore_funccal(void *vfc);
32void prof_child_enter(proftime_T *tm);
33void prof_child_exit(proftime_T *tm);
34int eval_foldexpr(char_u *arg, int *cp);
35void ex_let(exarg_T *eap);
36void list_add_watch(list_T *l, listwatch_T *lw);
37void list_rem_watch(list_T *l, listwatch_T *lwrem);
38void *eval_for_line(char_u *arg, int *errp, char_u **nextcmdp, int skip);
39int next_for_item(void *fi_void, char_u *arg);
40void free_for_info(void *fi_void);
41void set_context_for_expression(expand_T *xp, char_u *arg, cmdidx_T cmdidx);
42void ex_call(exarg_T *eap);
43void ex_unlet(exarg_T *eap);
44void ex_lockvar(exarg_T *eap);
45int do_unlet(char_u *name, int forceit);
46void del_menutrans_vars(void);
47char_u *get_user_var_name(expand_T *xp, int idx);
48list_T *list_alloc(void);
49void list_unref(list_T *l);
50void list_free(list_T *l, int recurse);
51listitem_T *listitem_alloc(void);
52void listitem_free(listitem_T *item);
53void listitem_remove(list_T *l, listitem_T *item);
54dictitem_T *dict_lookup(hashitem_T *hi);
55listitem_T *list_find(list_T *l, long n);
56char_u *list_find_str(list_T *l, long idx);
57void list_append(list_T *l, listitem_T *item);
58int list_append_tv(list_T *l, typval_T *tv);
59int list_append_dict(list_T *list, dict_T *dict);
60int list_append_string(list_T *l, char_u *str, int len);
61int list_insert_tv(list_T *l, typval_T *tv, listitem_T *item);
62void list_insert(list_T *l, listitem_T *ni, listitem_T *item);
63void vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2);
64int garbage_collect(void);
65int set_ref_in_ht(hashtab_T *ht, int copyID, list_stack_T **list_stack);
66int set_ref_in_list(list_T *l, int copyID, ht_stack_T **ht_stack);
67int set_ref_in_item(typval_T *tv, int copyID, ht_stack_T **ht_stack, list_stack_T **list_stack);
68dict_T *dict_alloc(void);
69void dict_unref(dict_T *d);
70void dict_free(dict_T *d, int recurse);
71dictitem_T *dictitem_alloc(char_u *key);
72void dictitem_free(dictitem_T *item);
73int dict_add(dict_T *d, dictitem_T *item);
74int dict_add_nr_str(dict_T *d, char *key, long nr, char_u *str);
75int dict_add_list(dict_T *d, char *key, list_T *list);
76dictitem_T *dict_find(dict_T *d, char_u *key, int len);
77char_u *get_dict_string(dict_T *d, char_u *key, int save);
78long get_dict_number(dict_T *d, char_u *key);
79char_u *get_function_name(expand_T *xp, int idx);
80char_u *get_expr_name(expand_T *xp, int idx);
81int func_call(char_u *name, typval_T *args, dict_T *selfdict, typval_T *rettv);
82void dict_extend(dict_T *d1, dict_T *d2, char_u *action);
83void mzscheme_call_vim(char_u *name, typval_T *args, typval_T *rettv);
84float_T vim_round(float_T f);
85long do_searchpair(char_u *spat, char_u *mpat, char_u *epat, int dir, char_u *skip, int flags, pos_T *match_pos, linenr_T lnum_stop, long time_limit);
86void set_vim_var_nr(int idx, long val);
87long get_vim_var_nr(int idx);
88char_u *get_vim_var_str(int idx);
89list_T *get_vim_var_list(int idx);
90void set_vim_var_char(int c);
91void set_vcount(long count, long count1, int set_prevcount);
92void set_vim_var_string(int idx, char_u *val, int len);
93void set_vim_var_list(int idx, list_T *val);
94void set_vim_var_dict(int idx, dict_T *val);
95void set_reg_var(int c);
96char_u *v_exception(char_u *oldval);
97char_u *v_throwpoint(char_u *oldval);
98char_u *set_cmdarg(exarg_T *eap, char_u *oldarg);
99void free_tv(typval_T *varp);
100void clear_tv(typval_T *varp);
101long get_tv_number_chk(typval_T *varp, int *denote);
102char_u *get_tv_string_chk(typval_T *varp);
103char_u *get_var_value(char_u *name);
104void new_script_vars(scid_T id);
105void init_var_dict(dict_T *dict, dictitem_T *dict_var, int scope);
106void unref_var_dict(dict_T *dict);
107void vars_clear(hashtab_T *ht);
108void copy_tv(typval_T *from, typval_T *to);
109void ex_echo(exarg_T *eap);
110void ex_echohl(exarg_T *eap);
111void ex_execute(exarg_T *eap);
112void ex_function(exarg_T *eap);
113void free_all_functions(void);
114int translated_function_exists(char_u *name);
115char_u *get_expanded_name(char_u *name, int check);
116void func_dump_profile(FILE *fd);
117char_u *get_user_func_name(expand_T *xp, int idx);
118void ex_delfunction(exarg_T *eap);
119void func_unref(char_u *name);
120void func_ref(char_u *name);
121void ex_return(exarg_T *eap);
122int do_return(exarg_T *eap, int reanimate, int is_cmd, void *rettv);
123void discard_pending_return(void *rettv);
124char_u *get_return_cmd(void *rettv);
125char_u *get_func_line(int c, void *cookie, int indent);
126void func_line_start(void *cookie);
127void func_line_exec(void *cookie);
128void func_line_end(void *cookie);
129int func_has_ended(void *cookie);
130int func_has_abort(void *cookie);
131int read_viminfo_varlist(vir_T *virp, int writing);
132void write_viminfo_varlist(FILE *fp);
133int store_session_globals(FILE *fd);
134void last_set_msg(scid_T scriptID);
135void ex_oldfiles(exarg_T *eap);
136void reset_v_option_vars(void);
137int modify_fname(char_u *src, int *usedlen, char_u **fnamep, char_u **bufp, int *fnamelen);
138char_u *do_string_sub(char_u *str, char_u *pat, char_u *sub, char_u *flags);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000139/* vim: set ft=c : */