feat: Claude Code lavender accent for selected/highlighted text #42

Merged
owlburtoe merged 1 commit from clfy-claude-accent into master 2026-07-16 18:18:02 -04:00
Owner

What

pi highlights selected text (select lists, settings rows, the cursor, inline code, list bullets) with its theme accent key — teal #8abeb7 in dark mode. Claude Code uses a blue-purple lavender. This PR overrides the live theme's fgColors.accent with Claude Code's value, behind a new accentColor setting (claude | theme, default claude) on the Theme section of /claudify.

The Claude value was extracted from the v2.1.211 binary's theme literals — dark rgb(177,185,249) #B1B9F9, light rgb(87,105,247) #5769F7 — and the dark value is pinned by the live 256-color capture (CC's permission-mode label downconverts to exactly 38;5;147). Dark vs light pi theme is detected by text-color luminance. The original accent is remembered per theme instance so theme mode restores it exactly, guarded against pi's forwarding theme Proxy. Only accent is overridden — borderAccent and the spinner keys stay pi's own.

Capture + extraction evidence: docs/plans/2026-07-16-cc-accent-color.md (includes the uncertainty note on the dark/light assignment of the binary literals — the constant pair is one place to tweak if it looks off next to a real CC pane).

Test plan

  • scripts/test-claudify-hub.ts: override applies (object and Map fgColors), is idempotent, restores exactly on accentColor=theme, picks the light value for dark-text themes, and the Theme section exposes the row (existing row-navigation assertions updated for the new row).
  • Full suite 15/15 green; tsc --noEmit --strict clean.
  • Live eyeball in pi: selected rows should read lavender, not teal.
## What pi highlights selected text (select lists, settings rows, the `→` cursor, inline code, list bullets) with its theme `accent` key — teal `#8abeb7` in dark mode. Claude Code uses a blue-purple lavender. This PR overrides the live theme's `fgColors.accent` with Claude Code's value, behind a new `accentColor` setting (`claude` | `theme`, default `claude`) on the Theme section of `/claudify`. The Claude value was extracted from the v2.1.211 binary's theme literals — dark `rgb(177,185,249)` `#B1B9F9`, light `rgb(87,105,247)` `#5769F7` — and the dark value is pinned by the live 256-color capture (CC's permission-mode label downconverts to exactly `38;5;147`). Dark vs light pi theme is detected by text-color luminance. The original accent is remembered per theme instance so `theme` mode restores it exactly, guarded against pi's forwarding theme Proxy. Only `accent` is overridden — `borderAccent` and the spinner keys stay pi's own. Capture + extraction evidence: `docs/plans/2026-07-16-cc-accent-color.md` (includes the uncertainty note on the dark/light assignment of the binary literals — the constant pair is one place to tweak if it looks off next to a real CC pane). ## Test plan - [x] `scripts/test-claudify-hub.ts`: override applies (object and Map `fgColors`), is idempotent, restores exactly on `accentColor=theme`, picks the light value for dark-text themes, and the Theme section exposes the row (existing row-navigation assertions updated for the new row). - [x] Full suite 15/15 green; `tsc --noEmit --strict` clean. - [ ] Live eyeball in pi: selected rows should read lavender, not teal.
feat: Claude Code lavender accent for selected/highlighted text
All checks were successful
Plane Sync / Close referenced Plane work items (pull_request) Successful in 2s
edc75262f6
pi paints selections, cursors, and accents with its theme's accent key (teal
#8abeb7 in dark). Claude Code uses a blue-purple lavender — extracted from the
v2.1.211 binary's theme literals (dark rgb(177,185,249), light rgb(87,105,247))
and pinned by the 256-color capture mapping. New accentColor setting
(claude/theme, default claude) on the Theme section overrides the live theme's
fgColors.accent, remembering the original per instance for exact restore;
dark/light picked by text-color luminance. Only accent is touched —
borderAccent and spinner keys stay pi's own.

Capture/decisions: docs/plans/2026-07-16-cc-accent-color.md.
owlburtoe merged commit 1e8a0f199e into master 2026-07-16 18:18:02 -04:00
owlburtoe deleted branch clfy-claude-accent 2026-07-16 18:18:02 -04:00
owlburtoe referenced this pull request from a commit 2026-07-16 18:47:01 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
owlburtoe/pi-claudify!42
No description provided.