blob: ffd5a07783adb402541b57d366394ef4557c0199 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* regexp.c */
Paul Ollis65745772022-06-05 16:55:54 +01002void init_regexp_timeout(long msec);
3void disable_regexp_timeout(void);
Bram Moolenaar9781d9c2022-09-20 13:51:25 +01004void save_timeout_for_debugging(void);
5void restore_timeout_for_debugging(void);
Bram Moolenaaref269542016-01-19 13:22:12 +01006int re_multiline(regprog_T *prog);
Bram Moolenaar2c5ed4e2020-04-20 19:42:10 +02007char_u *skip_regexp(char_u *startp, int delim, int magic);
8char_u *skip_regexp_err(char_u *startp, int delim, int magic);
Bram Moolenaard93a7fc2021-01-04 12:42:13 +01009char_u *skip_regexp_ex(char_u *startp, int dirc, int magic, char_u **newp, int *dropped, magic_T *magic_val);
Bram Moolenaaref269542016-01-19 13:22:12 +010010reg_extmatch_T *ref_extmatch(reg_extmatch_T *em);
11void unref_extmatch(reg_extmatch_T *em);
12char_u *regtilde(char_u *source, int magic);
Bram Moolenaar4aaf3e72022-05-30 20:58:55 +010013int vim_regsub(regmatch_T *rmp, char_u *source, typval_T *expr, char_u *dest, int destlen, int flags);
14int vim_regsub_multi(regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int destlen, int flags);
Bram Moolenaar44ddf192022-06-21 22:15:25 +010015void free_resub_eval_result(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010016char_u *reg_submatch(int no);
17list_T *reg_submatch_list(int no);
Bram Moolenaarb0745b22019-11-09 22:28:11 +010018int vim_regcomp_had_eol(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010019regprog_T *vim_regcomp(char_u *expr_arg, int re_flags);
20void vim_regfree(regprog_T *prog);
Bram Moolenaarb0745b22019-11-09 22:28:11 +010021void free_regexp_stuff(void);
Bram Moolenaara8bfa172018-12-29 22:28:46 +010022int regprog_in_use(regprog_T *prog);
Bram Moolenaaref269542016-01-19 13:22:12 +010023int vim_regexec_prog(regprog_T **prog, int ignore_case, char_u *line, colnr_T col);
24int vim_regexec(regmatch_T *rmp, char_u *line, colnr_T col);
25int vim_regexec_nl(regmatch_T *rmp, char_u *line, colnr_T col);
Paul Ollis65745772022-06-05 16:55:54 +010026long vim_regexec_multi(regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, int *timed_out);
Bram Moolenaar071d4272004-06-13 20:20:40 +000027/* vim: set ft=c : */