# Solarized Light prompt theme — exact 24-bit / true-colour palette # ------------------------------------------------------------------------------ # Theme files are NOT executed as shell scripts. load_theme() parses them # line by line. Only the following value forms are accepted: # # KEY="$ColorVarName" — reference to a colour variable from disp.sh # KEY="${ColorVarName}" — same with braces # KEY="\e[...m" — raw ANSI escape sequence (single block) # # Accepted keys: # PROMPT_COLOR_* — prompt slot colours (see profile.conf [prompt]) # Standard colour vars — Black, Blue, On_IBlack, … (overrides the palette # from disp.sh for the whole shell session) # # Any unknown key, unsafe value, or shell construct will be ignored with a # warning — theme files cannot execute code. # ------------------------------------------------------------------------------ # Requires a terminal with true-colour / 24-bit support. # Check with: printf '\e[38;2;220;50;47mred\e[0m\n' # If you see solid red text, your terminal supports this theme. # (konsole, iTerm2, kitty, alacritty, Windows Terminal all do) # # Solarized Light base tones (inverted vs Dark): # Base3 #fdf6e3 →253 246 227 (main background — lightest) # Base2 #eee8d5 →238 232 213 (background highlights) # Base1 #93a1a1 →147 161 161 (comments / secondary content) # Base0 #839496 →131 148 150 (body text — secondary) # Base00 #657b83 →101 123 131 (body text — main on light bg) # Base01 #586e75 → 88 110 117 (emphasis) # Base02 #073642 → 7 54 66 (darkest — used for strong contrast) # # Accent colours are identical to Solarized Dark: # Yellow #b58900 →181 137 0 # Orange #cb4b16 →203 75 22 # Red #dc322f →220 50 47 # Magenta #d33682 →211 54 130 # Violet #6c71c4 →108 113 196 # Blue #268bd2 → 38 139 210 # Cyan #2aa198 → 42 161 152 # Green #859900 →133 153 0 # ------------------------------------------------------------------------------ # ---- Foreground palette overrides ------------------------------------------- # The accent fg colours are identical to Dark — only the base/neutral roles flip. # Regular Black="\e[38;2;253;246;227m" # Base3 — lightest (fg on light bg = invisible; used as bg fg pair complement) Red="\e[38;2;220;50;47m" # Red Green="\e[38;2;133;153;0m" # Green Yellow="\e[38;2;181;137;0m" # Yellow — primary accent Blue="\e[38;2;38;139;210m" # Blue Purple="\e[38;2;211;54;130m" # Magenta Cyan="\e[38;2;42;161;152m" # Cyan White="\e[38;2;101;123;131m" # Base00 — main body text on light bg # Bold BBlack="\e[1;38;2;238;232;213m" # Base2 bold BRed="\e[1;38;2;220;50;47m" # Red bold BGreen="\e[1;38;2;133;153;0m" # Green bold BYellow="\e[1;38;2;181;137;0m" # Yellow bold BBlue="\e[1;38;2;38;139;210m" # Blue bold BPurple="\e[1;38;2;211;54;130m" # Magenta bold BCyan="\e[1;38;2;42;161;152m" # Cyan bold BWhite="\e[1;38;2;88;110;117m" # Base01 bold — emphasis text # High intensity (emphasis / I* family) IBlack="\e[38;2;147;161;161m" # Base1 — secondary/comments IRed="\e[38;2;203;75;22m" # Orange — Solarized's "bright red" IGreen="\e[38;2;133;153;0m" # Green (no brighter variant) IYellow="\e[38;2;181;137;0m" # Yellow (no brighter variant) IBlue="\e[38;2;108;113;196m" # Violet — Solarized's "bright blue" IPurple="\e[38;2;211;54;130m" # Magenta (no brighter variant) ICyan="\e[38;2;42;161;152m" # Cyan (no brighter variant) IWhite="\e[38;2;88;110;117m" # Base01 — emphasis # Bold high intensity BIBlack="\e[1;38;2;147;161;161m" # Base1 bold BIRed="\e[1;38;2;203;75;22m" # Orange bold BIGreen="\e[1;38;2;133;153;0m" # Green bold BIYellow="\e[1;38;2;181;137;0m" # Yellow bold BIBlue="\e[1;38;2;108;113;196m" # Violet bold BIPurple="\e[1;38;2;211;54;130m" # Magenta bold BICyan="\e[1;38;2;42;161;152m" # Cyan bold BIWhite="\e[1;38;2;88;110;117m" # Base01 bold # ---- Background palette overrides ------------------------------------------- # Light bases flip: On_Black → Base3 (lightest), On_IBlack → Base2 (highlights) On_Black="\e[48;2;253;246;227m" # Base3 — main light background On_Red="\e[48;2;220;50;47m" # Red On_Green="\e[48;2;133;153;0m" # Green On_Yellow="\e[48;2;181;137;0m" # Yellow On_Blue="\e[48;2;38;139;210m" # Blue On_Purple="\e[48;2;211;54;130m" # Magenta On_Cyan="\e[48;2;42;161;152m" # Cyan On_White="\e[48;2;101;123;131m" # Base00 On_IBlack="\e[48;2;238;232;213m" # Base2 — background highlights (slightly darker than Base3) On_IRed="\e[48;2;203;75;22m" # Orange On_IGreen="\e[48;2;133;153;0m" # Green On_IYellow="\e[48;2;181;137;0m" # Yellow On_IBlue="\e[48;2;108;113;196m" # Violet On_IPurple="\e[48;2;211;54;130m" # Magenta On_ICyan="\e[48;2;42;161;152m" # Cyan On_IWhite="\e[48;2;88;110;117m" # Base01 # ---- Special codes ---------------------------------------------------------- DEFAULTFG="\e[38;2;101;123;131m" # Base00 — default foreground on light bg DEFAULTBG="\e[48;2;253;246;227m" # Base3 — default background RESETCOL="\e[0m" # ---- Prompt colour slots ---------------------------------------------------- # All specified as direct ANSI sequences to avoid ordering dependencies # with the palette overrides above. PROMPT_COLOR_TIME_FG="\e[38;2;181;137;0m" # Yellow — primary accent PROMPT_COLOR_TIME_BG="\e[48;2;238;232;213m" # Base2 — slightly darker than bg PROMPT_COLOR_BAR_BG="\e[48;2;238;232;213m" # Base2 — warm light bar PROMPT_COLOR_OK_FG="\e[38;2;7;54;66m" # Base02 — dark text for contrast on light PROMPT_COLOR_OK_MARK="\e[38;2;133;153;0m" # Green — checkmark PROMPT_COLOR_ERR_BG="\e[48;2;220;50;47m" # Red — error background PROMPT_COLOR_ERR_FG="\e[38;2;253;246;227m" # Base3 — light text on red PROMPT_COLOR_ERR_MARK="\e[38;2;253;246;227m" # Base3 — X mark (bright on red) PROMPT_COLOR_ROOT_FG="\e[38;2;220;50;47m" # Red — root warning PROMPT_COLOR_USER_FG="\e[38;2;42;161;152m" # Cyan — normal user PROMPT_COLOR_DIR_FG="\e[38;2;38;139;210m" # Blue — working directory PROMPT_COLOR_CTX_FG="\e[38;2;181;137;0m" # Yellow — context segment (git/conda)