1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 13:32:50 -05:00

Update VSCode color theme templates for improved contrast and readability (#931)

* matugen/vscode-theme: update VSCode templates for contrast and readability

* vscode-theme: rework dark theme, refine light, restore default fallback

* dank16: add variants option, make default vscode consistent, fix termial
always dark

---------

Co-authored-by: bbedward <bbedward@gmail.com>
This commit is contained in:
Farokh
2025-12-07 20:17:25 +03:30
committed by GitHub
parent c0d73dae67
commit d6f48a82d9
14 changed files with 950 additions and 1446 deletions

View File

@@ -10,15 +10,15 @@ import (
)
var dank16Cmd = &cobra.Command{
Use: "dank16 <hex_color>",
Use: "dank16 [hex_color]",
Short: "Generate Base16 color palettes",
Long: "Generate Base16 color palettes from a color with support for various output formats",
Args: cobra.ExactArgs(1),
Args: cobra.MaximumNArgs(1),
Run: runDank16,
}
func init() {
dank16Cmd.Flags().Bool("light", false, "Generate light theme variant")
dank16Cmd.Flags().Bool("light", false, "Generate light theme variant (sets default to light)")
dank16Cmd.Flags().Bool("json", false, "Output in JSON format")
dank16Cmd.Flags().Bool("kitty", false, "Output in Kitty terminal format")
dank16Cmd.Flags().Bool("foot", false, "Output in Foot terminal format")
@@ -27,17 +27,15 @@ func init() {
dank16Cmd.Flags().Bool("wezterm", false, "Output in Wezterm terminal format")
dank16Cmd.Flags().String("background", "", "Custom background color")
dank16Cmd.Flags().String("contrast", "dps", "Contrast algorithm: dps (Delta Phi Star, default) or wcag")
dank16Cmd.Flags().Bool("variants", false, "Output all variants (dark/light/default) in JSON")
dank16Cmd.Flags().String("primary-dark", "", "Primary color for dark mode (use with --variants)")
dank16Cmd.Flags().String("primary-light", "", "Primary color for light mode (use with --variants)")
_ = dank16Cmd.RegisterFlagCompletionFunc("contrast", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
return []string{"dps", "wcag"}, cobra.ShellCompDirectiveNoFileComp
})
}
func runDank16(cmd *cobra.Command, args []string) {
primaryColor := args[0]
if !strings.HasPrefix(primaryColor, "#") {
primaryColor = "#" + primaryColor
}
isLight, _ := cmd.Flags().GetBool("light")
isJson, _ := cmd.Flags().GetBool("json")
isKitty, _ := cmd.Flags().GetBool("kitty")
@@ -47,16 +45,57 @@ func runDank16(cmd *cobra.Command, args []string) {
isWezterm, _ := cmd.Flags().GetBool("wezterm")
background, _ := cmd.Flags().GetString("background")
contrastAlgo, _ := cmd.Flags().GetString("contrast")
useVariants, _ := cmd.Flags().GetBool("variants")
primaryDark, _ := cmd.Flags().GetString("primary-dark")
primaryLight, _ := cmd.Flags().GetString("primary-light")
if background != "" && !strings.HasPrefix(background, "#") {
background = "#" + background
}
if primaryDark != "" && !strings.HasPrefix(primaryDark, "#") {
primaryDark = "#" + primaryDark
}
if primaryLight != "" && !strings.HasPrefix(primaryLight, "#") {
primaryLight = "#" + primaryLight
}
contrastAlgo = strings.ToLower(contrastAlgo)
if contrastAlgo != "dps" && contrastAlgo != "wcag" {
log.Fatalf("Invalid contrast algorithm: %s (must be 'dps' or 'wcag')", contrastAlgo)
}
if useVariants {
if primaryDark == "" || primaryLight == "" {
if len(args) == 0 {
log.Fatalf("--variants requires either a positional color argument or both --primary-dark and --primary-light")
}
primaryColor := args[0]
if !strings.HasPrefix(primaryColor, "#") {
primaryColor = "#" + primaryColor
}
primaryDark = primaryColor
primaryLight = primaryColor
}
variantOpts := dank16.VariantOptions{
PrimaryDark: primaryDark,
PrimaryLight: primaryLight,
Background: background,
UseDPS: contrastAlgo == "dps",
IsLightMode: isLight,
}
variantColors := dank16.GenerateVariantPalette(variantOpts)
fmt.Print(dank16.GenerateVariantJSON(variantColors))
return
}
if len(args) == 0 {
log.Fatalf("A color argument is required (or use --variants with --primary-dark and --primary-light)")
}
primaryColor := args[0]
if !strings.HasPrefix(primaryColor, "#") {
primaryColor = "#" + primaryColor
}
opts := dank16.PaletteOptions{
IsLight: isLight,
Background: background,

View File

@@ -23,6 +23,17 @@ type ColorInfo struct {
B int `json:"b"`
}
type VariantColorValue struct {
Hex string `json:"hex"`
HexStripped string `json:"hex_stripped"`
}
type VariantColorInfo struct {
Dark VariantColorValue `json:"dark"`
Light VariantColorValue `json:"light"`
Default VariantColorValue `json:"default"`
}
type Palette struct {
Color0 ColorInfo `json:"color0"`
Color1 ColorInfo `json:"color1"`
@@ -42,6 +53,25 @@ type Palette struct {
Color15 ColorInfo `json:"color15"`
}
type VariantPalette struct {
Color0 VariantColorInfo `json:"color0"`
Color1 VariantColorInfo `json:"color1"`
Color2 VariantColorInfo `json:"color2"`
Color3 VariantColorInfo `json:"color3"`
Color4 VariantColorInfo `json:"color4"`
Color5 VariantColorInfo `json:"color5"`
Color6 VariantColorInfo `json:"color6"`
Color7 VariantColorInfo `json:"color7"`
Color8 VariantColorInfo `json:"color8"`
Color9 VariantColorInfo `json:"color9"`
Color10 VariantColorInfo `json:"color10"`
Color11 VariantColorInfo `json:"color11"`
Color12 VariantColorInfo `json:"color12"`
Color13 VariantColorInfo `json:"color13"`
Color14 VariantColorInfo `json:"color14"`
Color15 VariantColorInfo `json:"color15"`
}
func NewColorInfo(hex string) ColorInfo {
rgb := HexToRGB(hex)
stripped := hex
@@ -492,3 +522,54 @@ func GeneratePalette(primaryColor string, opts PaletteOptions) Palette {
return palette
}
type VariantOptions struct {
PrimaryDark string
PrimaryLight string
Background string
UseDPS bool
IsLightMode bool
}
func mergeColorInfo(dark, light ColorInfo, isLightMode bool) VariantColorInfo {
darkVal := VariantColorValue{Hex: dark.Hex, HexStripped: dark.HexStripped}
lightVal := VariantColorValue{Hex: light.Hex, HexStripped: light.HexStripped}
defaultVal := darkVal
if isLightMode {
defaultVal = lightVal
}
return VariantColorInfo{
Dark: darkVal,
Light: lightVal,
Default: defaultVal,
}
}
func GenerateVariantPalette(opts VariantOptions) VariantPalette {
darkOpts := PaletteOptions{IsLight: false, Background: opts.Background, UseDPS: opts.UseDPS}
lightOpts := PaletteOptions{IsLight: true, Background: opts.Background, UseDPS: opts.UseDPS}
dark := GeneratePalette(opts.PrimaryDark, darkOpts)
light := GeneratePalette(opts.PrimaryLight, lightOpts)
return VariantPalette{
Color0: mergeColorInfo(dark.Color0, light.Color0, opts.IsLightMode),
Color1: mergeColorInfo(dark.Color1, light.Color1, opts.IsLightMode),
Color2: mergeColorInfo(dark.Color2, light.Color2, opts.IsLightMode),
Color3: mergeColorInfo(dark.Color3, light.Color3, opts.IsLightMode),
Color4: mergeColorInfo(dark.Color4, light.Color4, opts.IsLightMode),
Color5: mergeColorInfo(dark.Color5, light.Color5, opts.IsLightMode),
Color6: mergeColorInfo(dark.Color6, light.Color6, opts.IsLightMode),
Color7: mergeColorInfo(dark.Color7, light.Color7, opts.IsLightMode),
Color8: mergeColorInfo(dark.Color8, light.Color8, opts.IsLightMode),
Color9: mergeColorInfo(dark.Color9, light.Color9, opts.IsLightMode),
Color10: mergeColorInfo(dark.Color10, light.Color10, opts.IsLightMode),
Color11: mergeColorInfo(dark.Color11, light.Color11, opts.IsLightMode),
Color12: mergeColorInfo(dark.Color12, light.Color12, opts.IsLightMode),
Color13: mergeColorInfo(dark.Color13, light.Color13, opts.IsLightMode),
Color14: mergeColorInfo(dark.Color14, light.Color14, opts.IsLightMode),
Color15: mergeColorInfo(dark.Color15, light.Color15, opts.IsLightMode),
}
}

View File

@@ -11,6 +11,11 @@ func GenerateJSON(p Palette) string {
return string(marshalled)
}
func GenerateVariantJSON(p VariantPalette) string {
marshalled, _ := json.Marshal(p)
return string(marshalled)
}
func GenerateKittyTheme(p Palette) string {
var result strings.Builder
fmt.Fprintf(&result, "color0 %s\n", p.Color0.Hex)

View File

@@ -11,21 +11,21 @@ text = '{{colors.background.default.hex}}'
cursor = '{{colors.primary.default.hex}}'
[colors.normal]
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}}'
black = '{{dank16.color0.default.hex}}'
red = '{{dank16.color1.default.hex}}'
green = '{{dank16.color2.default.hex}}'
yellow = '{{dank16.color3.default.hex}}'
blue = '{{dank16.color4.default.hex}}'
magenta = '{{dank16.color5.default.hex}}'
cyan = '{{dank16.color6.default.hex}}'
white = '{{dank16.color7.default.hex}}'
[colors.bright]
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}}'
black = '{{dank16.color8.default.hex}}'
red = '{{dank16.color9.default.hex}}'
green = '{{dank16.color10.default.hex}}'
yellow = '{{dank16.color11.default.hex}}'
blue = '{{dank16.color12.default.hex}}'
magenta = '{{dank16.color13.default.hex}}'
cyan = '{{dank16.color14.default.hex}}'
white = '{{dank16.color15.default.hex}}'

View File

@@ -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.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}}
regular0={{dank16.color0.default.hex_stripped}}
regular1={{dank16.color1.default.hex_stripped}}
regular2={{dank16.color2.default.hex_stripped}}
regular3={{dank16.color3.default.hex_stripped}}
regular4={{dank16.color4.default.hex_stripped}}
regular5={{dank16.color5.default.hex_stripped}}
regular6={{dank16.color6.default.hex_stripped}}
regular7={{dank16.color7.default.hex_stripped}}
bright0={{dank16.color8.default.hex_stripped}}
bright1={{dank16.color9.default.hex_stripped}}
bright2={{dank16.color10.default.hex_stripped}}
bright3={{dank16.color11.default.hex_stripped}}
bright4={{dank16.color12.default.hex_stripped}}
bright5={{dank16.color13.default.hex_stripped}}
bright6={{dank16.color14.default.hex_stripped}}
bright7={{dank16.color15.default.hex_stripped}}

View File

@@ -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.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}}
palette = 0={{dank16.color0.default.hex}}
palette = 1={{dank16.color1.default.hex}}
palette = 2={{dank16.color2.default.hex}}
palette = 3={{dank16.color3.default.hex}}
palette = 4={{dank16.color4.default.hex}}
palette = 5={{dank16.color5.default.hex}}
palette = 6={{dank16.color6.default.hex}}
palette = 7={{dank16.color7.default.hex}}
palette = 8={{dank16.color8.default.hex}}
palette = 9={{dank16.color9.default.hex}}
palette = 10={{dank16.color10.default.hex}}
palette = 11={{dank16.color11.default.hex}}
palette = 12={{dank16.color12.default.hex}}
palette = 13={{dank16.color13.default.hex}}
palette = 14={{dank16.color14.default.hex}}
palette = 15={{dank16.color15.default.hex}}

View File

@@ -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.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}}
color0 {{dank16.color0.default.hex}}
color1 {{dank16.color1.default.hex}}
color2 {{dank16.color2.default.hex}}
color3 {{dank16.color3.default.hex}}
color4 {{dank16.color4.default.hex}}
color5 {{dank16.color5.default.hex}}
color6 {{dank16.color6.default.hex}}
color7 {{dank16.color7.default.hex}}
color8 {{dank16.color8.default.hex}}
color9 {{dank16.color9.default.hex}}
color10 {{dank16.color10.default.hex}}
color11 {{dank16.color11.default.hex}}
color12 {{dank16.color12.default.hex}}
color13 {{dank16.color13.default.hex}}
color14 {{dank16.color14.default.hex}}
color15 {{dank16.color15.default.hex}}

View File

