var ( // NoColor defines if the output is colorized or not. It's dynamically set to // false or true based on the stdout's file descriptor referring to a terminal // or not. It's also set to true if the NO_COLOR environment variable is // set (regardless of its value). This is a global option and affects all // colors. For more control over each color block use the methods // DisableColor() individually. NoColor = noColorIsSet() || os.Getenv("TERM") == "dumb" || (!isatty.IsTerminal(os.Stdout.Fd()) && !isatty.IsCygwinTerminal(os.Stdout.Fd())) // Output defines the standard output of the print functions. By default, // os.Stdout is used. Output = colorable.NewColorableStdout() // Error defines a color supporting writer for os.Stderr. Error = colorable.NewColorableStderr() )
func Black(format string, a ...interface{})
Black is a convenient helper function to print with black foreground. A newline is appended to format by default.
func BlackString(format string, a ...interface{}) string
BlackString is a convenient helper function to return a string with black foreground.
func Blue(format string, a ...interface{})
Blue is a convenient helper function to print with blue foreground. A newline is appended to format by default.
func BlueString(format string, a ...interface{}) string
BlueString is a convenient helper function to return a string with blue foreground.
func Cyan(format string, a ...interface{})
Cyan is a convenient helper function to print with cyan foreground. A newline is appended to format by default.
func CyanString(format string, a ...interface{}) string
CyanString is a convenient helper function to return a string with cyan foreground.
func Green(format string, a ...interface{})
Green is a convenient helper function to print with green foreground. A newline is appended to format by default.
func GreenString(format string, a ...interface{}) string
GreenString is a convenient helper function to return a string with green foreground.
func HiBlack(format string, a ...interface{})
HiBlack is a convenient helper function to print with hi-intensity black foreground. A newline is appended to format by default.
func HiBlackString(format string, a ...interface{}) string
HiBlackString is a convenient helper function to return a string with hi-intensity black foreground.
func HiBlue(format string, a ...interface{})
HiBlue is a convenient helper function to print with hi-intensity blue foreground. A newline is appended to format by default.
func HiBlueString(format string, a ...interface{}) string
HiBlueString is a convenient helper function to return a string with hi-intensity blue foreground.
func HiCyan(format string, a ...interface{})
HiCyan is a convenient helper function to print with hi-intensity cyan foreground. A newline is appended to format by default.
func HiCyanString(format string, a ...interface{}) string
HiCyanString is a convenient helper function to return a string with hi-intensity cyan foreground.
func HiGreen(format string, a ...interface{})
HiGreen is a convenient helper function to print with hi-intensity green foreground. A newline is appended to format by default.
func HiGreenString(format string, a ...interface{}) string
HiGreenString is a convenient helper function to return a string with hi-intensity green foreground.
func HiMagenta(format string, a ...interface{})
HiMagenta is a convenient helper function to print with hi-intensity magenta foreground. A newline is appended to format by default.
func HiMagentaString(format string, a ...interface{}) string
HiMagentaString is a convenient helper function to return a string with hi-intensity magenta foreground.
func HiRed(format string, a ...interface{})
HiRed is a convenient helper function to print with hi-intensity red foreground. A newline is appended to format by default.
func HiRedString(format string, a ...interface{}) string
HiRedString is a convenient helper function to return a string with hi-intensity red foreground.
func HiWhite(format string, a ...interface{})
HiWhite is a convenient helper function to print with hi-intensity white foreground. A newline is appended to format by default.
func HiWhiteString(format string, a ...interface{}) string
HiWhiteString is a convenient helper function to return a string with hi-intensity white foreground.
func HiYellow(format string, a ...interface{})
HiYellow is a convenient helper function to print with hi-intensity yellow foreground. A newline is appended to format by default.
func HiYellowString(format string, a ...interface{}) string
HiYellowString is a convenient helper function to return a string with hi-intensity yellow foreground.
func Magenta(format string, a ...interface{})
Magenta is a convenient helper function to print with magenta foreground. A newline is appended to format by default.
func MagentaString(format string, a ...interface{}) string
MagentaString is a convenient helper function to return a string with magenta foreground.
func Red(format string, a ...interface{})
Red is a convenient helper function to print with red foreground. A newline is appended to format by default.
func RedString(format string, a ...interface{}) string
RedString is a convenient helper function to return a string with red foreground.
func Unset()
Unset resets all escape attributes and clears the output. Usually should be called after Set().
func White(format string, a ...interface{})
White is a convenient helper function to print with white foreground. A newline is appended to format by default.
func WhiteString(format string, a ...interface{}) string
WhiteString is a convenient helper function to return a string with white foreground.
func Yellow(format string, a ...interface{})
Yellow is a convenient helper function to print with yellow foreground. A newline is appended to format by default.
func YellowString(format string, a ...interface{}) string
YellowString is a convenient helper function to return a string with yellow foreground.
Attribute defines a single SGR Code
type Attribute int
Base attributes
const ( Reset Attribute = iota Bold Faint Italic Underline BlinkSlow BlinkRapid ReverseVideo Concealed CrossedOut )
const ( ResetBold Attribute = iota + 22 ResetItalic ResetUnderline ResetBlinking ResetReversed ResetConcealed ResetCrossedOut )
Foreground text colors
const ( FgBlack Attribute = iota + 30 FgRed FgGreen FgYellow FgBlue FgMagenta FgCyan FgWhite )
Foreground Hi-Intensity text colors
const ( FgHiBlack Attribute = iota + 90 FgHiRed FgHiGreen FgHiYellow FgHiBlue FgHiMagenta FgHiCyan FgHiWhite )
Background text colors
const ( BgBlack Attribute = iota + 40 BgRed BgGreen BgYellow BgBlue BgMagenta BgCyan BgWhite )
Background Hi-Intensity text colors
const ( BgHiBlack Attribute = iota + 100 BgHiRed BgHiGreen BgHiYellow BgHiBlue BgHiMagenta BgHiCyan BgHiWhite )
Color defines a custom color object which is defined by SGR parameters.
type Color struct {
// contains filtered or unexported fields
}
func New(value ...Attribute) *Color
New returns a newly created color object.
func Set(p ...Attribute) *Color
Set sets the given parameters immediately. It will change the color of output with the given SGR parameters until color.Unset() is called.
func (c *Color) Add(value ...Attribute) *Color
Add is used to chain SGR parameters. Use as many as parameters to combine and create custom color objects. Example: Add(color.FgRed, color.Underline).
func (c *Color) DisableColor()
DisableColor disables the color output. Useful to not change any existing code and still being able to output. Can be used for flags like "--no-color". To enable back use EnableColor() method.
func (c *Color) EnableColor()
EnableColor enables the color output. Use it in conjunction with DisableColor(). Otherwise, this method has no side effects.
func (c *Color) Equals(c2 *Color) bool
Equals returns a boolean value indicating whether two colors are equal.
func (c *Color) Fprint(w io.Writer, a ...interface{}) (n int, err error)
Fprint formats using the default formats for its operands and writes to w. Spaces are added between operands when neither is a string. It returns the number of bytes written and any write error encountered. On Windows, users should wrap w with colorable.NewColorable() if w is of type *os.File.
func (c *Color) FprintFunc() func(w io.Writer, a ...interface{})
FprintFunc returns a new function that prints the passed arguments as colorized with color.Fprint().
func (c *Color) Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
Fprintf formats according to a format specifier and writes to w. It returns the number of bytes written and any write error encountered. On Windows, users should wrap w with colorable.NewColorable() if w is of type *os.File.
func (c *Color) FprintfFunc() func(w io.Writer, format string, a ...interface{})
FprintfFunc returns a new function that prints the passed arguments as colorized with color.Fprintf().
func (c *Color) Fprintln(w io.Writer, a ...interface{}) (n int, err error)
Fprintln formats using the default formats for its operands and writes to w. Spaces are always added between operands and a newline is appended. On Windows, users should wrap w with colorable.NewColorable() if w is of type *os.File.
func (c *Color) FprintlnFunc() func(w io.Writer, a ...interface{})
FprintlnFunc returns a new function that prints the passed arguments as colorized with color.Fprintln().
func (c *Color) Print(a ...interface{}) (n int, err error)
Print formats using the default formats for its operands and writes to standard output. Spaces are added between operands when neither is a string. It returns the number of bytes written and any write error encountered. This is the standard fmt.Print() method wrapped with the given color.
func (c *Color) PrintFunc() func(a ...interface{})
PrintFunc returns a new function that prints the passed arguments as colorized with color.Print().
func (c *Color) Printf(format string, a ...interface{}) (n int, err error)
Printf formats according to a format specifier and writes to standard output. It returns the number of bytes written and any write error encountered. This is the standard fmt.Printf() method wrapped with the given color.
func (c *Color) PrintfFunc() func(format string, a ...interface{})
PrintfFunc returns a new function that prints the passed arguments as colorized with color.Printf().
func (c *Color) Println(a ...interface{}) (n int, err error)
Println formats using the default formats for its operands and writes to standard output. Spaces are always added between operands and a newline is appended. It returns the number of bytes written and any write error encountered. This is the standard fmt.Print() method wrapped with the given color.
func (c *Color) PrintlnFunc() func(a ...interface{})
PrintlnFunc returns a new function that prints the passed arguments as colorized with color.Println().
func (c *Color) Set() *Color
Set sets the SGR sequence.
func (c *Color) SetWriter(w io.Writer) *Color
SetWriter is used to set the SGR sequence with the given io.Writer. This is a low-level function, and users should use the higher-level functions, such as color.Fprint, color.Print, etc.
func (c *Color) Sprint(a ...interface{}) string
Sprint is just like Print, but returns a string instead of printing it.
func (c *Color) SprintFunc() func(a ...interface{}) string
SprintFunc returns a new function that returns colorized strings for the given arguments with fmt.Sprint(). Useful to put into or mix into other string. Windows users should use this in conjunction with color.Output, example:
put := New(FgYellow).SprintFunc() fmt.Fprintf(color.Output, "This is a %s", put("warning"))
func (c *Color) Sprintf(format string, a ...interface{}) string
Sprintf is just like Printf, but returns a string instead of printing it.
func (c *Color) SprintfFunc() func(format string, a ...interface{}) string
SprintfFunc returns a new function that returns colorized strings for the given arguments with fmt.Sprintf(). Useful to put into or mix into other string. Windows users should use this in conjunction with color.Output.
func (c *Color) Sprintln(a ...interface{}) string
Sprintln is just like Println, but returns a string instead of printing it.
func (c *Color) SprintlnFunc() func(a ...interface{}) string
SprintlnFunc returns a new function that returns colorized strings for the given arguments with fmt.Sprintln(). Useful to put into or mix into other string. Windows users should use this in conjunction with color.Output.
func (c *Color) UnsetWriter(w io.Writer)
UnsetWriter resets all escape attributes and clears the output with the give io.Writer. Usually should be called after SetWriter().