74 lines
2.1 KiB
Go
74 lines
2.1 KiB
Go
package color
|
|
|
|
import "github.com/fatih/color"
|
|
|
|
const (
|
|
// NoColor is no color for both foreground and background.
|
|
NoColor Color = iota
|
|
// FgBlack is the foreground color black.
|
|
FgBlack
|
|
// FgRed is the foreground color red.
|
|
FgRed
|
|
// FgGreen is the foreground color green.
|
|
FgGreen
|
|
// FgYellow is the foreground color yellow.
|
|
FgYellow
|
|
// FgBlue is the foreground color blue.
|
|
FgBlue
|
|
// FgMagenta is the foreground color magenta.
|
|
FgMagenta
|
|
// FgCyan is the foreground color cyan.
|
|
FgCyan
|
|
// FgWhite is the foreground color white.
|
|
FgWhite
|
|
|
|
// BgBlack is the background color black.
|
|
BgBlack
|
|
// BgRed is the background color red.
|
|
BgRed
|
|
// BgGreen is the background color green.
|
|
BgGreen
|
|
// BgYellow is the background color yellow.
|
|
BgYellow
|
|
// BgBlue is the background color blue.
|
|
BgBlue
|
|
// BgMagenta is the background color magenta.
|
|
BgMagenta
|
|
// BgCyan is the background color cyan.
|
|
BgCyan
|
|
// BgWhite is the background color white.
|
|
BgWhite
|
|
)
|
|
|
|
var colors = map[Color][]color.Attribute{
|
|
FgBlack: {color.FgBlack, color.Bold},
|
|
FgRed: {color.FgRed, color.Bold},
|
|
FgGreen: {color.FgGreen, color.Bold},
|
|
FgYellow: {color.FgYellow, color.Bold},
|
|
FgBlue: {color.FgBlue, color.Bold},
|
|
FgMagenta: {color.FgMagenta, color.Bold},
|
|
FgCyan: {color.FgCyan, color.Bold},
|
|
FgWhite: {color.FgWhite, color.Bold},
|
|
BgBlack: {color.BgBlack, color.FgHiWhite, color.Bold},
|
|
BgRed: {color.BgRed, color.FgHiWhite, color.Bold},
|
|
BgGreen: {color.BgGreen, color.FgHiWhite, color.Bold},
|
|
BgYellow: {color.BgHiYellow, color.FgHiBlack, color.Bold},
|
|
BgBlue: {color.BgBlue, color.FgHiWhite, color.Bold},
|
|
BgMagenta: {color.BgMagenta, color.FgHiWhite, color.Bold},
|
|
BgCyan: {color.BgCyan, color.FgHiWhite, color.Bold},
|
|
BgWhite: {color.BgHiWhite, color.FgHiBlack, color.Bold},
|
|
}
|
|
|
|
type Color uint32
|
|
|
|
// WithColor returns a string with the given color applied.
|
|
func WithColor(text string, colour Color) string {
|
|
c := color.New(colors[colour]...)
|
|
return c.Sprint(text)
|
|
}
|
|
|
|
// WithColorPadding returns a string with the given color applied with leading and trailing spaces.
|
|
func WithColorPadding(text string, colour Color) string {
|
|
return WithColor(" "+text+" ", colour)
|
|
}
|