refactor: use Color by default

This commit is contained in:
Daylin Morgan 2023-04-27 09:24:14 -05:00
parent f7d81615b2
commit b39ca2f7f5
Signed by: daylin
GPG Key ID: C1E52E7DD81DF79F
6 changed files with 111 additions and 107 deletions

View File

@ -3,8 +3,12 @@ import catppuccin
const ansiReset = "\e[0m"
proc ansi(s: string, c: ColorRGB): string =
let code = &"\e[48;2;{c.r};{c.g};{c.b}m"
proc ansi(s: string, c: Color): string =
let
cRgb = c.rgb()
(r, g, b) = (cRgb.r, cRgb.g, cRgb.b)
code = &"\e[48;2;{r};{g};{b}m"
result.add(code)
result.add(s)
result.add(ansiReset)

View File

@ -8,4 +8,4 @@ import catppuccin
when isMainModule:
echo "Mocha colors as CMYK"
for n, c in mocha.fieldPairs():
echo alignLeft(n, 9) & " -> " & $c.color().asCmyk()
echo alignLeft(n, 9) & " -> " & $c.asCmyk()

View File

@ -9,7 +9,7 @@ type
green*, teal*, sky*, sapphire*, blue*, lavender*, text*, subtext1*,
subtext0*, overlay2*,
overlay1*, surface2*, surface1*, surface0*, base*, mantle*,
crust*: ColorRGB
crust*: Color
include catppuccin/palette

View File

