From ef62452363de75240b21299e9f80b4851433faaa Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Tue, 22 Oct 2019 23:21:16 -0600 Subject: [PATCH] Handle TERM=dumb for stdout/stderr --- lib/std/fs/file.zig | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/std/fs/file.zig b/lib/std/fs/file.zig index a9212d69d4..44992ff47d 100644 --- a/lib/std/fs/file.zig +++ b/lib/std/fs/file.zig @@ -177,7 +177,17 @@ pub const File = struct { if (windows.is_the_target) { return os.isCygwinPty(self.handle); } - return self.isTty(); + if (self.isTty()) { + if (self.handle == os.STDOUT_FILENO or self.handle == os.STDERR_FILENO) { + // Use getenvC to workaround https://github.com/ziglang/zig/issues/3511 + if (os.getenvC(c"TERM")) |term| { + if (std.mem.eql(u8, term, "dumb")) + return false; + } + } + return true; + } + return false; } pub const SeekError = os.SeekError;