diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-12-05 16:27:20 -0700 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2023-01-03 13:46:47 +0200 |
| commit | a31ff072d18a170d427d97a1e7fa1a5afe3b27bf (patch) | |
| tree | 6b4f56393bdc77370d59d608a8ae504a16a509c8 | |
| parent | 5bd69c655d9e04102c8a64ced1215c9d69f4f03f (diff) | |
| download | zig-a31ff072d18a170d427d97a1e7fa1a5afe3b27bf.tar.gz zig-a31ff072d18a170d427d97a1e7fa1a5afe3b27bf.zip | |
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.
| -rw-r--r-- | src/Compilation.zig | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig index 4c7489c0c8..b1fdf0755b 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -2356,7 +2356,16 @@ pub fn update(comp: *Compilation) !void { var progress: std.Progress = .{ .dont_print_on_dumb = true }; const main_progress_node = progress.start("", 0); defer main_progress_node.end(); - if (comp.color == .off) progress.terminal = null; + switch (comp.color) { + .off => { + progress.terminal = null; + }, + .on => { + progress.terminal = std.io.getStdErr(); + progress.supports_ansi_escape_codes = true; + }, + .auto => {}, + } try comp.performAllTheWork(main_progress_node); |
