Skip to content

pi-slate: bug fixes, 1.5 support & add palette picker - #116

Merged
GaganSD merged 15 commits into
mainfrom
pi-slate/misc-improvements
Nov 3, 2026
Merged

GaganSD merged 15 commits into
mainfrom
pi-slate/misc-improvements

Conversation

@GaganSD

@GaganSD GaganSD commented Nov 3, 2026

Copy link
Copy Markdown
Owner

Summary

Makes themes a single surface and makes file mutations visible again.

  • One theme surface. /theme (and /slate theme) now opens the picker only. The 60-name /slate theme <flavor> <palette> tree and the /slate style alias are gone; arguments are plain invalid usage. Every bundled theme is reachable from the picker, and saved names like catppuccin-latte-mauve keep working.
  • Four official flavors, 15 palettes each. Latte, Frappé, Macchiato, and Mocha from catppuccin.com/palette, grouped into Light (Latte, Frappé) and Dark (Macchiato, Mocha). Palettes are generated from one registry (npm run themes), 63 theme files total; Mocha keeps legacy Quiet as its 16th row.
  • Legibility fixes. Selected picker rows paint body text instead of the accent (Latte accent-on-selection was ~1.45:1). Effort ramps are retargeted for light flavors so every stop stays monotonic instead of reversing near the border color.
  • Diffs are no longer hidden. edit/write results keep their syntax-highlighted diff while collapsed (16 rows, split view for edits at 100+ columns, ctrl+o for the full diff) instead of collapsing to a +N -M counter. Diff blocks stay out of grouped tool lists so the split layout keeps its width. The non-existent apply_patch tool name is dropped.

Testing

  • npm test: 628 unit tests
  • npm run test:integration: 90 tests
  • npm run typecheck, npm run lint, npm run build (clean-consumer registration)
  • pack:check: 140 files
  • Manual: /reload, /theme picker navigation/save/cancel, collapsed and expanded diffs

… flavor

- Theme picker now groups flavours into Light (Latte, Frappé) and Dark (Macchiato, Mocha) sections
- Every flavour ships 15 palettes (rosewater through lavender plus default); Mocha Quiet stays legacy
- Palette names are selectable directly: /slate theme <flavor> <palette>, /slate style <palette>
- Effort ramps follow each flavour's border-to-accent direction
- /slate theme opens the picker and takes no arguments; the 60-name theme tree is gone
- Any /slate theme argument falls through to the generic invalid-usage message
- /slate style stays as the single scriptable Catppuccin alias
- /slate style is removed; the picker is the only theme surface
- selected picker rows use body text on the selection background (accent-on-selection was ~1.45:1 on Latte)
- Latte effort ramps darken toward an accent pulled into body text, so every stop stays monotonic
- Mocha's legacy Quiet palette is listed in its row instead of being unreachable unless already saved
- flatter theme registry: FLAVOR_SECTION map, no duplicated parse helpers or palette list
- docs and changelog trimmed to match
The Claude-style tool cards replaced every edit/write result with a +N -M
counter, so the diff itself was only visible after expanding the tool.
File mutations now hand the row to their own renderer even when collapsed:
the diff block renders its first 16 rows inline (split for edits at 100+
columns) and keeps the summary only when no patch is available. Diff blocks
also stay out of grouped tool lists so the split layout keeps its width.

Drops the phantom apply_patch tool name; Pi only registers edit and write.
@GaganSD GaganSD changed the title pi-slate: Catppuccin flavors, single /theme picker, and visible edit/write diffs pi-slate: bug fixes, 1.5 support, rework palette Nov 3, 2026
@greptile-apps

greptile-apps Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The changes affect theme selection and tool-result displays within Pi Slate.

The PR appears safe to merge, with a non-blocking changelog correction.

Findings

  1. P2 Past releases claim new behavior ▶

Summary

Adds a live-preview theme picker and expands Catppuccin support to four flavors.

  • One theme picker previews choices and saves the selected theme.
  • Catppuccin themes now cover four flavors and their full palette sets.
  • Collapsed file edits show diff rows instead of only a change count.

Acknowledgments: GaganSD explicitly removes theme arguments and /slate style, drops the nonexistent apply_patch name, and keeps diff blocks outside groups. GaganSD documents Frappé's Light grouping as intentional and the appearance-following pause after cancellation as a known Pi 1.4 limitation.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A["/theme or /slate theme"] --> B["Theme picker"]
  B --> C["Preview theme instance"]
  C --> B
  B --> D["Enter: save theme name"]
  B --> E["Escape: restore original theme"]
Loading

Reviews (1) · Last reviewed commit: "fix(pi-slate): show edit and write diffs..." · Reviewed by Greptile

Comment thread pi-slate/CHANGELOG.md Resolved
Making edit and write group boundaries split every run that contained an
edit into single rows, so consecutive bash calls stopped forming a
Done (N tool calls) block. Mutations fold like any other tool again;
their diff block renders as a tree member.
@GaganSD GaganSD changed the title pi-slate: bug fixes, 1.5 support, rework palette pi-slate: bug fixes, 1.5 support & add palette picker Nov 3, 2026
@GaganSD
GaganSD merged commit f816c4c into main Nov 3, 2026
9 checks passed
@GaganSD
GaganSD deleted the pi-slate/misc-improvements branch November 3, 2026 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant