Skip to content

feat(pretty): integrated native Pretty display mode across FilesEditor and ChatContentPage (FMT01-FMT05) - #2063

Open
chris-beckman wants to merge 18 commits into
mainfrom
feat/pretty-print-integration-d025a366
Open

chris-beckman wants to merge 18 commits into
mainfrom
feat/pretty-print-integration-d025a366

Conversation

@chris-beckman

@chris-beckman chris-beckman commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Pretty displays dense text with structural line breaks and indentation while CodeMirror retains the raw source document. FilesEditor remains editable: deleting punctuation, Enter/Tab, undo and save use the existing document/replica path. Read-only content keeps its existing permissions and raw-offset annotations. The status bar adds Pretty immediately before Wrap; both use compact shared gray pressed chrome. Tab icons stay unchanged.

This integration replaces the earlier formatted-document projection and Pretty-specific recovery machinery. Common-blob layout covers JSON/JSONL, supported JSON-like data, XML/HTML, dense JS/TS, CSS and bounded mixed content; other formats retain ordinary source/wrap/highlighting. Grammar variants have documented limitations; universal structural formatting is not claimed.

Delivery: this is the combined delivery PR for #2045, #2046, #2047 and #2062. Their changes are included here; they do not require separate prerequisite landings. Do not land duplicate constituent PRs independently. Preserve their branches and PRs until delivery is verified on main. No merge or enqueue is authorized by this description.

Reviewed source heads:

Verification: managed remote typecheck, budgets and focused tests passed on the combined tree. Remote Chromium proofs cover native editing, malformed punctuation, raw offsets, IME, incremental/fresh layout equivalence, background parser completion, and real FilesEditor/ChatContentPage components with replica/history, tab cleanup, read-only authority and redactions. Corrected screenshots use actual app styles in a correctly sized flex host. Source, receipts and reproducible browser probes are preserved in the planning folder.

Limits: the browser component harness uses a stubbed host client; save proof captures the callback payload. Full installed desktop/backend persistence and cross-platform release qualification are not claimed. GitHub CI remains required; local/component evidence does not replace it.

…verage (FMT01-FMT05)

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
…tainability budget

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
…mentState and SecretScreen APIs

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
… dropping host handlers

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
@chris-beckman
chris-beckman marked this pull request as ready for review November 9, 2026 21:59
@chris-beckman
chris-beckman marked this pull request as draft November 9, 2026 22:03
…remental budgets, and O(1) suffix reuse

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
…elimiter

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
…y and Wrap toggles (FMT02)

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
…gray inset chrome

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
…SX tag edit

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
…alidation test

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
…changed lines and verify partial-parse completion

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
…tion after if(cond)

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
…X rescan test

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
Resolve conflicts with main's Files editor status bar tooltip removal
(#2069): status chips and the new Pretty toggle render without tooltips,
keeping the Pretty toggle immediately before Wrap. Drop the now-unused
Pretty tip plumbing and fix a pre-existing floating promise in the
Pretty editor test.

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
Wrap four comment lines exceeding the 120-character commentlint limit
in pretty-native-layout.test.ts. Comments only; no code or test
semantics change.

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
@chris-beckman
chris-beckman added this pull request to the merge queue Nov 10, 2026
--den-tint-2 is a color-mix over var(--den-plane), so declaring
--den-plane: var(--den-tint-2) is self-referential and violates the
plane discipline invariant. Drop the override; the pressed rule's
var(--den-surface-offset) plane still applies while hovering and the
tint wash derives from it.

Signed-off-by: Chris Beckman <chris@paintedwolf.ai>
@chris-beckman
chris-beckman removed this pull request from the merge queue due to a manual request Nov 10, 2026
@chris-beckman
chris-beckman added this pull request to the merge queue Nov 10, 2026
@github-actions
github-actions Bot removed this pull request from the merge queue due to a manual request Nov 10, 2026
@github-actions
github-actions Bot added this pull request to the merge queue Nov 10, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 10, 2026

This branch has not been deployed

No deployments
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