From 082164c2a1d58d85606341a1084fbdccba3041ff Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Thu, 21 Mar 2024 23:23:43 +0100 Subject: [PATCH] Added ANSI colors for old terminals --- Color.go | 6 +++--- Terminal.go | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Color.go b/Color.go index 85be94c..cb83a0a 100644 --- a/Color.go +++ b/Color.go @@ -13,7 +13,7 @@ type Color struct { // Print writes the text in the given color to standard output. func (c Color) Print(args ...any) { - if !Terminal { + if !Terminal || !TrueColor { fmt.Print(args...) return } @@ -23,7 +23,7 @@ func (c Color) Print(args ...any) { // Printf formats according to a format specifier and writes the text in the given color to standard output. func (c Color) Printf(format string, args ...any) { - if !Terminal { + if !Terminal || !TrueColor { fmt.Printf(format, args...) return } @@ -33,7 +33,7 @@ func (c Color) Printf(format string, args ...any) { // Println writes the text in the given color to standard output and appends a newline. func (c Color) Println(args ...any) { - if !Terminal { + if !Terminal || !TrueColor { fmt.Println(args...) return } diff --git a/Terminal.go b/Terminal.go index e6573d5..d36d963 100644 --- a/Terminal.go +++ b/Terminal.go @@ -6,5 +6,8 @@ import ( "git.akyoto.dev/go/color/tty" ) -// Terminal is a boolean that indicates if we're in a terminal with truecolor support. -var Terminal = tty.IsTerminal(os.Stdout.Fd()) && os.Getenv("COLORTERM") == "truecolor" +// Terminal indicates if we're in a terminal with truecolor support. +var Terminal = tty.IsTerminal(os.Stdout.Fd()) + +// TrueColor indicates if the terminal has 24-bit color support. +var TrueColor = os.Getenv("COLORTERM") == "truecolor"