Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | /* regexp.c */ |
Paul Ollis | 6574577 | 2022-06-05 16:55:54 +0100 | [diff] [blame] | 2 | void init_regexp_timeout(long msec); |
| 3 | void disable_regexp_timeout(void); |
Bram Moolenaar | 9781d9c | 2022-09-20 13:51:25 +0100 | [diff] [blame] | 4 | void save_timeout_for_debugging(void); |
| 5 | void restore_timeout_for_debugging(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 6 | int re_multiline(regprog_T *prog); |
Bram Moolenaar | 2c5ed4e | 2020-04-20 19:42:10 +0200 | [diff] [blame] | 7 | char_u *skip_regexp(char_u *startp, int delim, int magic); |
| 8 | char_u *skip_regexp_err(char_u *startp, int delim, int magic); |
Bram Moolenaar | d93a7fc | 2021-01-04 12:42:13 +0100 | [diff] [blame] | 9 | char_u *skip_regexp_ex(char_u *startp, int dirc, int magic, char_u **newp, int *dropped, magic_T *magic_val); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 10 | reg_extmatch_T *ref_extmatch(reg_extmatch_T *em); |
| 11 | void unref_extmatch(reg_extmatch_T *em); |
| 12 | char_u *regtilde(char_u *source, int magic); |
Bram Moolenaar | 4aaf3e7 | 2022-05-30 20:58:55 +0100 | [diff] [blame] | 13 | int vim_regsub(regmatch_T *rmp, char_u *source, typval_T *expr, char_u *dest, int destlen, int flags); |
| 14 | int vim_regsub_multi(regmmatch_T *rmp, linenr_T lnum, char_u *source, char_u *dest, int destlen, int flags); |
Bram Moolenaar | 44ddf19 | 2022-06-21 22:15:25 +0100 | [diff] [blame] | 15 | void free_resub_eval_result(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 16 | char_u *reg_submatch(int no); |
| 17 | list_T *reg_submatch_list(int no); |
Bram Moolenaar | b0745b2 | 2019-11-09 22:28:11 +0100 | [diff] [blame] | 18 | int vim_regcomp_had_eol(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 19 | regprog_T *vim_regcomp(char_u *expr_arg, int re_flags); |
| 20 | void vim_regfree(regprog_T *prog); |
Bram Moolenaar | b0745b2 | 2019-11-09 22:28:11 +0100 | [diff] [blame] | 21 | void free_regexp_stuff(void); |
Bram Moolenaar | a8bfa17 | 2018-12-29 22:28:46 +0100 | [diff] [blame] | 22 | int regprog_in_use(regprog_T *prog); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 23 | int vim_regexec_prog(regprog_T **prog, int ignore_case, char_u *line, colnr_T col); |
| 24 | int vim_regexec(regmatch_T *rmp, char_u *line, colnr_T col); |
| 25 | int vim_regexec_nl(regmatch_T *rmp, char_u *line, colnr_T col); |
Paul Ollis | 6574577 | 2022-06-05 16:55:54 +0100 | [diff] [blame] | 26 | long vim_regexec_multi(regmmatch_T *rmp, win_T *win, buf_T *buf, linenr_T lnum, colnr_T col, int *timed_out); |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 27 | /* vim: set ft=c : */ |