From 419a90f4ff1fe57e715d314ebf6dcb13551d7c7f Mon Sep 17 00:00:00 2001 From: Tai Groot Date: Thu, 31 Mar 2022 11:28:10 -0700 Subject: [PATCH] add ansi and change sort call --- ansi/ansi.go | 43 +++++++++++++++++++++++++++++++++++++++++++ luna/luna.go | 11 ++++++----- material/material.go | 15 +++++++++++++-- 3 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 ansi/ansi.go diff --git a/ansi/ansi.go b/ansi/ansi.go new file mode 100644 index 0000000..65c6a3b --- /dev/null +++ b/ansi/ansi.go @@ -0,0 +1,43 @@ +package ansi + +import "github.com/taigrr/go-colorpalettes/simplecolor" + +// Extended ANSI colors (0-255). +var Ansi = simplecolor.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} diff --git a/luna/luna.go b/luna/luna.go index 67125bb..f41e753 100644 --- a/luna/luna.go +++ b/luna/luna.go @@ -2,10 +2,12 @@ package luna import ( "sort" + "sync" "github.com/taigrr/go-colorpalettes/simplecolor" ) +var once sync.Once var colors = simplecolor.SimplePalette{0x002b2b, 0x003f3f, 0x005e5e, @@ -23,9 +25,8 @@ var colors = simplecolor.SimplePalette{0x002b2b, } func GetPalette() (sp simplecolor.SimplePalette) { - for _, x := range colors { - sp = append(sp, x) - } - sort.Sort(sp) - return + once.Do(func() { + sort.Sort(colors) + }) + return colors } diff --git a/material/material.go b/material/material.go index 7e745ca..92dcd90 100644 --- a/material/material.go +++ b/material/material.go @@ -141,13 +141,24 @@ var spectrum = map[string]simplecolor.NamedPalette{ "blueGrey": blueGrey, } +func GetPalette() (colors simplecolor.SimplePalette) { + for _, cp := range spectrum { + for _, c := range cp { + colors = append(colors, c) + } + } + sort.Sort(colors) + return + +} + func GetColorsForShade(shade string) (colors simplecolor.SimplePalette) { for _, cp := range spectrum { if hue, ok := cp[shade]; ok { colors = append(colors, hue) - sort.Sort(colors) } } + sort.Sort(colors) return } @@ -155,8 +166,8 @@ func GetShadesForColorName(color string) (colors simplecolor.SimplePalette) { if c, ok := spectrum[color]; ok { for _, cp := range c { colors = append(colors, cp) - sort.Sort(colors) } } + sort.Sort(colors) return }