From 384c775f1ae21a612b926cf8e8e6c13971ec69cc Mon Sep 17 00:00:00 2001 From: bbedward Date: Thu, 27 Nov 2025 09:46:45 -0500 Subject: [PATCH] dank16: enrich with hex, hex stripped, rgb --- core/internal/dank16/dank16.go | 107 +++++++--- core/internal/dank16/dank16_test.go | 71 ++++--- core/internal/dank16/terminals.go | 189 ++++++++---------- quickshell/matugen/templates/alacritty.toml | 32 +-- quickshell/matugen/templates/foot.ini | 32 +-- quickshell/matugen/templates/ghostty.conf | 32 +-- quickshell/matugen/templates/kitty.conf | 32 +-- .../templates/vscode-color-theme-dark.json | 100 ++++----- .../templates/vscode-color-theme-default.json | 100 ++++----- .../templates/vscode-color-theme-light.json | 100 ++++----- quickshell/matugen/templates/wezterm.toml | 4 +- 11 files changed, 412 insertions(+), 387 deletions(-) diff --git a/core/internal/dank16/dank16.go b/core/internal/dank16/dank16.go index 4140eb00..b7854e27 100644 --- a/core/internal/dank16/dank16.go +++ b/core/internal/dank16/dank16.go @@ -15,6 +15,48 @@ type HSV struct { H, S, V float64 } +type ColorInfo struct { + Hex string `json:"hex"` + HexStripped string `json:"hex_stripped"` + R int `json:"r"` + G int `json:"g"` + B int `json:"b"` +} + +type Palette struct { + Color0 ColorInfo `json:"color0"` + Color1 ColorInfo `json:"color1"` + Color2 ColorInfo `json:"color2"` + Color3 ColorInfo `json:"color3"` + Color4 ColorInfo `json:"color4"` + Color5 ColorInfo `json:"color5"` + Color6 ColorInfo `json:"color6"` + Color7 ColorInfo `json:"color7"` + Color8 ColorInfo `json:"color8"` + Color9 ColorInfo `json:"color9"` + Color10 ColorInfo `json:"color10"` + Color11 ColorInfo `json:"color11"` + Color12 ColorInfo `json:"color12"` + Color13 ColorInfo `json:"color13"` + Color14 ColorInfo `json:"color14"` + Color15 ColorInfo `json:"color15"` +} + +func NewColorInfo(hex string) ColorInfo { + rgb := HexToRGB(hex) + stripped := hex + if len(hex) > 0 && hex[0] == '#' { + stripped = hex[1:] + } + return ColorInfo{ + Hex: hex, + HexStripped: stripped, + R: int(math.Round(rgb.R * 255)), + G: int(math.Round(rgb.G * 255)), + B: int(math.Round(rgb.B * 255)), + } +} + func HexToRGB(hex string) RGB { if hex[0] == '#' { hex = hex[1:] @@ -310,13 +352,13 @@ func DeriveContainer(primary string, isLight bool) string { return RGBToHex(HSVToRGB(HSV{H: hsv.H, S: containerS, V: containerV})) } -func GeneratePalette(primaryColor string, opts PaletteOptions) []string { +func GeneratePalette(primaryColor string, opts PaletteOptions) Palette { baseColor := DeriveContainer(primaryColor, opts.IsLight) rgb := HexToRGB(baseColor) hsv := RGBToHSV(rgb) - palette := make([]string, 0, 16) + var palette Palette var normalTextTarget, secondaryTarget float64 if opts.UseDPS { @@ -335,7 +377,7 @@ func GeneratePalette(primaryColor string, opts PaletteOptions) []string { } else { bgColor = "#1a1a1a" } - palette = append(palette, bgColor) + palette.Color0 = NewColorInfo(bgColor) hueShift := (hsv.H - 0.6) * 0.12 satBoost := 1.15 @@ -344,39 +386,39 @@ func GeneratePalette(primaryColor string, opts PaletteOptions) []string { var redColor string if opts.IsLight { redColor = RGBToHex(HSVToRGB(HSV{H: redH, S: math.Min(0.80*satBoost, 1.0), V: 0.55})) - palette = append(palette, ensureContrastAuto(redColor, bgColor, normalTextTarget, opts)) + palette.Color1 = NewColorInfo(ensureContrastAuto(redColor, bgColor, normalTextTarget, opts)) } else { redColor = RGBToHex(HSVToRGB(HSV{H: redH, S: math.Min(0.65*satBoost, 1.0), V: 0.80})) - palette = append(palette, ensureContrastAuto(redColor, bgColor, normalTextTarget, opts)) + palette.Color1 = NewColorInfo(ensureContrastAuto(redColor, bgColor, normalTextTarget, opts)) } greenH := math.Mod(0.33+hueShift+1.0, 1.0) var greenColor string if opts.IsLight { greenColor = RGBToHex(HSVToRGB(HSV{H: greenH, S: math.Min(math.Max(hsv.S*0.9, 0.80)*satBoost, 1.0), V: 0.45})) - palette = append(palette, ensureContrastAuto(greenColor, bgColor, normalTextTarget, opts)) + palette.Color2 = NewColorInfo(ensureContrastAuto(greenColor, bgColor, normalTextTarget, opts)) } else { greenColor = RGBToHex(HSVToRGB(HSV{H: greenH, S: math.Min(0.42*satBoost, 1.0), V: 0.84})) - palette = append(palette, ensureContrastAuto(greenColor, bgColor, normalTextTarget, opts)) + palette.Color2 = NewColorInfo(ensureContrastAuto(greenColor, bgColor, normalTextTarget, opts)) } yellowH := math.Mod(0.15+hueShift+1.0, 1.0) var yellowColor string if opts.IsLight { yellowColor = RGBToHex(HSVToRGB(HSV{H: yellowH, S: math.Min(0.75*satBoost, 1.0), V: 0.50})) - palette = append(palette, ensureContrastAuto(yellowColor, bgColor, normalTextTarget, opts)) + palette.Color3 = NewColorInfo(ensureContrastAuto(yellowColor, bgColor, normalTextTarget, opts)) } else { yellowColor = RGBToHex(HSVToRGB(HSV{H: yellowH, S: math.Min(0.38*satBoost, 1.0), V: 0.86})) - palette = append(palette, ensureContrastAuto(yellowColor, bgColor, normalTextTarget, opts)) + palette.Color3 = NewColorInfo(ensureContrastAuto(yellowColor, bgColor, normalTextTarget, opts)) } var blueColor string if opts.IsLight { blueColor = RGBToHex(HSVToRGB(HSV{H: hsv.H, S: math.Max(hsv.S*0.9, 0.7), V: hsv.V * 1.1})) - palette = append(palette, ensureContrastAuto(blueColor, bgColor, normalTextTarget, opts)) + palette.Color4 = NewColorInfo(ensureContrastAuto(blueColor, bgColor, normalTextTarget, opts)) } else { blueColor = RGBToHex(HSVToRGB(HSV{H: hsv.H, S: math.Max(hsv.S*0.8, 0.6), V: math.Min(hsv.V*1.6, 1.0)})) - palette = append(palette, ensureContrastAuto(blueColor, bgColor, normalTextTarget, opts)) + palette.Color4 = NewColorInfo(ensureContrastAuto(blueColor, bgColor, normalTextTarget, opts)) } magH := hsv.H - 0.03 @@ -388,65 +430,64 @@ func GeneratePalette(primaryColor string, opts PaletteOptions) []string { hh := RGBToHSV(hr) if opts.IsLight { magColor = RGBToHex(HSVToRGB(HSV{H: hh.H, S: math.Max(hh.S*0.9, 0.7), V: hh.V * 0.85})) - palette = append(palette, ensureContrastAuto(magColor, bgColor, normalTextTarget, opts)) + palette.Color5 = NewColorInfo(ensureContrastAuto(magColor, bgColor, normalTextTarget, opts)) } else { magColor = RGBToHex(HSVToRGB(HSV{H: hh.H, S: hh.S * 0.8, V: hh.V * 0.75})) - palette = append(palette, ensureContrastAuto(magColor, bgColor, normalTextTarget, opts)) + palette.Color5 = NewColorInfo(ensureContrastAuto(magColor, bgColor, normalTextTarget, opts)) } cyanH := hsv.H + 0.08 if cyanH > 1.0 { cyanH -= 1.0 } - palette = append(palette, ensureContrastAuto(primaryColor, bgColor, normalTextTarget, opts)) + palette.Color6 = NewColorInfo(ensureContrastAuto(primaryColor, bgColor, normalTextTarget, opts)) if opts.IsLight { - palette = append(palette, "#1a1a1a") - palette = append(palette, "#2e2e2e") + palette.Color7 = NewColorInfo("#1a1a1a") + palette.Color8 = NewColorInfo("#2e2e2e") } else { - palette = append(palette, "#abb2bf") - palette = append(palette, "#5c6370") + palette.Color7 = NewColorInfo("#abb2bf") + palette.Color8 = NewColorInfo("#5c6370") } if opts.IsLight { brightRed := RGBToHex(HSVToRGB(HSV{H: redH, S: math.Min(0.70*satBoost, 1.0), V: 0.65})) - palette = append(palette, ensureContrastAuto(brightRed, bgColor, secondaryTarget, opts)) + palette.Color9 = NewColorInfo(ensureContrastAuto(brightRed, bgColor, secondaryTarget, opts)) brightGreen := RGBToHex(HSVToRGB(HSV{H: greenH, S: math.Min(math.Max(hsv.S*0.85, 0.75)*satBoost, 1.0), V: 0.55})) - palette = append(palette, ensureContrastAuto(brightGreen, bgColor, secondaryTarget, opts)) + palette.Color10 = NewColorInfo(ensureContrastAuto(brightGreen, bgColor, secondaryTarget, opts)) brightYellow := RGBToHex(HSVToRGB(HSV{H: yellowH, S: math.Min(0.68*satBoost, 1.0), V: 0.60})) - palette = append(palette, ensureContrastAuto(brightYellow, bgColor, secondaryTarget, opts)) + palette.Color11 = NewColorInfo(ensureContrastAuto(brightYellow, bgColor, secondaryTarget, opts)) hr := HexToRGB(primaryColor) hh := RGBToHSV(hr) brightBlue := RGBToHex(HSVToRGB(HSV{H: hh.H, S: math.Min(hh.S*1.1, 1.0), V: math.Min(hh.V*1.2, 1.0)})) - palette = append(palette, ensureContrastAuto(brightBlue, bgColor, secondaryTarget, opts)) + palette.Color12 = NewColorInfo(ensureContrastAuto(brightBlue, bgColor, secondaryTarget, opts)) brightMag := RGBToHex(HSVToRGB(HSV{H: magH, S: math.Max(hsv.S*0.9, 0.75), V: math.Min(hsv.V*1.25, 1.0)})) - palette = append(palette, ensureContrastAuto(brightMag, bgColor, secondaryTarget, opts)) + palette.Color13 = NewColorInfo(ensureContrastAuto(brightMag, bgColor, secondaryTarget, opts)) brightCyan := RGBToHex(HSVToRGB(HSV{H: cyanH, S: math.Max(hsv.S*0.75, 0.65), V: math.Min(hsv.V*1.25, 1.0)})) - palette = append(palette, ensureContrastAuto(brightCyan, bgColor, secondaryTarget, opts)) + palette.Color14 = NewColorInfo(ensureContrastAuto(brightCyan, bgColor, secondaryTarget, opts)) } else { brightRed := RGBToHex(HSVToRGB(HSV{H: redH, S: math.Min(0.50*satBoost, 1.0), V: 0.88})) - palette = append(palette, ensureContrastAuto(brightRed, bgColor, secondaryTarget, opts)) + palette.Color9 = NewColorInfo(ensureContrastAuto(brightRed, bgColor, secondaryTarget, opts)) brightGreen := RGBToHex(HSVToRGB(HSV{H: greenH, S: math.Min(0.35*satBoost, 1.0), V: 0.88})) - palette = append(palette, ensureContrastAuto(brightGreen, bgColor, secondaryTarget, opts)) + palette.Color10 = NewColorInfo(ensureContrastAuto(brightGreen, bgColor, secondaryTarget, opts)) brightYellow := RGBToHex(HSVToRGB(HSV{H: yellowH, S: math.Min(0.30*satBoost, 1.0), V: 0.91})) - palette = append(palette, ensureContrastAuto(brightYellow, bgColor, secondaryTarget, opts)) - // Make it way brighter for type names in dark mode + palette.Color11 = NewColorInfo(ensureContrastAuto(brightYellow, bgColor, secondaryTarget, opts)) brightBlue := retoneToL(primaryColor, 85.0) - palette = append(palette, brightBlue) + palette.Color12 = NewColorInfo(brightBlue) brightMag := RGBToHex(HSVToRGB(HSV{H: magH, S: math.Max(hsv.S*0.7, 0.6), V: math.Min(hsv.V*1.3, 0.9)})) - palette = append(palette, ensureContrastAuto(brightMag, bgColor, secondaryTarget, opts)) + palette.Color13 = NewColorInfo(ensureContrastAuto(brightMag, bgColor, secondaryTarget, opts)) brightCyanH := hsv.H + 0.02 if brightCyanH > 1.0 { brightCyanH -= 1.0 } brightCyan := RGBToHex(HSVToRGB(HSV{H: brightCyanH, S: math.Max(hsv.S*0.6, 0.5), V: math.Min(hsv.V*1.2, 0.85)})) - palette = append(palette, ensureContrastAuto(brightCyan, bgColor, secondaryTarget, opts)) + palette.Color14 = NewColorInfo(ensureContrastAuto(brightCyan, bgColor, secondaryTarget, opts)) } if opts.IsLight { - palette = append(palette, "#1a1a1a") + palette.Color15 = NewColorInfo("#1a1a1a") } else { - palette = append(palette, "#ffffff") + palette.Color15 = NewColorInfo("#ffffff") } return palette diff --git a/core/internal/dank16/dank16_test.go b/core/internal/dank16/dank16_test.go index 37cc58a0..b09332af 100644 --- a/core/internal/dank16/dank16_test.go +++ b/core/internal/dank16/dank16_test.go @@ -345,28 +345,31 @@ func TestGeneratePalette(t *testing.T) { t.Run(tt.name, func(t *testing.T) { result := GeneratePalette(tt.base, tt.opts) - if len(result) != 16 { - t.Errorf("GeneratePalette returned %d colors, expected 16", len(result)) + colors := []ColorInfo{ + result.Color0, result.Color1, result.Color2, result.Color3, + result.Color4, result.Color5, result.Color6, result.Color7, + result.Color8, result.Color9, result.Color10, result.Color11, + result.Color12, result.Color13, result.Color14, result.Color15, } - for i, color := range result { - if len(color) != 7 || color[0] != '#' { - t.Errorf("Color at index %d (%s) is not a valid hex color", i, color) + for i, color := range colors { + if len(color.Hex) != 7 || color.Hex[0] != '#' { + t.Errorf("Color at index %d (%s) is not a valid hex color", i, color.Hex) } } - if tt.opts.Background != "" && result[0] != tt.opts.Background { - t.Errorf("Background color = %s, expected %s", result[0], tt.opts.Background) - } else if !tt.opts.IsLight && tt.opts.Background == "" && result[0] != "#1a1a1a" { - t.Errorf("Dark mode background = %s, expected #1a1a1a", result[0]) - } else if tt.opts.IsLight && tt.opts.Background == "" && result[0] != "#f8f8f8" { - t.Errorf("Light mode background = %s, expected #f8f8f8", result[0]) + if tt.opts.Background != "" && result.Color0.Hex != tt.opts.Background { + t.Errorf("Background color = %s, expected %s", result.Color0.Hex, tt.opts.Background) + } else if !tt.opts.IsLight && tt.opts.Background == "" && result.Color0.Hex != "#1a1a1a" { + t.Errorf("Dark mode background = %s, expected #1a1a1a", result.Color0.Hex) + } else if tt.opts.IsLight && tt.opts.Background == "" && result.Color0.Hex != "#f8f8f8" { + t.Errorf("Light mode background = %s, expected #f8f8f8", result.Color0.Hex) } - if tt.opts.IsLight && result[15] != "#1a1a1a" { - t.Errorf("Light mode foreground = %s, expected #1a1a1a", result[15]) - } else if !tt.opts.IsLight && result[15] != "#ffffff" { - t.Errorf("Dark mode foreground = %s, expected #ffffff", result[15]) + if tt.opts.IsLight && result.Color15.Hex != "#1a1a1a" { + t.Errorf("Light mode foreground = %s, expected #1a1a1a", result.Color15.Hex) + } else if !tt.opts.IsLight && result.Color15.Hex != "#ffffff" { + t.Errorf("Dark mode foreground = %s, expected #ffffff", result.Color15.Hex) } }) } @@ -561,23 +564,26 @@ func TestGeneratePaletteWithDPS(t *testing.T) { t.Run(tt.name, func(t *testing.T) { result := GeneratePalette(tt.base, tt.opts) - if len(result) != 16 { - t.Errorf("GeneratePalette returned %d colors, expected 16", len(result)) + colors := []ColorInfo{ + result.Color0, result.Color1, result.Color2, result.Color3, + result.Color4, result.Color5, result.Color6, result.Color7, + result.Color8, result.Color9, result.Color10, result.Color11, + result.Color12, result.Color13, result.Color14, result.Color15, } - for i, color := range result { - if len(color) != 7 || color[0] != '#' { - t.Errorf("Color at index %d (%s) is not a valid hex color", i, color) + for i, color := range colors { + if len(color.Hex) != 7 || color.Hex[0] != '#' { + t.Errorf("Color at index %d (%s) is not a valid hex color", i, color.Hex) } } - bgColor := result[0] + bgColor := result.Color0.Hex for i := 1; i < 8; i++ { - lc := DeltaPhiStarContrast(result[i], bgColor, tt.opts.IsLight) + lc := DeltaPhiStarContrast(colors[i].Hex, bgColor, tt.opts.IsLight) minLc := 30.0 if lc < minLc && lc > 0 { t.Errorf("Color %d (%s) has insufficient DPS contrast %f with background %s (expected >= %f)", - i, result[i], lc, bgColor, minLc) + i, colors[i].Hex, lc, bgColor, minLc) } } }) @@ -634,17 +640,26 @@ func TestContrastAlgorithmComparison(t *testing.T) { paletteWCAG := GeneratePalette(base, optsWCAG) paletteDPS := GeneratePalette(base, optsDPS) - if len(paletteWCAG) != 16 || len(paletteDPS) != 16 { - t.Fatal("Both palettes should have 16 colors") + wcagColors := []ColorInfo{ + paletteWCAG.Color0, paletteWCAG.Color1, paletteWCAG.Color2, paletteWCAG.Color3, + paletteWCAG.Color4, paletteWCAG.Color5, paletteWCAG.Color6, paletteWCAG.Color7, + paletteWCAG.Color8, paletteWCAG.Color9, paletteWCAG.Color10, paletteWCAG.Color11, + paletteWCAG.Color12, paletteWCAG.Color13, paletteWCAG.Color14, paletteWCAG.Color15, + } + dpsColors := []ColorInfo{ + paletteDPS.Color0, paletteDPS.Color1, paletteDPS.Color2, paletteDPS.Color3, + paletteDPS.Color4, paletteDPS.Color5, paletteDPS.Color6, paletteDPS.Color7, + paletteDPS.Color8, paletteDPS.Color9, paletteDPS.Color10, paletteDPS.Color11, + paletteDPS.Color12, paletteDPS.Color13, paletteDPS.Color14, paletteDPS.Color15, } - if paletteWCAG[0] != paletteDPS[0] { - t.Errorf("Background colors differ: WCAG=%s, DPS=%s", paletteWCAG[0], paletteDPS[0]) + if paletteWCAG.Color0.Hex != paletteDPS.Color0.Hex { + t.Errorf("Background colors differ: WCAG=%s, DPS=%s", paletteWCAG.Color0.Hex, paletteDPS.Color0.Hex) } differentCount := 0 for i := 0; i < 16; i++ { - if paletteWCAG[i] != paletteDPS[i] { + if wcagColors[i].Hex != dpsColors[i].Hex { differentCount++ } } diff --git a/core/internal/dank16/terminals.go b/core/internal/dank16/terminals.go index 49216854..bf27908f 100644 --- a/core/internal/dank16/terminals.go +++ b/core/internal/dank16/terminals.go @@ -6,135 +6,104 @@ import ( "strings" ) -func GenerateJSON(colors []string) string { - colorMap := make(map[string]string) - - for i, color := range colors { - colorMap[fmt.Sprintf("color%d", i)] = color - } - - marshalled, _ := json.Marshal(colorMap) - +func GenerateJSON(p Palette) string { + marshalled, _ := json.Marshal(p) return string(marshalled) } -func GenerateKittyTheme(colors []string) string { - kittyColors := []struct { - name string - index int - }{ - {"color0", 0}, - {"color1", 1}, - {"color2", 2}, - {"color3", 3}, - {"color4", 4}, - {"color5", 5}, - {"color6", 6}, - {"color7", 7}, - {"color8", 8}, - {"color9", 9}, - {"color10", 10}, - {"color11", 11}, - {"color12", 12}, - {"color13", 13}, - {"color14", 14}, - {"color15", 15}, - } - +func GenerateKittyTheme(p Palette) string { var result strings.Builder - for _, kc := range kittyColors { - fmt.Fprintf(&result, "%s %s\n", kc.name, colors[kc.index]) - } + fmt.Fprintf(&result, "color0 %s\n", p.Color0.Hex) + fmt.Fprintf(&result, "color1 %s\n", p.Color1.Hex) + fmt.Fprintf(&result, "color2 %s\n", p.Color2.Hex) + fmt.Fprintf(&result, "color3 %s\n", p.Color3.Hex) + fmt.Fprintf(&result, "color4 %s\n", p.Color4.Hex) + fmt.Fprintf(&result, "color5 %s\n", p.Color5.Hex) + fmt.Fprintf(&result, "color6 %s\n", p.Color6.Hex) + fmt.Fprintf(&result, "color7 %s\n", p.Color7.Hex) + fmt.Fprintf(&result, "color8 %s\n", p.Color8.Hex) + fmt.Fprintf(&result, "color9 %s\n", p.Color9.Hex) + fmt.Fprintf(&result, "color10 %s\n", p.Color10.Hex) + fmt.Fprintf(&result, "color11 %s\n", p.Color11.Hex) + fmt.Fprintf(&result, "color12 %s\n", p.Color12.Hex) + fmt.Fprintf(&result, "color13 %s\n", p.Color13.Hex) + fmt.Fprintf(&result, "color14 %s\n", p.Color14.Hex) + fmt.Fprintf(&result, "color15 %s\n", p.Color15.Hex) return result.String() } -func GenerateFootTheme(colors []string) string { - footColors := []struct { - name string - index int - }{ - {"regular0", 0}, - {"regular1", 1}, - {"regular2", 2}, - {"regular3", 3}, - {"regular4", 4}, - {"regular5", 5}, - {"regular6", 6}, - {"regular7", 7}, - {"bright0", 8}, - {"bright1", 9}, - {"bright2", 10}, - {"bright3", 11}, - {"bright4", 12}, - {"bright5", 13}, - {"bright6", 14}, - {"bright7", 15}, - } - +func GenerateFootTheme(p Palette) string { var result strings.Builder - for _, fc := range footColors { - fmt.Fprintf(&result, "%s=%s\n", fc.name, strings.TrimPrefix(colors[fc.index], "#")) - } + fmt.Fprintf(&result, "regular0=%s\n", p.Color0.HexStripped) + fmt.Fprintf(&result, "regular1=%s\n", p.Color1.HexStripped) + fmt.Fprintf(&result, "regular2=%s\n", p.Color2.HexStripped) + fmt.Fprintf(&result, "regular3=%s\n", p.Color3.HexStripped) + fmt.Fprintf(&result, "regular4=%s\n", p.Color4.HexStripped) + fmt.Fprintf(&result, "regular5=%s\n", p.Color5.HexStripped) + fmt.Fprintf(&result, "regular6=%s\n", p.Color6.HexStripped) + fmt.Fprintf(&result, "regular7=%s\n", p.Color7.HexStripped) + fmt.Fprintf(&result, "bright0=%s\n", p.Color8.HexStripped) + fmt.Fprintf(&result, "bright1=%s\n", p.Color9.HexStripped) + fmt.Fprintf(&result, "bright2=%s\n", p.Color10.HexStripped) + fmt.Fprintf(&result, "bright3=%s\n", p.Color11.HexStripped) + fmt.Fprintf(&result, "bright4=%s\n", p.Color12.HexStripped) + fmt.Fprintf(&result, "bright5=%s\n", p.Color13.HexStripped) + fmt.Fprintf(&result, "bright6=%s\n", p.Color14.HexStripped) + fmt.Fprintf(&result, "bright7=%s\n", p.Color15.HexStripped) return result.String() } -func GenerateAlacrittyTheme(colors []string) string { - alacrittyColors := []struct { - section string - name string - index int - }{ - {"normal", "black", 0}, - {"normal", "red", 1}, - {"normal", "green", 2}, - {"normal", "yellow", 3}, - {"normal", "blue", 4}, - {"normal", "magenta", 5}, - {"normal", "cyan", 6}, - {"normal", "white", 7}, - {"bright", "black", 8}, - {"bright", "red", 9}, - {"bright", "green", 10}, - {"bright", "yellow", 11}, - {"bright", "blue", 12}, - {"bright", "magenta", 13}, - {"bright", "cyan", 14}, - {"bright", "white", 15}, - } - +func GenerateAlacrittyTheme(p Palette) string { var result strings.Builder - currentSection := "" - for _, ac := range alacrittyColors { - if ac.section != currentSection { - if currentSection != "" { - result.WriteString("\n") - } - fmt.Fprintf(&result, "[colors.%s]\n", ac.section) - currentSection = ac.section - } - fmt.Fprintf(&result, "%-7s = '%s'\n", ac.name, colors[ac.index]) - } + result.WriteString("[colors.normal]\n") + fmt.Fprintf(&result, "black = '%s'\n", p.Color0.Hex) + fmt.Fprintf(&result, "red = '%s'\n", p.Color1.Hex) + fmt.Fprintf(&result, "green = '%s'\n", p.Color2.Hex) + fmt.Fprintf(&result, "yellow = '%s'\n", p.Color3.Hex) + fmt.Fprintf(&result, "blue = '%s'\n", p.Color4.Hex) + fmt.Fprintf(&result, "magenta = '%s'\n", p.Color5.Hex) + fmt.Fprintf(&result, "cyan = '%s'\n", p.Color6.Hex) + fmt.Fprintf(&result, "white = '%s'\n", p.Color7.Hex) + result.WriteString("\n[colors.bright]\n") + fmt.Fprintf(&result, "black = '%s'\n", p.Color8.Hex) + fmt.Fprintf(&result, "red = '%s'\n", p.Color9.Hex) + fmt.Fprintf(&result, "green = '%s'\n", p.Color10.Hex) + fmt.Fprintf(&result, "yellow = '%s'\n", p.Color11.Hex) + fmt.Fprintf(&result, "blue = '%s'\n", p.Color12.Hex) + fmt.Fprintf(&result, "magenta = '%s'\n", p.Color13.Hex) + fmt.Fprintf(&result, "cyan = '%s'\n", p.Color14.Hex) + fmt.Fprintf(&result, "white = '%s'\n", p.Color15.Hex) return result.String() } -func GenerateGhosttyTheme(colors []string) string { +func GenerateGhosttyTheme(p Palette) string { var result strings.Builder - for i, color := range colors { - fmt.Fprintf(&result, "palette = %d=%s\n", i, color) - } + fmt.Fprintf(&result, "palette = 0=%s\n", p.Color0.Hex) + fmt.Fprintf(&result, "palette = 1=%s\n", p.Color1.Hex) + fmt.Fprintf(&result, "palette = 2=%s\n", p.Color2.Hex) + fmt.Fprintf(&result, "palette = 3=%s\n", p.Color3.Hex) + fmt.Fprintf(&result, "palette = 4=%s\n", p.Color4.Hex) + fmt.Fprintf(&result, "palette = 5=%s\n", p.Color5.Hex) + fmt.Fprintf(&result, "palette = 6=%s\n", p.Color6.Hex) + fmt.Fprintf(&result, "palette = 7=%s\n", p.Color7.Hex) + fmt.Fprintf(&result, "palette = 8=%s\n", p.Color8.Hex) + fmt.Fprintf(&result, "palette = 9=%s\n", p.Color9.Hex) + fmt.Fprintf(&result, "palette = 10=%s\n", p.Color10.Hex) + fmt.Fprintf(&result, "palette = 11=%s\n", p.Color11.Hex) + fmt.Fprintf(&result, "palette = 12=%s\n", p.Color12.Hex) + fmt.Fprintf(&result, "palette = 13=%s\n", p.Color13.Hex) + fmt.Fprintf(&result, "palette = 14=%s\n", p.Color14.Hex) + fmt.Fprintf(&result, "palette = 15=%s\n", p.Color15.Hex) return result.String() } -func GenerateWeztermTheme(colors []string) string { +func GenerateWeztermTheme(p Palette) string { var result strings.Builder - labels := []string{"ansi", "brights"} - for j, label := range labels { - start := j * 8 - colorSlice := make([]string, 8) - for i, color := range colors[start : start+8] { - colorSlice[i] = fmt.Sprintf("'%s'", color) - } - fmt.Fprintf(&result, "%s = [%s]\n", label, strings.Join(colorSlice, ", ")) - } + fmt.Fprintf(&result, "ansi = ['%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s']\n", + p.Color0.Hex, p.Color1.Hex, p.Color2.Hex, p.Color3.Hex, + p.Color4.Hex, p.Color5.Hex, p.Color6.Hex, p.Color7.Hex) + fmt.Fprintf(&result, "brights = ['%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s']\n", + p.Color8.Hex, p.Color9.Hex, p.Color10.Hex, p.Color11.Hex, + p.Color12.Hex, p.Color13.Hex, p.Color14.Hex, p.Color15.Hex) return result.String() } diff --git a/quickshell/matugen/templates/alacritty.toml b/quickshell/matugen/templates/alacritty.toml index 767be1f3..7f34e6d7 100644 --- a/quickshell/matugen/templates/alacritty.toml +++ b/quickshell/matugen/templates/alacritty.toml @@ -11,21 +11,21 @@ text = '{{colors.background.default.hex}}' cursor = '{{colors.primary.default.hex}}' [colors.normal] -black = '{{dank16.color0}}' -red = '{{dank16.color1}}' -green = '{{dank16.color2}}' -yellow = '{{dank16.color3}}' -blue = '{{dank16.color4}}' -magenta = '{{dank16.color5}}' -cyan = '{{dank16.color6}}' -white = '{{dank16.color7}}' +black = '{{dank16.color0.hex}}' +red = '{{dank16.color1.hex}}' +green = '{{dank16.color2.hex}}' +yellow = '{{dank16.color3.hex}}' +blue = '{{dank16.color4.hex}}' +magenta = '{{dank16.color5.hex}}' +cyan = '{{dank16.color6.hex}}' +white = '{{dank16.color7.hex}}' [colors.bright] -black = '{{dank16.color8}}' -red = '{{dank16.color9}}' -green = '{{dank16.color10}}' -yellow = '{{dank16.color11}}' -blue = '{{dank16.color12}}' -magenta = '{{dank16.color13}}' -cyan = '{{dank16.color14}}' -white = '{{dank16.color15}}' +black = '{{dank16.color8.hex}}' +red = '{{dank16.color9.hex}}' +green = '{{dank16.color10.hex}}' +yellow = '{{dank16.color11.hex}}' +blue = '{{dank16.color12.hex}}' +magenta = '{{dank16.color13.hex}}' +cyan = '{{dank16.color14.hex}}' +white = '{{dank16.color15.hex}}' diff --git a/quickshell/matugen/templates/foot.ini b/quickshell/matugen/templates/foot.ini index 909fab45..291352ef 100644 --- a/quickshell/matugen/templates/foot.ini +++ b/quickshell/matugen/templates/foot.ini @@ -4,19 +4,19 @@ background={{colors.background.default.hex_stripped}} selection-foreground={{colors.on_surface.default.hex_stripped}} selection-background={{colors.primary_container.default.hex_stripped}} -regular0={{dank16.color0 | remove_prefix: '#'}} -regular1={{dank16.color1 | remove_prefix: '#'}} -regular2={{dank16.color2 | remove_prefix: '#'}} -regular3={{dank16.color3 | remove_prefix: '#'}} -regular4={{dank16.color4 | remove_prefix: '#'}} -regular5={{dank16.color5 | remove_prefix: '#'}} -regular6={{dank16.color6 | remove_prefix: '#'}} -regular7={{dank16.color7 | remove_prefix: '#'}} -bright0={{dank16.color8 | remove_prefix: '#'}} -bright1={{dank16.color9 | remove_prefix: '#'}} -bright2={{dank16.color10 | remove_prefix: '#'}} -bright3={{dank16.color11 | remove_prefix: '#'}} -bright4={{dank16.color12 | remove_prefix: '#'}} -bright5={{dank16.color13 | remove_prefix: '#'}} -bright6={{dank16.color14 | remove_prefix: '#'}} -bright7={{dank16.color15 | remove_prefix: '#'}} +regular0={{dank16.color0.hex_stripped}} +regular1={{dank16.color1.hex_stripped}} +regular2={{dank16.color2.hex_stripped}} +regular3={{dank16.color3.hex_stripped}} +regular4={{dank16.color4.hex_stripped}} +regular5={{dank16.color5.hex_stripped}} +regular6={{dank16.color6.hex_stripped}} +regular7={{dank16.color7.hex_stripped}} +bright0={{dank16.color8.hex_stripped}} +bright1={{dank16.color9.hex_stripped}} +bright2={{dank16.color10.hex_stripped}} +bright3={{dank16.color11.hex_stripped}} +bright4={{dank16.color12.hex_stripped}} +bright5={{dank16.color13.hex_stripped}} +bright6={{dank16.color14.hex_stripped}} +bright7={{dank16.color15.hex_stripped}} diff --git a/quickshell/matugen/templates/ghostty.conf b/quickshell/matugen/templates/ghostty.conf index 1e550fdb..9cde7041 100644 --- a/quickshell/matugen/templates/ghostty.conf +++ b/quickshell/matugen/templates/ghostty.conf @@ -4,19 +4,19 @@ cursor-color = {{colors.primary.default.hex}} selection-background = {{colors.primary_container.default.hex}} selection-foreground = {{colors.on_surface.default.hex}} -palette = 0={{dank16.color0}} -palette = 1={{dank16.color1}} -palette = 2={{dank16.color2}} -palette = 3={{dank16.color3}} -palette = 4={{dank16.color4}} -palette = 5={{dank16.color5}} -palette = 6={{dank16.color6}} -palette = 7={{dank16.color7}} -palette = 8={{dank16.color8}} -palette = 9={{dank16.color9}} -palette = 10={{dank16.color10}} -palette = 11={{dank16.color11}} -palette = 12={{dank16.color12}} -palette = 13={{dank16.color13}} -palette = 14={{dank16.color14}} -palette = 15={{dank16.color15}} \ No newline at end of file +palette = 0={{dank16.color0.hex}} +palette = 1={{dank16.color1.hex}} +palette = 2={{dank16.color2.hex}} +palette = 3={{dank16.color3.hex}} +palette = 4={{dank16.color4.hex}} +palette = 5={{dank16.color5.hex}} +palette = 6={{dank16.color6.hex}} +palette = 7={{dank16.color7.hex}} +palette = 8={{dank16.color8.hex}} +palette = 9={{dank16.color9.hex}} +palette = 10={{dank16.color10.hex}} +palette = 11={{dank16.color11.hex}} +palette = 12={{dank16.color12.hex}} +palette = 13={{dank16.color13.hex}} +palette = 14={{dank16.color14.hex}} +palette = 15={{dank16.color15.hex}} \ No newline at end of file diff --git a/quickshell/matugen/templates/kitty.conf b/quickshell/matugen/templates/kitty.conf index 74be4137..f7720668 100644 --- a/quickshell/matugen/templates/kitty.conf +++ b/quickshell/matugen/templates/kitty.conf @@ -7,19 +7,19 @@ selection_foreground {{colors.on_secondary.default.hex}} selection_background {{colors.secondary_fixed_dim.default.hex}} url_color {{colors.primary.default.hex}} -color0 {{dank16.color0}} -color1 {{dank16.color1}} -color2 {{dank16.color2}} -color3 {{dank16.color3}} -color4 {{dank16.color4}} -color5 {{dank16.color5}} -color6 {{dank16.color6}} -color7 {{dank16.color7}} -color8 {{dank16.color8}} -color9 {{dank16.color9}} -color10 {{dank16.color10}} -color11 {{dank16.color11}} -color12 {{dank16.color12}} -color13 {{dank16.color13}} -color14 {{dank16.color14}} -color15 {{dank16.color15}} \ No newline at end of file +color0 {{dank16.color0.hex}} +color1 {{dank16.color1.hex}} +color2 {{dank16.color2.hex}} +color3 {{dank16.color3.hex}} +color4 {{dank16.color4.hex}} +color5 {{dank16.color5.hex}} +color6 {{dank16.color6.hex}} +color7 {{dank16.color7.hex}} +color8 {{dank16.color8.hex}} +color9 {{dank16.color9.hex}} +color10 {{dank16.color10.hex}} +color11 {{dank16.color11.hex}} +color12 {{dank16.color12.hex}} +color13 {{dank16.color13.hex}} +color14 {{dank16.color14.hex}} +color15 {{dank16.color15.hex}} \ No newline at end of file diff --git a/quickshell/matugen/templates/vscode-color-theme-dark.json b/quickshell/matugen/templates/vscode-color-theme-dark.json index 6dcf47b6..490681d8 100644 --- a/quickshell/matugen/templates/vscode-color-theme-dark.json +++ b/quickshell/matugen/templates/vscode-color-theme-dark.json @@ -97,22 +97,22 @@ "terminal.background": "{{colors.background.dark.hex}}", "terminal.foreground": "{{colors.on_surface.dark.hex}}", - "terminal.ansiBlack": "{{dank16.color0}}", - "terminal.ansiRed": "{{dank16.color1}}", - "terminal.ansiGreen": "{{dank16.color2}}", - "terminal.ansiYellow": "{{dank16.color3}}", - "terminal.ansiBlue": "{{dank16.color4}}", - "terminal.ansiMagenta": "{{dank16.color5}}", - "terminal.ansiCyan": "{{dank16.color6}}", - "terminal.ansiWhite": "{{dank16.color7}}", - "terminal.ansiBrightBlack": "{{dank16.color8}}", - "terminal.ansiBrightRed": "{{dank16.color9}}", - "terminal.ansiBrightGreen": "{{dank16.color10}}", - "terminal.ansiBrightYellow": "{{dank16.color11}}", - "terminal.ansiBrightBlue": "{{dank16.color12}}", - "terminal.ansiBrightMagenta": "{{dank16.color13}}", - "terminal.ansiBrightCyan": "{{dank16.color14}}", - "terminal.ansiBrightWhite": "{{dank16.color15}}", + "terminal.ansiBlack": "{{dank16.color0.hex}}", + "terminal.ansiRed": "{{dank16.color1.hex}}", + "terminal.ansiGreen": "{{dank16.color2.hex}}", + "terminal.ansiYellow": "{{dank16.color3.hex}}", + "terminal.ansiBlue": "{{dank16.color4.hex}}", + "terminal.ansiMagenta": "{{dank16.color5.hex}}", + "terminal.ansiCyan": "{{dank16.color6.hex}}", + "terminal.ansiWhite": "{{dank16.color7.hex}}", + "terminal.ansiBrightBlack": "{{dank16.color8.hex}}", + "terminal.ansiBrightRed": "{{dank16.color9.hex}}", + "terminal.ansiBrightGreen": "{{dank16.color10.hex}}", + "terminal.ansiBrightYellow": "{{dank16.color11.hex}}", + "terminal.ansiBrightBlue": "{{dank16.color12.hex}}", + "terminal.ansiBrightMagenta": "{{dank16.color13.hex}}", + "terminal.ansiBrightCyan": "{{dank16.color14.hex}}", + "terminal.ansiBrightWhite": "{{dank16.color15.hex}}", "gitDecoration.modifiedResourceForeground": "{{colors.primary.dark.hex}}", "gitDecoration.addedResourceForeground": "{{colors.primary.dark.hex}}", @@ -270,109 +270,109 @@ { "scope": ["comment", "punctuation.definition.comment"], "settings": { - "foreground": "{{dank16.color8}}" + "foreground": "{{dank16.color8.hex}}" } }, { "scope": "keyword", "settings": { - "foreground": "{{dank16.color5}}" + "foreground": "{{dank16.color5.hex}}" } }, { "scope": "storage.type", "settings": { - "foreground": "{{dank16.color13}}" + "foreground": "{{dank16.color13.hex}}" } }, { "scope": "storage.modifier", "settings": { - "foreground": "{{dank16.color5}}" + "foreground": "{{dank16.color5.hex}}" } }, { "scope": "variable", "settings": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } }, { "scope": "variable.parameter", "settings": { - "foreground": "{{dank16.color7}}" + "foreground": "{{dank16.color7.hex}}" } }, { "scope": ["meta.object-literal.key", "meta.property.object", "variable.other.property"], "settings": { - "foreground": "{{dank16.color4}}" + "foreground": "{{dank16.color4.hex}}" } }, { "scope": "constant.other.symbol", "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": ["constant.numeric", "constant.language"], "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": "constant.character", "settings": { - "foreground": "{{dank16.color3}}" + "foreground": "{{dank16.color3.hex}}" } }, { "scope": ["entity.name.type", "entity.name.class"], "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": "support.type", "settings": { - "foreground": "{{dank16.color13}}" + "foreground": "{{dank16.color13.hex}}" } }, { "scope": ["entity.name.function", "support.function"], "settings": { - "foreground": "{{dank16.color2}}" + "foreground": "{{dank16.color2.hex}}" } }, { "scope": ["support.class", "support.variable"], "settings": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } }, { "scope": "variable.language", "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": "entity.name.tag.yaml", "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": ["string.unquoted.plain.out.yaml", "string.unquoted.yaml"], "settings": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } }, { "scope": "string", "settings": { - "foreground": "{{dank16.color3}}" + "foreground": "{{dank16.color3.hex}}" } } ], @@ -380,52 +380,52 @@ "semanticHighlighting": true, "semanticTokenColors": { "variable": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" }, "variable.readonly": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "property": { - "foreground": "{{dank16.color4}}" + "foreground": "{{dank16.color4.hex}}" }, "function": { - "foreground": "{{dank16.color2}}" + "foreground": "{{dank16.color2.hex}}" }, "method": { - "foreground": "{{dank16.color2}}" + "foreground": "{{dank16.color2.hex}}" }, "type": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "class": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "typeParameter": { - "foreground": "{{dank16.color13}}" + "foreground": "{{dank16.color13.hex}}" }, "enumMember": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "string": { - "foreground": "{{dank16.color3}}" + "foreground": "{{dank16.color3.hex}}" }, "number": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "comment": { - "foreground": "{{dank16.color8}}" + "foreground": "{{dank16.color8.hex}}" }, "keyword": { - "foreground": "{{dank16.color5}}" + "foreground": "{{dank16.color5.hex}}" }, "operator": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" }, "parameter": { - "foreground": "{{dank16.color7}}" + "foreground": "{{dank16.color7.hex}}" }, "namespace": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } } } diff --git a/quickshell/matugen/templates/vscode-color-theme-default.json b/quickshell/matugen/templates/vscode-color-theme-default.json index 6257104e..267768af 100644 --- a/quickshell/matugen/templates/vscode-color-theme-default.json +++ b/quickshell/matugen/templates/vscode-color-theme-default.json @@ -97,22 +97,22 @@ "terminal.background": "{{colors.background.default.hex}}", "terminal.foreground": "{{colors.on_surface.default.hex}}", - "terminal.ansiBlack": "{{dank16.color0}}", - "terminal.ansiRed": "{{dank16.color1}}", - "terminal.ansiGreen": "{{dank16.color2}}", - "terminal.ansiYellow": "{{dank16.color3}}", - "terminal.ansiBlue": "{{dank16.color4}}", - "terminal.ansiMagenta": "{{dank16.color5}}", - "terminal.ansiCyan": "{{dank16.color6}}", - "terminal.ansiWhite": "{{dank16.color7}}", - "terminal.ansiBrightBlack": "{{dank16.color8}}", - "terminal.ansiBrightRed": "{{dank16.color9}}", - "terminal.ansiBrightGreen": "{{dank16.color10}}", - "terminal.ansiBrightYellow": "{{dank16.color11}}", - "terminal.ansiBrightBlue": "{{dank16.color12}}", - "terminal.ansiBrightMagenta": "{{dank16.color13}}", - "terminal.ansiBrightCyan": "{{dank16.color14}}", - "terminal.ansiBrightWhite": "{{dank16.color15}}", + "terminal.ansiBlack": "{{dank16.color0.hex}}", + "terminal.ansiRed": "{{dank16.color1.hex}}", + "terminal.ansiGreen": "{{dank16.color2.hex}}", + "terminal.ansiYellow": "{{dank16.color3.hex}}", + "terminal.ansiBlue": "{{dank16.color4.hex}}", + "terminal.ansiMagenta": "{{dank16.color5.hex}}", + "terminal.ansiCyan": "{{dank16.color6.hex}}", + "terminal.ansiWhite": "{{dank16.color7.hex}}", + "terminal.ansiBrightBlack": "{{dank16.color8.hex}}", + "terminal.ansiBrightRed": "{{dank16.color9.hex}}", + "terminal.ansiBrightGreen": "{{dank16.color10.hex}}", + "terminal.ansiBrightYellow": "{{dank16.color11.hex}}", + "terminal.ansiBrightBlue": "{{dank16.color12.hex}}", + "terminal.ansiBrightMagenta": "{{dank16.color13.hex}}", + "terminal.ansiBrightCyan": "{{dank16.color14.hex}}", + "terminal.ansiBrightWhite": "{{dank16.color15.hex}}", "gitDecoration.modifiedResourceForeground": "{{colors.primary.default.hex}}", "gitDecoration.addedResourceForeground": "{{colors.primary.default.hex}}", @@ -270,109 +270,109 @@ { "scope": ["comment", "punctuation.definition.comment"], "settings": { - "foreground": "{{dank16.color8}}" + "foreground": "{{dank16.color8.hex}}" } }, { "scope": "keyword", "settings": { - "foreground": "{{dank16.color5}}" + "foreground": "{{dank16.color5.hex}}" } }, { "scope": "storage.type", "settings": { - "foreground": "{{dank16.color13}}" + "foreground": "{{dank16.color13.hex}}" } }, { "scope": "storage.modifier", "settings": { - "foreground": "{{dank16.color5}}" + "foreground": "{{dank16.color5.hex}}" } }, { "scope": "variable", "settings": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } }, { "scope": "variable.parameter", "settings": { - "foreground": "{{dank16.color7}}" + "foreground": "{{dank16.color7.hex}}" } }, { "scope": ["meta.object-literal.key", "meta.property.object", "variable.other.property"], "settings": { - "foreground": "{{dank16.color4}}" + "foreground": "{{dank16.color4.hex}}" } }, { "scope": "constant.other.symbol", "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": ["constant.numeric", "constant.language"], "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": "constant.character", "settings": { - "foreground": "{{dank16.color3}}" + "foreground": "{{dank16.color3.hex}}" } }, { "scope": ["entity.name.type", "entity.name.class"], "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": "support.type", "settings": { - "foreground": "{{dank16.color13}}" + "foreground": "{{dank16.color13.hex}}" } }, { "scope": ["entity.name.function", "support.function"], "settings": { - "foreground": "{{dank16.color2}}" + "foreground": "{{dank16.color2.hex}}" } }, { "scope": ["support.class", "support.variable"], "settings": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } }, { "scope": "variable.language", "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": "entity.name.tag.yaml", "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": ["string.unquoted.plain.out.yaml", "string.unquoted.yaml"], "settings": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } }, { "scope": "string", "settings": { - "foreground": "{{dank16.color3}}" + "foreground": "{{dank16.color3.hex}}" } } ], @@ -380,52 +380,52 @@ "semanticHighlighting": true, "semanticTokenColors": { "variable": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" }, "variable.readonly": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "property": { - "foreground": "{{dank16.color4}}" + "foreground": "{{dank16.color4.hex}}" }, "function": { - "foreground": "{{dank16.color2}}" + "foreground": "{{dank16.color2.hex}}" }, "method": { - "foreground": "{{dank16.color2}}" + "foreground": "{{dank16.color2.hex}}" }, "type": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "class": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "typeParameter": { - "foreground": "{{dank16.color13}}" + "foreground": "{{dank16.color13.hex}}" }, "enumMember": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "string": { - "foreground": "{{dank16.color3}}" + "foreground": "{{dank16.color3.hex}}" }, "number": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "comment": { - "foreground": "{{dank16.color8}}" + "foreground": "{{dank16.color8.hex}}" }, "keyword": { - "foreground": "{{dank16.color5}}" + "foreground": "{{dank16.color5.hex}}" }, "operator": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" }, "parameter": { - "foreground": "{{dank16.color7}}" + "foreground": "{{dank16.color7.hex}}" }, "namespace": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } } } diff --git a/quickshell/matugen/templates/vscode-color-theme-light.json b/quickshell/matugen/templates/vscode-color-theme-light.json index cb4475a9..d1c6c3e5 100644 --- a/quickshell/matugen/templates/vscode-color-theme-light.json +++ b/quickshell/matugen/templates/vscode-color-theme-light.json @@ -97,22 +97,22 @@ "terminal.background": "{{colors.background.light.hex}}", "terminal.foreground": "{{colors.on_surface.light.hex}}", - "terminal.ansiBlack": "{{dank16.color0}}", - "terminal.ansiRed": "{{dank16.color1}}", - "terminal.ansiGreen": "{{dank16.color2}}", - "terminal.ansiYellow": "{{dank16.color3}}", - "terminal.ansiBlue": "{{dank16.color4}}", - "terminal.ansiMagenta": "{{dank16.color5}}", - "terminal.ansiCyan": "{{dank16.color6}}", - "terminal.ansiWhite": "{{dank16.color7}}", - "terminal.ansiBrightBlack": "{{dank16.color8}}", - "terminal.ansiBrightRed": "{{dank16.color9}}", - "terminal.ansiBrightGreen": "{{dank16.color10}}", - "terminal.ansiBrightYellow": "{{dank16.color11}}", - "terminal.ansiBrightBlue": "{{dank16.color12}}", - "terminal.ansiBrightMagenta": "{{dank16.color13}}", - "terminal.ansiBrightCyan": "{{dank16.color14}}", - "terminal.ansiBrightWhite": "{{dank16.color15}}", + "terminal.ansiBlack": "{{dank16.color0.hex}}", + "terminal.ansiRed": "{{dank16.color1.hex}}", + "terminal.ansiGreen": "{{dank16.color2.hex}}", + "terminal.ansiYellow": "{{dank16.color3.hex}}", + "terminal.ansiBlue": "{{dank16.color4.hex}}", + "terminal.ansiMagenta": "{{dank16.color5.hex}}", + "terminal.ansiCyan": "{{dank16.color6.hex}}", + "terminal.ansiWhite": "{{dank16.color7.hex}}", + "terminal.ansiBrightBlack": "{{dank16.color8.hex}}", + "terminal.ansiBrightRed": "{{dank16.color9.hex}}", + "terminal.ansiBrightGreen": "{{dank16.color10.hex}}", + "terminal.ansiBrightYellow": "{{dank16.color11.hex}}", + "terminal.ansiBrightBlue": "{{dank16.color12.hex}}", + "terminal.ansiBrightMagenta": "{{dank16.color13.hex}}", + "terminal.ansiBrightCyan": "{{dank16.color14.hex}}", + "terminal.ansiBrightWhite": "{{dank16.color15.hex}}", "gitDecoration.modifiedResourceForeground": "{{colors.primary.light.hex}}", "gitDecoration.addedResourceForeground": "{{colors.primary.light.hex}}", @@ -270,109 +270,109 @@ { "scope": ["comment", "punctuation.definition.comment"], "settings": { - "foreground": "{{dank16.color8}}" + "foreground": "{{dank16.color8.hex}}" } }, { "scope": "keyword", "settings": { - "foreground": "{{dank16.color5}}" + "foreground": "{{dank16.color5.hex}}" } }, { "scope": "storage.type", "settings": { - "foreground": "{{dank16.color13}}" + "foreground": "{{dank16.color13.hex}}" } }, { "scope": "storage.modifier", "settings": { - "foreground": "{{dank16.color5}}" + "foreground": "{{dank16.color5.hex}}" } }, { "scope": "variable", "settings": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } }, { "scope": "variable.parameter", "settings": { - "foreground": "{{dank16.color7}}" + "foreground": "{{dank16.color7.hex}}" } }, { "scope": ["meta.object-literal.key", "meta.property.object", "variable.other.property"], "settings": { - "foreground": "{{dank16.color4}}" + "foreground": "{{dank16.color4.hex}}" } }, { "scope": "constant.other.symbol", "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": ["constant.numeric", "constant.language"], "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": "constant.character", "settings": { - "foreground": "{{dank16.color3}}" + "foreground": "{{dank16.color3.hex}}" } }, { "scope": ["entity.name.type", "entity.name.class"], "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": "support.type", "settings": { - "foreground": "{{dank16.color13}}" + "foreground": "{{dank16.color13.hex}}" } }, { "scope": ["entity.name.function", "support.function"], "settings": { - "foreground": "{{dank16.color2}}" + "foreground": "{{dank16.color2.hex}}" } }, { "scope": ["support.class", "support.variable"], "settings": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } }, { "scope": "variable.language", "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": "entity.name.tag.yaml", "settings": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" } }, { "scope": ["string.unquoted.plain.out.yaml", "string.unquoted.yaml"], "settings": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } }, { "scope": "string", "settings": { - "foreground": "{{dank16.color3}}" + "foreground": "{{dank16.color3.hex}}" } } ], @@ -380,52 +380,52 @@ "semanticHighlighting": true, "semanticTokenColors": { "variable": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" }, "variable.readonly": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "property": { - "foreground": "{{dank16.color4}}" + "foreground": "{{dank16.color4.hex}}" }, "function": { - "foreground": "{{dank16.color2}}" + "foreground": "{{dank16.color2.hex}}" }, "method": { - "foreground": "{{dank16.color2}}" + "foreground": "{{dank16.color2.hex}}" }, "type": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "class": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "typeParameter": { - "foreground": "{{dank16.color13}}" + "foreground": "{{dank16.color13.hex}}" }, "enumMember": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "string": { - "foreground": "{{dank16.color3}}" + "foreground": "{{dank16.color3.hex}}" }, "number": { - "foreground": "{{dank16.color12}}" + "foreground": "{{dank16.color12.hex}}" }, "comment": { - "foreground": "{{dank16.color8}}" + "foreground": "{{dank16.color8.hex}}" }, "keyword": { - "foreground": "{{dank16.color5}}" + "foreground": "{{dank16.color5.hex}}" }, "operator": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" }, "parameter": { - "foreground": "{{dank16.color7}}" + "foreground": "{{dank16.color7.hex}}" }, "namespace": { - "foreground": "{{dank16.color15}}" + "foreground": "{{dank16.color15.hex}}" } } } diff --git a/quickshell/matugen/templates/wezterm.toml b/quickshell/matugen/templates/wezterm.toml index 820a5889..88f47af6 100644 --- a/quickshell/matugen/templates/wezterm.toml +++ b/quickshell/matugen/templates/wezterm.toml @@ -9,5 +9,5 @@ cursor_border = '{{colors.primary.default.hex}}' selection_bg = '{{colors.primary_container.default.hex}}' selection_fg = '{{colors.on_surface.default.hex}}' -ansi = ['{{dank16.color0}}', '{{dank16.color1}}', '{{dank16.color2}}', '{{dank16.color3}}', '{{dank16.color4}}', '{{dank16.color5}}', '{{dank16.color6}}', '{{dank16.color7}}'] -brights = ['{{dank16.color8}}', '{{dank16.color9}}', '{{dank16.color10}}', '{{dank16.color11}}', '{{dank16.color12}}', '{{dank16.color13}}', '{{dank16.color14}}', '{{dank16.color15}}'] +ansi = ['{{dank16.color0.hex}}', '{{dank16.color1.hex}}', '{{dank16.color2.hex}}', '{{dank16.color3.hex}}', '{{dank16.color4.hex}}', '{{dank16.color5.hex}}', '{{dank16.color6.hex}}', '{{dank16.color7.hex}}'] +brights = ['{{dank16.color8.hex}}', '{{dank16.color9.hex}}', '{{dank16.color10.hex}}', '{{dank16.color11.hex}}', '{{dank16.color12.hex}}', '{{dank16.color13.hex}}', '{{dank16.color14.hex}}', '{{dank16.color15.hex}}']