From 9edc1338b92d1ead4c5f2fad8c0516037963f7b6 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Sat, 16 Aug 2025 12:50:23 +0200 Subject: Unify output handling. Now every command always uses an OutputWriter instead of conditionally writing directly to stdout using std.debug.print. --- src/cmd/echo.zig | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) (limited to 'src/cmd/echo.zig') 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 }; } }; -- cgit v1.2.1