aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Progress.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/Progress.zig')
-rw-r--r--lib/std/Progress.zig15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/std/Progress.zig b/lib/std/Progress.zig
index 54b52d48af..8bd120dbd1 100644
--- a/lib/std/Progress.zig
+++ b/lib/std/Progress.zig
@@ -497,10 +497,17 @@ pub fn start(io: Io, options: Options) Node {
global_progress.terminal = stderr;
if (stderr.enableAnsiEscapeCodes(io)) |_| {
global_progress.terminal_mode = .ansi_escape_codes;
- } else |_| if (is_windows and stderr.isTty(io)) {
- global_progress.terminal_mode = TerminalMode{ .windows_api = .{
- .code_page = windows.kernel32.GetConsoleOutputCP(),
- } };
+ } else |_| if (is_windows) {
+ if (stderr.isTty(io)) {
+ global_progress.terminal_mode = TerminalMode{ .windows_api = .{
+ .code_page = windows.kernel32.GetConsoleOutputCP(),
+ } };
+ } else |err| switch (err) {
+ error.Canceled => {
+ // TODO: recancel here, or block cancelation for this function
+ return Node.none;
+ },
+ }
}
if (global_progress.terminal_mode == .off) {