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" const ansiReset = "\e[0m"
proc ansi(s: string, c: ColorRGB): string = proc ansi(s: string, c: Color): string =
let code = &"\e[48;2;{c.r};{c.g};{c.b}m" 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(code)
result.add(s) result.add(s)
result.add(ansiReset) result.add(ansiReset)

View file

@ -8,4 +8,4 @@ import catppuccin
when isMainModule: when isMainModule:
echo "Mocha colors as CMYK" echo "Mocha colors as CMYK"
for n, c in mocha.fieldPairs(): 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*, green*, teal*, sky*, sapphire*, blue*, lavender*, text*, subtext1*,
subtext0*, overlay2*, subtext0*, overlay2*,
overlay1*, surface2*, surface1*, surface0*, base*, mantle*, overlay1*, surface2*, surface1*, surface0*, base*, mantle*,
crust*: ColorRGB crust*: Color
include catppuccin/palette include catppuccin/palette

View file

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

View file

@ -3,7 +3,7 @@ import unittest
import catppuccin import catppuccin
test "color": 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": 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 = proc createColor(c: Color, name: string): string =
result = &""" 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 = proc createFlavor(f: Flavor, name: string): string =
var colorsDef: seq[string] var colorsDef: seq[string]