aboutsummaryrefslogtreecommitdiff
path: root/sam.c
diff options
context:
space:
mode:
Diffstat (limited to 'sam.c')
-rw-r--r--sam.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/sam.c b/sam.c
index c2d1b8c..eac4813 100644
--- a/sam.c
+++ b/sam.c
@@ -964,7 +964,19 @@ static bool cmd_write(Vis *vis, Win *win, Command *cmd, Filerange *range) {
}
static bool cmd_read(Vis *vis, Win *win, Command *cmd, Filerange *range) {
- return false;
+
+ bool ret = false;
+ Buffer buf;
+ buffer_init(&buf);
+
+ if (!buffer_put0(&buf, "cat ") || !buffer_append0(&buf, cmd->text))
+ goto out;
+
+ Command pipe_cmd = { .text = buf.data }; // FIXME
+ ret = cmd_pipein(vis, win, &pipe_cmd, range);
+out:
+ buffer_release(&buf);
+ return ret;
}
static ssize_t read_stdout(void *context, char *data, size_t len) {