@@ -1,431 +1,299 @@
{
"$schema": "vscode://schemas/color-theme",
"name": "Dynamic Base16 DankShell",
"name": "Dynamic Base16 DankShell Dark",
"semanticHighlighting": true,
"colors": {
//
// Core foreground + background hierarchy
//
"foreground": "{{colors.on_surface.dark.hex}}",
"editor.background": "{{colors.background.dark.hex}}",
"editor.foreground": "{{colors.on_surface.dark.hex}}",
"editorLineNumber.foreground": "{{colors.outline.dark.hex}}",
"editorLineNumber.activeForeground": "{{colors.on_surface.dark.hex}}",
"editorCursor.foreground": "{{colors.primary.dark.hex}}",
"editor.selectionBackground": "{{colors.primary_container.dark.hex}}",
"editor.inactiveSelectionBackground": "{{colors.background.dark.hex}}",
"editor.lineHighlightBackground": "{{colors.background.dark.hex}}",
"editorIndentGuide.background": "{{colors.background.dark.hex}}",
"editorIndentGuide.activeBackground": "{{colors.outline.dark.hex}}",
"editorWhitespace.foreground": "{{colors.outline_variant.dark.hex}}",
"editorBracketMatch.background": "{{colors.background.dark.hex}}",
"editorBracketMatch.border": "{{colors.primary.dark.hex}}",
"errorForeground": "{{colors.error.dark.hex}}",
//
// Borders + dividers
//
"panel.border": "{{colors.outline_variant.dark.hex}}",
"panelTitle.activeBorder": "{{colors.primary.dark.hex}}",
"sideBar.border": "{{colors.outline_variant.dark.hex}}",
"editorGroup.border": "{{colors.outline_variant.dark.hex}}",
"tab.border": "{{colors.outline_variant.dark.hex}}",
"titleBar.border": "{{colors.outline_variant.dark.hex}}",
//
// Focus + active indicators
//
"focusBorder": "{{colors.primary.dark.hex}}",
"selection.background": "{{colors.primary_container.dark.hex}}66",
//
// Title bar, activity bar, sidebar
//
"titleBar.activeBackground": "{{colors.background.dark.hex}}",
"titleBar.activeForeground": "{{colors.on_surface.dark.hex}}",
"titleBar.inactiveForeground": "{{colors.outline.dark.hex}}",
"activityBar.background": "{{colors.background.dark.hex}}",
"activityBar.foreground": "{{colors.on_surface.dark.hex}}",
"activityBar.inactiveForeground": "{{colors.outline.dark.hex}}",
"activityBar.activeBorder": "{{colors.primary.dark.hex}}",
"activityBar.activeBackground": "{{colors.background.dark.hex}}",
"activityBarBadge.background": "{{colors.primary.dark.hex}}",
"activityBarBadge.foreground": "{{colors.on_primary.dark.hex}}",
"sideBar.background": "{{colors.background.dark.hex}}",
"sideBar.background": "{{colors.surface_container_low.dark.hex}}",
"sideBar.foreground": "{{colors.on_surface.dark.hex}}",
"sideBar.border": "{{colors.background.dark.hex}}",
"statusBarItem.hoverBackground": "{{colors.surface_container_low.dark.hex}}",
"statusBarItem.activeBackground": "{{colors.surface_container.dark.hex}}",
"sideBarTitle.foreground": "{{colors.on_surface.dark.hex}}",
"sideBarSectionHeader.background": "{{colors.background.dark.hex}}",
"panel.background": "{{colors.surface_container_low.dark.hex}}",
"panelTitle.activeForeground": "{{colors.on_surface.dark.hex}}",
"panelTitle.inactiveForeground": "{{colors.outline.dark.hex}}",
"sideBarSectionHeader.background": "{{colors.surface_container.dark.hex}}",
"sideBarSectionHeader.foreground": "{{colors.on_surface.dark.hex}}",
"list.activeSelectionBackground": "{{colors.primary_container.dark.hex}}",
"list.activeSelectionForeground": "{{colors.on_primary_container.dark.hex}}",
"list.inactiveSelectionBackground": "{{colors.surface_container.dark.hex}}",
"list.inactiveSelectionForeground": "{{colors.on_surface.dark.hex}}",
"list.hoverBackground": "{{colors.surface_container.dark.hex}}",
"list.hoverForeground": "{{colors.on_surface.dark.hex}}",
"list.focusBackground": "{{colors.surface_container_high.dark.hex}}",
"list.focusForeground": "{{colors.on_surface.dark.hex}}",
"list.highlightForeground": "{{colors.primary.dark.hex}}",
"statusBar.background": "{{colors.background.dark.hex}}",
"statusBar.foreground": "{{colors.on_surface.dark.hex}}",
"statusBar.border": "{{colors.background.dark.hex}}",
"statusBar.noFolderBackground": "{{colors.background.dark.hex}}",
"statusBar.debuggingBackground": "{{colors.error.dark.hex}}",
"statusBar.debuggingForeground": "{{colors.on_error.dark.hex}}",
"tab.activeBackground": "{{colors.background.dark.hex}}",
//
// Tabs + editor groups
//
"editorGroupHeader.tabsBackground": "{{colors.background.dark.hex}}",
"tab.activeBackground": "{{colors.surface_container_low.dark.hex}}",
"tab.inactiveBackground": "{{colors.background.dark.hex}}",
"tab.activeForeground": "{{colors.on_surface.dark.hex}}",
"tab.inactiveForeground": "{{colors.outline.dark.hex}}",
"tab.border": "{{colors.background.dark.hex}}",
"tab.activeBorder": "{{colors.primary.dark.hex}}",
"tab.unfocusedActiveBorder": "{{colors.outline.dark.hex}}",
"editorGroupHeader.tabsBackground": "{{colors.background.dark.hex}}",
"editorGroupHeader.noTabsBackground": "{{colors.background.dark.hex}}",
"titleBar.activeBackground": "{{colors.background.dark.hex}}",
"titleBar.activeForeground": "{{colors.on_surface.dark.hex}}",
"titleBar.inactiveBackground": "{{colors.background.dark.hex}}",
"titleBar.inactiveForeground": "{{colors.outline.dark.hex}}",
"titleBar.border": "{{colors.background.dark.hex}}",
"input.background": "{{colors.background.dark.hex}}",
"tab.activeBorderTop": "{{colors.primary.dark.hex}}",
//
// Lists (files, search results, etc.)
//
"list.activeSelectionBackground": "{{colors.primary_container.dark.hex}}",
"list.activeSelectionForeground": "{{colors.on_primary_container.dark.hex}}",
"list.inactiveSelectionBackground": "{{colors.surface_container.dark.hex}}",
"list.hoverBackground": "{{colors.surface_container.dark.hex}}",
"list.hoverForeground": "{{colors.on_surface.dark.hex}}",
"list.focusForeground": "{{colors.on_surface.dark.hex}}",
"list.focusOutline": "{{colors.primary.dark.hex}}",
"list.focusBackground": "{{colors.surface_container_high.dark.hex}}",
"list.highlightForeground": "{{colors.primary.dark.hex}}",
"list.errorForeground": "{{colors.error.dark.hex}}",
"list.warningForeground": "{{colors.secondary.dark.hex}}",
//
// Inputs + dropdowns
//
"input.background": "{{colors.surface_container_low.dark.hex}}",
"input.foreground": "{{colors.on_surface.dark.hex}}",
"input.border": "{{colors.outline.dark.hex}}",
"input.border": "{{colors.outline_variant.dark.hex}}",
"input.placeholderForeground": "{{colors.outline.dark.hex}}",
"inputOption.activeBorder": "{{colors.primary.dark.hex}}",
"inputValidation.errorBackground": "{{colors.error.dark.hex}}",
"inputValidation.errorBorder": "{{colors.error.dark.hex}}",
"dropdown.background": "{{colors.background.dark.hex}}",
"dropdown.background": "{{colors.surface_container_low.dark.hex}}",
"dropdown.foreground": "{{colors.on_surface.dark.hex}}",
"dropdown.border": "{{colors.outline.dark.hex}}",
"quickInput.background": "{{colors.background.dark.hex}}",
"dropdown.border": "{{colors.outline_variant.dark.hex}}",
"quickInput.background": "{{colors.surface_container_low.dark.hex}}",
"quickInput.foreground": "{{colors.on_surface.dark.hex}}",
"quickInputList.focusBackground": "{{colors.surface_container_high.dark.hex}}",
"quickInputList.focusForeground": "{{colors.on_surface.dark.hex}}",
"widget.shadow": "{{colors.background.dark.hex}}80",
//
// Buttons
//
"button.background": "{{colors.primary.dark.hex}}",
"button.foreground": "{{colors.on_primary.dark.hex}}",
"button.hoverBackground": "{{colors.primary_container.dark.hex}}",
"focusBorder": "{{colors.primary.dark.hex}}",
"badge.background": "{{colors.secondary.dark.hex}}",
"badge.foreground": "{{colors.on_secondary.dark.hex}}",
"panel.background": "{{colors.background.dark.hex}}",
"panel.border": "{{colors.primary.dark.hex}}",
"panelTitle.activeBorder": "{{colors.primary.dark.hex}}",
"panelTitle.activeForeground": "{{colors.on_surface.dark.hex}}",
"panelTitle.inactiveForeground": "{{colors.outline.dark.hex}}",
"terminal.background": "{{colors.background.dark.hex}}",
"terminal.foreground": "{{colors.on_surface.dark.hex}}",
"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}}",
"gitDecoration.stageModifiedResourceForeground": "{{colors.primary.dark.hex}}",
"gitDecoration.stageDeletedResourceForeground": "{{colors.error.dark.hex}}",
"gitDecoration.deletedResourceForeground": "{{colors.error.dark.hex}}",
"gitDecoration.untrackedResourceForeground": "{{colors.secondary.dark.hex}}",
"gitDecoration.ignoredResourceForeground": "{{colors.outline.dark.hex}}",
"gitDecoration.conflictingResourceForeground": "{{colors.error_container.dark.hex}}",
"gitDecoration.submoduleResourceForeground": "{{colors.primary.dark.hex}}",
"editorWidget.background": "{{colors.background.dark.hex}}",
"editorWidget.border": "{{colors.outline.dark.hex}}",
"editorSuggestWidget.background": "{{colors.background.dark.hex}}",
"editorSuggestWidget.border": "{{colors.outline.dark.hex}}",
"editorSuggestWidget.selectedBackground": "{{colors.surface_container_high.dark.hex}}",
"editorSuggestWidget.highlightForeground": "{{colors.primary.dark.hex}}",
"peekView.border": "{{colors.primary.dark.hex}}",
"peekViewEditor.background": "{{colors.background.dark.hex}}",
"peekViewResult.background": "{{colors.background.dark.hex}}",
"peekViewTitle.background": "{{colors.background.dark.hex}}",
"notificationCenter.border": "{{colors.outline.dark.hex}}",
"notifications.background": "{{colors.background.dark.hex}}",
"notifications.border": "{{colors.outline.dark.hex}}",
//
// Status bar
//
"statusBar.background": "{{colors.background.dark.hex}}",
"statusBar.foreground": "{{colors.on_surface.dark.hex}}",
"statusBar.border": "{{colors.outline_variant.dark.hex}}",
"statusBar.noFolderBackground": "{{colors.background.dark.hex}}",
"statusBar.noFolderForeground": "{{colors.on_surface.dark.hex}}",
"statusBar.debuggingBackground": "{{colors.error.dark.hex}}",
"statusBar.debuggingForeground": "{{colors.on_error.dark.hex}}",
//
// Notifications
//
"notificationCenterHeader.background": "{{colors.surface_container_low.dark.hex}}",
"notificationCenterHeader.foreground": "{{colors.on_surface.dark.hex}}",
"notificationCenter.border": "{{colors.outline_variant.dark.hex}}",
"notifications.background": "{{colors.surface_container_low.dark.hex}}",
"notifications.foreground": "{{colors.on_surface.dark.hex}}",
"notifications.border": "{{colors.outline_variant.dark.hex}}",
"notificationsErrorIcon.foreground": "{{colors.error.dark.hex}}",
"notificationsWarningIcon.foreground": "{{colors.secondary.dark.hex}}",
"notificationsInfoIcon.foreground": "{{colors.primary.dark.hex}}",
//
// Breadcrumbs
//
"breadcrumb.background": "{{colors.surface_container.dark.hex}}",
"breadcrumb.foreground": "{{colors.outline.dark.hex}}",
"breadcrumb.focusForeground": "{{colors.on_surface.dark.hex}}",
"breadcrumb.activeSelectionForeground": "{{colors.primary.dark.hex}}",
//
// Editor highlights + guides
//
"editorLineNumber.foreground": "{{colors.outline.dark.hex}}",
"editorLineNumber.activeForeground": "{{colors.primary.dark.hex}}",
"editorCursor.foreground": "{{colors.primary.dark.hex}}",
"editor.lineHighlightBackground": "{{colors.surface_container.dark.hex}}66",
"editor.wordHighlightBackground": "{{colors.secondary.dark.hex}}22",
"editor.wordHighlightStrongBackground": "{{colors.tertiary.dark.hex}}22",
"editor.selectionBackground": "{{colors.primary_container.dark.hex}}66",
"editor.inactiveSelectionBackground": "{{colors.primary_container.dark.hex}}33",
"editorWhitespace.foreground": "{{colors.outline.dark.hex}}66",
"editorIndentGuide.background1": "{{colors.outline.dark.hex}}33",
"editorIndentGuide.activeBackground1": "{{colors.primary.dark.hex}}99",
"editorOverviewRuler.border": "{{colors.outline_variant.dark.hex}}",
"editorOverviewRuler.errorForeground": "{{colors.error.dark.hex}}88",
"editorOverviewRuler.warningForeground": "{{colors.tertiary.dark.hex}}88",
"editorOverviewRuler.infoForeground": "{{colors.primary.dark.hex}}88",
"editorStickyScroll.background": "{{colors.background.dark.hex}}",
"editorStickyScrollHover.background": "{{colors.surface_container_low.dark.hex}}",
"editorBracketHighlight.unexpectedBracket.foreground": "{{colors.outline.dark.hex}}",
//
// Diff editor
//
"diffEditor.insertedTextBackground": "{{colors.secondary.dark.hex}}20",
"diffEditor.removedTextBackground": "{{colors.error.dark.hex}}20",
//
// Git
//
"gitDecoration.modifiedResourceForeground": "{{colors.primary.dark.hex}}",
"gitDecoration.addedResourceForeground": "{{colors.secondary.dark.hex}}",
"gitDecoration.deletedResourceForeground": "{{colors.error.dark.hex}}",
"gitDecoration.ignoredResourceForeground": "{{colors.outline.dark.hex}}",
//
// Peek, Hover, Widgets
//
"editorHoverWidget.background": "{{colors.surface_container_high.dark.hex}}",
"editorHoverWidget.border": "{{colors.outline.dark.hex}}",
"editorSuggestWidget.background": "{{colors.surface_container.dark.hex}}",
"editorSuggestWidget.foreground": "{{colors.on_surface.dark.hex}}",
"editorSuggestWidget.selectedBackground": "{{colors.surface_container_high.dark.hex}}",
"editorSuggestWidget.highlightForeground": "{{colors.primary.dark.hex}}",
//
// Scrollbar
//
"scrollbarSlider.background": "{{colors.outline.dark.hex}}40",
"scrollbarSlider.hoverBackground": "{{colors.outline.dark.hex}}60",
"scrollbarSlider.activeBackground": "{{colors.outline.dark.hex}}80",
"editorError.foreground": "{{colors.error.dark.hex}}",
"editorWarning.foreground": "{{colors.tertiary.dark.hex}}",
"editorInfo.foreground": "{{colors.primary.dark.hex}}",
"editorGutter.addedBackground": "{{colors.secondary.dark.hex}}",
"editorGutter.modifiedBackground": "{{colors.tertiary.dark.hex}}",
"editorGutter.deletedBackground": "{{colors.error.dark.hex}}",
"diffEditor.insertedTextBackground": "{{colors.secondary.dark.hex}}20",
"diffEditor.removedTextBackground": "{{colors.error.dark.hex}}20",
"merge.currentHeaderBackground": "{{colors.primary.dark.hex}}40",
"merge.incomingHeaderBackground": "{{colors.secondary.dark.hex}}40",
"menubar.selectionBackground": "{{colors.surface_container.dark.hex}}",
"menu.background": "{{colors.background.dark.hex}}",
"menu.foreground": "{{colors.on_surface.dark.hex}}",
"menu.selectionBackground": "{{colors.surface_container_high.dark.hex}}",
"menu.selectionForeground": "{{colors.on_surface.dark.hex}}",
"debugToolBar.background": "{{colors.background.dark.hex}}",
"debugExceptionWidget.background": "{{colors.background.dark.hex}}",
"debugExceptionWidget.border": "{{colors.error.dark.hex}}"
//
// Terminal (Dank16)
//
"terminal.background": "{{colors.background.dark.hex}}",
"terminal.foreground": "{{colors.on_surface.dark.hex}}",
"terminal.ansiBlack": "{{dank16.color0.dark.hex}}",
"terminal.ansiRed": "{{dank16.color1.dark.hex}}",
"terminal.ansiGreen": "{{dank16.color2.dark.hex}}",
"terminal.ansiYellow": "{{dank16.color3.dark.hex}}",
"terminal.ansiBlue": "{{dank16.color4.dark.hex}}",
"terminal.ansiMagenta": "{{dank16.color5.dark.hex}}",
"terminal.ansiCyan": "{{dank16.color6.dark.hex}}",
"terminal.ansiWhite": "{{dank16.color7.dark.hex}}",
"terminal.ansiBrightBlack": "{{dank16.color8.dark.hex}}",
"terminal.ansiBrightRed": "{{dank16.color9.dark.hex}}",
"terminal.ansiBrightGreen": "{{dank16.color10.dark.hex}}",
"terminal.ansiBrightYellow": "{{dank16.color11.dark.hex}}",
"terminal.ansiBrightBlue": "{{dank16.color12.dark.hex}}",
"terminal.ansiBrightMagenta": "{{dank16.color13.dark.hex}}",
"terminal.ansiBrightCyan": "{{dank16.color14.dark.hex}}",
"terminal.ansiBrightWhite": "{{dank16.color15.dark.hex}}"
},
//
// Token colors
//
"tokenColors": [
{
"scope": ["variable", "meta.object-literal.key"],
"scope": [
"comment"
],
"settings": {
"foreground": "{{colors.on_surface.dark.hex}}"
"foreground": "{{dank16.color8.dark.hex}}"
}
},
{
"scope": ["string", "constant.other.symbol"],
"scope": [
"keyword"
],
"settings": {
"foreground": "{{colors.secondary.dark.hex}}"
"foreground": "{{dank16.color5.dark.hex}}"
}
},
{
"scope": ["constant.numeric", "constant.language", "constant.character"],
"scope": [
"string"
],
"settings": {
"foreground": "{{colors.tertiary.dark.hex}}"
"foreground": "{{dank16.color3.dark.hex}}"
}
},
{
"scope": ["entity.name.type", "support.type", "entity.name.class"],
"scope": [
"constant",
"number"
],
"settings": {
"foreground": "{{colors.tertiary.dark.hex}}"
"foreground": "{{dank16.color12.dark.hex}}"
}
},
{
"scope": ["entity.name.function", "support.function"],
"scope": [
"variable"
],
"settings": {
"foreground": "{{colors.primary.dark.hex}}"
"foreground": "{{dank16.color15.dark.hex}}"
}
},
{
"scope": ["support.class", "support.variable", "variable.language"],
"scope": [
"entity.name.function"
],
"settings": {
"foreground": "{{colors.secondary.dark.hex}}"
"foreground": "{{dank16.color2.dark.hex}}"
}
},
{
"scope": ["invalid"],
"scope": [
"entity.name.class",
"support.type"
],
"settings": {
"foreground": "{{dank16.color12.dark.hex}}"
}
},
{
"scope": [
"invalid"
],
"settings": {
"foreground": "{{colors.error.dark.hex}}"
}
},
{
"scope": ["invalid.deprecated"],
"settings": {
"foreground": "{{colors.outline.dark.hex}}"
}
},
{
"scope": ["markup.heading"],
"scope": [
"markup.heading"
],
"settings": {
"foreground": "{{colors.primary.dark.hex}}",
"fontStyle": "bold"
}
},
{
"scope": ["markup.bold"],
"settings": {
"foreground": "{{colors.tertiary.dark.hex}}",
"fontStyle": "bold"
}
},
{
"scope": ["markup.italic"],
"settings": {
"foreground": "{{colors.primary.dark.hex}}",
"fontStyle": "italic"
}
},
{
"scope": ["markup.underline"],
"settings": {
"fontStyle": "underline"
}
},
{
"scope": ["markup.quote"],
"settings": {
"foreground": "{{colors.secondary.dark.hex}}"
}
},
{
"scope": ["markup.list"],
"settings": {
"foreground": "{{colors.on_surface.dark.hex}}"
}
},
{
"scope": ["markup.raw", "markup.inline.raw"],
"settings": {
"foreground": "{{colors.secondary.dark.hex}}"
}
},
{
"scope": ["comment", "punctuation.definition.comment"],
"settings": {
"foreground": "{{dank16.color8.hex}}"
}
},
{
"scope": "keyword",
"settings": {
"foreground": "{{dank16.color5.hex}}"
}
},
{
"scope": "storage.type",
"settings": {
"foreground": "{{dank16.color13.hex}}"
}
},
{
"scope": "storage.modifier",
"settings": {
"foreground": "{{dank16.color5.hex}}"
}
},
{
"scope": "variable",
"settings": {
"foreground": "{{dank16.color15.hex}}"
}
},
{
"scope": "variable.parameter",
"settings": {
"foreground": "{{dank16.color7.hex}}"
}
},
{
"scope": ["meta.object-literal.key", "meta.property.object", "variable.other.property"],
"settings": {
"foreground": "{{dank16.color4.hex}}"
}
},
{
"scope": "constant.other.symbol",
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": ["constant.numeric", "constant.language"],
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": "constant.character",
"settings": {
"foreground": "{{dank16.color3.hex}}"
}
},
{
"scope": ["entity.name.type", "entity.name.class"],
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": "support.type",
"settings": {
"foreground": "{{dank16.color13.hex}}"
}
},
{
"scope": ["entity.name.function", "support.function"],
"settings": {
"foreground": "{{dank16.color2.hex}}"
}
},
{
"scope": ["support.class", "support.variable"],
"settings": {
"foreground": "{{dank16.color15.hex}}"
}
},
{
"scope": "variable.language",
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": "entity.name.tag.yaml",
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": ["string.unquoted.plain.out.yaml", "string.unquoted.yaml"],
"settings": {
"foreground": "{{dank16.color15.hex}}"
}
},
{
"scope": "string",
"settings": {
"foreground": "{{dank16.color3.hex}}"
}
}
],
"semanticHighlighting": true,
//
// Semantic tokens
//
"semanticTokenColors": {
"variable": {
"foreground": "{{dank16.color15.hex}}"
},
"variable.readonly": {
"foreground": "{{dank16.color12.hex}}"
},
"property": {
"foreground": "{{dank16.color4.hex}}"
},
"function": {
"foreground": "{{dank16.color2.hex}}"
},
"method": {
"foreground": "{{dank16.color2.hex}}"
},
"type": {
"foreground": "{{dank16.color12.hex}}"
},
"class": {
"foreground": "{{dank16.color12.hex}}"
},
"typeParameter": {
"foreground": "{{dank16.color13.hex}}"
},
"enumMember": {
"foreground": "{{dank16.color12.hex}}"
},
"string": {
"foreground": "{{dank16.color3.hex}}"
},
"number": {
"foreground": "{{dank16.color12.hex}}"
},
"comment": {
"foreground": "{{dank16.color8.hex}}"
},
"keyword": {
"foreground": "{{dank16.color5.hex}}"
},
"operator": {
"foreground": "{{dank16.color15.hex}}"
"foreground": "{{dank16.color15.dark.hex}}"
},
"parameter": {
"foreground": "{{dank16.color7.hex}}"
"foreground": "{{dank16.color7.dark.hex}}"
},
"namespace": {
"foreground": "{{dank16.color15.hex}}"
"property": {
"foreground": "{{dank16.color4.dark.hex}}"
},
"function": {
"foreground": "{{dank16.color2.dark.hex}}"
},
"string": {
"foreground": "{{dank16.color3.dark.hex}}"
},
"number": {
"foreground": "{{dank16.color12.dark.hex}}"
},
"keyword": {
"foreground": "{{dank16.color5.dark.hex}}"
},
"comment": {
"foreground": "{{dank16.color8.dark.hex}}"
}
}
}
}

