From de489cfd32a2a9bb00a0937b94e260079f0e478f Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Fri, 29 Jan 2021 15:08:20 -0800 Subject: [PATCH] main: add support for running subcommands --- src/main.zig | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main.zig b/src/main.zig index e2d0d9ec97255c275f79f12f0684f0b3daf6902d..6cd85e74b466c5a4b8844a5ba436fcef1abba3c6 100644 --- a/src/main.zig +++ b/src/main.zig @@ -37,5 +37,19 @@ pub fn main() !void { return; } } - std.debug.panic("Error: unknown command \"{}\" for \"zigmod\"", .{args[0]}); + + var sub_cmd_args = &std.ArrayList([]const u8).init(gpa); + try sub_cmd_args.append(try std.fmt.allocPrint(gpa, "zigmod-{}", .{args[0]})); + for (args[1..]) |item| { + try sub_cmd_args.append(item); + } + const result = std.ChildProcess.exec(.{ .allocator = gpa, .argv = sub_cmd_args.items, }) catch |e| switch(e) { + else => return e, + error.FileNotFound => { + u.assert(false, "unknown command \"{}\" for \"zigmod\"", .{args[0]}); + unreachable; + }, + }; + try std.io.getStdOut().writeAll(result.stdout); + try std.io.getStdErr().writeAll(result.stderr); } -- 2.54.0