refactor(ui): split built-in theme definitions#354
Conversation
Greptile SummaryThis PR is a pure structural refactor that splits the monolithic
Confidence Score: 5/5Safe to merge — this is a mechanical code split with no logic changes, identical color values, and preserved THEMES ordering. Every theme definition is moved verbatim, the lazy syntaxStyle getter behavior is unchanged, THEMES order is preserved, and public re-exports from themes.ts maintain backward compatibility. The only surface-area additions are that ThemeBase, SyntaxColors, createCatppuccinTheme, createSyntaxStyle, and withLazySyntaxStyle are now exported where they were previously private — an acceptable side effect of the split. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[src/ui/themes.ts\npublic registry & resolver] --> B[themes/types.ts\nAppTheme · SyntaxColors · ThemeBase]
A --> C[themes/syntax.ts\ncreate/withLazySyntaxStyle]
A --> D[themes/graphite.ts\nGRAPHITE_THEME]
A --> E[themes/midnight.ts\nMIDNIGHT_THEME]
A --> F[themes/paper.ts\nPAPER_THEME]
A --> G[themes/ember.ts\nEMBER_THEME]
A --> H[themes/catppuccin.ts\nCATTPPUCCIN_LATTE/MOCHA_THEME]
C --> B
D --> C
D --> B
E --> C
E --> B
F --> C
F --> B
G --> C
G --> B
H --> C
H --> B
Reviews (1): Last reviewed commit: "refactor(ui): split built-in theme defin..." | Re-trigger Greptile |
Summary
src/ui/themes/src/ui/themes.tsas the public theme registry and resolverVerification
bun run typecheckbun run lintbun testThis PR description was generated by Pi using OpenAI GPT-5 Codex