-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathcolors.go
90 lines (83 loc) · 2.11 KB
/
colors.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package resume
import "github.com/mgutz/ansi"
// Color(s, "red") // red
// Color(s, "red+b") // red bold
// Color(s, "red+B") // red blinking
// Color(s, "red+u") // red underline
// Color(s, "red+bh") // red bold bright
// Color(s, "red:white") // red on white
// Color(s, "red+b:white+h") // red bold on white bright
// Color(s, "red+B:white+h") // red blink on white bright
// Color(s, "off") // turn off ansi codes
// "foregroundColor+attributes:backgroundColor+attributes"
// Colors
//
// black
// red
// green
// yellow
// blue
// magenta
// cyan
// white
//
// Attributes
//
// b = bold foreground
// B = Blink foreground
// u = underline foreground
// i = inverse
// h = high intensity (bright) foreground, background
type Colors struct {
Black string
Red string
Green string
Yellow string
Blue string
Magenta string
Cyan string
White string
LightBlack string
LightRed string
LightGreen string
LightYellow string
LightBlue string
LightMagenta string
LightCyan string
LightWhite string
Bold string
Underline string
Blink string
Inverse string
Bright string
Reset string
}
func (c Colors) ColorCode(style string) string {
return ansi.ColorCode(style)
}
func GetANSIColors() Colors {
return Colors{
Black: ansi.Black,
Red: ansi.Red,
Green: ansi.Green,
Yellow: ansi.Yellow,
Blue: ansi.Blue,
Magenta: ansi.Magenta,
Cyan: ansi.Cyan,
White: ansi.White,
LightBlack: ansi.LightBlack,
LightRed: ansi.LightRed,
LightGreen: ansi.LightGreen,
LightYellow: ansi.LightYellow,
LightBlue: ansi.LightBlue,
LightMagenta: ansi.LightMagenta,
LightCyan: ansi.LightCyan,
LightWhite: ansi.LightWhite,
Bold: ansi.ColorCode("off+b"),
Underline: ansi.ColorCode("off+u"),
Blink: ansi.ColorCode("off+B"),
Inverse: ansi.ColorCode("off+i"),
Bright: ansi.ColorCode("off+h"),
Reset: ansi.ColorCode("reset"),
}
}