solarized-emacs

a fork of Bozhidar Batsov's solarized-emacs
git clone https://git.trogloxene.org/solarized-emacs.git
Log | Files | Refs | README

commit ba79bede4a29ad62f71b4279f277bdb1cb30beb4
parent 281abb3c419bbe7512613db949cb5197d38b6781
Author: Thomas Frössman <thomasf@jossystem.se>
Date:   Wed, 20 Nov 2019 18:19:01 +0100

colorlab: refactor rename colorlab package to clab

Diffstat:
Mcolorlab/main.go | 24++++++++++++------------
Acolorlab/pkg/clab/colorfinder.go | 49+++++++++++++++++++++++++++++++++++++++++++++++++
Acolorlab/pkg/clab/colorlist.go | 36++++++++++++++++++++++++++++++++++++
Acolorlab/pkg/clab/colortransformer.go | 5+++++
Acolorlab/pkg/clab/hexcolor.go | 23+++++++++++++++++++++++
Acolorlab/pkg/clab/namedcolors.go | 104+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acolorlab/pkg/clab/package.go | 2++
Dcolorlab/pkg/colorlab/colorfinder.go | 49-------------------------------------------------
Dcolorlab/pkg/colorlab/colorlist.go | 36------------------------------------
Dcolorlab/pkg/colorlab/colortransformer.go | 5-----
Dcolorlab/pkg/colorlab/hexcolor.go | 23-----------------------
Dcolorlab/pkg/colorlab/namedcolors.go | 104-------------------------------------------------------------------------------
Dcolorlab/pkg/colorlab/package.go | 2--
Mcolorlab/pkg/colors/colors.go | 1+
Dcolorlab/pkg/colors/package.go | 2--
Mcolorlab/pkg/emacs/emacs.go | 6+++---
Mcolorlab/pkg/generator/accentpair.go | 6+++---
Mcolorlab/pkg/generator/palette.go | 6+++---
Mcolorlab/pkg/sol/accents.go | 44++++++++++++++++++++++----------------------
Mcolorlab/pkg/sol/base.go | 42+++++++++++++++++++++---------------------
Mcolorlab/pkg/sol/package.go | 2+-
Mcolorlab/pkg/sol/solarized.go | 6+++---
Mcolorlab/pkg/sol/sort.go | 4++--
23 files changed, 290 insertions(+), 291 deletions(-)

