authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2021-01-29 15:08:20 -08:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2021-01-29 15:08:20 -08:00
logde489cfd32a2a9bb00a0937b94e260079f0e478f
treeb139527a8306cee69faf8e8dbcae8efa5a5dea3f
parent31e2be3d40050b7dd24de7d96ea0c6463d111db6

main: add support for running subcommands


1 files changed, 15 insertions(+), 1 deletions(-)

src/main.zig+15-1
...@@ -37,5 +37,19 @@ pub fn main() !void {...@@ -37,5 +37,19 @@ pub fn main() !void {
37 return;37 return;
38 }38 }
39 }39 }
40 std.debug.panic("Error: unknown command \"{}\" for \"zigmod\"", .{args[0]});40
41 var sub_cmd_args = &std.ArrayList([]const u8).init(gpa);
42 try sub_cmd_args.append(try std.fmt.allocPrint(gpa, "zigmod-{}", .{args[0]}));
43 for (args[1..]) |item| {
44 try sub_cmd_args.append(item);
45 }
46 const result = std.ChildProcess.exec(.{ .allocator = gpa, .argv = sub_cmd_args.items, }) catch |e| switch(e) {
47 else => return e,
48 error.FileNotFound => {
49 u.assert(false, "unknown command \"{}\" for \"zigmod\"", .{args[0]});
50 unreachable;
51 },
52 };
53 try std.io.getStdOut().writeAll(result.stdout);
54 try std.io.getStdErr().writeAll(result.stderr);
41}55}