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