diff options
author | Manlio Perillo <manlio.perillo@gmail.com> | 2023-05-22 11:44:52 +0200 |
---|---|---|
committer | Manlio Perillo <manlio.perillo@gmail.com> | 2023-05-22 11:49:46 +0200 |
commit | 0b4ad6e99e48a2e71a8361f14ba6ffcdfcccc51b (patch) | |
tree | 8888e0f57b4859a16b1a08e027fcfcbeedef5763 /build.zig | |
parent | 3e38a4fc844e572ee0a8b5cb61558763de0f2157 (diff) |
build: use the old color style
In the `Zigling.printError` method, use a bold red color for the "error:"
string and a dim red color for the error message.
In the `Zigling.check_output` method, use the old color style.
Diffstat (limited to 'build.zig')
-rw-r--r-- | build.zig | 22 |
1 files changed, 17 insertions, 5 deletions
@@ -119,6 +119,8 @@ pub fn build(b: *Build) !void { if (use_color_escapes) { red_text = "\x1b[31m"; + red_bold_text = "\x1b[31;1m"; + red_dim_text = "\x1b[31;2m"; green_text = "\x1b[32m"; bold_text = "\x1b[1m"; reset_text = "\x1b[0m"; @@ -184,6 +186,8 @@ pub fn build(b: *Build) !void { var use_color_escapes = false; var red_text: []const u8 = ""; +var red_bold_text: []const u8 = ""; +var red_dim_text: []const u8 = ""; var green_text: []const u8 = ""; var bold_text: []const u8 = ""; var reset_text: []const u8 = ""; @@ -307,14 +311,20 @@ const ZiglingStep = struct { const output = trimLines(b.allocator, raw_output) catch @panic("OOM"); const exercise_output = self.exercise.output; if (!std.mem.eql(u8, output, self.exercise.output)) { + const red = red_dim_text; + const reset = reset_text; + + // Override the coloring applied by the printError method. + // NOTE: the first red and the last reset are not necessary, they + // are here only for alignment. return self.step.fail( \\ - \\========= expected this output: ========== + \\{s}========= expected this output: =========={s} \\{s} - \\========= but found: ===================== + \\{s}========= but found: ====================={s} \\{s} - \\========================================== - , .{ exercise_output, output }); + \\{s}=========================================={s} + , .{ red, reset, exercise_output, red, reset, output, red, reset }); } print("{s}PASSED:\n{s}{s}\n\n", .{ green_text, output, reset_text }); @@ -395,7 +405,9 @@ const ZiglingStep = struct { // Display error/warning messages. if (self.step.result_error_msgs.items.len > 0) { for (self.step.result_error_msgs.items) |msg| { - print("{s}error: {s}{s}\n", .{ red_text, reset_text, msg }); + print("{s}error: {s}{s}{s}{s}\n", .{ + red_bold_text, reset_text, red_dim_text, msg, reset_text, + }); } } |