private/Initialize-GlyThemeRegistry.ps1
|
function Initialize-GlyThemeRegistry { $script:GlyThemes = [ordered]@{} function New-GlyBuiltInTheme { param( [Parameter(Mandatory)] [string] $Name, [Parameter(Mandatory)] [string] $File, [Parameter(Mandatory)] [string] $Directory, [Parameter(Mandatory)] [string] $Symlink, [Parameter(Mandatory)] [string] $Hidden, [Parameter(Mandatory)] [string] $ReadOnly ) $palette = @{ File = $File Directory = $Directory Symlink = $Symlink Hidden = $Hidden ReadOnly = $ReadOnly } [pscustomobject]@{ Name = $Name BuiltIn = $true DefinitionKind = 'Theme' Palette = $palette StyleCache = @{} RuleCache = $null HasRules = $true } } $defaultDark = New-GlyBuiltInTheme ` -Name 'DefaultDark' ` -File '#d4d4d4' ` -Directory '#8ec07c' ` -Symlink '#83a598' ` -Hidden '#928374' ` -ReadOnly '#fabd2f' $defaultLight = New-GlyBuiltInTheme ` -Name 'DefaultLight' ` -File '#24292f' ` -Directory '#0969da' ` -Symlink '#8250df' ` -Hidden '#6e7781' ` -ReadOnly '#9a6700' $noColor = [pscustomobject]@{ Name = 'NoColor' BuiltIn = $true DefinitionKind = 'Theme' Palette = @{ File = $null } StyleCache = @{} RuleCache = $null HasRules = $false } $dracula = New-GlyBuiltInTheme ` -Name 'Dracula' ` -File '#f8f8f2' ` -Directory '#50fa7b' ` -Symlink '#8be9fd' ` -Hidden '#6272a4' ` -ReadOnly '#f1fa8c' $nord = New-GlyBuiltInTheme ` -Name 'Nord' ` -File '#d8dee9' ` -Directory '#88c0d0' ` -Symlink '#8fbcbb' ` -Hidden '#4c566a' ` -ReadOnly '#ebcb8b' $gruvboxDark = New-GlyBuiltInTheme ` -Name 'GruvboxDark' ` -File '#ebdbb2' ` -Directory '#b8bb26' ` -Symlink '#83a598' ` -Hidden '#928374' ` -ReadOnly '#fabd2f' $gruvboxLight = New-GlyBuiltInTheme ` -Name 'GruvboxLight' ` -File '#3c3836' ` -Directory '#79740e' ` -Symlink '#076678' ` -Hidden '#928374' ` -ReadOnly '#b57614' $catppuccinMocha = New-GlyBuiltInTheme ` -Name 'CatppuccinMocha' ` -File '#cdd6f4' ` -Directory '#a6e3a1' ` -Symlink '#89dceb' ` -Hidden '#7f849c' ` -ReadOnly '#f9e2af' $catppuccinLatte = New-GlyBuiltInTheme ` -Name 'CatppuccinLatte' ` -File '#4c4f69' ` -Directory '#40a02b' ` -Symlink '#179299' ` -Hidden '#8c8fa1' ` -ReadOnly '#df8e1d' $tokyoNight = New-GlyBuiltInTheme ` -Name 'TokyoNight' ` -File '#c0caf5' ` -Directory '#9ece6a' ` -Symlink '#7dcfff' ` -Hidden '#565f89' ` -ReadOnly '#e0af68' $solarizedDark = New-GlyBuiltInTheme ` -Name 'SolarizedDark' ` -File '#839496' ` -Directory '#859900' ` -Symlink '#2aa198' ` -Hidden '#586e75' ` -ReadOnly '#b58900' $solarizedLight = New-GlyBuiltInTheme ` -Name 'SolarizedLight' ` -File '#657b83' ` -Directory '#859900' ` -Symlink '#2aa198' ` -Hidden '#93a1a1' ` -ReadOnly '#b58900' $additionalThemes = @( @{ Name = 'CatppuccinFrappe'; File = '#c6d0f5'; Directory = '#a6d189'; Symlink = '#99d1db'; Hidden = '#838ba7'; ReadOnly = '#e5c890' } @{ Name = 'CatppuccinMacchiato'; File = '#cad3f5'; Directory = '#a6da95'; Symlink = '#91d7e3'; Hidden = '#8087a2'; ReadOnly = '#eed49f' } @{ Name = 'RosePine'; File = '#e0def4'; Directory = '#31748f'; Symlink = '#9ccfd8'; Hidden = '#6e6a86'; ReadOnly = '#f6c177' } @{ Name = 'RosePineMoon'; File = '#e0def4'; Directory = '#3e8fb0'; Symlink = '#9ccfd8'; Hidden = '#6e6a86'; ReadOnly = '#f6c177' } @{ Name = 'RosePineDawn'; File = '#575279'; Directory = '#286983'; Symlink = '#56949f'; Hidden = '#9893a5'; ReadOnly = '#ea9d34' } @{ Name = 'TokyoNightStorm'; File = '#c0caf5'; Directory = '#9ece6a'; Symlink = '#7dcfff'; Hidden = '#565f89'; ReadOnly = '#e0af68' } @{ Name = 'TokyoNightMoon'; File = '#c8d3f5'; Directory = '#c3e88d'; Symlink = '#86e1fc'; Hidden = '#636da6'; ReadOnly = '#ffc777' } @{ Name = 'TokyoNightDay'; File = '#3760bf'; Directory = '#485e30'; Symlink = '#166775'; Hidden = '#8990b3'; ReadOnly = '#8c6c3e' } @{ Name = 'KanagawaWave'; File = '#dcd7ba'; Directory = '#98bb6c'; Symlink = '#7e9cd8'; Hidden = '#727169'; ReadOnly = '#e6c384' } @{ Name = 'KanagawaDragon'; File = '#c5c9c5'; Directory = '#87a987'; Symlink = '#8ba4b0'; Hidden = '#737c73'; ReadOnly = '#c4b28a' } @{ Name = 'KanagawaLotus'; File = '#545464'; Directory = '#6f894e'; Symlink = '#4d699b'; Hidden = '#8a8980'; ReadOnly = '#77713f' } @{ Name = 'EverforestDark'; File = '#d3c6aa'; Directory = '#a7c080'; Symlink = '#7fbbb3'; Hidden = '#859289'; ReadOnly = '#dbbc7f' } @{ Name = 'EverforestLight'; File = '#5c6a72'; Directory = '#8da101'; Symlink = '#35a77c'; Hidden = '#939f91'; ReadOnly = '#dfa000' } @{ Name = 'OneDark'; File = '#abb2bf'; Directory = '#98c379'; Symlink = '#56b6c2'; Hidden = '#5c6370'; ReadOnly = '#e5c07b' } @{ Name = 'OneLight'; File = '#383a42'; Directory = '#50a14f'; Symlink = '#0184bc'; Hidden = '#a0a1a7'; ReadOnly = '#c18401' } @{ Name = 'OneDarkPro'; File = '#abb2bf'; Directory = '#98c379'; Symlink = '#56b6c2'; Hidden = '#5c6370'; ReadOnly = '#e5c07b' } @{ Name = 'GitHubDark'; File = '#c9d1d9'; Directory = '#3fb950'; Symlink = '#58a6ff'; Hidden = '#8b949e'; ReadOnly = '#d29922' } @{ Name = 'GitHubLight'; File = '#24292f'; Directory = '#1a7f37'; Symlink = '#0969da'; Hidden = '#6e7781'; ReadOnly = '#9a6700' } @{ Name = 'GitHubDimmed'; File = '#adbac7'; Directory = '#57ab5a'; Symlink = '#6cb6ff'; Hidden = '#768390'; ReadOnly = '#c69026' } @{ Name = 'GitHubHighContrast'; File = '#ffffff'; Directory = '#09b43a'; Symlink = '#71b7ff'; Hidden = '#bdc4cc'; ReadOnly = '#f0b72f' } @{ Name = 'VSCodeDarkPlus'; File = '#d4d4d4'; Directory = '#4ec9b0'; Symlink = '#9cdcfe'; Hidden = '#808080'; ReadOnly = '#dcdcaa' } @{ Name = 'VSCodeLightPlus'; File = '#000000'; Directory = '#267f99'; Symlink = '#0070c1'; Hidden = '#808080'; ReadOnly = '#795e26' } @{ Name = 'VSCodeHighContrast'; File = '#ffffff'; Directory = '#00ffff'; Symlink = '#569cd6'; Hidden = '#b3b3b3'; ReadOnly = '#ffff00' } @{ Name = 'JetBrainsDarcula'; File = '#a9b7c6'; Directory = '#6a8759'; Symlink = '#6897bb'; Hidden = '#808080'; ReadOnly = '#bbb529' } @{ Name = 'Monokai'; File = '#f8f8f2'; Directory = '#a6e22e'; Symlink = '#66d9ef'; Hidden = '#75715e'; ReadOnly = '#e6db74' } @{ Name = 'MonokaiPro'; File = '#fcfcfa'; Directory = '#a9dc76'; Symlink = '#78dce8'; Hidden = '#727072'; ReadOnly = '#ffd866' } @{ Name = 'Molokai'; File = '#f8f8f2'; Directory = '#a6e22e'; Symlink = '#66d9ef'; Hidden = '#75715e'; ReadOnly = '#e6db74' } @{ Name = 'MaterialDark'; File = '#eeffff'; Directory = '#c3e88d'; Symlink = '#89ddff'; Hidden = '#546e7a'; ReadOnly = '#ffcb6b' } @{ Name = 'MaterialLight'; File = '#90a4ae'; Directory = '#91b859'; Symlink = '#39adb5'; Hidden = '#cfd8dc'; ReadOnly = '#f6a434' } @{ Name = 'MaterialPalenight'; File = '#a6accd'; Directory = '#c3e88d'; Symlink = '#89ddff'; Hidden = '#676e95'; ReadOnly = '#ffcb6b' } @{ Name = 'MaterialOcean'; File = '#c3cee3'; Directory = '#c3e88d'; Symlink = '#89ddff'; Hidden = '#546e7a'; ReadOnly = '#ffcb6b' } @{ Name = 'Palenight'; File = '#a6accd'; Directory = '#c3e88d'; Symlink = '#89ddff'; Hidden = '#676e95'; ReadOnly = '#ffcb6b' } @{ Name = 'AyuDark'; File = '#b3b1ad'; Directory = '#aad94c'; Symlink = '#39bae6'; Hidden = '#626a73'; ReadOnly = '#ffb454' } @{ Name = 'AyuLight'; File = '#5c6773'; Directory = '#6cbf43'; Symlink = '#55b4d4'; Hidden = '#abb0b6'; ReadOnly = '#ff9940' } @{ Name = 'AyuMirage'; File = '#cbccc6'; Directory = '#bae67e'; Symlink = '#5ccfe6'; Hidden = '#707a8c'; ReadOnly = '#ffd580' } @{ Name = 'NightOwl'; File = '#d6deeb'; Directory = '#addb67'; Symlink = '#7fdbca'; Hidden = '#637777'; ReadOnly = '#ecc48d' } @{ Name = 'LightOwl'; File = '#403f53'; Directory = '#2aa298'; Symlink = '#08916a'; Hidden = '#989fb1'; ReadOnly = '#daaa01' } @{ Name = 'Cobalt2'; File = '#ffffff'; Directory = '#3ad900'; Symlink = '#9effff'; Hidden = '#0088ff'; ReadOnly = '#ffc600' } @{ Name = 'SynthWave84'; File = '#ffffff'; Directory = '#72f1b8'; Symlink = '#36f9f6'; Hidden = '#848bbd'; ReadOnly = '#fede5d' } @{ Name = 'ShadesOfPurple'; File = '#ffffff'; Directory = '#a5ff90'; Symlink = '#9effff'; Hidden = '#b362ff'; ReadOnly = '#fad000' } @{ Name = 'Horizon'; File = '#d5d8da'; Directory = '#efaf8e'; Symlink = '#24a8b4'; Hidden = '#6c6f93'; ReadOnly = '#fac29a' } @{ Name = 'Omni'; File = '#e1e1e6'; Directory = '#67e480'; Symlink = '#78d1e1'; Hidden = '#585858'; ReadOnly = '#e7de79' } @{ Name = 'NoctisDark'; File = '#b5b9c4'; Directory = '#49e9a6'; Symlink = '#16b0c9'; Hidden = '#697098'; ReadOnly = '#e4b781' } @{ Name = 'NoctisLight'; File = '#2f3e4e'; Directory = '#42a77a'; Symlink = '#0097a7'; Hidden = '#9aa5b1'; ReadOnly = '#b66d00' } @{ Name = 'Andromeda'; File = '#d5ced9'; Directory = '#95c862'; Symlink = '#00e8c6'; Hidden = '#6e6a86'; ReadOnly = '#ffe66d' } @{ Name = 'Aura'; File = '#edecee'; Directory = '#61ffca'; Symlink = '#82e2ff'; Hidden = '#6d6d6d'; ReadOnly = '#ffca85' } @{ Name = 'EvaDark'; File = '#9fa2a6'; Directory = '#66ff66'; Symlink = '#00ffff'; Hidden = '#55799c'; ReadOnly = '#ffff66' } @{ Name = 'EvaLight'; File = '#4b5263'; Directory = '#379a37'; Symlink = '#008c99'; Hidden = '#9aa5b1'; ReadOnly = '#a98200' } @{ Name = 'CityLights'; File = '#b7c5d3'; Directory = '#8bd49c'; Symlink = '#70e1e8'; Hidden = '#718ca1'; ReadOnly = '#e6cd69' } @{ Name = 'Jellybeans'; File = '#e8e8d3'; Directory = '#99ad6a'; Symlink = '#8fbfdc'; Hidden = '#888888'; ReadOnly = '#fad07a' } @{ Name = 'PaperColorDark'; File = '#d0d0d0'; Directory = '#afd700'; Symlink = '#5fafaf'; Hidden = '#808080'; ReadOnly = '#ffaf00' } @{ Name = 'PaperColorLight'; File = '#444444'; Directory = '#008700'; Symlink = '#0087af'; Hidden = '#878787'; ReadOnly = '#af5f00' } @{ Name = 'OceanicNext'; File = '#c0c5ce'; Directory = '#99c794'; Symlink = '#5fb3b3'; Hidden = '#65737e'; ReadOnly = '#fac863' } @{ Name = 'Sonokai'; File = '#e2e2e3'; Directory = '#9ed072'; Symlink = '#76cce0'; Hidden = '#7f8490'; ReadOnly = '#e7c664' } @{ Name = 'EdgeDark'; File = '#c5cdd9'; Directory = '#a1bf78'; Symlink = '#5ebaa5'; Hidden = '#6b7089'; ReadOnly = '#dbb774' } @{ Name = 'EdgeLight'; File = '#4b505b'; Directory = '#608e32'; Symlink = '#3a8b84'; Hidden = '#8790a0'; ReadOnly = '#a76b00' } @{ Name = 'Nightfox'; File = '#cdcecf'; Directory = '#81b29a'; Symlink = '#63cdcf'; Hidden = '#738091'; ReadOnly = '#f4a261' } @{ Name = 'Dayfox'; File = '#34455a'; Directory = '#618774'; Symlink = '#287980'; Hidden = '#a8aeb7'; ReadOnly = '#a06000' } @{ Name = 'Dawnfox'; File = '#575279'; Directory = '#618774'; Symlink = '#286983'; Hidden = '#9893a5'; ReadOnly = '#ea9d34' } @{ Name = 'Nordfox'; File = '#cdcecf'; Directory = '#a3be8c'; Symlink = '#8fbcbb'; Hidden = '#60728a'; ReadOnly = '#ebcb8b' } @{ Name = 'Carbonfox'; File = '#f2f4f8'; Directory = '#25be6a'; Symlink = '#33b1ff'; Hidden = '#6e7781'; ReadOnly = '#f1c21b' } @{ Name = 'FlexokiDark'; File = '#cecdc3'; Directory = '#879a39'; Symlink = '#3aa99f'; Hidden = '#878580'; ReadOnly = '#d0a215' } @{ Name = 'FlexokiLight'; File = '#100f0f'; Directory = '#66800b'; Symlink = '#24837b'; Hidden = '#b7b5ac'; ReadOnly = '#ad8301' } @{ Name = 'SerendipityDark'; File = '#dee0f0'; Directory = '#72d5a3'; Symlink = '#7bdff2'; Hidden = '#8f95b2'; ReadOnly = '#f8c555' } @{ Name = 'SerendipityLight'; File = '#4a4a5e'; Directory = '#4f9f69'; Symlink = '#2b8c9f'; Hidden = '#a1a6bd'; ReadOnly = '#b88700' } @{ Name = 'IcebergDark'; File = '#c6c8d1'; Directory = '#b4be82'; Symlink = '#89b8c2'; Hidden = '#6b7089'; ReadOnly = '#e2a478' } @{ Name = 'IcebergLight'; File = '#33374c'; Directory = '#668e3d'; Symlink = '#3f83a6'; Hidden = '#8389a3'; ReadOnly = '#b6662d' } @{ Name = 'Srcery'; File = '#fce8c3'; Directory = '#98bc37'; Symlink = '#68a8e4'; Hidden = '#918175'; ReadOnly = '#fed06e' } @{ Name = 'Apprentice'; File = '#bcbcbc'; Directory = '#87af87'; Symlink = '#87afd7'; Hidden = '#6c6c6c'; ReadOnly = '#ffffaf' } @{ Name = 'Deus'; File = '#b3b3b3'; Directory = '#98c379'; Symlink = '#56b6c2'; Hidden = '#666666'; ReadOnly = '#e5c07b' } @{ Name = 'VitesseDark'; File = '#dbd7ca'; Directory = '#4d9375'; Symlink = '#5eaab5'; Hidden = '#666666'; ReadOnly = '#c98a7d' } @{ Name = 'VitesseLight'; File = '#393a34'; Directory = '#59873a'; Symlink = '#2c7a7b'; Hidden = '#a0ada0'; ReadOnly = '#b08800' } @{ Name = 'Poimandres'; File = '#a6accd'; Directory = '#5de4c7'; Symlink = '#89ddff'; Hidden = '#767c9d'; ReadOnly = '#fffac2' } @{ Name = 'Spacegray'; File = '#b3b8c3'; Directory = '#a6bc69'; Symlink = '#7cafc2'; Hidden = '#5f6672'; ReadOnly = '#fac863' } @{ Name = 'Gotham'; File = '#98d1ce'; Directory = '#2aa889'; Symlink = '#599cab'; Hidden = '#245361'; ReadOnly = '#edb54b' } @{ Name = 'Flatland'; File = '#b8dbef'; Directory = '#a7d42c'; Symlink = '#4fb4d7'; Hidden = '#555555'; ReadOnly = '#ffcc66' } @{ Name = 'ParaisoDark'; File = '#a39e9b'; Directory = '#48b685'; Symlink = '#5bc4bf'; Hidden = '#776e71'; ReadOnly = '#fec418' } @{ Name = 'ParaisoLight'; File = '#2f1e2e'; Directory = '#48b685'; Symlink = '#5bc4bf'; Hidden = '#8d8687'; ReadOnly = '#f99b15' } ) | ForEach-Object { New-GlyBuiltInTheme ` -Name $_.Name ` -File $_.File ` -Directory $_.Directory ` -Symlink $_.Symlink ` -Hidden $_.Hidden ` -ReadOnly $_.ReadOnly } foreach ($theme in @( $defaultDark, $defaultLight, $noColor, $dracula, $nord, $gruvboxDark, $gruvboxLight, $catppuccinMocha, $catppuccinLatte, $tokyoNight, $solarizedDark, $solarizedLight ) + $additionalThemes) { $script:GlyThemes[$theme.Name] = $theme } } |