aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Unterwurzacher2021-12-11 15:35:01 +0100
committerJakob Unterwurzacher2021-12-11 15:35:01 +0100
commita1f01419e2e6e5d637ec7afa31c0a1d95e0ea923 (patch)
treeb48af93936aef85a88fbfe95bd60459d8f8811b4
parentbd1ecf537983ee5207e78f9bcd6a6ae50c1b4c62 (diff)
tlog: respect NO_COLOR
Fixes https://github.com/rfjakob/gocryptfs/issues/617
-rw-r--r--Documentation/MANPAGE.md7
-rw-r--r--internal/tlog/log.go4
2 files changed, 10 insertions, 1 deletions
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"