summaryrefslogtreecommitdiff
path: root/src/exec.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 22:17:49 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit4793520998969439bb569c968c3143ae46aefc66 (patch)
tree2777799bd5f2cad34c3305b5ff50e2710040836c /src/exec.zig
parent754ffc99799c3a251634c1eff9a16eabbd73b31c (diff)
downloadpardes-4793520998969439bb569c968c3143ae46aefc66.tar.gz
pardes-4793520998969439bb569c968c3143ae46aefc66.zip
A pane's question is logged as ask, and answer on its ctl answers it
A script could not answer the several-REPLs question, which only a key could. Every question a pane asks on its notice band (which REPL takes an exec, Del's side from the keyboard) is now logged as `ask <serial> <what> <choices>`, and `answer <choice>` on the pane's ctl answers it as that key would, `answer -` taking it back as Esc does. One function answers for a key and for the ctl. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/exec.zig')
-rw-r--r--src/exec.zig5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/exec.zig b/src/exec.zig
index 0c0930e2..2611162b 100644
--- a/src/exec.zig
+++ b/src/exec.zig
@@ -461,6 +461,11 @@ fn routeToRepl(p: *Pardes, from: usize, text: []const u8) Routed {
src.question_len = @intCast(w.buffered().len);
src.prompt = .repl_choice;
p.active = from;
+ var rec: [96]u8 = undefined;
+ var rw = std.Io.Writer.fixed(&rec);
+ rw.print("{d} repl", .{src.serial}) catch {};
+ for (bound[0..n]) |i| rw.print(" {c}", .{p.panes[i].?.repl.?.letter}) catch {};
+ pardes.ctlfs.events.notePath(p, "ask", rw.buffered());
return .asked;
}