From f1c4db2fdb58c85bba9d9d0bb5938064fe5fda8e Mon Sep 17 00:00:00 2001 From: Ethan Holz Date: Sun, 24 Dec 2023 09:36:53 -0700 Subject: [PATCH] feat: added selective JSON output --- src/main.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main.zig b/src/main.zig index 4caa0be..760a6df 100644 --- a/src/main.zig +++ b/src/main.zig @@ -19,6 +19,7 @@ const Args = struct { runs: u64 = 100, fileName: string = "", output: string = "times.csv", + json: bool = false, pub fn parseArgs(argsList: [][:0]u8) !Args { var args = Args{}; @@ -32,6 +33,7 @@ const Args = struct { if (strings.equals(arg, "-o")) { args.output = @as(string, argsList[idx + 1]); } + if (strings.equals(arg, "--json")) args.json = true; if (strings.equals(arg, "-h")) { std.debug.print("Usage: exe -r -f -o \n", .{}); std.os.exit(0); @@ -62,7 +64,11 @@ pub fn main() !void { defer atoms.deinit(); const writer = std.io.getStdOut().writer(); for (atoms.items) |*atom| { - try writer.print("{json}\n", .{atom}); + if (parsedArgs.json) { + try writer.print("{json}\n", .{atom}); + } else { + try writer.print("{}\n", .{atom}); + } atom.free(allocator); } std.os.exit(0); -- 2.51.2