feat: add vesper theme#220
Conversation
Greptile SummaryThis PR adds Vesper as a fifth built-in diff theme, including its own custom Pierre syntax-highlighting definition and a refactor that threads the full
Confidence Score: 5/5Safe to merge — the change is additive, limited to theme data and the highlighting pipeline, and the refactored API passes stable object references throughout. The Vesper theme is additive and isolated. The AppTheme-propagation refactor is mechanical and the stable-reference guarantee from the THEMES array ensures no spurious effect re-runs. Tests cover token colors, background distinction, and reserved-color remap isolation for the new theme. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["Theme prop (string)"] --> B["resolveTheme()"]
B --> C{id in THEMES?}
C -- Yes --> D["AppTheme (stable ref from THEMES)"]
C -- No --> E["graphite fallback"]
D --> F["pierreSyntaxThemeName(theme)"]
E --> F
F --> G{theme.id === 'vesper'?}
G -- Yes --> H["hunk-vesper (custom Pierre theme)"]
G -- No --> I["pierre-dark / pierre-light (built-in Pierre theme)"]
H --> J["renderDiffWithHighlighter()"]
I --> J
J --> K["HighlightedDiffCode (cached by theme.id + file fingerprint)"]
Reviews (2): Last reviewed commit: "fix: use vesper syntax highlighting" | Re-trigger Greptile |
summary
testing