From 11129f3f47b6481621a2705847af68b7cea3bb3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Fri, 15 May 2015 23:44:24 +0200 Subject: Implement :substitute by invoking sed as a filter --- vis.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'vis.c') diff --git a/vis.c b/vis.c index 6998f5e..a554081 100644 --- a/vis.c +++ b/vis.c @@ -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) { -- cgit v1.2.3