From 71a9f04342493325c10b1b9bc122a88d41143782 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Sun, 27 Sep 2026 22:46:26 -0300 Subject: Give the pipe its own fields in Pipe Not a pure move: state moves. Pardes's `pipe_seq` and `pipe_wait` become Pipe.zig's own fields `seq` and `wait`, and Pardes embeds one as `pipe: Pipe = .{}`. pipeRequest reads only the request in flight, so it now takes `pipe: *const Pipe` and the four shells call `core.pipe.pipeRequest(id)` (their Pipe imports go away again); the other pipe functions still need the panes and keep `p: *Pardes`, writing `p.pipe.seq/wait`. Field reads in dump.zig, the shells' tests and two test files follow (`core.pipe_wait` becomes `core.pipe.wait`). No behaviour change. Co-Authored-By: Claude Opus 5.5 --- test/panes.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/panes.zig') diff --git a/test/panes.zig b/test/panes.zig index 1c861070..60dabb8a 100644 --- a/test/panes.zig +++ b/test/panes.zig @@ -1749,7 +1749,7 @@ test "tag prompt owns the pipe behavior through cancellation and submission" { try std.testing.expectEqual(how, pane.prompt.pipe.how); p.update(.{ .key = .{ .cp = 'c', .text = "cat" } }); p.update(.{ .key = .{ .cp = Key.enter } }); - const pending = p.pipe_wait orelse return error.MissingPipe; + const pending = p.pipe.wait orelse return error.MissingPipe; try std.testing.expectEqual(how, pending.how); try std.testing.expectEqualStrings("cat", pending.command); try std.testing.expectEqual(@as(usize, 1), pending.inputs.len); -- cgit v1.3