View File

@@ -1,431 +1,251 @@
{
"$schema": "vscode://schemas/color-theme",
"name": "Dynamic Base16 DankShell",
"semanticHighlighting": true,
"colors": {
"foreground": "{{colors.on_surface.default.hex}}",
"editor.background": "{{colors.background.default.hex}}",
"editor.foreground": "{{colors.on_surface.default.hex}}",
"editorLineNumber.foreground": "{{colors.outline.default.hex}}",
"editorLineNumber.activeForeground": "{{colors.on_surface.default.hex}}",
"editorCursor.foreground": "{{colors.primary.default.hex}}",
"editor.selectionBackground": "{{colors.primary_container.default.hex}}",
"editor.inactiveSelectionBackground": "{{colors.background.default.hex}}",
"editor.lineHighlightBackground": "{{colors.background.default.hex}}",
"editorIndentGuide.background": "{{colors.background.default.hex}}",
"editorIndentGuide.activeBackground": "{{colors.outline.default.hex}}",
"editorWhitespace.foreground": "{{colors.outline_variant.default.hex}}",
"editorBracketMatch.background": "{{colors.background.default.hex}}",
"editorBracketMatch.border": "{{colors.primary.default.hex}}",
"errorForeground": "{{colors.error.default.hex}}",
"panel.border": "{{colors.outline_variant.default.hex}}",
"panelTitle.activeBorder": "{{colors.primary.default.hex}}",
"sideBar.border": "{{colors.outline_variant.default.hex}}",
"editorGroup.border": "{{colors.outline_variant.default.hex}}",
"tab.border": "{{colors.outline_variant.default.hex}}",
"titleBar.border": "{{colors.outline_variant.default.hex}}",
"focusBorder": "{{colors.primary.default.hex}}",
"selection.background": "{{colors.primary_container.default.hex}}66",
"titleBar.activeBackground": "{{colors.background.default.hex}}",
"titleBar.activeForeground": "{{colors.on_surface.default.hex}}",
"titleBar.inactiveForeground": "{{colors.outline.default.hex}}",
"activityBar.background": "{{colors.background.default.hex}}",
"activityBar.foreground": "{{colors.on_surface.default.hex}}",
"activityBar.inactiveForeground": "{{colors.outline.default.hex}}",
"activityBar.activeBorder": "{{colors.primary.default.hex}}",
"activityBar.activeBackground": "{{colors.background.default.hex}}",
"activityBarBadge.background": "{{colors.primary.default.hex}}",
"activityBarBadge.foreground": "{{colors.on_primary.default.hex}}",
"sideBar.background": "{{colors.background.default.hex}}",
"sideBar.background": "{{colors.surface_container_low.default.hex}}",
"sideBar.foreground": "{{colors.on_surface.default.hex}}",
"sideBar.border": "{{colors.background.default.hex}}",
"statusBarItem.hoverBackground": "{{colors.surface_container_low.default.hex}}",
"statusBarItem.activeBackground": "{{colors.surface_container.default.hex}}",
"sideBarTitle.foreground": "{{colors.on_surface.default.hex}}",
"sideBarSectionHeader.background": "{{colors.background.default.hex}}",
"panel.background": "{{colors.surface_container_low.default.hex}}",
"panelTitle.activeForeground": "{{colors.on_surface.default.hex}}",
"panelTitle.inactiveForeground": "{{colors.outline.default.hex}}",
"sideBarSectionHeader.background": "{{colors.surface_container.default.hex}}",
"sideBarSectionHeader.foreground": "{{colors.on_surface.default.hex}}",
"list.activeSelectionBackground": "{{colors.primary_container.default.hex}}",
"list.activeSelectionForeground": "{{colors.on_primary_container.default.hex}}",
"list.inactiveSelectionBackground": "{{colors.surface_container.default.hex}}",
"list.inactiveSelectionForeground": "{{colors.on_surface.default.hex}}",
"list.hoverBackground": "{{colors.surface_container.default.hex}}",
"list.hoverForeground": "{{colors.on_surface.default.hex}}",
"list.focusBackground": "{{colors.surface_container_high.default.hex}}",
"list.focusForeground": "{{colors.on_surface.default.hex}}",
"list.highlightForeground": "{{colors.primary.default.hex}}",
"statusBar.background": "{{colors.background.default.hex}}",
"statusBar.foreground": "{{colors.on_surface.default.hex}}",
"statusBar.border": "{{colors.background.default.hex}}",
"statusBar.noFolderBackground": "{{colors.background.default.hex}}",
"statusBar.debuggingBackground": "{{colors.error.default.hex}}",
"statusBar.debuggingForeground": "{{colors.on_error.default.hex}}",
"tab.activeBackground": "{{colors.background.default.hex}}",
"editorGroupHeader.tabsBackground": "{{colors.background.default.hex}}",
"tab.activeBackground": "{{colors.surface_container_low.default.hex}}",
"tab.inactiveBackground": "{{colors.background.default.hex}}",
"tab.activeForeground": "{{colors.on_surface.default.hex}}",
"tab.inactiveForeground": "{{colors.outline.default.hex}}",
"tab.border": "{{colors.background.default.hex}}",
"tab.activeBorder": "{{colors.primary.default.hex}}",
"tab.unfocusedActiveBorder": "{{colors.outline.default.hex}}",
"editorGroupHeader.tabsBackground": "{{colors.background.default.hex}}",
"editorGroupHeader.noTabsBackground": "{{colors.background.default.hex}}",
"titleBar.activeBackground": "{{colors.background.default.hex}}",
"titleBar.activeForeground": "{{colors.on_surface.default.hex}}",
"titleBar.inactiveBackground": "{{colors.background.default.hex}}",
"titleBar.inactiveForeground": "{{colors.outline.default.hex}}",
"titleBar.border": "{{colors.background.default.hex}}",
"input.background": "{{colors.background.default.hex}}",
"tab.activeBorderTop": "{{colors.primary.default.hex}}",
"list.activeSelectionBackground": "{{colors.primary_container.default.hex}}",
"list.activeSelectionForeground": "{{colors.on_primary_container.default.hex}}",
"list.inactiveSelectionBackground": "{{colors.surface_container.default.hex}}",
"list.hoverBackground": "{{colors.surface_container.default.hex}}",
"list.hoverForeground": "{{colors.on_surface.default.hex}}",
"list.focusForeground": "{{colors.on_surface.default.hex}}",
"list.focusOutline": "{{colors.primary.default.hex}}",
"list.focusBackground": "{{colors.surface_container_high.default.hex}}",
"list.highlightForeground": "{{colors.primary.default.hex}}",
"list.errorForeground": "{{colors.error.default.hex}}",
"list.warningForeground": "{{colors.secondary.default.hex}}",
"input.background": "{{colors.surface_container_low.default.hex}}",
"input.foreground": "{{colors.on_surface.default.hex}}",
"input.border": "{{colors.outline.default.hex}}",
"input.border": "{{colors.outline_variant.default.hex}}",
"input.placeholderForeground": "{{colors.outline.default.hex}}",
"inputOption.activeBorder": "{{colors.primary.default.hex}}",
"inputValidation.errorBackground": "{{colors.error.default.hex}}",
"inputValidation.errorBorder": "{{colors.error.default.hex}}",
"dropdown.background": "{{colors.background.default.hex}}",
"dropdown.background": "{{colors.surface_container_low.default.hex}}",
"dropdown.foreground": "{{colors.on_surface.default.hex}}",
"dropdown.border": "{{colors.outline.default.hex}}",
"quickInput.background": "{{colors.background.default.hex}}",
"dropdown.border": "{{colors.outline_variant.default.hex}}",
"quickInput.background": "{{colors.surface_container_low.default.hex}}",
"quickInput.foreground": "{{colors.on_surface.default.hex}}",
"quickInputList.focusBackground": "{{colors.surface_container_high.default.hex}}",
"quickInputList.focusForeground": "{{colors.on_surface.default.hex}}",
"widget.shadow": "{{colors.background.default.hex}}80",
"button.background": "{{colors.primary.default.hex}}",
"button.foreground": "{{colors.on_primary.default.hex}}",
"button.hoverBackground": "{{colors.primary_container.default.hex}}",
"focusBorder": "{{colors.primary.default.hex}}",
"badge.background": "{{colors.secondary.default.hex}}",
"badge.foreground": "{{colors.on_secondary.default.hex}}",
"panel.background": "{{colors.background.default.hex}}",
"panel.border": "{{colors.primary.default.hex}}",
"panelTitle.activeBorder": "{{colors.primary.default.hex}}",
"panelTitle.activeForeground": "{{colors.on_surface.default.hex}}",
"panelTitle.inactiveForeground": "{{colors.outline.default.hex}}",
"terminal.background": "{{colors.background.default.hex}}",
"terminal.foreground": "{{colors.on_surface.default.hex}}",
"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}}",
"gitDecoration.stageModifiedResourceForeground": "{{colors.primary.default.hex}}",
"gitDecoration.stageDeletedResourceForeground": "{{colors.error.default.hex}}",
"gitDecoration.deletedResourceForeground": "{{colors.error.default.hex}}",
"gitDecoration.untrackedResourceForeground": "{{colors.secondary.default.hex}}",
"gitDecoration.ignoredResourceForeground": "{{colors.outline.default.hex}}",
"gitDecoration.conflictingResourceForeground": "{{colors.error_container.default.hex}}",
"gitDecoration.submoduleResourceForeground": "{{colors.primary.default.hex}}",
"editorWidget.background": "{{colors.background.default.hex}}",
"editorWidget.border": "{{colors.outline.default.hex}}",
"editorSuggestWidget.background": "{{colors.background.default.hex}}",
"editorSuggestWidget.border": "{{colors.outline.default.hex}}",
"editorSuggestWidget.selectedBackground": "{{colors.surface_container_high.default.hex}}",
"editorSuggestWidget.highlightForeground": "{{colors.primary.default.hex}}",
"peekView.border": "{{colors.primary.default.hex}}",
"peekViewEditor.background": "{{colors.background.default.hex}}",
"peekViewResult.background": "{{colors.background.default.hex}}",
"peekViewTitle.background": "{{colors.background.default.hex}}",
"notificationCenter.border": "{{colors.outline.default.hex}}",
"notifications.background": "{{colors.background.default.hex}}",
"notifications.border": "{{colors.outline.default.hex}}",
"statusBar.background": "{{colors.background.default.hex}}",
"statusBar.foreground": "{{colors.on_surface.default.hex}}",
"statusBar.border": "{{colors.outline_variant.default.hex}}",
"statusBar.noFolderBackground": "{{colors.background.default.hex}}",
"statusBar.noFolderForeground": "{{colors.on_surface.default.hex}}",
"statusBar.debuggingBackground": "{{colors.error.default.hex}}",
"statusBar.debuggingForeground": "{{colors.on_error.default.hex}}",
"notificationCenterHeader.background": "{{colors.surface_container_low.default.hex}}",
"notificationCenterHeader.foreground": "{{colors.on_surface.default.hex}}",
"notificationCenter.border": "{{colors.outline_variant.default.hex}}",
"notifications.background": "{{colors.surface_container_low.default.hex}}",
"notifications.foreground": "{{colors.on_surface.default.hex}}",
"notifications.border": "{{colors.outline_variant.default.hex}}",
"notificationsErrorIcon.foreground": "{{colors.error.default.hex}}",
"notificationsWarningIcon.foreground": "{{colors.secondary.default.hex}}",
"notificationsInfoIcon.foreground": "{{colors.primary.default.hex}}",
"breadcrumb.background": "{{colors.surface_container.default.hex}}",
"breadcrumb.foreground": "{{colors.outline.default.hex}}",
"breadcrumb.focusForeground": "{{colors.on_surface.default.hex}}",
"breadcrumb.activeSelectionForeground": "{{colors.primary.default.hex}}",
"editorLineNumber.foreground": "{{colors.outline.default.hex}}",
"editorLineNumber.activeForeground": "{{colors.primary.default.hex}}",
"editorCursor.foreground": "{{colors.primary.default.hex}}",
"editor.lineHighlightBackground": "{{colors.surface_container.default.hex}}66",
"editor.wordHighlightBackground": "{{colors.secondary.default.hex}}22",
"editor.wordHighlightStrongBackground": "{{colors.tertiary.default.hex}}22",
"editor.selectionBackground": "{{colors.primary_container.default.hex}}66",
"editor.inactiveSelectionBackground": "{{colors.primary_container.default.hex}}33",
"editorWhitespace.foreground": "{{colors.outline.default.hex}}66",
"editorIndentGuide.background1": "{{colors.outline.default.hex}}33",
"editorIndentGuide.activeBackground1": "{{colors.primary.default.hex}}99",
"editorOverviewRuler.border": "{{colors.outline_variant.default.hex}}",
"editorOverviewRuler.errorForeground": "{{colors.error.default.hex}}88",
"editorOverviewRuler.warningForeground": "{{colors.tertiary.default.hex}}88",
"editorOverviewRuler.infoForeground": "{{colors.primary.default.hex}}88",
"editorStickyScroll.background": "{{colors.background.default.hex}}",
"editorStickyScrollHover.background": "{{colors.surface_container_low.default.hex}}",
"editorBracketHighlight.unexpectedBracket.foreground": "{{colors.outline.default.hex}}",
"diffEditor.insertedTextBackground": "{{colors.secondary.default.hex}}20",
"diffEditor.removedTextBackground": "{{colors.error.default.hex}}20",
"gitDecoration.modifiedResourceForeground": "{{colors.primary.default.hex}}",
"gitDecoration.addedResourceForeground": "{{colors.secondary.default.hex}}",
"gitDecoration.deletedResourceForeground": "{{colors.error.default.hex}}",
"gitDecoration.ignoredResourceForeground": "{{colors.outline.default.hex}}",
"editorHoverWidget.background": "{{colors.surface_container_high.default.hex}}",
"editorHoverWidget.border": "{{colors.outline.default.hex}}",
"editorSuggestWidget.background": "{{colors.surface_container.default.hex}}",
"editorSuggestWidget.foreground": "{{colors.on_surface.default.hex}}",
"editorSuggestWidget.selectedBackground": "{{colors.surface_container_high.default.hex}}",
"editorSuggestWidget.highlightForeground": "{{colors.primary.default.hex}}",
"scrollbarSlider.background": "{{colors.outline.default.hex}}40",
"scrollbarSlider.hoverBackground": "{{colors.outline.default.hex}}60",
"scrollbarSlider.activeBackground": "{{colors.outline.default.hex}}80",
"editorError.foreground": "{{colors.error.default.hex}}",
"editorWarning.foreground": "{{colors.tertiary.default.hex}}",
"editorInfo.foreground": "{{colors.primary.default.hex}}",
"editorGutter.addedBackground": "{{colors.secondary.default.hex}}",
"editorGutter.modifiedBackground": "{{colors.tertiary.default.hex}}",
"editorGutter.deletedBackground": "{{colors.error.default.hex}}",
"diffEditor.insertedTextBackground": "{{colors.secondary.default.hex}}20",
"diffEditor.removedTextBackground": "{{colors.error.default.hex}}20",
"merge.currentHeaderBackground": "{{colors.primary.default.hex}}40",
"merge.incomingHeaderBackground": "{{colors.secondary.default.hex}}40",
"menubar.selectionBackground": "{{colors.surface_container.default.hex}}",
"menu.background": "{{colors.background.default.hex}}",
"menu.foreground": "{{colors.on_surface.default.hex}}",
"menu.selectionBackground": "{{colors.surface_container_high.default.hex}}",
"menu.selectionForeground": "{{colors.on_surface.default.hex}}",
"debugToolBar.background": "{{colors.background.default.hex}}",
"debugExceptionWidget.background": "{{colors.background.default.hex}}",
"debugExceptionWidget.border": "{{colors.error.default.hex}}"
"terminal.background": "{{colors.background.default.hex}}",
"terminal.foreground": "{{colors.on_surface.default.hex}}",
"terminal.ansiBlack": "{{dank16.color0.default.hex}}",
"terminal.ansiRed": "{{dank16.color1.default.hex}}",
"terminal.ansiGreen": "{{dank16.color2.default.hex}}",
"terminal.ansiYellow": "{{dank16.color3.default.hex}}",
"terminal.ansiBlue": "{{dank16.color4.default.hex}}",
"terminal.ansiMagenta": "{{dank16.color5.default.hex}}",
"terminal.ansiCyan": "{{dank16.color6.default.hex}}",
"terminal.ansiWhite": "{{dank16.color7.default.hex}}",
"terminal.ansiBrightBlack": "{{dank16.color8.default.hex}}",
"terminal.ansiBrightRed": "{{dank16.color9.default.hex}}",
"terminal.ansiBrightGreen": "{{dank16.color10.default.hex}}",
"terminal.ansiBrightYellow": "{{dank16.color11.default.hex}}",
"terminal.ansiBrightBlue": "{{dank16.color12.default.hex}}",
"terminal.ansiBrightMagenta": "{{dank16.color13.default.hex}}",
"terminal.ansiBrightCyan": "{{dank16.color14.default.hex}}",
"terminal.ansiBrightWhite": "{{dank16.color15.default.hex}}"
},
"tokenColors": [
{
"scope": ["variable", "meta.object-literal.key"],
"settings": {
"foreground": "{{colors.on_surface.default.hex}}"
}
},
{
"scope": ["string", "constant.other.symbol"],
"settings": {
"foreground": "{{colors.secondary.default.hex}}"
}
},
{
"scope": ["constant.numeric", "constant.language", "constant.character"],
"settings": {
"foreground": "{{colors.tertiary.default.hex}}"
}
},
{
"scope": ["entity.name.type", "support.type", "entity.name.class"],
"settings": {
"foreground": "{{colors.tertiary.default.hex}}"
}
},
{
"scope": ["entity.name.function", "support.function"],
"settings": {
"foreground": "{{colors.primary.default.hex}}"
}
},
{
"scope": ["support.class", "support.variable", "variable.language"],
"settings": {
"foreground": "{{colors.secondary.default.hex}}"
}
},
{
"scope": ["invalid"],
"settings": {
"foreground": "{{colors.error.default.hex}}"
}
},
{
"scope": ["invalid.deprecated"],
"scope": [
"comment"
],
"settings": {
"foreground": "{{colors.outline.default.hex}}"
}
},
{
"scope": ["markup.heading"],
"scope": [
"keyword"
],
"settings": {
"foreground": "{{colors.primary.default.hex}}",
"fontStyle": "bold"
"foreground": "{{dank16.color5.default.hex}}"
}
},
{
"scope": ["markup.bold"],
"scope": [
"string"
],
"settings": {
"foreground": "{{colors.tertiary.default.hex}}",
"fontStyle": "bold"
"foreground": "{{dank16.color2.default.hex}}"
}
},
{
"scope": ["markup.italic"],
"scope": [
"constant",
"number"
],
"settings": {
"foreground": "{{colors.primary.default.hex}}",
"fontStyle": "italic"
"foreground": "{{dank16.color12.default.hex}}"
}
},
{
"scope": ["markup.underline"],
"settings": {
"fontStyle": "underline"
}
},
{
"scope": ["markup.quote"],
"settings": {
"foreground": "{{colors.secondary.default.hex}}"
}
},
{
"scope": ["markup.list"],
"scope": [
"variable"
],
"settings": {
"foreground": "{{colors.on_surface.default.hex}}"
}
},
{
"scope": ["markup.raw", "markup.inline.raw"],
"scope": [
"entity.name.function"
],
"settings": {
"foreground": "{{dank16.color4.default.hex}}"
}
},
{
"scope": [
"entity.name.class",
"support.type"
],
"settings": {
"foreground": "{{colors.secondary.default.hex}}"
}
},
{
"scope": ["comment", "punctuation.definition.comment"],
"scope": [
"invalid"
],
"settings": {
"foreground": "{{dank16.color8.hex}}"
"foreground": "{{colors.error.default.hex}}"
}
},
{
"scope": "keyword",
"scope": [
"markup.heading"
],
"settings": {
"foreground": "{{dank16.color5.hex}}"
}
},
{
"scope": "storage.type",
"settings": {
"foreground": "{{dank16.color13.hex}}"
}
},
{
"scope": "storage.modifier",
"settings": {
"foreground": "{{dank16.color5.hex}}"
}
},
{
"scope": "variable",
"settings": {
"foreground": "{{dank16.color15.hex}}"
}
},
{
"scope": "variable.parameter",
"settings": {
"foreground": "{{dank16.color7.hex}}"
}
},
{
"scope": ["meta.object-literal.key", "meta.property.object", "variable.other.property"],
"settings": {
"foreground": "{{dank16.color4.hex}}"
}
},
{
"scope": "constant.other.symbol",
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": ["constant.numeric", "constant.language"],
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": "constant.character",
"settings": {
"foreground": "{{dank16.color3.hex}}"
}
},
{
"scope": ["entity.name.type", "entity.name.class"],
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": "support.type",
"settings": {
"foreground": "{{dank16.color13.hex}}"
}
},
{
"scope": ["entity.name.function", "support.function"],
"settings": {
"foreground": "{{dank16.color2.hex}}"
}
},
{
"scope": ["support.class", "support.variable"],
"settings": {
"foreground": "{{dank16.color15.hex}}"
}
},
{
"scope": "variable.language",
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": "entity.name.tag.yaml",
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": ["string.unquoted.plain.out.yaml", "string.unquoted.yaml"],
"settings": {
"foreground": "{{dank16.color15.hex}}"
}
},
{
"scope": "string",
"settings": {
"foreground": "{{dank16.color3.hex}}"
"foreground": "{{colors.primary.default.hex}}",
"fontStyle": "bold"
}
}
],
"semanticHighlighting": true,
"semanticTokenColors": {
"variable": {
"foreground": "{{dank16.color15.hex}}"
},
"variable.readonly": {
"foreground": "{{dank16.color12.hex}}"
},
"property": {
"foreground": "{{dank16.color4.hex}}"
},
"function": {
"foreground": "{{dank16.color2.hex}}"
},
"method": {
"foreground": "{{dank16.color2.hex}}"
},
"type": {
"foreground": "{{dank16.color12.hex}}"
},
"class": {
"foreground": "{{dank16.color12.hex}}"
},
"typeParameter": {
"foreground": "{{dank16.color13.hex}}"
},
"enumMember": {
"foreground": "{{dank16.color12.hex}}"
},
"string": {
"foreground": "{{dank16.color3.hex}}"
},
"number": {
"foreground": "{{dank16.color12.hex}}"
},
"comment": {
"foreground": "{{dank16.color8.hex}}"
},
"keyword": {
"foreground": "{{dank16.color5.hex}}"
},
"operator": {
"foreground": "{{dank16.color15.hex}}"
"foreground": "{{colors.on_surface.default.hex}}"
},
"parameter": {
"foreground": "{{dank16.color7.hex}}"
"foreground": "{{colors.on_surface.default.hex}}"
},
"namespace": {
"foreground": "{{dank16.color15.hex}}"
"property": {
"foreground": "{{dank16.color4.default.hex}}"
},
"function": {
"foreground": "{{dank16.color4.default.hex}}"
},
"method": {
"foreground": "{{dank16.color4.default.hex}}"
},
"type": {
"foreground": "{{colors.secondary.default.hex}}"
},
"class": {
"foreground": "{{colors.secondary.default.hex}}"
},
"string": {
"foreground": "{{dank16.color2.default.hex}}"
},
"number": {
"foreground": "{{dank16.color12.default.hex}}"
},
"keyword": {
"foreground": "{{dank16.color5.default.hex}}"
},
"comment": {
"foreground": "{{colors.outline.default.hex}}"
}
}
}

View File

@@ -1,35 +1,74 @@
{
"$schema": "vscode://schemas/color-theme",
"name": "Dynamic Base16 DankShell",
"name": "Dynamic Base16 DankShell Light",
"semanticHighlighting": true,
"colors": {
"foreground": "{{colors.on_surface.light.hex}}",
"selection.background": "{{colors.primary_container.light.hex}}66",
"errorForeground": "{{colors.error.light.hex}}",
"focusBorder": "{{colors.primary.light.hex}}",
"editor.background": "{{colors.background.light.hex}}",
"editor.foreground": "{{colors.on_surface.light.hex}}",
"editorLineNumber.foreground": "{{colors.outline.light.hex}}",
"editorLineNumber.activeForeground": "{{colors.on_surface.light.hex}}",
"editorLineNumber.activeForeground": "{{colors.primary.light.hex}}",
"editorCursor.foreground": "{{colors.primary.light.hex}}",
"editor.selectionBackground": "{{colors.primary_container.light.hex}}",
"editor.inactiveSelectionBackground": "{{colors.background.light.hex}}",
"editor.lineHighlightBackground": "{{colors.background.light.hex}}",
"editorIndentGuide.background": "{{colors.background.light.hex}}",
"editorIndentGuide.activeBackground": "{{colors.outline.light.hex}}",
"editorWhitespace.foreground": "{{colors.outline_variant.light.hex}}",
"editorBracketMatch.background": "{{colors.background.light.hex}}",
"editor.selectionBackground": "{{colors.primary_container.light.hex}}B3",
"editor.inactiveSelectionBackground": "{{colors.primary_container.light.hex}}33",
"editor.lineHighlightBackground": "{{colors.surface_container.light.hex}}66",
"editor.lineHighlightBorder": "{{colors.outline_variant.light.hex}}18",
"editor.wordHighlightBackground": "{{colors.secondary.light.hex}}22",
"editor.wordHighlightStrongBackground": "{{colors.tertiary.light.hex}}22",
"editor.findMatchBackground": "{{colors.secondary.light.hex}}33",
"editor.findMatchHighlightBackground": "{{colors.secondary.light.hex}}22",
"editor.findRangeHighlightBackground": "{{colors.surface_container.light.hex}}33",
"editorWhitespace.foreground": "{{colors.outline.light.hex}}66",
"editorIndentGuide.background1": "{{colors.outline.light.hex}}99",
"editorIndentGuide.activeBackground1": "{{colors.primary.light.hex}}CC",
"editorBracketMatch.background": "{{colors.primary_container.light.hex}}33",
"editorBracketMatch.border": "{{colors.primary.light.hex}}",
"editorGutter.addedBackground": "{{colors.secondary.light.hex}}AA",
"editorGutter.modifiedBackground": "{{colors.tertiary.light.hex}}AA",
"editorGutter.deletedBackground": "{{colors.error.light.hex}}AA",
"editorError.foreground": "{{colors.error.light.hex}}",
"editorWarning.foreground": "{{colors.tertiary.light.hex}}",
"editorInfo.foreground": "{{colors.primary.light.hex}}",
"editorOverviewRuler.border": "{{colors.outline_variant.light.hex}}",
"editorOverviewRuler.errorForeground": "{{colors.error.light.hex}}88",
"editorOverviewRuler.warningForeground": "{{colors.tertiary.light.hex}}88",
"editorOverviewRuler.infoForeground": "{{colors.primary.light.hex}}88",
"editorWidget.background": "{{colors.surface_container.light.hex}}",
"editorWidget.border": "{{colors.outline_variant.light.hex}}",
"editorHoverWidget.background": "{{colors.surface_container_high.light.hex}}",
"editorHoverWidget.border": "{{colors.outline.light.hex}}",
"editorSuggestWidget.background": "{{colors.surface_container.light.hex}}",
"editorSuggestWidget.foreground": "{{colors.on_surface.light.hex}}",
"editorSuggestWidget.border": "{{colors.outline_variant.light.hex}}",
"editorSuggestWidget.selectedBackground": "{{colors.surface_container_high.light.hex}}",
"editorSuggestWidget.highlightForeground": "{{colors.primary.light.hex}}",
"editorGroup.border": "{{colors.outline_variant.light.hex}}",
"editorGroup.dropBackground": "{{colors.primary_container.light.hex}}33",
"editorGroupHeader.tabsBackground": "{{colors.background.light.hex}}",
"editorGroupHeader.noTabsBackground": "{{colors.background.light.hex}}",
"tab.border": "{{colors.outline_variant.light.hex}}",
"tab.activeBackground": "{{colors.surface_container_high.light.hex}}",
"tab.inactiveBackground": "{{colors.surface_container.light.hex}}",
"tab.activeForeground": "{{colors.on_surface.light.hex}}",
"tab.inactiveForeground": "{{colors.outline.light.hex}}",
"tab.activeBorder": "{{colors.primary.light.hex}}",
"tab.unfocusedActiveBorder": "{{colors.outline.light.hex}}",
"activityBar.background": "{{colors.background.light.hex}}",
"activityBar.foreground": "{{colors.on_surface.light.hex}}",
"activityBar.inactiveForeground": "{{colors.outline.light.hex}}",
"activityBar.activeBorder": "{{colors.primary.light.hex}}",
"activityBar.activeBackground": "{{colors.background.light.hex}}",
"activityBarBadge.background": "{{colors.primary.light.hex}}",
"activityBarBadge.foreground": "{{colors.on_primary.light.hex}}",
"sideBar.background": "{{colors.background.light.hex}}",
"sideBar.background": "{{colors.surface_container.light.hex}}",
"sideBar.foreground": "{{colors.on_surface.light.hex}}",
"sideBar.border": "{{colors.background.light.hex}}",
"sideBar.border": "{{colors.outline_variant.light.hex}}",
"sideBarTitle.foreground": "{{colors.on_surface.light.hex}}",
"sideBarSectionHeader.background": "{{colors.background.light.hex}}",
"sideBarSectionHeader.background": "{{colors.surface_container_low.light.hex}}",
"sideBarSectionHeader.foreground": "{{colors.on_surface.light.hex}}",
"list.activeSelectionBackground": "{{colors.primary_container.light.hex}}",
"list.activeSelectionForeground": "{{colors.on_primary_container.light.hex}}",
"list.inactiveSelectionBackground": "{{colors.surface_container.light.hex}}",
@@ -39,83 +78,64 @@
"list.focusBackground": "{{colors.surface_container_high.light.hex}}",
"list.focusForeground": "{{colors.on_surface.light.hex}}",
"list.highlightForeground": "{{colors.primary.light.hex}}",
"statusBar.background": "{{colors.background.light.hex}}",
"list.errorForeground": "{{colors.error.light.hex}}",
"list.warningForeground": "{{colors.tertiary.light.hex}}",
"statusBar.background": "{{colors.surface_container.light.hex}}",
"statusBar.foreground": "{{colors.on_surface.light.hex}}",
"statusBar.border": "{{colors.background.light.hex}}",
"statusBar.noFolderBackground": "{{colors.background.light.hex}}",
"statusBar.border": "{{colors.outline_variant.light.hex}}",
"statusBar.noFolderBackground": "{{colors.surface_container.light.hex}}",
"statusBar.noFolderForeground": "{{colors.on_surface.light.hex}}",
"statusBar.debuggingBackground": "{{colors.error.light.hex}}",
"statusBar.debuggingForeground": "{{colors.on_error.light.hex}}",
"tab.activeBackground": "{{colors.background.light.hex}}",
"tab.inactiveBackground": "{{colors.background.light.hex}}",
"tab.activeForeground": "{{colors.on_surface.light.hex}}",
"tab.inactiveForeground": "{{colors.outline.light.hex}}",
"tab.border": "{{colors.background.light.hex}}",
"tab.activeBorder": "{{colors.primary.light.hex}}",
"tab.unfocusedActiveBorder": "{{colors.outline.light.hex}}",
"editorGroupHeader.tabsBackground": "{{colors.background.light.hex}}",
"editorGroupHeader.noTabsBackground": "{{colors.background.light.hex}}",
"titleBar.activeBackground": "{{colors.background.light.hex}}",
"titleBar.activeForeground": "{{colors.on_surface.light.hex}}",
"titleBar.inactiveBackground": "{{colors.background.light.hex}}",
"titleBar.inactiveForeground": "{{colors.outline.light.hex}}",
"titleBar.border": "{{colors.background.light.hex}}",
"input.background": "{{colors.background.light.hex}}",
"titleBar.border": "{{colors.outline_variant.light.hex}}",
"input.background": "{{colors.surface_container_low.light.hex}}",
"input.foreground": "{{colors.on_surface.light.hex}}",
"input.border": "{{colors.outline.light.hex}}",
"input.border": "{{colors.outline_variant.light.hex}}",
"input.placeholderForeground": "{{colors.outline.light.hex}}",
"inputOption.activeBorder": "{{colors.primary.light.hex}}",
"inputValidation.errorBackground": "{{colors.error.light.hex}}",
"inputValidation.errorBackground": "{{colors.error_container.light.hex}}",
"inputValidation.errorBorder": "{{colors.error.light.hex}}",
"dropdown.background": "{{colors.background.light.hex}}",
"dropdown.background": "{{colors.surface_container_low.light.hex}}",
"dropdown.foreground": "{{colors.on_surface.light.hex}}",
"dropdown.border": "{{colors.outline.light.hex}}",
"quickInput.background": "{{colors.background.light.hex}}",
"dropdown.border": "{{colors.outline_variant.light.hex}}",
"quickInput.background": "{{colors.surface_container.light.hex}}",
"quickInput.foreground": "{{colors.on_surface.light.hex}}",
"quickInputList.focusBackground": "{{colors.surface_container_high.light.hex}}",
"quickInputList.focusForeground": "{{colors.on_surface.light.hex}}",
"button.background": "{{colors.primary.light.hex}}",
"button.foreground": "{{colors.on_primary.light.hex}}",
"button.hoverBackground": "{{colors.primary_container.light.hex}}",
"focusBorder": "{{colors.primary.light.hex}}",
"badge.background": "{{colors.secondary.light.hex}}",
"badge.foreground": "{{colors.on_secondary.light.hex}}",
"panel.background": "{{colors.background.light.hex}}",
"panel.border": "{{colors.primary.light.hex}}",
"panel.background": "{{colors.surface_container.light.hex}}",
"panel.border": "{{colors.outline_variant.light.hex}}",
"panelTitle.activeBorder": "{{colors.primary.light.hex}}",
"panelTitle.activeForeground": "{{colors.on_surface.light.hex}}",
"panelTitle.inactiveForeground": "{{colors.outline.light.hex}}",
"terminal.background": "{{colors.background.light.hex}}",
"terminal.foreground": "{{colors.on_surface.light.hex}}",
"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}}",
"terminal.ansiBlack": "{{dank16.color0.light.hex}}",
"terminal.ansiRed": "{{dank16.color1.light.hex}}",
"terminal.ansiGreen": "{{dank16.color2.light.hex}}",
"terminal.ansiYellow": "{{dank16.color3.light.hex}}",
"terminal.ansiBlue": "{{dank16.color4.light.hex}}",
"terminal.ansiMagenta": "{{dank16.color5.light.hex}}",
"terminal.ansiCyan": "{{dank16.color6.light.hex}}",
"terminal.ansiWhite": "{{dank16.color7.light.hex}}",
"terminal.ansiBrightBlack": "{{dank16.color8.light.hex}}",
"terminal.ansiBrightRed": "{{dank16.color9.light.hex}}",
"terminal.ansiBrightGreen": "{{dank16.color10.light.hex}}",
"terminal.ansiBrightYellow": "{{dank16.color11.light.hex}}",
"terminal.ansiBrightBlue": "{{dank16.color12.light.hex}}",
"terminal.ansiBrightMagenta": "{{dank16.color13.light.hex}}",
"terminal.ansiBrightCyan": "{{dank16.color14.light.hex}}",
"terminal.ansiBrightWhite": "{{dank16.color15.light.hex}}",
"gitDecoration.modifiedResourceForeground": "{{colors.primary.light.hex}}",
"gitDecoration.addedResourceForeground": "{{colors.primary.light.hex}}",
"gitDecoration.addedResourceForeground": "{{colors.secondary.light.hex}}",
"gitDecoration.stageModifiedResourceForeground": "{{colors.primary.light.hex}}",
"gitDecoration.stageDeletedResourceForeground": "{{colors.error.light.hex}}",
"gitDecoration.deletedResourceForeground": "{{colors.error.light.hex}}",
@@ -123,309 +143,276 @@
"gitDecoration.ignoredResourceForeground": "{{colors.outline.light.hex}}",
"gitDecoration.conflictingResourceForeground": "{{colors.error_container.light.hex}}",
"gitDecoration.submoduleResourceForeground": "{{colors.primary.light.hex}}",
"editorWidget.background": "{{colors.background.light.hex}}",
"editorWidget.border": "{{colors.outline.light.hex}}",
"editorSuggestWidget.background": "{{colors.background.light.hex}}",
"editorSuggestWidget.border": "{{colors.outline.light.hex}}",
"editorSuggestWidget.selectedBackground": "{{colors.surface_container_high.light.hex}}",
"editorSuggestWidget.highlightForeground": "{{colors.primary.light.hex}}",
"peekView.border": "{{colors.primary.light.hex}}",
"peekViewEditor.background": "{{colors.background.light.hex}}",
"peekViewResult.background": "{{colors.background.light.hex}}",
"peekViewTitle.background": "{{colors.background.light.hex}}",
"notificationCenter.border": "{{colors.outline.light.hex}}",
"notifications.background": "{{colors.background.light.hex}}",
"notifications.border": "{{colors.outline.light.hex}}",
"peekViewEditor.background": "{{colors.surface_container_high.light.hex}}",
"peekViewResult.background": "{{colors.surface_container.light.hex}}",
"peekViewTitle.background": "{{colors.surface_container_low.light.hex}}",
"notificationCenter.border": "{{colors.outline_variant.light.hex}}",
"notifications.background": "{{colors.surface_container.light.hex}}",
"notifications.border": "{{colors.outline_variant.light.hex}}",
"breadcrumb.background": "{{colors.surface_container_high.light.hex}}",
"breadcrumb.foreground": "{{colors.outline.light.hex}}",
"breadcrumb.focusForeground": "{{colors.on_surface.light.hex}}",
"breadcrumb.activeSelectionForeground": "{{colors.primary.light.hex}}",
"scrollbarSlider.background": "{{colors.outline.light.hex}}40",
"scrollbarSlider.hoverBackground": "{{colors.outline.light.hex}}60",
"scrollbarSlider.activeBackground": "{{colors.outline.light.hex}}80",
"editorError.foreground": "{{colors.error.light.hex}}",
"editorWarning.foreground": "{{colors.tertiary.light.hex}}",
"editorInfo.foreground": "{{colors.primary.light.hex}}",
"editorGutter.addedBackground": "{{colors.secondary.light.hex}}",
"editorGutter.modifiedBackground": "{{colors.tertiary.light.hex}}",
"editorGutter.deletedBackground": "{{colors.error.light.hex}}",
"diffEditor.insertedTextBackground": "{{colors.secondary.light.hex}}20",
"diffEditor.removedTextBackground": "{{colors.error.light.hex}}20",
"merge.currentHeaderBackground": "{{colors.primary.light.hex}}40",
"merge.incomingHeaderBackground": "{{colors.secondary.light.hex}}40",
"menubar.selectionBackground": "{{colors.surface_container.light.hex}}",
"menu.background": "{{colors.background.light.hex}}",
"menubar.selectionBackground": "{{colors.primary_container.light.hex}}",
"menubar.selectionForeground": "{{colors.on_primary_container.light.hex}}",
"menu.background": "{{colors.surface_container.light.hex}}",
"menu.foreground": "{{colors.on_surface.light.hex}}",
"menu.selectionBackground": "{{colors.surface_container_high.light.hex}}",
"menu.selectionForeground": "{{colors.on_surface.light.hex}}",
"debugToolBar.background": "{{colors.background.light.hex}}",
"debugExceptionWidget.background": "{{colors.background.light.hex}}",
"menu.selectionBackground": "{{colors.primary_container.light.hex}}",
"menu.selectionForeground": "{{colors.on_primary_container.light.hex}}",
"debugToolBar.background": "{{colors.surface_container.light.hex}}",
"debugExceptionWidget.background": "{{colors.surface_container.light.hex}}",
"debugExceptionWidget.border": "{{colors.error.light.hex}}"
},
"tokenColors": [
{
"scope": ["variable", "meta.object-literal.key"],
"settings": {
"foreground": "{{colors.on_surface.light.hex}}"
}
},
{
"scope": ["string", "constant.other.symbol"],
"settings": {
"foreground": "{{colors.secondary.light.hex}}"
}
},
{
"scope": ["constant.numeric", "constant.language", "constant.character"],
"settings": {
"foreground": "{{colors.tertiary.light.hex}}"
}
},
{
"scope": ["entity.name.type", "support.type", "entity.name.class"],
"settings": {
"foreground": "{{colors.tertiary.light.hex}}"
}
},
{
"scope": ["entity.name.function", "support.function"],
"settings": {
"foreground": "{{colors.primary.light.hex}}"
}
},
{
"scope": ["support.class", "support.variable", "variable.language"],
"settings": {
"foreground": "{{colors.secondary.light.hex}}"
}
},
{
"scope": ["invalid"],
"settings": {
"foreground": "{{colors.error.light.hex}}"
}
},
{
"scope": ["invalid.deprecated"],
"name": "Comments",
"scope": [
"comment",
"punctuation.definition.comment",
"string.comment"
],
"settings": {
"foreground": "{{colors.outline.light.hex}}"
}
},
{
"scope": ["markup.heading"],
"name": "Keywords and storage",
"scope": [
"keyword",
"punctuation.definition.keyword",
"storage",
"storage.type"
],
"settings": {
"foreground": "{{dank16.color5.light.hex}}"
}
},
{
"name": "Strings",
"scope": [
"string",
"string punctuation.section.embedded source"
],
"settings": {
"foreground": "{{dank16.color2.light.hex}}"
}
},
{
"name": "Constants and numbers",
"scope": [
"constant.numeric",
"constant.language",
"constant.other",
"constant.character"
],
"settings": {
"foreground": "{{dank16.color0.light.hex}}"
}
},
{
"name": "Variables (plain)",
"scope": [
"variable",
"variable.other"
],
"settings": {
"foreground": "{{colors.on_surface.light.hex}}"
}
},
{
"name": "Parameters",
"scope": [
"variable.parameter",
"variable.parameter.function"
],
"settings": {
"foreground": "{{colors.on_surface.light.hex}}"
}
},
{
"name": "Object properties and keys",
"scope": [
"meta.object-literal.key",
"meta.property.object",
"variable.other.property",
"entity.name.tag.yaml"
],
"settings": {
"foreground": "{{dank16.color4.light.hex}}"
}
},
{
"name": "Functions",
"scope": [
"entity.name.function",
"support.function"
],
"settings": {
"foreground": "{{dank16.color4.light.hex}}"
}
},
{
"name": "Types and classes",
"scope": [
"entity.name.type",
"entity.name.class",
"support.type"
],
"settings": {
"foreground": "{{colors.secondary.light.hex}}"
}
},
{
"name": "Language builtins and special variables",
"scope": [
"support.class",
"support.variable",
"variable.language",
"support.constant"
],
"settings": {
"foreground": "{{dank16.color4.light.hex}}"
}
},
{
"name": "Invalid",
"scope": [
"invalid"
],
"settings": {
"foreground": "{{colors.error.light.hex}}"
}
},
{
"name": "Invalid deprecated",
"scope": [
"invalid.deprecated"
],
"settings": {
"foreground": "{{colors.outline.light.hex}}"
}
},
{
"name": "Headings",
"scope": [
"markup.heading",
"markup.heading entity.name"
],
"settings": {
"foreground": "{{colors.primary.light.hex}}",
"fontStyle": "bold"
}
},
{
"scope": ["markup.bold"],
"name": "Bold",
"scope": [
"markup.bold"
],
"settings": {
"foreground": "{{colors.tertiary.light.hex}}",
"fontStyle": "bold"
}
},
{
"scope": ["markup.italic"],
"name": "Italic",
"scope": [
"markup.italic"
],
"settings": {
"foreground": "{{colors.primary.light.hex}}",
"fontStyle": "italic"
}
},
{
"scope": ["markup.underline"],
"name": "Underline",
"scope": [
"markup.underline"
],
"settings": {
"fontStyle": "underline"
}
},
{
"scope": ["markup.quote"],
"name": "Quotes",
"scope": [
"markup.quote"
],
"settings": {
"foreground": "{{colors.secondary.light.hex}}"
"foreground": "{{colors.outline.light.hex}}"
}
},
{
"scope": ["markup.list"],
"name": "Lists",
"scope": [
"markup.list"
],
"settings": {
"foreground": "{{colors.on_surface.light.hex}}"
}
},
{
"scope": ["markup.raw", "markup.inline.raw"],
"name": "Inline code in prose",
"scope": [
"markup.raw",
"markup.inline.raw"
],
"settings": {
"foreground": "{{colors.secondary.light.hex}}"
}
},
{
"scope": ["comment", "punctuation.definition.comment"],
"settings": {
"foreground": "{{dank16.color8.hex}}"
}
},
{
"scope": "keyword",
"settings": {
"foreground": "{{dank16.color5.hex}}"
}
},
{
"scope": "storage.type",
"settings": {
"foreground": "{{dank16.color13.hex}}"
}
},
{
"scope": "storage.modifier",
"settings": {
"foreground": "{{dank16.color5.hex}}"
}
},
{
"scope": "variable",
"settings": {
"foreground": "{{dank16.color15.hex}}"
}
},
{
"scope": "variable.parameter",
"settings": {
"foreground": "{{dank16.color7.hex}}"
}
},
{
"scope": ["meta.object-literal.key", "meta.property.object", "variable.other.property"],
"settings": {
"foreground": "{{dank16.color4.hex}}"
}
},
{
"scope": "constant.other.symbol",
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": ["constant.numeric", "constant.language"],
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": "constant.character",
"settings": {
"foreground": "{{dank16.color3.hex}}"
}
},
{
"scope": ["entity.name.type", "entity.name.class"],
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": "support.type",
"settings": {
"foreground": "{{dank16.color13.hex}}"
}
},
{
"scope": ["entity.name.function", "support.function"],
"settings": {
"foreground": "{{dank16.color2.hex}}"
}
},
{
"scope": ["support.class", "support.variable"],
"settings": {
"foreground": "{{dank16.color15.hex}}"
}
},
{
"scope": "variable.language",
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": "entity.name.tag.yaml",
"settings": {
"foreground": "{{dank16.color12.hex}}"
}
},
{
"scope": ["string.unquoted.plain.out.yaml", "string.unquoted.yaml"],
"settings": {
"foreground": "{{dank16.color15.hex}}"
}
},
{
"scope": "string",
"settings": {
"foreground": "{{dank16.color3.hex}}"
"foreground": "{{dank16.color4.light.hex}}"
}
}
],
"semanticHighlighting": true,
"semanticTokenColors": {
"variable": {
"foreground": "{{dank16.color15.hex}}"
"foreground": "{{colors.on_surface.light.hex}}"
},
"variable.readonly": {
"foreground": "{{dank16.color12.hex}}"
},
"property": {
"foreground": "{{dank16.color4.hex}}"
},
"function": {
"foreground": "{{dank16.color2.hex}}"
},
"method": {
"foreground": "{{dank16.color2.hex}}"
},
"type": {
"foreground": "{{dank16.color12.hex}}"
},
"class": {
"foreground": "{{dank16.color12.hex}}"
},
"typeParameter": {
"foreground": "{{dank16.color13.hex}}"
},
"enumMember": {
"foreground": "{{dank16.color12.hex}}"
},
"string": {
"foreground": "{{dank16.color3.hex}}"
},
"number": {
"foreground": "{{dank16.color12.hex}}"
},
"comment": {
"foreground": "{{dank16.color8.hex}}"
},
"keyword": {
"foreground": "{{dank16.color5.hex}}"
},
"operator": {
"foreground": "{{dank16.color15.hex}}"
"foreground": "{{dank16.color1.light.hex}}"
},
"parameter": {
"foreground": "{{dank16.color7.hex}}"
"foreground": "{{colors.on_surface.light.hex}}"
},
"property": {
"foreground": "{{dank16.color4.light.hex}}"
},
"function": {
"foreground": "{{dank16.color4.light.hex}}"
},
"method": {
"foreground": "{{dank16.color4.light.hex}}"
},
"type": {
"foreground": "{{colors.secondary.light.hex}}"
},
"class": {
"foreground": "{{colors.secondary.light.hex}}"
},
"typeParameter": {
"foreground": "{{colors.tertiary.light.hex}}"
},
"enumMember": {
"foreground": "{{dank16.color1.light.hex}}"
},
"string": {
"foreground": "{{dank16.color2.light.hex}}"
},
"number": {
"foreground": "{{dank16.color1.light.hex}}"
},
"comment": {
"foreground": "{{colors.outline.light.hex}}"
},
"keyword": {
"foreground": "{{dank16.color5.light.hex}}"
},
"operator": {
"foreground": "{{colors.on_surface.light.hex}}"
},
"namespace": {
"foreground": "{{dank16.color15.hex}}"
"foreground": "{{colors.on_surface.light.hex}}"
}
}
}
}

