summaryrefslogtreecommitdiff
path: root/src/eval.zig
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2025-08-16 13:02:47 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2025-08-16 13:02:47 +0200
commit3e53d3ae08d41b21d9edcd0f9bbd9e0edbdfb138 (patch)
tree613aafbc1bfd848d739a60452199fbed28e877b6 /src/eval.zig
parent9edc1338b92d1ead4c5f2fad8c0516037963f7b6 (diff)
Unify input handling.
Diffstat (limited to 'src/eval.zig')
-rw-r--r--src/eval.zig10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/eval.zig b/src/eval.zig
index 3381302..1b9858e 100644
--- a/src/eval.zig
+++ b/src/eval.zig
@@ -28,6 +28,8 @@ const OutputCapture = cmdTypes.OutputCapture;
const StdoutOutputCapture = cmdTypes.StdoutOutputCapture;
const OutputWriter = cmdTypes.OutputWriter;
const InputSource = cmdTypes.InputSource;
+const StdinInputReader = cmdTypes.StdinInputReader;
+const InputReader = cmdTypes.InputReader;
const CommandContext = cmdTypes.CommandContext;
const STDOUT_BUFFER_SIZE: usize = 1024;
@@ -44,7 +46,13 @@ pub fn executeCommandWithOutput(command: Command, allocator: Allocator, output_c
else
OutputWriter{ .stdout = &stdout_capture };
- const ctx = CommandContext.init(allocator, output_writer, input_source, executeCommandWithOutput);
+ var stdin_reader = StdinInputReader{};
+ const input_reader = if (input_source) |source|
+ InputReader{ .source = source }
+ else
+ InputReader{ .stdin = &stdin_reader };
+
+ const ctx = CommandContext.init(allocator, output_writer, input_reader, executeCommandWithOutput);
switch (command) {
.Empty => return CommandStatus{ .Code = 0 },