diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2016-03-12 14:02:04 +0100 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2016-03-12 14:02:04 +0100 |
| commit | 2bbcf715a18a2a27dc2beb30e3f644273d7e16a9 (patch) | |
| tree | 6b96898dd85e5a21eb085fbd31c97f1cc5d4cdd4 /vis.c | |
| parent | b9f04d851d17d404a842a4d8afe2156aef337283 (diff) | |
| download | vis-2bbcf715a18a2a27dc2beb30e3f644273d7e16a9.tar.gz vis-2bbcf715a18a2a27dc2beb30e3f644273d7e16a9.tar.xz | |
vis: overhaul search related code, support "/ register
Diffstat (limited to 'vis.c')
| -rw-r--r-- | vis.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -1112,6 +1112,20 @@ void vis_insert_nl(Vis *vis) { copy_indent_from_previous_line(vis->win); } +Regex *vis_regex(Vis *vis, const char *pattern) { + if (!pattern && !(pattern = register_get(vis, &vis->registers[VIS_REG_SEARCH], NULL))) + return NULL; + Regex *regex = text_regex_new(); + if (!regex) + return NULL; + if (text_regex_compile(regex, pattern, REG_EXTENDED|REG_NEWLINE) != 0) { + text_regex_free(regex); + return NULL; + } + register_put(vis, &vis->registers[VIS_REG_SEARCH], pattern, strlen(pattern)+1); + return regex; +} + Text *vis_text(Vis *vis) { return vis->win->file->text; } |