View File

@@ -1,315 +0,0 @@
{
"$schema": "vscode://schemas/color-theme",
"name": "Dynamic Base16 DankShell",
"colors": {
"editor.background": "{{colors.background.default.hex}}",
"editor.foreground": "{{colors.on_surface.default.hex}}",
"editorLineNumber.foreground": "{{colors.outline.default.hex}}",
"editorLineNumber.activeForeground": "{{colors.on_surface.default.hex}}",
"editorCursor.foreground": "{{colors.primary.default.hex}}",
"editor.selectionBackground": "{{colors.primary_container.default.hex}}",
"editor.inactiveSelectionBackground": "{{colors.background.default.hex}}",
"editor.lineHighlightBackground": "{{colors.background.default.hex}}",
"editorIndentGuide.background": "{{colors.background.default.hex}}",
"editorIndentGuide.activeBackground": "{{colors.outline.default.hex}}",
"editorWhitespace.foreground": "{{colors.outline_variant.default.hex}}",
"editorBracketMatch.background": "{{colors.background.default.hex}}",
"editorBracketMatch.border": "{{colors.primary.default.hex}}",
"activityBar.background": "{{colors.background.default.hex}}",
"activityBar.foreground": "{{colors.on_surface.default.hex}}",
"activityBar.activeBorder": "{{colors.primary.default.hex}}",
"activityBar.activeBackground": "{{colors.background.default.hex}}",
"activityBarBadge.background": "{{colors.primary.default.hex}}",
"activityBarBadge.foreground": "{{colors.on_primary.default.hex}}",
"sideBar.background": "{{colors.background.default.hex}}",
"sideBar.foreground": "{{colors.on_surface.default.hex}}",
"sideBar.border": "{{colors.background.default.hex}}",
"sideBarTitle.foreground": "{{colors.on_surface.default.hex}}",
"sideBarSectionHeader.background": "{{colors.background.default.hex}}",
"sideBarSectionHeader.foreground": "{{colors.on_surface.default.hex}}",
"list.activeSelectionBackground": "{{colors.primary_container.default.hex}}",
"list.activeSelectionForeground": "{{colors.on_primary_container.default.hex}}",
"list.inactiveSelectionBackground": "{{colors.surface_container.default.hex}}",
"list.inactiveSelectionForeground": "{{colors.on_surface.default.hex}}",
"list.hoverBackground": "{{colors.surface_container.default.hex}}",
"list.hoverForeground": "{{colors.on_surface.default.hex}}",
"list.focusBackground": "{{colors.surface_container_high.default.hex}}",
"list.focusForeground": "{{colors.on_surface.default.hex}}",
"list.highlightForeground": "{{colors.primary.default.hex}}",
"statusBar.background": "{{colors.background.default.hex}}",
"statusBar.foreground": "{{colors.on_surface.default.hex}}",
"statusBar.border": "{{colors.background.default.hex}}",
"statusBar.noFolderBackground": "{{colors.background.default.hex}}",
"statusBar.debuggingBackground": "{{colors.error.default.hex}}",
"statusBar.debuggingForeground": "{{colors.on_error.default.hex}}",
"tab.activeBackground": "{{colors.background.default.hex}}",
"tab.inactiveBackground": "{{colors.background.default.hex}}",
"tab.activeForeground": "{{colors.on_surface.default.hex}}",
"tab.inactiveForeground": "{{colors.outline.default.hex}}",
"tab.border": "{{colors.background.default.hex}}",
"tab.activeBorder": "{{colors.primary.default.hex}}",
"tab.unfocusedActiveBorder": "{{colors.outline.default.hex}}",
"editorGroupHeader.tabsBackground": "{{colors.background.default.hex}}",
"editorGroupHeader.noTabsBackground": "{{colors.background.default.hex}}",
"titleBar.activeBackground": "{{colors.background.default.hex}}",
"titleBar.activeForeground": "{{colors.on_surface.default.hex}}",
"titleBar.inactiveBackground": "{{colors.background.default.hex}}",
"titleBar.inactiveForeground": "{{colors.outline.default.hex}}",
"titleBar.border": "{{colors.background.default.hex}}",
"input.background": "{{colors.background.default.hex}}",
"input.foreground": "{{colors.on_surface.default.hex}}",
"input.border": "{{colors.outline.default.hex}}",
"input.placeholderForeground": "{{colors.outline.default.hex}}",
"inputOption.activeBorder": "{{colors.primary.default.hex}}",
"inputValidation.errorBackground": "{{colors.error.default.hex}}",
"inputValidation.errorBorder": "{{colors.error.default.hex}}",
"dropdown.background": "{{colors.background.default.hex}}",
"dropdown.foreground": "{{colors.on_surface.default.hex}}",
"dropdown.border": "{{colors.outline.default.hex}}",
"quickInput.background": "{{colors.background.default.hex}}",
"quickInput.foreground": "{{colors.on_surface.default.hex}}",
"quickInputList.focusBackground": "{{colors.surface_container_high.default.hex}}",
"quickInputList.focusForeground": "{{colors.on_surface.default.hex}}",
"button.background": "{{colors.primary.default.hex}}",
"button.foreground": "{{colors.on_primary.default.hex}}",
"button.hoverBackground": "{{colors.primary_container.default.hex}}",
"focusBorder": "{{colors.primary.default.hex}}",
"badge.background": "{{colors.secondary.default.hex}}",
"badge.foreground": "{{colors.on_secondary.default.hex}}",
"panel.background": "{{colors.background.default.hex}}",
"panel.border": "{{colors.primary.default.hex}}",
"panelTitle.activeBorder": "{{colors.primary.default.hex}}",
"panelTitle.activeForeground": "{{colors.on_surface.default.hex}}",
"panelTitle.inactiveForeground": "{{colors.outline.default.hex}}",
"terminal.background": "{{colors.background.default.hex}}",
"terminal.foreground": "{{colors.on_surface.default.hex}}",
"gitDecoration.modifiedResourceForeground": "{{colors.primary.default.hex}}",
"gitDecoration.addedResourceForeground": "{{colors.primary.default.hex}}",
"gitDecoration.stageModifiedResourceForeground": "{{colors.primary.default.hex}}",
"gitDecoration.stageDeletedResourceForeground": "{{colors.error.default.hex}}",
"gitDecoration.deletedResourceForeground": "{{colors.error.default.hex}}",
"gitDecoration.untrackedResourceForeground": "{{colors.secondary.default.hex}}",
"gitDecoration.ignoredResourceForeground": "{{colors.outline.default.hex}}",
"gitDecoration.conflictingResourceForeground": "{{colors.error_container.default.hex}}",
"gitDecoration.submoduleResourceForeground": "{{colors.primary.default.hex}}",
"editorWidget.background": "{{colors.background.default.hex}}",
"editorWidget.border": "{{colors.outline.default.hex}}",
"editorSuggestWidget.background": "{{colors.background.default.hex}}",
"editorSuggestWidget.border": "{{colors.outline.default.hex}}",
"editorSuggestWidget.selectedBackground": "{{colors.surface_container_high.default.hex}}",
"editorSuggestWidget.highlightForeground": "{{colors.primary.default.hex}}",
"peekView.border": "{{colors.primary.default.hex}}",
"peekViewEditor.background": "{{colors.background.default.hex}}",
"peekViewResult.background": "{{colors.background.default.hex}}",
"peekViewTitle.background": "{{colors.background.default.hex}}",
"notificationCenter.border": "{{colors.outline.default.hex}}",
"notifications.background": "{{colors.background.default.hex}}",
"notifications.border": "{{colors.outline.default.hex}}",
"breadcrumb.foreground": "{{colors.outline.default.hex}}",
"breadcrumb.focusForeground": "{{colors.on_surface.default.hex}}",
"breadcrumb.activeSelectionForeground": "{{colors.primary.default.hex}}",
"scrollbarSlider.background": "{{colors.outline.default.hex}}40",
"scrollbarSlider.hoverBackground": "{{colors.outline.default.hex}}60",
"scrollbarSlider.activeBackground": "{{colors.outline.default.hex}}80",
"editorError.foreground": "{{colors.error.default.hex}}",
"editorWarning.foreground": "{{colors.tertiary.default.hex}}",
"editorInfo.foreground": "{{colors.primary.default.hex}}",
"editorGutter.addedBackground": "{{colors.secondary.default.hex}}",
"editorGutter.modifiedBackground": "{{colors.tertiary.default.hex}}",
"editorGutter.deletedBackground": "{{colors.error.default.hex}}",
"diffEditor.insertedTextBackground": "{{colors.secondary.default.hex}}20",
"diffEditor.removedTextBackground": "{{colors.error.default.hex}}20",
"merge.currentHeaderBackground": "{{colors.primary.default.hex}}40",
"merge.incomingHeaderBackground": "{{colors.secondary.default.hex}}40",
"menubar.selectionBackground": "{{colors.surface_container.default.hex}}",
"menu.background": "{{colors.background.default.hex}}",
"menu.foreground": "{{colors.on_surface.default.hex}}",
"menu.selectionBackground": "{{colors.surface_container_high.default.hex}}",
"menu.selectionForeground": "{{colors.on_surface.default.hex}}",
"debugToolBar.background": "{{colors.background.default.hex}}",
"debugExceptionWidget.background": "{{colors.background.default.hex}}",
"debugExceptionWidget.border": "{{colors.error.default.hex}}"
},
"tokenColors": [
{
"scope": ["comment", "punctuation.definition.comment"],
"settings": {
"foreground": "{{colors.outline.default.hex}}",
"fontStyle": "italic"
}
},
{
"scope": ["keyword", "storage.type", "storage.modifier"],
"settings": {
"foreground": "{{colors.primary.default.hex}}"
}
},
{
"scope": ["variable", "meta.object-literal.key"],
"settings": {
"foreground": "{{colors.on_surface.default.hex}}"
}
},
{
"scope": ["string", "constant.other.symbol"],
"settings": {
"foreground": "{{colors.secondary.default.hex}}"
}
},
{
"scope": ["constant.numeric", "constant.language", "constant.character"],
"settings": {
"foreground": "{{colors.tertiary.default.hex}}"
}
},
{
"scope": ["entity.name.type", "support.type", "entity.name.class"],
"settings": {
"foreground": "{{colors.tertiary.default.hex}}"
}
},
{
"scope": ["entity.name.function", "support.function"],
"settings": {
"foreground": "{{colors.primary.default.hex}}"
}
},
{
"scope": ["support.class", "support.variable", "variable.language"],
"settings": {
"foreground": "{{colors.secondary.default.hex}}"
}
},
{
"scope": ["invalid"],
"settings": {
"foreground": "{{colors.error.default.hex}}"
}
},
{
"scope": ["invalid.deprecated"],
"settings": {
"foreground": "{{colors.outline.default.hex}}"
}
},
{
"scope": ["markup.heading"],
"settings": {
"foreground": "{{colors.primary.default.hex}}",
"fontStyle": "bold"
}
},
{
"scope": ["markup.bold"],
"settings": {
"foreground": "{{colors.tertiary.default.hex}}",
"fontStyle": "bold"
}
},
{
"scope": ["markup.italic"],
"settings": {
"foreground": "{{colors.primary.default.hex}}",
"fontStyle": "italic"
}
},
{
"scope": ["markup.underline"],
"settings": {
"fontStyle": "underline"
}
},
{
"scope": ["markup.quote"],
"settings": {
"foreground": "{{colors.secondary.default.hex}}"
}
},
{
"scope": ["markup.list"],
"settings": {
"foreground": "{{colors.on_surface.default.hex}}"
}
},
{
"scope": ["markup.raw", "markup.inline.raw"],
"settings": {
"foreground": "{{colors.secondary.default.hex}}"
}
}
],
"semanticHighlighting": true,
"semanticTokenColors": {
"variable.readonly": {
"foreground": "{{colors.tertiary.default.hex}}"
},
"property": {
"foreground": "{{colors.on_surface.default.hex}}"
},
"function": {
"foreground": "{{colors.primary.default.hex}}"
},
"method": {
"foreground": "{{colors.primary.default.hex}}"
},
"type": {
"foreground": "{{colors.tertiary.default.hex}}"
},
"class": {
"foreground": "{{colors.tertiary.default.hex}}"
},
"enumMember": {
"foreground": "{{colors.tertiary.default.hex}}"
},
"string": {
"foreground": "{{colors.secondary.default.hex}}"
},
"number": {
"foreground": "{{colors.tertiary.default.hex}}"
},
"comment": {
"foreground": "{{colors.outline.default.hex}}",
"fontStyle": "italic"
},
"keyword": {
"foreground": "{{colors.primary.default.hex}}"
},
"operator": {
"foreground": "{{colors.on_surface.default.hex}}"
},
"parameter": {
"foreground": "{{colors.on_surface.default.hex}}"
},
"namespace": {
"foreground": "{{colors.secondary.default.hex}}"
}
}
}

