From a1f01419e2e6e5d637ec7afa31c0a1d95e0ea923 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sat, 11 Dec 2021 15:35:01 +0100 Subject: [PATCH] tlog: respect NO_COLOR Fixes https://github.com/rfjakob/gocryptfs/issues/617 --- Documentation/MANPAGE.md | 7 +++++++ internal/tlog/log.go | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Documentation/MANPAGE.md b/Documentation/MANPAGE.md index 503d145..25434c9 100644 --- a/Documentation/MANPAGE.md +++ b/Documentation/MANPAGE.md @@ -673,6 +673,13 @@ the `-nofail` option for details). /tmp/cipher /tmp/plain fuse./usr/local/bin/gocryptfs nofail,allow_other,passfile=/tmp/password 0 0 +ENVIRONMENT VARIABLES +===================== + +### NO_COLOR + +If `NO_COLOR` is set (regardless of value), colored output is disabled (see https://no-color.org/). + EXIT CODES ========== diff --git a/internal/tlog/log.go b/internal/tlog/log.go index 5535ef3..3f27539 100644 --- a/internal/tlog/log.go +++ b/internal/tlog/log.go @@ -106,7 +106,9 @@ var Warn *toggledLogger var Fatal *toggledLogger func init() { - if term.IsTerminal(int(os.Stdout.Fd())) { + // Enable color output if we are connected to a terminal and NO_COLOR is + // unset ( https://no-color.org/ ). + if _, nocolor := os.LookupEnv("NO_COLOR"); !nocolor && term.IsTerminal(int(os.Stdout.Fd())) { ColorReset = "\033[0m" ColorGrey = "\033[2m" ColorRed = "\033[31m"