Commit Graph

9 Commits

Author SHA1 Message Date
Taylor Mullen b8fa38a6e8 feat: Improve theme not found handling
Modify  to return a boolean instead of throwing an error when a theme is not found. Update CLI startup and  hook to handle the boolean return value for more graceful error handling.
2025-05-09 10:28:20 -07:00
Miguel Solorio a685597b70
UI Polish for theme selector (#294) 2025-05-08 16:00:55 -07:00
Jacob Richman 539ab947a4
Use parameter properties where possible. (#242) 2025-05-02 09:31:18 -07:00
Jacob Richman 7e8f379dfb
Save settings to ~/.gemini/settings.json and optionally /your/workspace/.gemini/settings.json (#237) 2025-05-01 10:34:07 -07:00
Jacob Richman 4dc98b3c7e
Switch Ansi theme to use regular colors to improve readability. (#154) 2025-04-24 14:19:35 -07:00
Jacob Richman 19ed2ed630
Add an ansi theme. (#152)
Add the gradient used by the ascii art logo to theme.
2025-04-24 11:56:23 -07:00
jacob314 cf89c030d0 Make ui/colors refelect the current theme. 2025-04-23 18:08:22 -07:00
Taylor Mullen 4c2a5045a0 Add theming support.
- Added a number of common themes to our support matrix:
 - AtomOneDark
 - Dracula
 - VS
 - GitHub
 - GoogleCode
 - XCode
 - ... Admittedly these all were randomly picked, we could probably curate these better...
- Added a new `ThemeDialog` UI that can be accessed via `/theme`. It shows your currentlyt available themes and allows you to change them freely. It does **not**:
 - Save the theme between sessions
 - Allow you to hit escape
 - Show a preview prior to selection.
- These themes are from reacts highlight js library.

Fixes https://b.corp.google.com/issues/412797985
2025-04-22 22:08:13 -07:00
Taylor Mullen e163e02499 Colorize code blocks.
- This changeset uses lowlight.js to parse the code in codeblocks to derive an AST, it then translates that into CSS themes that are widely known via highlight.js (things that GitHub use), finally I translate those css.color attributes into Ink colors and effectivel do <Text color={the color}>the text</Text>.
 - To do this I needed to build color mappings from css -> Ink
 - I introduced a new `Theme` type that will be used to represent many different color themes. It also enabled the color mappings to be seamless.
 - Added a theme manager that only has one theme for now (VS2015). The theme works very well with our colorization.
- Some other bits was removal of borders around our codeblocks since they now have richer rendering.
- Most complex bits of code in this PR is in the `CodeColorizer.tsx`

Fixes https://b.corp.google.com/issues/412433479
2025-04-22 18:57:27 -07:00