summaryrefslogtreecommitdiff
path: root/src/cmd/echo.zig
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2025-08-16 12:50:23 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2025-08-16 12:50:23 +0200
commit9edc1338b92d1ead4c5f2fad8c0516037963f7b6 (patch)
tree64f3ed617771f9327bd49e3732adb9271e3559cc /src/cmd/echo.zig
parent754a74da6052c9f5e8dc4a536c58ccc11cb66369 (diff)
Unify output handling.
Now every command always uses an OutputWriter instead of conditionally writing directly to stdout using std.debug.print.
Diffstat (limited to 'src/cmd/echo.zig')
-rw-r--r--src/cmd/echo.zig22
1 files changed, 6 insertions, 16 deletions
diff --git a/src/cmd/echo.zig b/src/cmd/echo.zig
index 4f2731b..16a41eb 100644
--- a/src/cmd/echo.zig
+++ b/src/cmd/echo.zig
@@ -1,6 +1,5 @@
const std = @import("std");
const Allocator = std.mem.Allocator;
-const print = std.debug.print;
const types = @import("./lib/types.zig");
const CommandStatus = types.CommandStatus;
@@ -20,11 +19,8 @@ pub const EchoOn = struct {
_ = echo_on;
const output = "ECHO is on\n";
- if (ctx.output_capture) |capture| {
- try capture.write(output);
- } else {
- print("{s}", .{output});
- }
+ var writer = ctx.output_writer;
+ try writer.write(output);
return CommandStatus{ .Code = 0 };
}
};
@@ -34,11 +30,8 @@ pub const EchoPlain = struct {
_ = echo_plain;
const output = "ECHO is on\n";
- if (ctx.output_capture) |capture| {
- try capture.write(output);
- } else {
- print("{s}", .{output});
- }
+ var writer = ctx.output_writer;
+ try writer.write(output);
return CommandStatus{ .Code = 0 };
}
};
@@ -49,11 +42,8 @@ pub const EchoText = struct {
pub fn eval(echo_text: EchoText, ctx: CommandContext) !CommandStatus {
const output = try std.fmt.allocPrint(ctx.allocator, "{s}\n", .{echo_text.message});
defer ctx.allocator.free(output);
- if (ctx.output_capture) |capture| {
- try capture.write(output);
- } else {
- print("{s}", .{output});
- }
+ var writer = ctx.output_writer;
+ try writer.write(output);
return CommandStatus{ .Code = 0 };
}
};