Просмотр исходного кода

build: add the dumpArgs function

Use it in Zigling.compile, in order to reduce code duplication.
Manlio Perillo 2 лет назад
Родитель
Сommit
ea4144a416
1 измененных файлов с 10 добавлено и 10 удалено
  1. 10 10
      build.zig

+ 10 - 10
build.zig

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