pub fn parseCommand(comptime E: type, io: std.Io, args: *std.process.Args.Iterator, usage_message: []const u8) ?E {
const arg = args.next() orelse {
std.Io.File.stderr().writeStreamingAll(io, usage_message) catch {};
return null;
};
return std.meta.stringToEnum(E, arg) orelse {
std.Io.File.stderr().writeStreamingAll(io, usage_message) catch {};
return null;
};
}
I'm mostly concerned about the orelse expressions, doing catch {} seems odd, and returning null is also odd.