@ -2,111 +2,111 @@
const
latte* = Flavor(
rosewater: ColorRGB(r: 220, g: 138, b: 120),
flamingo: ColorRGB(r: 221, g: 120, b: 120),
pink: ColorRGB(r: 234, g: 118, b: 203),
mauve: ColorRGB(r: 136, g: 57, b: 239),
red: ColorRGB(r: 210, g: 15, b: 57),
maroon: ColorRGB(r: 230, g: 69, b: 83),
peach: ColorRGB(r: 254, g: 100, b: 11),
yellow: ColorRGB(r: 223, g: 142, b: 29),
green: ColorRGB(r: 64, g: 160, b: 43),
teal: ColorRGB(r: 23, g: 146, b: 153),
sky: ColorRGB(r: 4, g: 165, b: 229),
sapphire: ColorRGB(r: 32, g: 159, b: 181),
blue: ColorRGB(r: 30, g: 102, b: 245),
lavender: ColorRGB(r: 114, g: 135, b: 253),
text: ColorRGB(r: 76, g: 79, b: 105),
subtext1: ColorRGB(r: 92, g: 95, b: 119),
subtext0: ColorRGB(r: 108, g: 111, b: 133),
overlay2: ColorRGB(r: 124, g: 127, b: 147),
overlay1: ColorRGB(r: 140, g: 143, b: 161),
surface2: ColorRGB(r: 172, g: 176, b: 190),
surface1: ColorRGB(r: 188, g: 192, b: 204),
surface0: ColorRGB(r: 204, g: 208, b: 218),
base: ColorRGB(r: 239, g: 241, b: 245),
mantle: ColorRGB(r: 230, g: 233, b: 239),
crust: ColorRGB(r: 220, g: 224, b: 232)
rosewater: ColorRGB(r: 220, g: 138, b: 120).color(),
flamingo: ColorRGB(r: 221, g: 120, b: 120).color(),
pink: ColorRGB(r: 234, g: 118, b: 203).color(),
mauve: ColorRGB(r: 136, g: 57, b: 239).color(),
red: ColorRGB(r: 210, g: 15, b: 57).color(),
maroon: ColorRGB(r: 230, g: 69, b: 83).color(),
peach: ColorRGB(r: 254, g: 100, b: 11).color(),
yellow: ColorRGB(r: 223, g: 142, b: 29).color(),
green: ColorRGB(r: 64, g: 160, b: 43).color(),
teal: ColorRGB(r: 23, g: 146, b: 153).color(),
sky: ColorRGB(r: 4, g: 165, b: 229).color(),
sapphire: ColorRGB(r: 32, g: 159, b: 181).color(),
blue: ColorRGB(r: 30, g: 102, b: 245).color(),
lavender: ColorRGB(r: 114, g: 135, b: 253).color(),
text: ColorRGB(r: 76, g: 79, b: 105).color(),
subtext1: ColorRGB(r: 92, g: 95, b: 119).color(),
subtext0: ColorRGB(r: 108, g: 111, b: 133).color(),
overlay2: ColorRGB(r: 124, g: 127, b: 147).color(),
overlay1: ColorRGB(r: 140, g: 143, b: 161).color(),
surface2: ColorRGB(r: 172, g: 176, b: 190).color(),
surface1: ColorRGB(r: 188, g: 192, b: 204).color(),
surface0: ColorRGB(r: 204, g: 208, b: 218).color(),
base: ColorRGB(r: 239, g: 241, b: 245).color(),
mantle: ColorRGB(r: 230, g: 233, b: 239).color(),
crust: ColorRGB(r: 220, g: 224, b: 232).color()
)
frappe* = Flavor(
rosewater: ColorRGB(r: 242, g: 213, b: 207),
flamingo: ColorRGB(r: 238, g: 190, b: 190),
pink: ColorRGB(r: 244, g: 184, b: 228),
mauve: ColorRGB(r: 202, g: 158, b: 230),
red: ColorRGB(r: 231, g: 130, b: 132),
maroon: ColorRGB(r: 234, g: 153, b: 156),
peach: ColorRGB(r: 239, g: 159, b: 118),
yellow: ColorRGB(r: 229, g: 200, b: 144),
green: ColorRGB(r: 166, g: 209, b: 137),
teal: ColorRGB(r: 129, g: 200, b: 190),
sky: ColorRGB(r: 153, g: 209, b: 219),
sapphire: ColorRGB(r: 133, g: 193, b: 220),
blue: ColorRGB(r: 140, g: 170, b: 238),
lavender: ColorRGB(r: 186, g: 187, b: 241),
text: ColorRGB(r: 198, g: 208, b: 245),
subtext1: ColorRGB(r: 181, g: 191, b: 226),
subtext0: ColorRGB(r: 165, g: 173, b: 206),
overlay2: ColorRGB(r: 148, g: 156, b: 187),
overlay1: ColorRGB(r: 131, g: 139, b: 167),
surface2: ColorRGB(r: 98, g: 104, b: 128),
surface1: ColorRGB(r: 81, g: 87, b: 109),
surface0: ColorRGB(r: 65, g: 69, b: 89),
base: ColorRGB(r: 48, g: 52, b: 70),
mantle: ColorRGB(r: 41, g: 44, b: 60),
crust: ColorRGB(r: 35, g: 38, b: 52)
rosewater: ColorRGB(r: 242, g: 213, b: 207).color(),
flamingo: ColorRGB(r: 238, g: 190, b: 190).color(),
pink: ColorRGB(r: 244, g: 184, b: 228).color(),
mauve: ColorRGB(r: 202, g: 158, b: 230).color(),
red: ColorRGB(r: 231, g: 130, b: 132).color(),
maroon: ColorRGB(r: 234, g: 153, b: 156).color(),
peach: ColorRGB(r: 239, g: 159, b: 118).color(),
yellow: ColorRGB(r: 229, g: 200, b: 144).color(),
green: ColorRGB(r: 166, g: 209, b: 137).color(),
teal: ColorRGB(r: 129, g: 200, b: 190).color(),
sky: ColorRGB(r: 153, g: 209, b: 219).color(),
sapphire: ColorRGB(r: 133, g: 193, b: 220).color(),
blue: ColorRGB(r: 140, g: 170, b: 238).color(),
lavender: ColorRGB(r: 186, g: 187, b: 241).color(),
text: ColorRGB(r: 198, g: 208, b: 245).color(),
subtext1: ColorRGB(r: 181, g: 191, b: 226).color(),
subtext0: ColorRGB(r: 165, g: 173, b: 206).color(),
overlay2: ColorRGB(r: 148, g: 156, b: 187).color(),
overlay1: ColorRGB(r: 131, g: 139, b: 167).color(),
surface2: ColorRGB(r: 98, g: 104, b: 128).color(),
surface1: ColorRGB(r: 81, g: 87, b: 109).color(),
surface0: ColorRGB(r: 65, g: 69, b: 89).color(),
base: ColorRGB(r: 48, g: 52, b: 70).color(),
mantle: ColorRGB(r: 41, g: 44, b: 60).color(),
crust: ColorRGB(r: 35, g: 38, b: 52).color()
)
macchiato* = Flavor(
rosewater: ColorRGB(r: 244, g: 219, b: 214),
flamingo: ColorRGB(r: 240, g: 198, b: 198),
pink: ColorRGB(r: 245, g: 189, b: 230),
mauve: ColorRGB(r: 198, g: 160, b: 246),
red: ColorRGB(r: 237, g: 135, b: 150),
maroon: ColorRGB(r: 238, g: 153, b: 160),
peach: ColorRGB(r: 245, g: 169, b: 127),
yellow: ColorRGB(r: 238, g: 212, b: 159),
green: ColorRGB(r: 166, g: 218, b: 149),
teal: ColorRGB(r: 139, g: 213, b: 202),
sky: ColorRGB(r: 145, g: 215, b: 227),
sapphire: ColorRGB(r: 125, g: 196, b: 228),
blue: ColorRGB(r: 138, g: 173, b: 244),
lavender: ColorRGB(r: 183, g: 189, b: 248),
text: ColorRGB(r: 202, g: 211, b: 245),
subtext1: ColorRGB(r: 184, g: 192, b: 224),
subtext0: ColorRGB(r: 165, g: 173, b: 203),
overlay2: ColorRGB(r: 147, g: 154, b: 183),
overlay1: ColorRGB(r: 128, g: 135, b: 162),
surface2: ColorRGB(r: 91, g: 96, b: 120),
surface1: ColorRGB(r: 73, g: 77, b: 100),
surface0: ColorRGB(r: 54, g: 58, b: 79),
base: ColorRGB(r: 36, g: 39, b: 58),
mantle: ColorRGB(r: 30, g: 32, b: 48),
crust: ColorRGB(r: 24, g: 25, b: 38)
rosewater: ColorRGB(r: 244, g: 219, b: 214).color(),
flamingo: ColorRGB(r: 240, g: 198, b: 198).color(),
pink: ColorRGB(r: 245, g: 189, b: 230).color(),
mauve: ColorRGB(r: 198, g: 160, b: 246).color(),
red: ColorRGB(r: 237, g: 135, b: 150).color(),
maroon: ColorRGB(r: 238, g: 153, b: 160).color(),
peach: ColorRGB(r: 245, g: 169, b: 127).color(),
yellow: ColorRGB(r: 238, g: 212, b: 159).color(),
green: ColorRGB(r: 166, g: 218, b: 149).color(),
teal: ColorRGB(r: 139, g: 213, b: 202).color(),
sky: ColorRGB(r: 145, g: 215, b: 227).color(),
sapphire: ColorRGB(r: 125, g: 196, b: 228).color(),
blue: ColorRGB(r: 138, g: 173, b: 244).color(),
lavender: ColorRGB(r: 183, g: 189, b: 248).color(),
text: ColorRGB(r: 202, g: 211, b: 245).color(),
subtext1: ColorRGB(r: 184, g: 192, b: 224).color(),
subtext0: ColorRGB(r: 165, g: 173, b: 203).color(),
overlay2: ColorRGB(r: 147, g: 154, b: 183).color(),
overlay1: ColorRGB(r: 128, g: 135, b: 162).color(),
surface2: ColorRGB(r: 91, g: 96, b: 120).color(),
surface1: ColorRGB(r: 73, g: 77, b: 100).color(),
surface0: ColorRGB(r: 54, g: 58, b: 79).color(),
base: ColorRGB(r: 36, g: 39, b: 58).color(),
mantle: ColorRGB(r: 30, g: 32, b: 48).color(),
crust: ColorRGB(r: 24, g: 25, b: 38).color()
)
mocha* = Flavor(
rosewater: ColorRGB(r: 245, g: 224, b: 220),
flamingo: ColorRGB(r: 242, g: 205, b: 205),
pink: ColorRGB(r: 245, g: 194, b: 231),
mauve: ColorRGB(r: 203, g: 166, b: 247),
red: ColorRGB(r: 243, g: 139, b: 168),
maroon: ColorRGB(r: 235, g: 160, b: 172),
peach: ColorRGB(r: 250, g: 179, b: 135),
yellow: ColorRGB(r: 249, g: 226, b: 175),
green: ColorRGB(r: 166, g: 227, b: 161),
teal: ColorRGB(r: 148, g: 226, b: 213),
sky: ColorRGB(r: 137, g: 220, b: 235),
sapphire: ColorRGB(r: 116, g: 199, b: 236),
blue: ColorRGB(r: 137, g: 180, b: 250),
lavender: ColorRGB(r: 180, g: 190, b: 254),
text: ColorRGB(r: 205, g: 214, b: 244),
subtext1: ColorRGB(r: 186, g: 194, b: 222),
subtext0: ColorRGB(r: 166, g: 173, b: 200),
overlay2: ColorRGB(r: 147, g: 153, b: 178),
overlay1: ColorRGB(r: 127, g: 132, b: 156),
surface2: ColorRGB(r: 88, g: 91, b: 112),
surface1: ColorRGB(r: 69, g: 71, b: 90),
surface0: ColorRGB(r: 49, g: 50, b: 68),
base: ColorRGB(r: 30, g: 30, b: 46),
mantle: ColorRGB(r: 24, g: 24, b: 37),
crust: ColorRGB(r: 17, g: 17, b: 27)
rosewater: ColorRGB(r: 245, g: 224, b: 220).color(),
flamingo: ColorRGB(r: 242, g: 205, b: 205).color(),
pink: ColorRGB(r: 245, g: 194, b: 231).color(),
mauve: ColorRGB(r: 203, g: 166, b: 247).color(),
red: ColorRGB(r: 243, g: 139, b: 168).color(),
maroon: ColorRGB(r: 235, g: 160, b: 172).color(),
peach: ColorRGB(r: 250, g: 179, b: 135).color(),
yellow: ColorRGB(r: 249, g: 226, b: 175).color(),
green: ColorRGB(r: 166, g: 227, b: 161).color(),
teal: ColorRGB(r: 148, g: 226, b: 213).color(),
sky: ColorRGB(r: 137, g: 220, b: 235).color(),
sapphire: ColorRGB(r: 116, g: 199, b: 236).color(),
blue: ColorRGB(r: 137, g: 180, b: 250).color(),
lavender: ColorRGB(r: 180, g: 190, b: 254).color(),
text: ColorRGB(r: 205, g: 214, b: 244).color(),
subtext1: ColorRGB(r: 186, g: 194, b: 222).color(),
subtext0: ColorRGB(r: 166, g: 173, b: 200).color(),
overlay2: ColorRGB(r: 147, g: 153, b: 178).color(),
overlay1: ColorRGB(r: 127, g: 132, b: 156).color(),
surface2: ColorRGB(r: 88, g: 91, b: 112).color(),
surface1: ColorRGB(r: 69, g: 71, b: 90).color(),
surface0: ColorRGB(r: 49, g: 50, b: 68).color(),
base: ColorRGB(r: 30, g: 30, b: 46).color(),
mantle: ColorRGB(r: 24, g: 24, b: 37).color(),
crust: ColorRGB(r: 17, g: 17, b: 27).color()
)

View File

@ -3,7 +3,7 @@ import unittest
import catppuccin
test "color":
check mocha.rosewater == ColorRGB(r: 245, g: 224, b: 220)
check mocha.rosewater.rgb() == ColorRGB(r: 245, g: 224, b: 220)
test "convert":
check mocha.rosewater.color().toHex() == "F5E0DC"
check mocha.rosewater.toHex() == "F5E0DC"

View File

@ -15,7 +15,7 @@ type
proc createColor(c: Color, name: string): string =
result = &"""
{name}: ColorRGB(r: {c.rgb[0]}, g: {c.rgb[1]}, b: {c.rgb[2]})"""
{name}: ColorRGB(r: {c.rgb[0]}, g: {c.rgb[1]}, b: {c.rgb[2]}).color()"""
proc createFlavor(f: Flavor, name: string): string =
var colorsDef: seq[string]