diff --git a/html/html.go b/html/html.go index 8c7c0f3..46fc4da 100644 --- a/html/html.go +++ b/html/html.go @@ -149,6 +149,10 @@ var colors = simplecolor.NamedPalette{ "yellowgreen": 0x9ACD32, } +func GetNamedPalette() (np simplecolor.NamedPalette) { + return colors +} + func GetPalette() (sp simplecolor.SimplePalette) { for _, x := range colors { sp = append(sp, x) diff --git a/main.go b/main.go index 6497add..b4fad1b 100644 --- a/main.go +++ b/main.go @@ -4,12 +4,12 @@ import ( "fmt" "strings" - "github.com/taigrr/go-colorpalettes/luna" "github.com/taigrr/go-colorpalettes/material" + "github.com/taigrr/go-colorpalettes/vim/luna" ) func main() { - colors := material.GetShadesForColorName("Red") + colors := material.GetShadesForColorName(material.Red) colors = luna.GetPalette() colors = colors.ToExtendedAnsi() var open []string @@ -22,7 +22,6 @@ func main() { if (float32(red)*0.299 + float32(green)*0.587 + float32(blue)*0.114) > 150.0 { open = append(open, fmt.Sprintf("\u001B[38;2;%d;%d;%dm", 0, 0, 0)) } else { - open = append(open, fmt.Sprintf("\u001B[38;2;%d;%d;%dm", 255, 255, 255)) } close = append(close, "\u001B[39m") @@ -31,8 +30,8 @@ func main() { close = append(close, "\u001B[49m") // if m.isUnderlined { - //open = append(open, "\u001B[4m") - //close = append(close, "\u001B[24m") + // open = append(open, "\u001B[4m") + // close = append(close, "\u001B[24m") // } // if m.isDim { diff --git a/material/material.go b/material/material.go index 92dcd90..7db1bdd 100644 --- a/material/material.go +++ b/material/material.go @@ -119,26 +119,52 @@ var ( "800": 0x37474f, "900": 0x263238, } ) -var spectrum = map[string]simplecolor.NamedPalette{ - "red": red, - "pink": pink, - "purple": purple, + +type ColorName int + +const ( + Red ColorName = iota + Pink + Purple + DeepPurple + Blue + LightBlue + Cyan + Teal + Green + LightGreen + Lime + Yellow + Amber + Orange + DeepOrange + Brown + Grey + BlueGrey + Gray = Grey + BlueGray = BlueGrey +) + +var spectrum = map[ColorName]simplecolor.NamedPalette{ + Red: red, + Pink: pink, + Purple: purple, // These colors render too similarly to Purple for most use cases // "DeepPurple": DeepPurple, - "blue": blue, - "lightBlue": lightBlue, - "cyan": cyan, - "teal": teal, - "green": green, - "lightGreen": lightGreen, - "lime": lime, - "yellow": yellow, - "amber": amber, - "orange": orange, - "deepOrange": deepOrange, - "brown": brown, - "grey": grey, - "blueGrey": blueGrey, + Blue: blue, + LightBlue: lightBlue, + Cyan: cyan, + Teal: teal, + Green: green, + LightGreen: lightGreen, + Lime: lime, + Yellow: yellow, + Amber: amber, + Orange: orange, + DeepOrange: deepOrange, + Brown: brown, + Grey: grey, + BlueGrey: blueGrey, } func GetPalette() (colors simplecolor.SimplePalette) { @@ -149,7 +175,6 @@ func GetPalette() (colors simplecolor.SimplePalette) { } sort.Sort(colors) return - } func GetColorsForShade(shade string) (colors simplecolor.SimplePalette) { @@ -162,7 +187,8 @@ func GetColorsForShade(shade string) (colors simplecolor.SimplePalette) { return } -func GetShadesForColorName(color string) (colors simplecolor.SimplePalette) { +// Parameter must be one of the following: +func GetShadesForColorName(color ColorName) (colors simplecolor.SimplePalette) { if c, ok := spectrum[color]; ok { for _, cp := range c { colors = append(colors, cp) diff --git a/luna/luna.go b/vim/luna/luna.go similarity index 100% rename from luna/luna.go rename to vim/luna/luna.go