/gocolor

Tiny cross-platform terminal color library

Primary LanguageGoApache License 2.0Apache-2.0

gocolor

TestWithReflection.png

A tiny cross-platform terminal color library that supports enabling and disabling colors.

Uses colors from https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences?redirectedfrom=MSDN#text-formatting

Tested on macOS and (occasionally) on Ubuntu 20 and Windows 10.

Usage

color, err := gocolor.Prepare(true)
if err != nil {
  panic(err)
}

fmt.Println(
  color.Add(color.FgRed, "FgRed"),
  color.Add(color.FgCyanBright+color.Negative, "FgCyanBright+Negative"),
)

See tests for inspiration.

I use mattn/go-isatty to test my programs before enabling this.

Inspirations