let currentTheme = catppuccin-macchiato; # Ayu ayu-dark = "ayu-dark"; ayu-light = "ayu-light"; ayu-mirage = "ayu-mirage"; # Catppuccin catppuccin-latte = "catppuccin-latte"; catppuccin-frappe = "catppuccin-frappe"; catppuccin-macchiato = "catppuccin-macchiato"; catppuccin-mocha = "catppuccin-mocha"; # Cobalt cobalt2 = "cobalt2"; # Dracula dracula = "dracula"; # Gruvbox gruvbox-dark = "gruvbox-dark"; gruvbox-light = "gruvbox-light"; # Houston houston = "houston"; # Kanagawa kanagawa-dragon = "kanagawa-dragon"; kanagawa-lotus = "kanagawa-lotus"; kanagawa-wave = "kanagawa-wave"; # Laserwave laserwave = "laserwave"; #Lunar lunar = "lunar"; # Material material-darker = "material-darker"; material-deep-ocean = "material-deep-ocean"; material-forest = "material-forest"; material-lighter = "material-lighter"; material-oceanic = "material-oceanic"; material-palenight = "material-palenight"; material-sandy-beach = "material-sandy-beach"; material-sky-blue = "material-sky-blue"; material-space = "material-space"; material-volcano = "material-volcano"; # Monokai monokai = "monokai"; # Night Owl night-owl = "night-owl"; # Nord nord = "nord"; #Ocean Next ocean-next = "ocean-next"; # One Dark one-dark = "one-dark"; # Plastic plastic = "plastic"; # Poimandres poimandres-base = "poimandres-base"; poimandres-storm = "poimandres-storm"; # Rosepine rosepine = "rosepine"; rosepine-moon = "rosepine-moon"; rosepine-dawn = "rosepine-dawn"; # Tokyo Night tokyo-night-night = "tokyo-night-night"; tokyo-night-storm = "tokyo-night-storm"; tokyo-night-day = "tokyo-night-day"; # Solorized solorized-dark = "solorized-dark"; solorized-light = "solorized-light"; # Synthwave 84 synthwave-84 = "synthwave-84"; # Vesper vesper = "vesper"; # Wasp wasp = "wasp"; errorMessage = "Unknown theme: ${currentTheme}"; schemePath = ./schemes; mapColour = # Ayu ayu-darkColour: ayu-lightColour: ayu-mirageColour: # Catppuccin catppuccin-latteColour: catppuccin-frappeColour: catppuccin-macchiatoColour: catppuccin-mochaColour: # Cobalt2 cobalt2Colour: # Dracula draculaColour: # Gruvbox gruvbox-darkColour: gruvbox-lightColour: # Houston houstonColour: # Kanagawa kanagawa-dragonColour: kanagawa-lotusColour: kanagawa-waveColour: # Laserwave laserwaveColour: # Lunar lunarColour: # Material material-darkerColour: material-deep-oceanColour: material-forestColour: material-lighterColour: material-oceanicColour: material-palenightColour: material-sandy-beachColour: material-sky-blueColour: material-spaceColour: material-volcanoColour: # Monokai monokaiColour: # Night Owl night-owlColour: # Nord nordColour: # Ocean Next ocean-nextColour: # One Dark one-darkColour: # Plastic plasticColour: # Poimandres poimandres-baseColour: poimandres-stormColour: # Rosepine rosepineColour: rosepine-moonColour: rosepine-dawnColour: # Tokyo Night tokyo-night-nightColor: tokyo-night-stormColor: tokyo-night-dayColor: # Solorized solorized-darkColour: solorized-lightColour: # Synthwave 84 synthwave-84Colour: # Vesper vesperColour: # Wasp waspColour: # Ayu if currentTheme == ayu-dark then ayu-darkColour else if currentTheme == ayu-light then ayu-lightColour else if currentTheme == ayu-mirage then ayu-mirageColour # Catppuccin else if currentTheme == catppuccin-mocha then catppuccin-mochaColour else if currentTheme == catppuccin-macchiato then catppuccin-macchiatoColour else if currentTheme == catppuccin-frappe then catppuccin-frappeColour else if currentTheme == catppuccin-latte then catppuccin-latteColour else if currentTheme == cobalt2 then cobalt2Colour # Dracula else if currentTheme == dracula then draculaColour #Gruvbox else if currentTheme == gruvbox-dark then gruvbox-darkColour else if currentTheme == gruvbox-light then gruvbox-lightColour # Houston else if currentTheme == houston then houstonColour # Kanagawa else if currentTheme == kanagawa-dragon then kanagawa-dragonColour else if currentTheme == kanagawa-lotus then kanagawa-lotusColour else if currentTheme == kanagawa-wave then kanagawa-waveColour # Laserwave else if currentTheme == laserwave then laserwaveColour # Lunar else if currentTheme == lunar then lunarColour # Material else if currentTheme == material-darker then material-darkerColour else if currentTheme == material-deep-ocean then material-deep-oceanColour else if currentTheme == material-forest then material-forestColour else if currentTheme == material-lighter then material-lighterColour else if currentTheme == material-oceanic then material-oceanicColour else if currentTheme == material-palenight then material-palenightColour else if currentTheme == material-sandy-beach then material-sandy-beachColour else if currentTheme == material-sky-blue then material-sky-blueColour else if currentTheme == material-space then material-spaceColour else if currentTheme == material-volcano then material-volcanoColour # Monokai else if currentTheme == monokai then monokaiColour # Night Owl else if currentTheme == night-owl then night-owlColour # Nord else if currentTheme == nord then nordColour # Ocean Next else if currentTheme == ocean-next then ocean-nextColour # One Dark else if currentTheme == one-dark then one-darkColour # Plastic else if currentTheme == plastic then plasticColour # Poimandres else if currentTheme == poimandres-base then poimandres-baseColour else if currentTheme == poimandres-storm then poimandres-stormColour # Rosepine else if currentTheme == rosepine then rosepineColour else if currentTheme == rosepine-moon then rosepine-moonColour else if currentTheme == rosepine-dawn then rosepine-dawnColour # Solorized else if currentTheme == solorized-dark then solorized-darkColour else if currentTheme == solorized-light then solorized-lightColour # Synthwave 84 else if currentTheme == synthwave-84 then synthwave-84Colour # Tokyo Night else if currentTheme == tokyo-night-night then tokyo-night-nightColor else if currentTheme == tokyo-night-storm then tokyo-night-stormColor else if currentTheme == tokyo-night-day then tokyo-night-dayColor # Vesper else if currentTheme == vesper then vesperColour # Wasp else if currentTheme == wasp then waspColour else throw errorMessage; in { themes = { currentTheme = currentTheme; font = "MonaspiceRn Nerd Font"; schemes = let ayuPath = /ayu; catppuccinPath = /catppuccin; gruvboxPath = /gruvbox; kanagawaPath = /kanagawa; materialPath = /material; poimandresPath = /poimandres; rosepinePath = /rosepine; toyko-nightPath = /tokyo-night; solarizedPath = /solarized; in { ${ayu-dark} = import (schemePath + ayuPath + /dark); ${ayu-light} = import (schemePath + ayuPath + /light); ${ayu-mirage} = import (schemePath + ayuPath + /mirage); ${catppuccin-frappe} = import (schemePath + catppuccinPath + /frappe); ${catppuccin-latte} = import (schemePath + catppuccinPath + /latte); ${catppuccin-macchiato} = import (schemePath + catppuccinPath + /macchiato); ${catppuccin-mocha} = import (schemePath + catppuccinPath + /mocha); ${cobalt2} = import (schemePath + /cobalt2); ${dracula} = import (schemePath + /dracula); ${gruvbox-dark} = import (schemePath + gruvboxPath + /dark); ${gruvbox-light} = import (schemePath + gruvboxPath + /light); ${houston} = import (schemePath + /houston); ${kanagawa-dragon} = import (schemePath + kanagawaPath + /kanagawa); ${kanagawa-lotus} = import (schemePath + kanagawaPath + /kanagawa); ${kanagawa-wave} = import (schemePath + kanagawaPath + /kanagawa); ${laserwave} = import (schemePath + /laserwave); ${lunar} = import (schemePath + /lunar); ${material-darker} = import (schemePath + materialPath + /darker); ${material-lighter} = import (schemePath + materialPath + /lighter); ${material-oceanic} = import (schemePath + materialPath + /oceanic); ${material-palenight} = import (schemePath + materialPath + /palenight); ${material-deep-ocean} = import (schemePath + materialPath + /deep-ocean); ${material-forest} = import (schemePath + materialPath + /forest); ${material-sky-blue} = import (schemePath + materialPath + /sky-blue); ${material-sandy-beach} = import (schemePath + materialPath + /sandy-beach); ${material-volcano} = import (schemePath + materialPath + /volcano); ${material-space} = import (schemePath + materialPath + /space); ${monokai} = import (schemePath + /monokai); ${night-owl} = import (schemePath + /night-owl); ${nord} = import (schemePath + /nord); ${ocean-next} = import (schemePath + /ocean-next); ${one-dark} = import (schemePath + /one-dark); ${poimandres-base} = import (schemePath + poimandresPath + /base); ${poimandres-storm} = import (schemePath + poimandresPath + /storm); ${rosepine} = import (schemePath + rosepinePath + /base); ${rosepine-dawn} = import (schemePath + rosepinePath + /dawn); ${rosepine-moon} = import (schemePath + rosepinePath + /moon); ${tokyo-night-night} = import (schemePath + toyko-nightPath + /night); ${tokyo-night-storm} = import (schemePath + toyko-nightPath + /storm); ${tokyo-night-day} = import (schemePath + toyko-nightPath + /day); ${solorized-dark} = import (schemePath + solarizedPath + /dark); ${solorized-light} = import (schemePath + solarizedPath + /light); ${synthwave-84} = import (schemePath + /synthwave-84); ${vesper} = import (schemePath + /vesper); ${wasp} = import (schemePath + /wasp); }; currentColours = { # Core Text Colours text = mapColour "text" # catppuccin-macchiato "text" # rosepine "foreground"; #dracula subtext1 = mapColour "subtext1" "subtle" "foreground"; subtext0 = mapColour "subtext0" "muted" "foreground"; # Background Colours background0 = mapColour "crust" "highlight0" "background"; background1 = mapColour "base" "base" "background"; background2 = mapColour "mantle" "surface" "background"; # Surface Colours surface0 = mapColour "surface0" "highlight0" "background"; surface1 = mapColour "surface1" "highlight1" "background"; surface2 = mapColour "surface2" "highlight2" "background"; # Overlay Colours overlay0 = mapColour "overlay0" "muted" "background"; overlay1 = mapColour "overlay1" "subtle" "background"; overlay2 = mapColour "overlay2" "subtle" "background"; # Diagnostic Colours error = mapColour "red" "love" "red"; warning = mapColour "yellow" "gold" "yellow"; noError = mapColour "green" "pine" "green"; # Warm Accent Colours warmAccent0 = mapColour "rosewater" "rose" "pink"; warmAccent1 = mapColour "flamingo" "rose" "pink"; warmAccent2 = mapColour "mauve" "iris" "purple"; warmAccent3 = mapColour "maroon" "love" "orange"; warmAccent4 = mapColour "peach" "gold" "orange"; warmAccent5 = mapColour "pink" "love" "purple"; # Cool Accent Colours coolAccent0 = mapColour "teal" "foam" "comment"; coolAccent1 = mapColour "sky" "foam" "cyan"; coolAccent2 = mapColour "sapphire" "foam" "cyan"; coolAccent3 = mapColour "blue" "pine" "comment"; coolAccent4 = mapColour "lavender" "iris" "cyan"; }; }; }