View File

@@ -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.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}}']
ansi = ['{{dank16.color0.default.hex}}', '{{dank16.color1.default.hex}}', '{{dank16.color2.default.hex}}', '{{dank16.color3.default.hex}}', '{{dank16.color4.default.hex}}', '{{dank16.color5.default.hex}}', '{{dank16.color6.default.hex}}', '{{dank16.color7.default.hex}}']
brights = ['{{dank16.color8.default.hex}}', '{{dank16.color9.default.hex}}', '{{dank16.color10.default.hex}}', '{{dank16.color11.default.hex}}', '{{dank16.color12.default.hex}}', '{{dank16.color13.default.hex}}', '{{dank16.color14.default.hex}}', '{{dank16.color15.default.hex}}']

View File

@@ -61,7 +61,7 @@ compute_key() {
local mtype=$(read_json_field "$json" "matugenType")
local run_user=$(read_json_bool "$json" "runUserTemplates")
local stock_colors=$(read_json_escaped_field "$json" "stockColors")
echo "${kind}|${value}|${mode}|${icon:-default}|${mtype:-scheme-tonal-spot}|${run_user:-true}|${stock_colors:-}" | sha256sum | cut -d' ' -f1
echo "${kind}|${value}|${mode}|${icon:-default}|${mtype:-scheme-tonal-spot}|${run_user:-true}|${stock_colors:-}|${TERMINALS_ALWAYS_DARK:-false}" | sha256sum | cut -d' ' -f1
}
append_config() {
@@ -73,6 +73,33 @@ append_config() {
echo "" >> "$cfg_file"
}
append_terminal_config() {
local check_cmd="$1" file_name="$2" cfg_file="$3" tmp_dir="$4"
local config_file="$SHELL_DIR/matugen/configs/$file_name"
[[ ! -f "$config_file" ]] && return
[[ "$check_cmd" != "skip" ]] && ! command -v "$check_cmd" >/dev/null 2>&1 && return
if [[ "$TERMINALS_ALWAYS_DARK" == "true" ]]; then
local config_content
config_content=$(cat "$config_file")
local templates
templates=$(echo "$config_content" | grep "input_path.*SHELL_DIR/matugen/templates/" | sed "s/.*'SHELL_DIR\/matugen\/templates\/\([^']*\)'.*/\1/")
for tpl in $templates; do
local orig="$SHELL_DIR/matugen/templates/$tpl"
[[ ! -f "$orig" ]] && continue
local tmp_template="$tmp_dir/$tpl"
sed 's/\.default\./\.dark\./g' "$orig" > "$tmp_template"
config_content=$(echo "$config_content" | sed "s|'SHELL_DIR/matugen/templates/$tpl'|'$tmp_template'|g")
done
echo "$config_content" | sed "s|'SHELL_DIR/|'$SHELL_DIR/|g" >> "$cfg_file"
echo "" >> "$cfg_file"
return
fi
sed "s|'SHELL_DIR/|'$SHELL_DIR/|g" "$config_file" >> "$cfg_file"
echo "" >> "$cfg_file"
}
append_vscode_config() {
local name="$1" ext_dir="$2" cfg_file="$3"
[[ ! -d "$ext_dir" ]] && return
@@ -95,7 +122,7 @@ EOF
}
build_merged_config() {
local mode="$1" run_user="$2" cfg_file="$3"
local mode="$1" run_user="$2" cfg_file="$3" tmp_dir="$4"
if [[ "$run_user" == "true" && -f "$CONFIG_DIR/matugen/config.toml" ]]; then
awk '/^\[config\]/{p=1} /^\[templates\]/{p=0} p' "$CONFIG_DIR/matugen/config.toml" >> "$cfg_file"
@@ -122,11 +149,11 @@ EOF
append_config "firefox" "firefox.toml" "$cfg_file"
append_config "pywalfox" "pywalfox.toml" "$cfg_file"
append_config "vesktop" "vesktop.toml" "$cfg_file"
append_config "ghostty" "ghostty.toml" "$cfg_file"
append_config "kitty" "kitty.toml" "$cfg_file"
append_config "foot" "foot.toml" "$cfg_file"
append_config "alacritty" "alacritty.toml" "$cfg_file"
append_config "wezterm" "wezterm.toml" "$cfg_file"
append_terminal_config "ghostty" "ghostty.toml" "$cfg_file" "$tmp_dir"
append_terminal_config "kitty" "kitty.toml" "$cfg_file" "$tmp_dir"
append_terminal_config "foot" "foot.toml" "$cfg_file" "$tmp_dir"
append_terminal_config "alacritty" "alacritty.toml" "$cfg_file" "$tmp_dir"
append_terminal_config "wezterm" "wezterm.toml" "$cfg_file" "$tmp_dir"
append_config "dgop" "dgop.toml" "$cfg_file"
append_vscode_config "vscode" "$HOME/.vscode/extensions/local.dynamic-base16-dankshell-0.0.1" "$cfg_file"
@@ -149,10 +176,10 @@ EOF
fi
}
generate_dank16() {
local primary="$1" surface="$2" light_flag="$3"
local args=("$primary" --json)
[[ -n "$light_flag" ]] && args+=("$light_flag")
generate_dank16_variants() {
local primary_dark="$1" primary_light="$2" surface="$3" mode="$4"
local args=(--variants --primary-dark "$primary_dark" --primary-light "$primary_light")
[[ "$mode" == "light" ]] && args+=(--light)
[[ -n "$surface" ]] && args+=(--background "$surface")
dms dank16 "${args[@]}" 2>/dev/null || echo '{}'
}
@@ -212,33 +239,28 @@ build_once() {
[[ -z "$run_user" ]] && run_user="true"
local TMP_CFG=$(mktemp)
trap "rm -f '$TMP_CFG'" RETURN
local TMP_DIR=$(mktemp -d)
trap "rm -f '$TMP_CFG'; rm -rf '$TMP_DIR'" RETURN
build_merged_config "$mode" "$run_user" "$TMP_CFG"
build_merged_config "$mode" "$run_user" "$TMP_CFG" "$TMP_DIR"
local light_flag=""
[[ "$mode" == "light" ]] && light_flag="--light"
local primary surface dank16_dark dank16_light import_args=()
local primary_dark primary_light surface dank16 import_args=()
if [[ -n "$stock_colors" ]]; then
log "Using stock/custom theme colors with matugen base"
primary=$(echo "$stock_colors" | sed -n 's/.*"primary"[^{]*{[^}]*"dark"[^{]*{[^}]*"color"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -1)
primary_dark=$(echo "$stock_colors" | sed -n 's/.*"primary"[^{]*{[^}]*"dark"[^{]*{[^}]*"color"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -1)
primary_light=$(echo "$stock_colors" | sed -n 's/.*"primary"[^{]*{[^}]*"light"[^{]*{[^}]*"color"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -1)
surface=$(echo "$stock_colors" | sed -n 's/.*"surface"[^{]*{[^}]*"dark"[^{]*{[^}]*"color"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -1)
[[ -z "$primary" ]] && { err "Failed to extract primary from stock colors"; return 1; }
[[ -z "$primary_dark" ]] && { err "Failed to extract primary dark from stock colors"; return 1; }
[[ -z "$primary_light" ]] && primary_light="$primary_dark"
dank16_dark=$(generate_dank16 "$primary" "$surface" "")
dank16_light=$(generate_dank16 "$primary" "$surface" "--light")
dank16=$(generate_dank16_variants "$primary_dark" "$primary_light" "$surface" "$mode")
local dank16_current
[[ "$mode" == "light" ]] && dank16_current="$dank16_light" || dank16_current="$dank16_dark"
[[ "$TERMINALS_ALWAYS_DARK" == "true" && "$mode" == "light" ]] && dank16_current="$dank16_dark"
import_args+=(--import-json-string "{\"colors\": $stock_colors, \"dank16\": $dank16_current}")
import_args+=(--import-json-string "{\"colors\": $stock_colors, \"dank16\": $dank16}")
log "Running matugen color hex with stock color overrides"
if ! matugen color hex "$primary" -m "$mode" -t "${mtype:-scheme-tonal-spot}" -c "$TMP_CFG" "${import_args[@]}"; then
if ! matugen color hex "$primary_dark" -m "$mode" -t "${mtype:-scheme-tonal-spot}" -c "$TMP_CFG" "${import_args[@]}"; then
err "matugen failed"
return 1
fi
@@ -253,19 +275,16 @@ build_once() {
mat_json=$("${matugen_cmd[@]}" -m dark -t "$mtype" --json hex --dry-run 2>/dev/null | tr -d '\n')
[[ -z "$mat_json" ]] && { err "matugen dry-run failed"; return 1; }
primary=$(echo "$mat_json" | sed -n 's/.*"primary"[[:space:]]*:[[:space:]]*{[^}]*"dark"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p')
primary_dark=$(echo "$mat_json" | sed -n 's/.*"primary"[[:space:]]*:[[:space:]]*{[^}]*"dark"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p')
primary_light=$(echo "$mat_json" | sed -n 's/.*"primary"[[:space:]]*:[[:space:]]*{[^}]*"light"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p')
surface=$(echo "$mat_json" | sed -n 's/.*"surface"[[:space:]]*:[[:space:]]*{[^}]*"dark"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p')
[[ -z "$primary" ]] && { err "Failed to extract primary color"; return 1; }
[[ -z "$primary_dark" ]] && { err "Failed to extract primary color"; return 1; }
[[ -z "$primary_light" ]] && primary_light="$primary_dark"
dank16_dark=$(generate_dank16 "$primary" "$surface" "")
dank16_light=$(generate_dank16 "$primary" "$surface" "--light")
dank16=$(generate_dank16_variants "$primary_dark" "$primary_light" "$surface" "$mode")
local dank16_current
[[ "$mode" == "light" ]] && dank16_current="$dank16_light" || dank16_current="$dank16_dark"
[[ "$TERMINALS_ALWAYS_DARK" == "true" && "$mode" == "light" ]] && dank16_current="$dank16_dark"
import_args+=(--import-json-string "{\"dank16\": $dank16_current}")
import_args+=(--import-json-string "{\"dank16\": $dank16}")
log "Running matugen $kind with dank16 injection"
if ! "${matugen_cmd[@]}" -m "$mode" -t "$mtype" -c "$TMP_CFG" "${import_args[@]}"; then