feat: editor syntax tinting + framing parity #14
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/editor-syntax-tinting"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Polishes the in-app markdown editor so it feels like the same app as the Glamour read view.
What changed
[[wiki-links]](link color). The cursor's current row is left raw — a deliberate "reveal source where you edit" affordance.How it works
A pure
string → stringdecorator (internal/views/edit_tint.go) post-processestextarea.View()output: it tints every escape-free row and skips rows that already carry ANSI (the cursor row's CursorLine background + end-of-buffer filler). The textarea's empty-but-styled prompt was neutralized so non-cursor rows stay escape-free — without that, the prompt put an escape on every row and suppressed all tinting.Reuses
theme.go'scolorHighlightand mirrorsinternal/render's task-marker palette locally (the documented convention — not a shared package).Scope
Render-layer only;
internal/edit/stays the sole disk writer. Explicit non-goals (v1): code-block body tinting, inline emphasis/inline-code tinting, tinting the cursor row.Testing
Unit tests for the tinting core + an integration test asserting tinting reaches
View(); editor goldens regenerated (run under NO_COLOR, so they cover the inset/margin).go vet ./... && go test ./...green.Design spec + plan:
docs/superpowers/specs/2026-06-17-editor-syntax-tinting-design.md,docs/superpowers/plans/2026-06-17-editor-syntax-tinting.md.