Skip to content

Commit a31ff07

Browse files
andrewrkVexu
authored andcommitted
stage2: make --color on affect progress bar too
Before, --color on would affect colored compile error printing but not affect terminal progress bar printing. It was intended for this option to affect both; now it does. This causes a failure when building the language reference, which contains code for parsing terminal output and rendering HTML. Now it must be expanded to handle 'K' and 'D' codes to simulate a terminal cursor moving, and the CI will fail until that capability is added in a later commit of this branch. I extracted this change from #13560 so that the idea is not lost but we can solve this issue separately.
1 parent 5bd69c6 commit a31ff07

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/Compilation.zig

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2356,7 +2356,16 @@ pub fn update(comp: *Compilation) !void {
23562356
var progress: std.Progress = .{ .dont_print_on_dumb = true };
23572357
const main_progress_node = progress.start("", 0);
23582358
defer main_progress_node.end();
2359-
if (comp.color == .off) progress.terminal = null;
2359+
switch (comp.color) {
2360+
.off => {
2361+
progress.terminal = null;
2362+
},
2363+
.on => {
2364+
progress.terminal = std.io.getStdErr();
2365+
progress.supports_ansi_escape_codes = true;
2366+
},
2367+
.auto => {},
2368+
}
23602369

23612370
try comp.performAllTheWork(main_progress_node);
23622371

0 commit comments

Comments
 (0)