Conversation
Long lines are only reachable by horizontal scrolling, which makes a wide hunk hard to read next to a narrow window. @pierre/diffs already supports overflow: 'wrap'; expose it as a Wrap checkbox beside the Split/Unified control, off by default, applied to the mounted instances without a remount. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a Wrap checkbox next to the Split/Unified control. Off by default; when checked, every mounted diff re-renders with
overflow: 'wrap', so long lines fold instead of hiding behind a horizontal scroll.@pierre/diffsalready supportsoverflow: 'scroll' | 'wrap'— the report just never passed it.ReportOptionsgainswrap?: booleanso a caller can preselect it, mirroringlayout. No CLI flag, also mirroringlayout.The toggle reuses the layout path:
setOptions({ ...options, overflow })+render({ fileDiff, forceRender: true })on the same instances, no remount.Why
Reviewing a report in half a screen (terminal on one side, report on the other) makes wide hunks unreadable — the interesting end of a long line sits off-screen and the horizontal scroll is per-file.
Tests
test/report.test.ts: the checkbox renders, defaults to off, and honours{ wrap: true }.test/report-dom.test.ts: toggling flipspre[data-overflow]fromscrolltowrapand back on the samediffs-containerinstances.tsc --noEmitclean;bun test ./test/report.test.ts ./test/report-dom.test.ts84 pass / 0 fail.Not done
The visual baselines under
test/visual/__screenshots__will needpnpm test:visual:update— the toolbar row changed. I develop on Windows and can't produce the Linux/DejaVu renders CI compares against, so I left the PNGs alone rather than commit baselines from the wrong platform.