Added ANSI colors for old terminals

This commit is contained in:
Eduard Urbach 2024-03-21 23:23:43 +01:00
parent 0e7bc76a0c
commit 082164c2a1
Signed by: akyoto
GPG Key ID: C874F672B1AF20C0
2 changed files with 8 additions and 5 deletions

View File

@ -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
}

View File

@ -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"