diff --git a/colorlab/main.go b/colorlab/main.go @@ -5,7 +5,7 @@ import ( "fmt" "os" - "github.com/bbatsov/solarized-emacs/colorlab/pkg/colorlab" + "github.com/bbatsov/solarized-emacs/colorlab/pkg/clab" "github.com/bbatsov/solarized-emacs/colorlab/pkg/colors" "github.com/bbatsov/solarized-emacs/colorlab/pkg/emacs" "github.com/bbatsov/solarized-emacs/colorlab/pkg/generator" @@ -48,16 +48,16 @@ var ( BlendForegroundAmout: 0.3, Gamma: 0.01, MinimumLightnessDifference: 0.35, - ForegroundBlendFinder: colorlab.ExtremeColorFgFinder, - BackgroundBlendFinder: colorlab.ExtremeColorBgFinder, + ForegroundBlendFinder: clab.ExtremeColorFgFinder, + BackgroundBlendFinder: clab.ExtremeColorBgFinder, } default2BgFg = generator.AccentPairGenerator{ BlendBackgroundAmout: 0.6, BlendForegroundAmout: 0.45, Gamma: 0.04, MinimumLightnessDifference: 0.35, - ForegroundBlendFinder: colorlab.ExtremeColorFgFinder, - BackgroundBlendFinder: colorlab.ExtremeColorBgFinder, + ForegroundBlendFinder: clab.ExtremeColorFgFinder, + BackgroundBlendFinder: clab.ExtremeColorBgFinder, } palettes = []generator.Palette{ @@ -68,7 +68,7 @@ var ( BlendBackgroundAmout: default1BgFg.BlendBackgroundAmout, BlendForegroundAmout: default1BgFg.BlendForegroundAmout, Gamma: default1BgFg.Gamma, - ForegroundBlendFinder: colorlab.NamedColorFinder("base1"), + ForegroundBlendFinder: clab.NamedColorFinder("base1"), BackgroundBlendFinder: default1BgFg.BackgroundBlendFinder, MinimumLightnessDifference: 0.4, }, @@ -76,7 +76,7 @@ var ( BlendBackgroundAmout: default2BgFg.BlendBackgroundAmout, BlendForegroundAmout: default2BgFg.BlendForegroundAmout, Gamma: default2BgFg.Gamma, - ForegroundBlendFinder: colorlab.NamedColorFinder("base1"), + ForegroundBlendFinder: clab.NamedColorFinder("base1"), BackgroundBlendFinder: default2BgFg.BackgroundBlendFinder, MinimumLightnessDifference: 0.4, }, @@ -95,7 +95,7 @@ var ( BlendBackgroundAmout: default1BgFg.BlendBackgroundAmout, BlendForegroundAmout: default1BgFg.BlendForegroundAmout, Gamma: default1BgFg.Gamma, - ForegroundBlendFinder: colorlab.NamedColorFinder("base1"), + ForegroundBlendFinder: clab.NamedColorFinder("base1"), BackgroundBlendFinder: default1BgFg.BackgroundBlendFinder, MinimumLightnessDifference: 0.4, }, @@ -103,7 +103,7 @@ var ( BlendBackgroundAmout: default2BgFg.BlendBackgroundAmout, BlendForegroundAmout: default2BgFg.BlendForegroundAmout, Gamma: default2BgFg.Gamma, - ForegroundBlendFinder: colorlab.NamedColorFinder("base1"), + ForegroundBlendFinder: clab.NamedColorFinder("base1"), BackgroundBlendFinder: default2BgFg.BackgroundBlendFinder, MinimumLightnessDifference: 0.4, }, @@ -245,11 +245,11 @@ var ( Base: sol.Base{ Base03: colors.ZenburnBg, Base02: colors.ZenburnBgP1, - Base01: colorlab.HexColor(colors.ZenburnFgM1).Blend(colors.ZenburnFg, 0.3), + Base01: clab.HexColor(colors.ZenburnFgM1).Blend(colors.ZenburnFg, 0.3), Base00: colors.ZenburnBgP3, Base0: colors.ZenburnFg, Base1: colors.ZenburnFgP1, - Base2: colorlab.HexColor(colors.ZenburnFgP1).Blend(colors.ZenburnFgP2, 0.5), + Base2: clab.HexColor(colors.ZenburnFgP1).Blend(colors.ZenburnFgP2, 0.5), Base3: colors.ZenburnFgP2, }, Accents: sol.Accents{ @@ -259,7 +259,7 @@ var ( Magenta: colors.ZenburnMagenta, Orange: colors.ZenburnOrange, Red: colors.ZenburnRed, - Violet: colorlab.HexColor(colors.ZenburnBlue).Blend(colors.ZenburnMagenta, 0.5), + Violet: clab.HexColor(colors.ZenburnBlue).Blend(colors.ZenburnMagenta, 0.5), Yellow: colors.ZenburnYellow, }, } diff --git a/colorlab/pkg/clab/colorfinder.go b/colorlab/pkg/clab/colorfinder.go @@ -0,0 +1,49 @@ +package clab + +import ( + "log" + + "github.com/lucasb-eyer/go-colorful" +) + +// Find a specific color in a Solarized based on some preconditon +type ColorFinder func(NamedColors) colorful.Color + +// NamedColorFinder extracts a named color from a palette +func NamedColorFinder(name string) ColorFinder { + return func(colors NamedColors) colorful.Color { + c, ok := colors[name] + if !ok { + log.Fatalf("color %s not in list: %v", name, colors) + } + return c.Color() + } +} + +// BgFinder returns base03 from the input Solarized +func BgFinder(nc NamedColors) colorful.Color { + return NamedColorFinder("base03")(nc) + +} + +// FgFinder finds base0 from the input Solarized +func FgFinder(nc NamedColors) colorful.Color { + return NamedColorFinder("base0")(nc) + +} + +// ExtremeColorFgFinder finds the darkest base tone for light on dark or the lightest color for dark on light. +func ExtremeColorFgFinder(nc NamedColors) colorful.Color { + if nc.IsDarkOnBright("base03", "base0") { + return nc.ColorList().ByLightnessDesc()[0] + } + return nc.ColorList().ByLightness()[0] +} + +// ExtremeColorFgFinder finds the lightest base tone for light on dark or the darkest color for dark on light. +func ExtremeColorBgFinder(nc NamedColors) colorful.Color { + if nc.IsDarkOnBright("base03", "base0") { + return nc.ColorList().ByLightness()[0] + } + return nc.ColorList().ByLightnessDesc()[0] +} diff --git a/colorlab/pkg/clab/colorlist.go b/colorlab/pkg/clab/colorlist.go @@ -0,0 +1,36 @@ +package clab + +import ( + "sort" + + "github.com/lucasb-eyer/go-colorful" +) + +type ColorList []colorful.Color + +// returns the ColorList ordered by Lightness, darkest first +func (c ColorList) ByLightness() ColorList { + res := c + sort.Sort(ByLightness(res)) + return res +} + +// returns the ColorList ordered by Lightness, lightest first +func (c ColorList) ByLightnessDesc() ColorList { + res := c + sort.Sort(sort.Reverse(ByLightness(res))) + return res +} + +// ByLightness sorts a list of colors by LAB L(ightness) value +type ByLightness ColorList + +func (a ByLightness) Len() int { return len(a) } +func (a ByLightness) Swap(i, j int) { a[i], a[j] = a[j], a[i] } +func (a ByLightness) Less(i, j int) bool { + lightness := func(c colorful.Color) float64 { + l, _, _ := c.Lab() + return l + } + return lightness(a[i]) < lightness(a[j]) +} diff --git a/colorlab/pkg/clab/colortransformer.go b/colorlab/pkg/clab/colortransformer.go @@ -0,0 +1,5 @@ +package clab + +import "github.com/lucasb-eyer/go-colorful" + +type ColorTransformer func(colorful.Color) colorful.Color diff --git a/colorlab/pkg/clab/hexcolor.go b/colorlab/pkg/clab/hexcolor.go @@ -0,0 +1,23 @@ +package clab + +import "github.com/lucasb-eyer/go-colorful" + +type HexColor string + +func (h HexColor) Color() colorful.Color { + col, err := colorful.Hex(string(h)) + if err != nil { + panic(err) + } + return col +} + +func (h HexColor) Blend(hc HexColor, t float64) HexColor { + c1 := h.Color() + c2 := hc.Color() + return HexColor(c1.BlendLab(c2, t).Clamped().Hex()) +} + +func NewHexColor(c colorful.Color) HexColor { + return HexColor(c.Clamped().Hex()) +} diff --git a/colorlab/pkg/clab/namedcolors.go b/colorlab/pkg/clab/namedcolors.go @@ -0,0 +1,104 @@ +package clab + +import ( + "fmt" + "log" + "strings" + + "github.com/lucasb-eyer/go-colorful" +) + +type NamedColors map[string]HexColor + +// WithPrefix returns a copy of named colors where all keys are prefixed. +func (n NamedColors) WithPrefix(prefix string) NamedColors { + nc := make(NamedColors, len(n)) + for k, v := range n { + nc[fmt.Sprintf("%s%s", prefix, k)] = v + } + return nc +} + +// WithSuffix returns a copy of named colors where all keys are suffixed. +func (n NamedColors) WithSuffix(suffix string) NamedColors { + nc := make(NamedColors, len(n)) + for k, v := range n { + nc[fmt.Sprintf("%s%s", k, suffix)] = v + } + return nc +} + +func (n NamedColors) FilterSuffix(suffix ...string) NamedColors { + nc := make(NamedColors, len(n)) + for k, v := range n { + loop: + for _, s := range suffix { + if strings.HasSuffix(k, s) { + nc[k] = v + break loop + } + } + } + return nc +} + +func (n NamedColors) FilterPrefix(prefix ...string) NamedColors { + nc := make(NamedColors, len(n)) + for k, v := range n { + loop: + for _, p := range prefix { + if strings.HasPrefix(k, p) { + nc[k] = v + break loop + } + } + } + return nc +} + +func (n NamedColors) ColorList() ColorList { + var res ColorList + for _, v := range n { + res = append(res, v.Color()) + + } + return res +} + +// Returns true if the LAB lightness of bgName is larger than fgName. +func (nc NamedColors) IsDarkOnBright(bgName, fgName string) bool { + lightness := func(c colorful.Color) float64 { + l, _, _ := c.Lab() + return l + } + + // bg, ok := nc["base03"] + bg, ok := nc[bgName] + if !ok { + log.Fatalf("base03 not found in: ", nc) + } + + // fg := nc["base0"] + fg := nc[fgName] + if !ok { + log.Fatalf("base0 not found in: ", nc) + } + + bgl := lightness(bg.Color()) + fgl := lightness(fg.Color()) + if fgl == bgl { + log.Fatalf("bg (%v) and fg (%v) are not supposed to have equal lightness: %v %v", bg, fg, bgl, fgl) + } + return fgl > bgl +} + +// Merge merges multiple NamedColors +func Merge(nc ...NamedColors) NamedColors { + res := make(NamedColors) + for _, nc := range nc { + for k, v := range nc { + res[k] = v + } + } + return res +} diff --git a/colorlab/pkg/clab/package.go b/colorlab/pkg/clab/package.go @@ -0,0 +1,2 @@ +// Package clab contains general utulities for working with palette colors +package clab diff --git a/colorlab/pkg/colorlab/colorfinder.go b/colorlab/pkg/colorlab/colorfinder.go @@ -1,49 +0,0 @@ -package colorlab - -import ( - "log" - - "github.com/lucasb-eyer/go-colorful" -) - -// Find a specific color in a Solarized based on some preconditon -type ColorFinder func(NamedColors) colorful.Color - -// NamedColorFinder extracts a named color from a palette -func NamedColorFinder(name string) ColorFinder { - return func(colors NamedColors) colorful.Color { - c, ok := colors[name] - if !ok { - log.Fatalf("color %s not in list: %v", name, colors) - } - return c.Color() - } -} - -// BgFinder returns base03 from the input Solarized -func BgFinder(nc NamedColors) colorful.Color { - return NamedColorFinder("base03")(nc) - -} - -// FgFinder finds base0 from the input Solarized -func FgFinder(nc NamedColors) colorful.Color { - return NamedColorFinder("base0")(nc) - -} - -// ExtremeColorFgFinder finds the darkest base tone for light on dark or the lightest color for dark on light. -func ExtremeColorFgFinder(nc NamedColors) colorful.Color { - if nc.IsDarkOnBright("base03", "base0") { - return nc.ColorList().ByLightnessDesc()[0] - } - return nc.ColorList().ByLightness()[0] -} - -// ExtremeColorFgFinder finds the lightest base tone for light on dark or the darkest color for dark on light. -func ExtremeColorBgFinder(nc NamedColors) colorful.Color { - if nc.IsDarkOnBright("base03", "base0") { - return nc.ColorList().ByLightness()[0] - } - return nc.ColorList().ByLightnessDesc()[0] -} diff --git a/colorlab/pkg/colorlab/colorlist.go b/colorlab/pkg/colorlab/colorlist.go @@ -1,36 +0,0 @@ -package colorlab - -import ( - "sort" - - "github.com/lucasb-eyer/go-colorful" -) - -type ColorList []colorful.Color - -// returns the ColorList ordered by Lightness, darkest first -func (c ColorList) ByLightness() ColorList { - res := c - sort.Sort(ByLightness(res)) - return res -} - -// returns the ColorList ordered by Lightness, lightest first -func (c ColorList) ByLightnessDesc() ColorList { - res := c - sort.Sort(sort.Reverse(ByLightness(res))) - return res -} - -// ByLightness sorts a list of colors by LAB L(ightness) value -type ByLightness ColorList - -func (a ByLightness) Len() int { return len(a) } -func (a ByLightness) Swap(i, j int) { a[i], a[j] = a[j], a[i] } -func (a ByLightness) Less(i, j int) bool { - lightness := func(c colorful.Color) float64 { - l, _, _ := c.Lab() - return l - } - return lightness(a[i]) < lightness(a[j]) -} diff --git a/colorlab/pkg/colorlab/colortransformer.go b/colorlab/pkg/colorlab/colortransformer.go @@ -1,5 +0,0 @@ -package colorlab - -import "github.com/lucasb-eyer/go-colorful" - -type ColorTransformer func(colorful.Color) colorful.Color diff --git a/colorlab/pkg/colorlab/hexcolor.go b/colorlab/pkg/colorlab/hexcolor.go @@ -1,23 +0,0 @@ -package colorlab - -import "github.com/lucasb-eyer/go-colorful" - -type HexColor string - -func (h HexColor) Color() colorful.Color { - col, err := colorful.Hex(string(h)) - if err != nil { - panic(err) - } - return col -} - -func (h HexColor) Blend(hc HexColor, t float64) HexColor { - c1 := h.Color() - c2 := hc.Color() - return HexColor(c1.BlendLab(c2, t).Clamped().Hex()) -} - -func NewHexColor(c colorful.Color) HexColor { - return HexColor(c.Clamped().Hex()) -} diff --git a/colorlab/pkg/colorlab/namedcolors.go b/colorlab/pkg/colorlab/namedcolors.go @@ -1,104 +0,0 @@ -package colorlab - -import ( - "fmt" - "log" - "strings" - - "github.com/lucasb-eyer/go-colorful" -) - -type NamedColors map[string]HexColor - -// WithPrefix returns a copy of named colors where all keys are prefixed. -func (n NamedColors) WithPrefix(prefix string) NamedColors { - nc := make(NamedColors, len(n)) - for k, v := range n { - nc[fmt.Sprintf("%s%s", prefix, k)] = v - } - return nc -} - -// WithSuffix returns a copy of named colors where all keys are suffixed. -func (n NamedColors) WithSuffix(suffix string) NamedColors { - nc := make(NamedColors, len(n)) - for k, v := range n { - nc[fmt.Sprintf("%s%s", k, suffix)] = v - } - return nc -} - -func (n NamedColors) FilterSuffix(suffix ...string) NamedColors { - nc := make(NamedColors, len(n)) - for k, v := range n { - loop: - for _, s := range suffix { - if strings.HasSuffix(k, s) { - nc[k] = v - break loop - } - } - } - return nc -} - -func (n NamedColors) FilterPrefix(prefix ...string) NamedColors { - nc := make(NamedColors, len(n)) - for k, v := range n { - loop: - for _, p := range prefix { - if strings.HasPrefix(k, p) { - nc[k] = v - break loop - } - } - } - return nc -} - -func (n NamedColors) ColorList() ColorList { - var res ColorList - for _, v := range n { - res = append(res, v.Color()) - - } - return res -} - -// Returns true if the LAB lightness of bgName is larger than fgName. -func (nc NamedColors) IsDarkOnBright(bgName, fgName string) bool { - lightness := func(c colorful.Color) float64 { - l, _, _ := c.Lab() - return l - } - - // bg, ok := nc["base03"] - bg, ok := nc[bgName] - if !ok { - log.Fatalf("base03 not found in: ", nc) - } - - // fg := nc["base0"] - fg := nc[fgName] - if !ok { - log.Fatalf("base0 not found in: ", nc) - } - - bgl := lightness(bg.Color()) - fgl := lightness(fg.Color()) - if fgl == bgl { - log.Fatalf("bg (%v) and fg (%v) are not supposed to have equal lightness: %v %v", bg, fg, bgl, fgl) - } - return fgl > bgl -} - -// Merge merges multiple NamedColors -func Merge(nc ...NamedColors) NamedColors { - res := make(NamedColors) - for _, nc := range nc { - for k, v := range nc { - res[k] = v - } - } - return res -} diff --git a/colorlab/pkg/colorlab/package.go b/colorlab/pkg/colorlab/package.go @@ -1,2 +0,0 @@ -// Package colorlab contains general utulities for working with palette colors -package colorlab diff --git a/colorlab/pkg/colors/colors.go b/colorlab/pkg/colors/colors.go @@ -1,3 +1,4 @@ +// Package colors contains color constants for various palettes package colors const ( diff --git a/colorlab/pkg/colors/package.go b/colorlab/pkg/colors/package.go @@ -1,2 +0,0 @@ -// Package colors contains color constants for various palettes -package colors diff --git a/colorlab/pkg/emacs/emacs.go b/colorlab/pkg/emacs/emacs.go @@ -12,12 +12,12 @@ import ( "strconv" "strings" - "github.com/bbatsov/solarized-emacs/colorlab/pkg/colorlab" + "github.com/bbatsov/solarized-emacs/colorlab/pkg/clab" "github.com/bbatsov/solarized-emacs/colorlab/pkg/sol" ) // PrintAlist prints the named colors list in a way that is compatible with solarized-palettes.el. -func PrintAlist(w io.Writer, n colorlab.NamedColors, indent int) (int, error) { +func PrintAlist(w io.Writer, n clab.NamedColors, indent int) (int, error) { keys := sol.OrderedKeys(n) var longestKey int for _, n := range keys { @@ -45,7 +45,7 @@ func PrintAlist(w io.Writer, n colorlab.NamedColors, indent int) (int, error) { return nt, nil } -func RewritePalette(nc colorlab.NamedColors, paletteName string) { +func RewritePalette(nc clab.NamedColors, paletteName string) { var dst bytes.Buffer diff --git a/colorlab/pkg/generator/accentpair.go b/colorlab/pkg/generator/accentpair.go @@ -4,7 +4,7 @@ import ( "fmt" "math" - "github.com/bbatsov/solarized-emacs/colorlab/pkg/colorlab" + "github.com/bbatsov/solarized-emacs/colorlab/pkg/clab" "github.com/bbatsov/solarized-emacs/colorlab/pkg/sol" "github.com/lucasb-eyer/go-colorful" ) @@ -16,8 +16,8 @@ type AccentPairGenerator struct { Gamma float64 MinimumLightnessDifference float64 - BackgroundBlendFinder colorlab.ColorFinder - ForegroundBlendFinder colorlab.ColorFinder + BackgroundBlendFinder clab.ColorFinder + ForegroundBlendFinder clab.ColorFinder } func (g *AccentPairGenerator) Generate(solarized sol.Solarized) (backgrounds, foregrounds sol.Accents) { diff --git a/colorlab/pkg/generator/palette.go b/colorlab/pkg/generator/palette.go @@ -1,7 +1,7 @@ package generator import ( - "github.com/bbatsov/solarized-emacs/colorlab/pkg/colorlab" + "github.com/bbatsov/solarized-emacs/colorlab/pkg/clab" "github.com/bbatsov/solarized-emacs/colorlab/pkg/sol" ) @@ -15,7 +15,7 @@ type Palette struct { Accent2Pair AccentPairGenerator } -func (p Palette) Generate() colorlab.NamedColors { +func (p Palette) Generate() clab.NamedColors { pal := p.Solarized @@ -26,7 +26,7 @@ func (p Palette) Generate() colorlab.NamedColors { bgs, fgs := p.Accent1Pair.Generate(corrected) hbgs, hfgs := p.Accent2Pair.Generate(corrected) - cols := colorlab.Merge( + cols := clab.Merge( pal.NamedColors(), fgs.NamedColors().WithSuffix("-1fg"), bgs.NamedColors().WithSuffix("-1bg"), diff --git a/colorlab/pkg/sol/accents.go b/colorlab/pkg/sol/accents.go @@ -1,34 +1,34 @@ package sol import ( - "github.com/bbatsov/solarized-emacs/colorlab/pkg/colorlab" + "github.com/bbatsov/solarized-emacs/colorlab/pkg/clab" "github.com/lucasb-eyer/go-colorful" ) // Accents . type Accents struct { - Yellow colorlab.HexColor - Orange colorlab.HexColor - Red colorlab.HexColor - Magenta colorlab.HexColor - Violet colorlab.HexColor - Blue colorlab.HexColor - Cyan colorlab.HexColor - Green colorlab.HexColor + Yellow clab.HexColor + Orange clab.HexColor + Red clab.HexColor + Magenta clab.HexColor + Violet clab.HexColor + Blue clab.HexColor + Cyan clab.HexColor + Green clab.HexColor } type AccentColors [8]colorful.Color func NewAccents(cc [8]colorful.Color) Accents { return Accents{ - Yellow: colorlab.HexColor(cc[0].Clamped().Hex()), - Orange: colorlab.HexColor(cc[1].Clamped().Hex()), - Red: colorlab.HexColor(cc[2].Clamped().Hex()), - Magenta: colorlab.HexColor(cc[3].Clamped().Hex()), - Violet: colorlab.HexColor(cc[4].Clamped().Hex()), - Blue: colorlab.HexColor(cc[5].Clamped().Hex()), - Cyan: colorlab.HexColor(cc[6].Clamped().Hex()), - Green: colorlab.HexColor(cc[7].Clamped().Hex()), + Yellow: clab.HexColor(cc[0].Clamped().Hex()), + Orange: clab.HexColor(cc[1].Clamped().Hex()), + Red: clab.HexColor(cc[2].Clamped().Hex()), + Magenta: clab.HexColor(cc[3].Clamped().Hex()), + Violet: clab.HexColor(cc[4].Clamped().Hex()), + Blue: clab.HexColor(cc[5].Clamped().Hex()), + Cyan: clab.HexColor(cc[6].Clamped().Hex()), + Green: clab.HexColor(cc[7].Clamped().Hex()), } } func (s Accents) Clone() Accents { @@ -93,7 +93,7 @@ func (a Accents) ChangeSaturation(amount float64) Accents { return NewAccents(cc) } -func (a Accents) Blend(hc colorlab.HexColor, amount float64) Accents { +func (a Accents) Blend(hc clab.HexColor, amount float64) Accents { c := hc.Color() cc := a.Colors() cc[0] = cc[0].BlendLab(c, amount) @@ -107,8 +107,8 @@ func (a Accents) Blend(hc colorlab.HexColor, amount float64) Accents { return NewAccents(cc) } -func (ac Accents) NamedColors() colorlab.NamedColors { - nc := make(colorlab.NamedColors, 8) +func (ac Accents) NamedColors() clab.NamedColors { + nc := make(clab.NamedColors, 8) arr := ac.colorArray() for idx, hex := range arr { nc[accentNames[idx]] = hex @@ -116,8 +116,8 @@ func (ac Accents) NamedColors() colorlab.NamedColors { return nc } -func (s Accents) colorArray() [8]colorlab.HexColor { - return [8]colorlab.HexColor{ +func (s Accents) colorArray() [8]clab.HexColor { + return [8]clab.HexColor{ s.Yellow, s.Orange, s.Red, diff --git a/colorlab/pkg/sol/base.go b/colorlab/pkg/sol/base.go @@ -1,33 +1,33 @@ package sol import ( - "github.com/bbatsov/solarized-emacs/colorlab/pkg/colorlab" + "github.com/bbatsov/solarized-emacs/colorlab/pkg/clab" "github.com/lucasb-eyer/go-colorful" ) type Base struct { - Base03 colorlab.HexColor - Base02 colorlab.HexColor - Base01 colorlab.HexColor - Base00 colorlab.HexColor - Base0 colorlab.HexColor - Base1 colorlab.HexColor - Base2 colorlab.HexColor - Base3 colorlab.HexColor + Base03 clab.HexColor + Base02 clab.HexColor + Base01 clab.HexColor + Base00 clab.HexColor + Base0 clab.HexColor + Base1 clab.HexColor + Base2 clab.HexColor + Base3 clab.HexColor } type BaseColors [8]colorful.Color func NewBase(bc [8]colorful.Color) Base { return Base{ - Base03: colorlab.HexColor(bc[0].Clamped().Hex()), - Base02: colorlab.HexColor(bc[1].Clamped().Hex()), - Base01: colorlab.HexColor(bc[2].Clamped().Hex()), - Base00: colorlab.HexColor(bc[3].Clamped().Hex()), - Base0: colorlab.HexColor(bc[4].Clamped().Hex()), - Base1: colorlab.HexColor(bc[5].Clamped().Hex()), - Base2: colorlab.HexColor(bc[6].Clamped().Hex()), - Base3: colorlab.HexColor(bc[7].Clamped().Hex()), + Base03: clab.HexColor(bc[0].Clamped().Hex()), + Base02: clab.HexColor(bc[1].Clamped().Hex()), + Base01: clab.HexColor(bc[2].Clamped().Hex()), + Base00: clab.HexColor(bc[3].Clamped().Hex()), + Base0: clab.HexColor(bc[4].Clamped().Hex()), + Base1: clab.HexColor(bc[5].Clamped().Hex()), + Base2: clab.HexColor(bc[6].Clamped().Hex()), + Base3: clab.HexColor(bc[7].Clamped().Hex()), } } func (s Base) Clone() Base { @@ -42,8 +42,8 @@ func (s Base) Clone() Base { Base3: s.Base3, } } -func (s Base) NamedColors() colorlab.NamedColors { - nc := make(colorlab.NamedColors, 8) +func (s Base) NamedColors() clab.NamedColors { + nc := make(clab.NamedColors, 8) arr := s.colorArray() for idx, hex := range arr { nc[baseNames[idx]] = hex @@ -65,8 +65,8 @@ func (s Base) Colors() BaseColors { } } -func (s Base) colorArray() [8]colorlab.HexColor { - return [8]colorlab.HexColor{ +func (s Base) colorArray() [8]clab.HexColor { + return [8]clab.HexColor{ s.Base03, s.Base02, s.Base01, diff --git a/colorlab/pkg/sol/package.go b/colorlab/pkg/sol/package.go @@ -1,2 +1,2 @@ -// Package solarized contains functionality specific to the structure of a solarize palette +// Package sol contains functionality specific to the structure of a solarize palette package sol diff --git a/colorlab/pkg/sol/solarized.go b/colorlab/pkg/sol/solarized.go @@ -1,6 +1,6 @@ package sol -import "github.com/bbatsov/solarized-emacs/colorlab/pkg/colorlab" +import "github.com/bbatsov/solarized-emacs/colorlab/pkg/clab" type Solarized struct { Base @@ -21,6 +21,6 @@ func (s Solarized) Inverse() Solarized { } } -func (s Solarized) NamedColors() colorlab.NamedColors { - return colorlab.Merge(s.Base.NamedColors(), s.Accents.NamedColors()) +func (s Solarized) NamedColors() clab.NamedColors { + return clab.Merge(s.Base.NamedColors(), s.Accents.NamedColors()) } diff --git a/colorlab/pkg/sol/sort.go b/colorlab/pkg/sol/sort.go @@ -4,7 +4,7 @@ import ( "sort" "strings" - "github.com/bbatsov/solarized-emacs/colorlab/pkg/colorlab" + "github.com/bbatsov/solarized-emacs/colorlab/pkg/clab" ) // Orderedkeys returns the keys in a order that is like how solarized names should be ordered. @@ -19,7 +19,7 @@ import ( // // secondary sort order is by string comparison. // -func OrderedKeys(n colorlab.NamedColors) []string { +func OrderedKeys(n clab.NamedColors) []string { var names []string for k, _ := range n { names = append(names, k)