diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2015-05-15 23:44:24 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2015-05-17 12:48:03 +0200 |
| commit | 11129f3f47b6481621a2705847af68b7cea3bb3e (patch) | |
| tree | d8dbad19217c4ffa8f24c74c2ae7e558265fdefc | |
| parent | c651f730bcf60b3c963e21203221cc98990afc28 (diff) | |
| download | vis-11129f3f47b6481621a2705847af68b7cea3bb3e.tar.gz vis-11129f3f47b6481621a2705847af68b7cea3bb3e.tar.xz | |
Implement :substitute by invoking sed as a filter
| -rw-r--r-- | vis.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -1560,8 +1560,11 @@ static bool cmd_read(Filerange *range, enum CmdOpt opt, const char *argv[]) { } static bool cmd_substitute(Filerange *range, enum CmdOpt opt, const char *argv[]) { - // TODO - return true; + char pattern[255]; + if (!text_range_valid(range)) + range = &(Filerange){ .start = 0, .end = text_size(vis->win->file->text) }; + snprintf(pattern, sizeof pattern, "s%s", argv[1]); + return cmd_filter(range, opt, (const char*[]){ argv[0], "sed", pattern, NULL}); } static bool openfiles(const char **files) { |
