summaryrefslogtreecommitdiff
path: root/src/exec.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/exec.zig')
-rw-r--r--src/exec.zig6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/exec.zig b/src/exec.zig
index 8ddb9abd..92fb6244 100644
--- a/src/exec.zig
+++ b/src/exec.zig
@@ -968,6 +968,12 @@ pub fn executeBuiltinLine(p: *Pardes, id: usize, txt: []const u8) bool {
var renamed: [1024 + 16]u8 = undefined;
const cmd = for (acme_words) |w| {
if (!std.mem.eql(u8, raw[0..word_end], w.acme)) continue;
+ // Get in a directory pane, its tag or its text: the directory read
+ // again (Dir.zig), as acme's Get is in a directory window.
+ if (std.mem.eql(u8, w.acme, "Get")) if (p.panes[id]) |pane| if (pane.file) |f| if (f.listing != null) {
+ panes.Dir.show(p, id, id);
+ return true;
+ };
const now = w.pardes orelse {
var said: [128]u8 = undefined;
p.reportFailure(id, std.fmt.bufPrint(&said, "invalid: acme's {s} is not a pardes builtin{s}", .{ w.acme, w.hint }) catch "invalid: an acme word pardes has not");