build: add the dumpArgs function

Use it in Zigling.compile, in order to reduce code duplication.
This commit is contained in:
Manlio Perillo 2023-05-08 18:11:29 +02:00
parent 9de89f6d60
commit ea4144a416

View file

@ -388,37 +388,32 @@ const ZiglingStep = struct {
print("{s}{s}: Unable to spawn the following command: file not found{s}\n", .{
red_text, self.exercise.main_file, reset_text,
});
for (argv) |v| print("{s} ", .{v});
print("\n", .{});
dumpArgs(argv);
},
error.ExitCodeFailure => {
print("{s}{s}: The following command exited with error code {}:{s}\n", .{
red_text, self.exercise.main_file, code, reset_text,
});
for (argv) |v| print("{s} ", .{v});
print("\n", .{});
dumpArgs(argv);
},
error.ProcessTerminated => {
print("{s}{s}: The following command terminated unexpectedly:{s}\n", .{
red_text, self.exercise.main_file, reset_text,
});
for (argv) |v| print("{s} ", .{v});
print("\n", .{});
dumpArgs(argv);
},
error.ZigIPCError => {
// Commenting this out for now. It always shows up when compilation fails.
//print("{s}{s}: The following command failed to communicate the compilation result:{s}\n", .{
// red_text, self.exercise.main_file, reset_text,
//});
//for (argv) |v| print("{s} ", .{v});
//print("\n", .{});
//dumpArgs(argv);
},
else => {
print("{s}{s}: Unexpected error: {s}{s}\n", .{
red_text, self.exercise.main_file, @errorName(err), reset_text,
});
for (argv) |v| print("{s} ", .{v});
print("\n", .{});
dumpArgs(argv);
},
}
@ -568,6 +563,11 @@ const ZiglingStep = struct {
}
};
fn dumpArgs(args: []const []const u8) void {
for (args) |arg| print("{s} ", .{arg});
print("\n", .{});
}
/// Clears the entire line and move the cursor to column zero.
/// Used for clearing the compiler and build_runner progress messages.
fn resetLine() void {