feat(ui): merge /colors table into /theme dialog and restrict to authors

This commit is contained in:
Keith Guerin
2026-02-26 14:26:20 -08:00
parent c884813df5
commit 067d8982d6
4 changed files with 333 additions and 48 deletions
@@ -16,8 +16,74 @@ exports[`Initial Theme Selection > should default to a dark theme when terminal
│ 9. Solarized Dark │ 1 - print("Hello, " + name) │ │
│ 10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
│ 11. Ayu Light │ │ │
│ 12. Default Light └─────────────────────────────────────────────────┘
│ ▼
│ 12. Default Light │ │
│ ▼ │ How themes and terminals interact:
│ │ • TrueColor (Hex): Modern terminals render │ │
│ │ hex codes exactly. They are not overridden by │ │
│ │ terminal app themes. │ │
│ │ • ANSI Names: Colors like 'red' or 'green' │ │
│ │ (used in our ANSI theme) are mapped to your │ │
│ │ terminal app's specific palette. │ │
│ │ • Default colors: When Name or Value is │ │
│ │ '(blank)', the app uses your terminal's │ │
│ │ default foreground/background. │ │
│ │ • Compatibility: In terminals with limited │ │
│ │ color, hex colors are automatically │ │
│ │ approximated to the closest available ANSI │ │
│ │ color. │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ ValuName Usage │ │ │
│ │ │ e │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ #… background.pMain terminal background │ │
│ │ rimary color │ │
│ │ … backgroundSubtle background for message │ │
│ │ .message blocks │ │
│ │ #… background.Background for the input │ │
│ │ input prompt │ │
│ │ … backgroundBackground for added lines in │ │
│ │ .diff.addediffs │ │
│ │ d │ │
│ │ … backgroun Background for removed lines │ │
│ │ d.diff.re in diffs │ │
│ │ moved │ │
│ │ (bltext.prim Primary text color (uses │ │
│ │ ankary terminal default if blank) │ │
│ │ ) │ │
│ │ #6C7text.secondar Secondary/dimmed text │ │
│ │ 086 y color │ │
│ │ #89Btext.link Hyperlink and highlighting │ │
│ │ 4FA color │ │
│ │ #CBAtext.accent Accent color for emphasis │ │
│ │ 6F7 │ │
│ │ (bltext.resp Color for model response text │ │
│ │ ankonse (uses terminal default if │ │
│ │ ) blank) │ │
│ │ #3d3border.defaul Standard border color │ │
│ │ f51 t │ │
│ │ #89 border.focBorder color when an element │ │
│ │ B4F used is focused │ │
│ │ A │ │
│ │ #F3status.er Color for error messages and │ │
│ │ 8BAror critical status │ │
│ │ 8 │ │
│ │ #A6 status.sucColor for success messages and │ │
│ │ E3A cess positive status │ │
│ │ 1 │ │
│ │ #F9status.war Color for warnings and │ │
│ │ E2Aning cautionary status │ │
│ │ F │ │
│ │ #479ui.gradien Array of colors used for UI │ │
│ │ E4 t gradients │ │
│ │ #847A │ │
│ │ CE │ │
│ │ #C367 │ │
│ │ 7F │ │
│ │ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ (Use Enter to select, Tab to configure scope, Esc to close) │
│ │
@@ -41,8 +107,74 @@ exports[`Initial Theme Selection > should default to a light theme when terminal
│ 9. Atom One Dark (Incompatible) │ 1 - print("Hello, " + name) │ │
│ 10. Ayu Dark (Incompatible) │ 1 + print(f"Hello, {name}!") │ │
│ 11. Default Dark (Incompatible) │ │ │
│ 12. Dracula Dark (Incompatible) └─────────────────────────────────────────────────┘
│ ▼
│ 12. Dracula Dark (Incompatible) │ │
│ ▼ │ How themes and terminals interact:
│ │ • TrueColor (Hex): Modern terminals render │ │
│ │ hex codes exactly. They are not overridden by │ │
│ │ terminal app themes. │ │
│ │ • ANSI Names: Colors like 'red' or 'green' │ │
│ │ (used in our ANSI theme) are mapped to your │ │
│ │ terminal app's specific palette. │ │
│ │ • Default colors: When Name or Value is │ │
│ │ '(blank)', the app uses your terminal's │ │
│ │ default foreground/background. │ │
│ │ • Compatibility: In terminals with limited │ │
│ │ color, hex colors are automatically │ │
│ │ approximated to the closest available ANSI │ │
│ │ color. │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ ValuName Usage │ │ │
│ │ │ e │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ #… background.pMain terminal background │ │
│ │ rimary color │ │
│ │ … backgroundSubtle background for message │ │
│ │ .message blocks │ │
│ │ #… background.Background for the input │ │
│ │ input prompt │ │
│ │ … backgroundBackground for added lines in │ │
│ │ .diff.addediffs │ │
│ │ d │ │
│ │ … backgroun Background for removed lines │ │
│ │ d.diff.re in diffs │ │
│ │ moved │ │
│ │ (bltext.prim Primary text color (uses │ │
│ │ ankary terminal default if blank) │ │
│ │ ) │ │
│ │ #97atext.secondar Secondary/dimmed text │ │
│ │ 0b0 y color │ │
│ │ #3B8text.link Hyperlink and highlighting │ │
│ │ 2F6 color │ │
│ │ #8B5text.accent Accent color for emphasis │ │
│ │ CF6 │ │
│ │ (bltext.resp Color for model response text │ │
│ │ ankonse (uses terminal default if │ │
│ │ ) blank) │ │
│ │ #d2dborder.defaul Standard border color │ │
│ │ 6dc t │ │
│ │ #3B border.focBorder color when an element │ │
│ │ 82F used is focused │ │
│ │ 6 │ │
│ │ #DDstatus.er Color for error messages and │ │
│ │ 4C4ror critical status │ │
│ │ C │ │
│ │ #3C status.sucColor for success messages and │ │
│ │ A84 cess positive status │ │
│ │ B │ │
│ │ #D5status.war Color for warnings and │ │
│ │ A40ning cautionary status │ │
│ │ A │ │
│ │ #479ui.gradien Array of colors used for UI │ │
│ │ E4 t gradients │ │
│ │ #847A │ │
│ │ CE │ │
│ │ #C367 │ │
│ │ 7F │ │
│ │ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ (Use Enter to select, Tab to configure scope, Esc to close) │
│ │
@@ -66,8 +198,74 @@ exports[`Initial Theme Selection > should use the theme from settings even if te
│ 9. Solarized Dark │ 1 - print("Hello, " + name) │ │
│ 10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
│ 11. Ayu Light │ │ │
│ 12. Default Light └─────────────────────────────────────────────────┘
│ ▼
│ 12. Default Light │ │
│ ▼ │ How themes and terminals interact:
│ │ • TrueColor (Hex): Modern terminals render │ │
│ │ hex codes exactly. They are not overridden by │ │
│ │ terminal app themes. │ │
│ │ • ANSI Names: Colors like 'red' or 'green' │ │
│ │ (used in our ANSI theme) are mapped to your │ │
│ │ terminal app's specific palette. │ │
│ │ • Default colors: When Name or Value is │ │
│ │ '(blank)', the app uses your terminal's │ │
│ │ default foreground/background. │ │
│ │ • Compatibility: In terminals with limited │ │
│ │ color, hex colors are automatically │ │
│ │ approximated to the closest available ANSI │ │
│ │ color. │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ ValuName Usage │ │ │
│ │ │ e │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ #… background.pMain terminal background │ │
│ │ rimary color │ │
│ │ … backgroundSubtle background for message │ │
│ │ .message blocks │ │
│ │ #… background.Background for the input │ │
│ │ input prompt │ │
│ │ … backgroundBackground for added lines in │ │
│ │ .diff.addediffs │ │
│ │ d │ │
│ │ … backgroun Background for removed lines │ │
│ │ d.diff.re in diffs │ │
│ │ moved │ │
│ │ (bltext.prim Primary text color (uses │ │
│ │ ankary terminal default if blank) │ │
│ │ ) │ │
│ │ #6C7text.secondar Secondary/dimmed text │ │
│ │ 086 y color │ │
│ │ #89Btext.link Hyperlink and highlighting │ │
│ │ 4FA color │ │
│ │ #CBAtext.accent Accent color for emphasis │ │
│ │ 6F7 │ │
│ │ (bltext.resp Color for model response text │ │
│ │ ankonse (uses terminal default if │ │
│ │ ) blank) │ │
│ │ #3d3border.defaul Standard border color │ │
│ │ f51 t │ │
│ │ #89 border.focBorder color when an element │ │
│ │ B4F used is focused │ │
│ │ A │ │
│ │ #F3status.er Color for error messages and │ │
│ │ 8BAror critical status │ │
│ │ 8 │ │
│ │ #A6 status.sucColor for success messages and │ │
│ │ E3A cess positive status │ │
│ │ 1 │ │
│ │ #F9status.war Color for warnings and │ │
│ │ E2Aning cautionary status │ │
│ │ F │ │
│ │ #479ui.gradien Array of colors used for UI │ │
│ │ E4 t gradients │ │
│ │ #847A │ │
│ │ CE │ │
│ │ #C367 │ │
│ │ 7F │ │
│ │ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ (Use Enter to select, Tab to configure scope, Esc to close) │
│ │
@@ -105,8 +303,74 @@ exports[`ThemeDialog Snapshots > should render correctly in theme selection mode
│ 9. Solarized Dark │ 1 - print("Hello, " + name) │ │
│ 10. ANSI Light │ 1 + print(f"Hello, {name}!") │ │
│ 11. Ayu Light │ │ │
│ 12. Default Light └─────────────────────────────────────────────────┘
│ ▼
│ 12. Default Light │ │
│ ▼ │ How themes and terminals interact:
│ │ • TrueColor (Hex): Modern terminals render │ │
│ │ hex codes exactly. They are not overridden by │ │
│ │ terminal app themes. │ │
│ │ • ANSI Names: Colors like 'red' or 'green' │ │
│ │ (used in our ANSI theme) are mapped to your │ │
│ │ terminal app's specific palette. │ │
│ │ • Default colors: When Name or Value is │ │
│ │ '(blank)', the app uses your terminal's │ │
│ │ default foreground/background. │ │
│ │ • Compatibility: In terminals with limited │ │
│ │ color, hex colors are automatically │ │
│ │ approximated to the closest available ANSI │ │
│ │ color. │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ ValuName Usage │ │ │
│ │ │ e │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ #… background.pMain terminal background │ │
│ │ rimary color │ │
│ │ … backgroundSubtle background for message │ │
│ │ .message blocks │ │
│ │ #… background.Background for the input │ │
│ │ input prompt │ │
│ │ … backgroundBackground for added lines in │ │
│ │ .diff.addediffs │ │
│ │ d │ │
│ │ … backgroun Background for removed lines │ │
│ │ d.diff.re in diffs │ │
│ │ moved │ │
│ │ (bltext.prim Primary text color (uses │ │
│ │ ankary terminal default if blank) │ │
│ │ ) │ │
│ │ #6C7text.secondar Secondary/dimmed text │ │
│ │ 086 y color │ │
│ │ #89Btext.link Hyperlink and highlighting │ │
│ │ 4FA color │ │
│ │ #CBAtext.accent Accent color for emphasis │ │
│ │ 6F7 │ │
│ │ (bltext.resp Color for model response text │ │
│ │ ankonse (uses terminal default if │ │
│ │ ) blank) │ │
│ │ #3d3border.defaul Standard border color │ │
│ │ f51 t │ │
│ │ #89 border.focBorder color when an element │ │
│ │ B4F used is focused │ │
│ │ A │ │
│ │ #F3status.er Color for error messages and │ │
│ │ 8BAror critical status │ │
│ │ 8 │ │
│ │ #A6 status.sucColor for success messages and │ │
│ │ E3A cess positive status │ │
│ │ 1 │ │
│ │ #F9status.war Color for warnings and │ │
│ │ E2Aning cautionary status │ │
│ │ F │ │
│ │ #479ui.gradien Array of colors used for UI │ │
│ │ E4 t gradients │ │
│ │ #847A │ │
│ │ CE │ │
│ │ #C367 │ │
│ │ 7F │ │
│ │ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ (Use Enter to select, Tab to configure scope, Esc to close) │
│ │