mirror of
https://github.com/taigrr/simplecolorpalettes.git
synced 2026-04-01 20:49:11 -07:00
stepping towards api solidification
This commit is contained in:
16
html/html.go
16
html/html.go
@@ -1,6 +1,12 @@
|
|||||||
package html
|
package html
|
||||||
|
|
||||||
var Colors = map[string]int{
|
import (
|
||||||
|
"sort"
|
||||||
|
|
||||||
|
"github.com/taigrr/go-colorpalettes/simplecolor"
|
||||||
|
)
|
||||||
|
|
||||||
|
var colors = simplecolor.NamedPalette{
|
||||||
"aliceblue": 0xF0F8FF,
|
"aliceblue": 0xF0F8FF,
|
||||||
"antiquewhite": 0xFAEBD7,
|
"antiquewhite": 0xFAEBD7,
|
||||||
"aqua": 0x00FFFF,
|
"aqua": 0x00FFFF,
|
||||||
@@ -142,3 +148,11 @@ var Colors = map[string]int{
|
|||||||
"yellow": 0xFFFF00,
|
"yellow": 0xFFFF00,
|
||||||
"yellowgreen": 0x9ACD32,
|
"yellowgreen": 0x9ACD32,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetPalette() (sp simplecolor.SimplePalette) {
|
||||||
|
for _, x := range colors {
|
||||||
|
sp = append(sp, x)
|
||||||
|
}
|
||||||
|
sort.Sort(sp)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|||||||
31
luna/luna.go
Normal file
31
luna/luna.go
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
package luna
|
||||||
|
|
||||||
|
import (
|
||||||
|
"sort"
|
||||||
|
|
||||||
|
"github.com/taigrr/go-colorpalettes/simplecolor"
|
||||||
|
)
|
||||||
|
|
||||||
|
var colors = simplecolor.SimplePalette{0x002b2b,
|
||||||
|
0x003f3f,
|
||||||
|
0x005e5e,
|
||||||
|
0x2aa198,
|
||||||
|
0x2e8b57,
|
||||||
|
0x4e4e4e,
|
||||||
|
0x450000,
|
||||||
|
0x789f00,
|
||||||
|
0x780000,
|
||||||
|
0x973d45,
|
||||||
|
0xe20000,
|
||||||
|
0xff8036,
|
||||||
|
0xffff9a,
|
||||||
|
0xffffff,
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetPalette() (sp simplecolor.SimplePalette) {
|
||||||
|
for _, x := range colors {
|
||||||
|
sp = append(sp, x)
|
||||||
|
}
|
||||||
|
sort.Sort(sp)
|
||||||
|
return
|
||||||
|
}
|
||||||
4
main.go
4
main.go
@@ -4,11 +4,14 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/taigrr/go-colorpalettes/luna"
|
||||||
"github.com/taigrr/go-colorpalettes/material"
|
"github.com/taigrr/go-colorpalettes/material"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
colors := material.GetShadesForColorName("Red")
|
colors := material.GetShadesForColorName("Red")
|
||||||
|
colors = luna.GetPalette()
|
||||||
|
colors = colors.ToExtendedAnsi()
|
||||||
var open []string
|
var open []string
|
||||||
var close []string
|
var close []string
|
||||||
for _, c := range colors {
|
for _, c := range colors {
|
||||||
@@ -54,5 +57,4 @@ func main() {
|
|||||||
fmt.Print(b.String() + " ")
|
fmt.Print(b.String() + " ")
|
||||||
}
|
}
|
||||||
fmt.Println("")
|
fmt.Println("")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,123 +1,125 @@
|
|||||||
package material
|
package material
|
||||||
|
|
||||||
import "sort"
|
import (
|
||||||
|
"sort"
|
||||||
|
|
||||||
type ColorPalette map[string]int
|
"github.com/taigrr/go-colorpalettes/simplecolor"
|
||||||
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
red = ColorPalette{
|
red = simplecolor.NamedPalette{
|
||||||
"50": 0xffebee, "100": 0xffcdd2, "200": 0xef9a9a, "300": 0xe57373,
|
"50": 0xffebee, "100": 0xffcdd2, "200": 0xef9a9a, "300": 0xe57373,
|
||||||
"400": 0xef5350, "500": 0xf44336, "600": 0xe53935, "700": 0xd32f2f,
|
"400": 0xef5350, "500": 0xf44336, "600": 0xe53935, "700": 0xd32f2f,
|
||||||
"800": 0xc62828, "900": 0xb71c1c, "A100": 0xff8a80, "A200": 0xff5252,
|
"800": 0xc62828, "900": 0xb71c1c, "A100": 0xff8a80, "A200": 0xff5252,
|
||||||
"A400": 0xff1744, "A700": 0xd50000,
|
"A400": 0xff1744, "A700": 0xd50000,
|
||||||
}
|
}
|
||||||
pink = ColorPalette{
|
pink = simplecolor.NamedPalette{
|
||||||
"50": 0xfce4ec, "100": 0xf8bbd0, "200": 0xf48fb1, "300": 0xf06292,
|
"50": 0xfce4ec, "100": 0xf8bbd0, "200": 0xf48fb1, "300": 0xf06292,
|
||||||
"400": 0xec407a, "500": 0xe91e63, "600": 0xd81b60, "700": 0xc2185b,
|
"400": 0xec407a, "500": 0xe91e63, "600": 0xd81b60, "700": 0xc2185b,
|
||||||
"800": 0xad1457, "900": 0x880e4f, "A100": 0xff80ab, "A200": 0xff4081,
|
"800": 0xad1457, "900": 0x880e4f, "A100": 0xff80ab, "A200": 0xff4081,
|
||||||
"A400": 0xf50057, "A700": 0xc51162,
|
"A400": 0xf50057, "A700": 0xc51162,
|
||||||
}
|
}
|
||||||
purple = ColorPalette{
|
purple = simplecolor.NamedPalette{
|
||||||
"50": 0xf3e5f5, "100": 0xe1bee7, "200": 0xce93d8, "300": 0xba68c8,
|
"50": 0xf3e5f5, "100": 0xe1bee7, "200": 0xce93d8, "300": 0xba68c8,
|
||||||
"400": 0xab47bc, "500": 0x9c27b0, "600": 0x8e24aa, "700": 0x7b1fa2,
|
"400": 0xab47bc, "500": 0x9c27b0, "600": 0x8e24aa, "700": 0x7b1fa2,
|
||||||
"800": 0x6a1b9a, "900": 0x4a148c, "A100": 0xea80fc, "A200": 0xe040fb,
|
"800": 0x6a1b9a, "900": 0x4a148c, "A100": 0xea80fc, "A200": 0xe040fb,
|
||||||
"A400": 0xd500f9, "A700": 0xaa00ff,
|
"A400": 0xd500f9, "A700": 0xaa00ff,
|
||||||
}
|
}
|
||||||
deepPurple = ColorPalette{
|
deepPurple = simplecolor.NamedPalette{
|
||||||
"50": 0xede7f6, "100": 0xd1c4e9, "200": 0xb39ddb, "300": 0x9575cd,
|
"50": 0xede7f6, "100": 0xd1c4e9, "200": 0xb39ddb, "300": 0x9575cd,
|
||||||
"400": 0x7e57c2, "500": 0x673ab7, "600": 0x5e35b1, "700": 0x512da8,
|
"400": 0x7e57c2, "500": 0x673ab7, "600": 0x5e35b1, "700": 0x512da8,
|
||||||
"800": 0x4527a0, "900": 0x311b92, "A100": 0xb388ff, "A200": 0x7c4dff,
|
"800": 0x4527a0, "900": 0x311b92, "A100": 0xb388ff, "A200": 0x7c4dff,
|
||||||
"A400": 0x651fff, "A700": 0x6200ea,
|
"A400": 0x651fff, "A700": 0x6200ea,
|
||||||
}
|
}
|
||||||
indigo = ColorPalette{
|
indigo = simplecolor.NamedPalette{
|
||||||
"50": 0xe8eaf6, "100": 0xc5cae9, "200": 0x9fa8da, "300": 0x7986cb,
|
"50": 0xe8eaf6, "100": 0xc5cae9, "200": 0x9fa8da, "300": 0x7986cb,
|
||||||
"400": 0x5c6bc0, "500": 0x3f51b5, "600": 0x3949ab, "700": 0x303f9f,
|
"400": 0x5c6bc0, "500": 0x3f51b5, "600": 0x3949ab, "700": 0x303f9f,
|
||||||
"800": 0x283593, "900": 0x1a237e, "A100": 0x8c9eff, "A200": 0x536dfe,
|
"800": 0x283593, "900": 0x1a237e, "A100": 0x8c9eff, "A200": 0x536dfe,
|
||||||
"A400": 0x3d5afe, "A700": 0x304ffe,
|
"A400": 0x3d5afe, "A700": 0x304ffe,
|
||||||
}
|
}
|
||||||
blue = ColorPalette{
|
blue = simplecolor.NamedPalette{
|
||||||
"50": 0xe3f2fd, "100": 0xbbdefb, "200": 0x90caf9, "300": 0x64b5f6,
|
"50": 0xe3f2fd, "100": 0xbbdefb, "200": 0x90caf9, "300": 0x64b5f6,
|
||||||
"400": 0x42a5f5, "500": 0x2196f3, "600": 0x1e88e5, "700": 0x1976d2,
|
"400": 0x42a5f5, "500": 0x2196f3, "600": 0x1e88e5, "700": 0x1976d2,
|
||||||
"800": 0x1565c0, "900": 0x0d47a1, "A100": 0x82b1ff, "A200": 0x448aff,
|
"800": 0x1565c0, "900": 0x0d47a1, "A100": 0x82b1ff, "A200": 0x448aff,
|
||||||
"A400": 0x2979ff, "A700": 0x2962ff,
|
"A400": 0x2979ff, "A700": 0x2962ff,
|
||||||
}
|
}
|
||||||
lightBlue = ColorPalette{
|
lightBlue = simplecolor.NamedPalette{
|
||||||
"50": 0xe1f5fe, "100": 0xb3e5fc, "200": 0x81d4fa, "300": 0x4fc3f7,
|
"50": 0xe1f5fe, "100": 0xb3e5fc, "200": 0x81d4fa, "300": 0x4fc3f7,
|
||||||
"400": 0x29b6f6, "500": 0x03a9f4, "600": 0x039be5, "700": 0x0288d1,
|
"400": 0x29b6f6, "500": 0x03a9f4, "600": 0x039be5, "700": 0x0288d1,
|
||||||
"800": 0x0277bd, "900": 0x01579b, "A100": 0x80d8ff, "A200": 0x40c4ff,
|
"800": 0x0277bd, "900": 0x01579b, "A100": 0x80d8ff, "A200": 0x40c4ff,
|
||||||
"A400": 0x00b0ff, "A700": 0x0091ea,
|
"A400": 0x00b0ff, "A700": 0x0091ea,
|
||||||
}
|
}
|
||||||
cyan = ColorPalette{
|
cyan = simplecolor.NamedPalette{
|
||||||
"50": 0xe0f7fa, "100": 0xb2ebf2, "200": 0x80deea, "300": 0x4dd0e1,
|
"50": 0xe0f7fa, "100": 0xb2ebf2, "200": 0x80deea, "300": 0x4dd0e1,
|
||||||
"400": 0x26c6da, "500": 0x00bcd4, "600": 0x00acc1, "700": 0x0097a7,
|
"400": 0x26c6da, "500": 0x00bcd4, "600": 0x00acc1, "700": 0x0097a7,
|
||||||
"800": 0x00838f, "900": 0x006064, "A100": 0x84ffff, "A200": 0x18ffff,
|
"800": 0x00838f, "900": 0x006064, "A100": 0x84ffff, "A200": 0x18ffff,
|
||||||
"A400": 0x00e5ff, "A700": 0x00b8d4,
|
"A400": 0x00e5ff, "A700": 0x00b8d4,
|
||||||
}
|
}
|
||||||
teal = ColorPalette{
|
teal = simplecolor.NamedPalette{
|
||||||
"50": 0xe0f2f1, "100": 0xb2dfdb, "200": 0x80cbc4, "300": 0x4db6ac,
|
"50": 0xe0f2f1, "100": 0xb2dfdb, "200": 0x80cbc4, "300": 0x4db6ac,
|
||||||
"400": 0x26a69a, "500": 0x009688, "600": 0x00897b, "700": 0x00796b,
|
"400": 0x26a69a, "500": 0x009688, "600": 0x00897b, "700": 0x00796b,
|
||||||
"800": 0x00695c, "900": 0x004d40, "A100": 0xa7ffeb, "A200": 0x64ffda,
|
"800": 0x00695c, "900": 0x004d40, "A100": 0xa7ffeb, "A200": 0x64ffda,
|
||||||
"A400": 0x1de9b6, "A700": 0x00bfa5,
|
"A400": 0x1de9b6, "A700": 0x00bfa5,
|
||||||
}
|
}
|
||||||
green = ColorPalette{
|
green = simplecolor.NamedPalette{
|
||||||
"50": 0xe8f5e9, "100": 0xc8e6c9, "200": 0xa5d6a7, "300": 0x81c784,
|
"50": 0xe8f5e9, "100": 0xc8e6c9, "200": 0xa5d6a7, "300": 0x81c784,
|
||||||
"400": 0x66bb6a, "500": 0x4caf50, "600": 0x43a047, "700": 0x388e3c,
|
"400": 0x66bb6a, "500": 0x4caf50, "600": 0x43a047, "700": 0x388e3c,
|
||||||
"800": 0x2e7d32, "900": 0x1b5e20, "A100": 0xb9f6ca, "A200": 0x69f0ae,
|
"800": 0x2e7d32, "900": 0x1b5e20, "A100": 0xb9f6ca, "A200": 0x69f0ae,
|
||||||
"A400": 0x00e676, "A700": 0x00c853,
|
"A400": 0x00e676, "A700": 0x00c853,
|
||||||
}
|
}
|
||||||
lightGreen = ColorPalette{
|
lightGreen = simplecolor.NamedPalette{
|
||||||
"50": 0xf1f8e9, "100": 0xdcedc8, "200": 0xc5e1a5, "300": 0xaed581,
|
"50": 0xf1f8e9, "100": 0xdcedc8, "200": 0xc5e1a5, "300": 0xaed581,
|
||||||
"400": 0x9ccc65, "500": 0x8bc34a, "600": 0x7cb342, "700": 0x689f38,
|
"400": 0x9ccc65, "500": 0x8bc34a, "600": 0x7cb342, "700": 0x689f38,
|
||||||
"800": 0x558b2f, "900": 0x33691e, "A100": 0xccff90, "A200": 0xb2ff59,
|
"800": 0x558b2f, "900": 0x33691e, "A100": 0xccff90, "A200": 0xb2ff59,
|
||||||
"A400": 0x76ff03, "A700": 0x64dd17,
|
"A400": 0x76ff03, "A700": 0x64dd17,
|
||||||
}
|
}
|
||||||
lime = ColorPalette{
|
lime = simplecolor.NamedPalette{
|
||||||
"50": 0xf9fbe7, "100": 0xf0f4c3, "200": 0xe6ee9c, "300": 0xdce775,
|
"50": 0xf9fbe7, "100": 0xf0f4c3, "200": 0xe6ee9c, "300": 0xdce775,
|
||||||
"400": 0xd4e157, "500": 0xcddc39, "600": 0xc0ca33, "700": 0xafb42b,
|
"400": 0xd4e157, "500": 0xcddc39, "600": 0xc0ca33, "700": 0xafb42b,
|
||||||
"800": 0x9e9d24, "900": 0x827717, "A100": 0xf4ff81, "A200": 0xeeff41,
|
"800": 0x9e9d24, "900": 0x827717, "A100": 0xf4ff81, "A200": 0xeeff41,
|
||||||
"A400": 0xc6ff00, "A700": 0xaeea00,
|
"A400": 0xc6ff00, "A700": 0xaeea00,
|
||||||
}
|
}
|
||||||
yellow = ColorPalette{
|
yellow = simplecolor.NamedPalette{
|
||||||
"50": 0xfffde7, "100": 0xfff9c4, "200": 0xfff59d, "300": 0xfff176,
|
"50": 0xfffde7, "100": 0xfff9c4, "200": 0xfff59d, "300": 0xfff176,
|
||||||
"400": 0xffee58, "500": 0xffeb3b, "600": 0xfdd835, "700": 0xfbc02d,
|
"400": 0xffee58, "500": 0xffeb3b, "600": 0xfdd835, "700": 0xfbc02d,
|
||||||
"800": 0xf9a825, "900": 0xf57f17, "A100": 0xffff8d, "A200": 0xffff00,
|
"800": 0xf9a825, "900": 0xf57f17, "A100": 0xffff8d, "A200": 0xffff00,
|
||||||
"A400": 0xffea00, "A700": 0xffd600,
|
"A400": 0xffea00, "A700": 0xffd600,
|
||||||
}
|
}
|
||||||
amber = ColorPalette{
|
amber = simplecolor.NamedPalette{
|
||||||
"50": 0xfff8e1, "100": 0xffecb3, "200": 0xffe082, "300": 0xffd54f,
|
"50": 0xfff8e1, "100": 0xffecb3, "200": 0xffe082, "300": 0xffd54f,
|
||||||
"400": 0xffca28, "500": 0xffc107, "600": 0xffb300, "700": 0xffa000,
|
"400": 0xffca28, "500": 0xffc107, "600": 0xffb300, "700": 0xffa000,
|
||||||
"800": 0xff8f00, "900": 0xff6f00, "A100": 0xffe57f, "A200": 0xffd740,
|
"800": 0xff8f00, "900": 0xff6f00, "A100": 0xffe57f, "A200": 0xffd740,
|
||||||
"A400": 0xffc400, "A700": 0xffab00,
|
"A400": 0xffc400, "A700": 0xffab00,
|
||||||
}
|
}
|
||||||
orange = ColorPalette{
|
orange = simplecolor.NamedPalette{
|
||||||
"50": 0xfff3e0, "100": 0xffe0b2, "200": 0xffcc80, "300": 0xffb74d,
|
"50": 0xfff3e0, "100": 0xffe0b2, "200": 0xffcc80, "300": 0xffb74d,
|
||||||
"400": 0xffa726, "500": 0xff9800, "600": 0xfb8c00, "700": 0xf57c00,
|
"400": 0xffa726, "500": 0xff9800, "600": 0xfb8c00, "700": 0xf57c00,
|
||||||
"800": 0xef6c00, "900": 0xe65100, "A100": 0xffd180, "A200": 0xffab40,
|
"800": 0xef6c00, "900": 0xe65100, "A100": 0xffd180, "A200": 0xffab40,
|
||||||
"A400": 0xff9100, "A700": 0xff6d00,
|
"A400": 0xff9100, "A700": 0xff6d00,
|
||||||
}
|
}
|
||||||
deepOrange = ColorPalette{
|
deepOrange = simplecolor.NamedPalette{
|
||||||
"50": 0xfbe9e7, "100": 0xffccbc, "200": 0xffab91, "300": 0xff8a65,
|
"50": 0xfbe9e7, "100": 0xffccbc, "200": 0xffab91, "300": 0xff8a65,
|
||||||
"400": 0xff7043, "500": 0xff5722, "600": 0xf4511e, "700": 0xe64a19,
|
"400": 0xff7043, "500": 0xff5722, "600": 0xf4511e, "700": 0xe64a19,
|
||||||
"800": 0xd84315, "900": 0xbf360c, "A100": 0xff9e80, "A200": 0xff6e40,
|
"800": 0xd84315, "900": 0xbf360c, "A100": 0xff9e80, "A200": 0xff6e40,
|
||||||
"A400": 0xff3d00, "A700": 0xdd2c00,
|
"A400": 0xff3d00, "A700": 0xdd2c00,
|
||||||
}
|
}
|
||||||
brown = ColorPalette{
|
brown = simplecolor.NamedPalette{
|
||||||
"50": 0xefebe9, "100": 0xd7ccc8, "200": 0xbcaaa4, "300": 0xa1887f,
|
"50": 0xefebe9, "100": 0xd7ccc8, "200": 0xbcaaa4, "300": 0xa1887f,
|
||||||
"400": 0x8d6e63, "500": 0x795548, "600": 0x6d4c41, "700": 0x5d4037,
|
"400": 0x8d6e63, "500": 0x795548, "600": 0x6d4c41, "700": 0x5d4037,
|
||||||
"800": 0x4e342e, "900": 0x3e2723,
|
"800": 0x4e342e, "900": 0x3e2723,
|
||||||
}
|
}
|
||||||
grey = ColorPalette{
|
grey = simplecolor.NamedPalette{
|
||||||
"50": 0xfafafa, "100": 0xf5f5f5, "200": 0xeeeeee, "300": 0xe0e0e0,
|
"50": 0xfafafa, "100": 0xf5f5f5, "200": 0xeeeeee, "300": 0xe0e0e0,
|
||||||
"400": 0xbdbdbd, "500": 0x9e9e9e, "600": 0x757575, "700": 0x616161,
|
"400": 0xbdbdbd, "500": 0x9e9e9e, "600": 0x757575, "700": 0x616161,
|
||||||
"800": 0x424242, "900": 0x212121,
|
"800": 0x424242, "900": 0x212121,
|
||||||
}
|
}
|
||||||
blueGrey = ColorPalette{
|
blueGrey = simplecolor.NamedPalette{
|
||||||
"50": 0xeceff1, "100": 0xcfd8dc, "200": 0xb0bec5, "300": 0x90a4ae,
|
"50": 0xeceff1, "100": 0xcfd8dc, "200": 0xb0bec5, "300": 0x90a4ae,
|
||||||
"400": 0x78909c, "500": 0x607d8b, "600": 0x546e7a, "700": 0x455a64,
|
"400": 0x78909c, "500": 0x607d8b, "600": 0x546e7a, "700": 0x455a64,
|
||||||
"800": 0x37474f, "900": 0x263238,
|
"800": 0x37474f, "900": 0x263238,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
var spectrum = map[string]ColorPalette{
|
var spectrum = map[string]simplecolor.NamedPalette{
|
||||||
"red": red,
|
"red": red,
|
||||||
"pink": pink,
|
"pink": pink,
|
||||||
"purple": purple,
|
"purple": purple,
|
||||||
@@ -139,21 +141,21 @@ var spectrum = map[string]ColorPalette{
|
|||||||
"blueGrey": blueGrey,
|
"blueGrey": blueGrey,
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetColorsForShade(shade string) (colors []int) {
|
func GetColorsForShade(shade string) (colors simplecolor.SimplePalette) {
|
||||||
for _, cp := range spectrum {
|
for _, cp := range spectrum {
|
||||||
if hue, ok := cp[shade]; ok {
|
if hue, ok := cp[shade]; ok {
|
||||||
colors = append(colors, hue)
|
colors = append(colors, hue)
|
||||||
sort.Ints(colors)
|
sort.Sort(colors)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetShadesForColorName(color string) (colors []int) {
|
func GetShadesForColorName(color string) (colors simplecolor.SimplePalette) {
|
||||||
if c, ok := spectrum[color]; ok {
|
if c, ok := spectrum[color]; ok {
|
||||||
for _, cp := range c {
|
for _, cp := range c {
|
||||||
colors = append(colors, cp)
|
colors = append(colors, cp)
|
||||||
sort.Ints(colors)
|
sort.Sort(colors)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|||||||
41
simplecolor/ansi.go
Normal file
41
simplecolor/ansi.go
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
package simplecolor
|
||||||
|
|
||||||
|
// Extended ANSI colors (0-255).
|
||||||
|
var ansi = SimplePalette{
|
||||||
|
0x000000, 0x800000, 0x008000, 0x808000, 0x000080, 0x800080, 0x008080,
|
||||||
|
0xC0C0C0, 0x808080, 0xFF0000, 0x00FF00, 0xFFFF00, 0x0000FF, 0xFF00FF,
|
||||||
|
0x00FFFF, 0xFFFFFF, 0x000000, 0x00005F, 0x000087, 0x0000AF, 0x0000D7,
|
||||||
|
0x0000FF, 0x005F00, 0x005F5F, 0x005F87, 0x005FAF, 0x005FD7, 0x005FFF,
|
||||||
|
0x008700, 0x00875F, 0x008787, 0x0087AF, 0x0087D7, 0x0087FF, 0x00AF00,
|
||||||
|
0x00AF5F, 0x00AF87, 0x00AFAF, 0x00AFD7, 0x00AFFF, 0x00D700, 0x00D75F,
|
||||||
|
0x00D787, 0x00D7AF, 0x00D7D7, 0x00D7FF, 0x00FF00, 0x00FF5F, 0x00FF87,
|
||||||
|
0x00FFAF, 0x00FFD7, 0x00FFFF, 0x5F0000, 0x5F005F, 0x5F0087, 0x5F00AF,
|
||||||
|
0x5F00D7, 0x5F00FF, 0x5F5F00, 0x5F5F5F, 0x5F5F87, 0x5F5FAF, 0x5F5FD7,
|
||||||
|
0x5F5FFF, 0x5F8700, 0x5F875F, 0x5F8787, 0x5F87AF, 0x5F87D7, 0x5F87FF,
|
||||||
|
0x5FAF00, 0x5FAF5F, 0x5FAF87, 0x5FAFAF, 0x5FAFD7, 0x5FAFFF, 0x5FD700,
|
||||||
|
0x5FD75F, 0x5FD787, 0x5FD7AF, 0x5FD7D7, 0x5FD7FF, 0x5FFF00, 0x5FFF5F,
|
||||||
|
0x5FFF87, 0x5FFFAF, 0x5FFFD7, 0x5FFFFF, 0x870000, 0x87005F, 0x870087,
|
||||||
|
0x8700AF, 0x8700D7, 0x8700FF, 0x875F00, 0x875F5F, 0x875F87, 0x875FAF,
|
||||||
|
0x875FD7, 0x875FFF, 0x878700, 0x87875F, 0x878787, 0x8787AF, 0x8787D7,
|
||||||
|
0x8787FF, 0x87AF00, 0x87AF5F, 0x87AF87, 0x87AFAF, 0x87AFD7, 0x87AFFF,
|
||||||
|
0x87D700, 0x87D75F, 0x87D787, 0x87D7AF, 0x87D7D7, 0x87D7FF, 0x87FF00,
|
||||||
|
0x87FF5F, 0x87FF87, 0x87FFAF, 0x87FFD7, 0x87FFFF, 0xAF0000, 0xAF005F,
|
||||||
|
0xAF0087, 0xAF00AF, 0xAF00D7, 0xAF00FF, 0xAF5F00, 0xAF5F5F, 0xaF5F87,
|
||||||
|
0xAF5FAF, 0xAF5FD7, 0xAF5FFF, 0xAF8700, 0xAF875F, 0xaF8787, 0xAF87AF,
|
||||||
|
0xAF87D7, 0xAF87FF, 0xAFAF00, 0xAFAF5F, 0xaFAF87, 0xAFAFAF, 0xAFAFD7,
|
||||||
|
0xAFAFFF, 0xAFD700, 0xAFD75F, 0xaFD787, 0xAFD7AF, 0xAFD7D7, 0xAFD7FF,
|
||||||
|
0xAFFF00, 0xAFFF5F, 0xaFFF87, 0xAFFFAF, 0xAFFFD7, 0xAFFFFF, 0xD70000,
|
||||||
|
0xD7005F, 0xD70087, 0xD700AF, 0xD700D7, 0xD700FF, 0xD75F00, 0xD75F5F,
|
||||||
|
0xD75F87, 0xD75FAF, 0xD75FD7, 0xD75FFF, 0xD78700, 0xD7875F, 0xD78787,
|
||||||
|
0xD787AF, 0xD787D7, 0xD787FF, 0xD7AF00, 0xD7AF5F, 0xD7AF87, 0xD7AFAF,
|
||||||
|
0xD7AFD7, 0xD7AFFF, 0xD7D700, 0xD7D75F, 0xD7D787, 0xD7D7AF, 0xD7D7D7,
|
||||||
|
0xD7D7FF, 0xD7FF00, 0xD7FF5F, 0xD7FF87, 0xD7FFAF, 0xD7FFD7, 0xD7FFFF,
|
||||||
|
0xFF0000, 0xFF005F, 0xFF0087, 0xFF00AF, 0xFF00D7, 0xFF00FF, 0xFF5F00,
|
||||||
|
0xFF5F5F, 0xFF5F87, 0xFF5FAF, 0xFF5FD7, 0xFF5FFF, 0xFF8700, 0xFF875F,
|
||||||
|
0xFF8787, 0xFF87AF, 0xFF87D7, 0xFF87FF, 0xFFAF00, 0xFFAF5F, 0xFFAF87,
|
||||||
|
0xFFAFAF, 0xFFAFD7, 0xFFAFFF, 0xFFD700, 0xFFD75F, 0xFFD787, 0xFFD7AF,
|
||||||
|
0xFFD7D7, 0xFFD7FF, 0xFFFF00, 0xFFFF5F, 0xFFFF87, 0xFFFFAF, 0xFFFFD7,
|
||||||
|
0xFFFFFF, 0x080808, 0x121212, 0x1C1C1C, 0x262626, 0x303030, 0x3A3A3A,
|
||||||
|
0x444444, 0x4E4E4E, 0x585858, 0x626262, 0x6C6C6C, 0x767676, 0x808080,
|
||||||
|
0x8A8A8A, 0x949494, 0x9E9E9E, 0xA8A8A8, 0xB2B2B2, 0xBCBCBC, 0xC6C6C6,
|
||||||
|
0xD0D0D0, 0xDADADA, 0xE4E4E4, 0xEEEEEE}
|
||||||
77
simplecolor/simplecolors.go
Normal file
77
simplecolor/simplecolors.go
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
package simplecolor
|
||||||
|
|
||||||
|
import (
|
||||||
|
"image/color"
|
||||||
|
"sort"
|
||||||
|
)
|
||||||
|
|
||||||
|
type SimpleColor int
|
||||||
|
type NamedPalette map[string]SimpleColor
|
||||||
|
type SimplePalette []SimpleColor
|
||||||
|
type conversionPalette []color.Color
|
||||||
|
|
||||||
|
func (s SimplePalette) ToPalette() color.Palette {
|
||||||
|
var x color.Palette
|
||||||
|
for _, c := range s {
|
||||||
|
x = append(x, SimpleColor(c))
|
||||||
|
}
|
||||||
|
return color.Palette(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s SimpleColor) RGBA() (r, g, b, a uint32) {
|
||||||
|
return uint32(s) >> 16 & 0xFF, uint32(s) >> 8 & 0xFF, uint32(s) & 0xFF, 0xFF
|
||||||
|
}
|
||||||
|
|
||||||
|
func (input SimpleColor) ToAnsi16() SimpleColor {
|
||||||
|
color := ansi[0:16].ToPalette().Convert(input)
|
||||||
|
r, g, b, _ := color.RGBA()
|
||||||
|
return SimpleColor(uint32(r)<<16 + uint32(g)<<8 + b)
|
||||||
|
|
||||||
|
}
|
||||||
|
func (input SimpleColor) ToExtendedAnsi() SimpleColor {
|
||||||
|
color := ansi.ToPalette().Convert(input)
|
||||||
|
r, g, b, _ := color.RGBA()
|
||||||
|
return SimpleColor(uint32(r)<<16 + uint32(g)<<8 + b)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p SimplePalette) ToExtendedAnsi() (sp SimplePalette) {
|
||||||
|
used := make(map[SimpleColor]bool)
|
||||||
|
for _, x := range p {
|
||||||
|
clampedColor := x.ToExtendedAnsi()
|
||||||
|
if _, found := used[clampedColor]; found {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
used[clampedColor] = true
|
||||||
|
sp = append(sp, x.ToExtendedAnsi())
|
||||||
|
}
|
||||||
|
sort.Sort(sp)
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e SimplePalette) Len() int {
|
||||||
|
return len(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e SimplePalette) Less(i, j int) bool {
|
||||||
|
return int(e[i]) < int(e[j])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e SimplePalette) Swap(i, j int) {
|
||||||
|
e[i], e[j] = e[j], e[i]
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p SimplePalette) ToAnsi16() (sp SimplePalette) {
|
||||||
|
used := make(map[SimpleColor]bool)
|
||||||
|
for _, x := range p {
|
||||||
|
clampedColor := x.ToAnsi16()
|
||||||
|
if _, found := used[clampedColor]; found {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
used[clampedColor] = true
|
||||||
|
sp = append(sp, x.ToExtendedAnsi())
|
||||||
|
}
|
||||||
|
sort.Sort(sp)
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user