Repository navigation
mods/diff: pinned header with body-only scroll, the built-in's list and base chords, wheel routing, and the DiffDialog off fullscreen - #94184
Merged
Conversation
…turned up since the start is session work, and each file but the diff's last keeps git's closing line
…le's hunks under an eight-row list, rows that scroll to their file, no focus or close mark of its own, /diff's transcript line) and the inline pane as its dialog
…he moved-in file and /diff's answers
…rsing, so hunks parsed for another backend stay as printed
… every other name drawn
…ction and dimColor, a pane's closeOnEscape and holdToasts, and ui.scroll's by and contentRows; the command fixtures name their presentation
…them three rows a tick (the pane answers ui.scroll itself), the list keys and ctrl+x b press Buttons that declare the built-in's actions, rows rest grey, toasts are held, and without the fullscreen layout /diff opens the built-in dialog's shape inline, focused, at any width
… its window, and off fullscreen /diff opens the dialog, lists five files a page and shows one alone
….scroll's pointer), and the dialog opens as tall as its content (ui.open's rows)
… the ring's walk selects, the five rows re-centring on it as the built-in's do (ui.focus)
… the files a hooks module may link
…-in's does, where the ring would wrap
# Conflicts: # mods/diff/hooks/register.ts # mods/diff/hooks/views/detail/code-blocks-of/code-blocks-of.ts # mods/diff/tests/fixtures/git-in.ts # mods/diff/tests/fixtures/in-repository.ts # mods/diff/tests/fixtures/index.ts # mods/telemetry/tests/fixtures/index.ts
…leaf's cap, draw only their lines in view, and stop at the tree's budget
pablonapolitano-ant
approved these changes
Sep 14, 2026
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.
The docked pane now matches the built-in /diff panel frame for frame: the header, base line and 8-row file list stay pinned while the wheel moves the hunks 3 rows a tick, or the list a file a tick when the pointer is over an overflowing list; ctrl/opt+↑↓ and ctrl+x b work from the prompt through Buttons declaring the existing
app:diffFileListUp/Downandapp:cycleDiffBaseactions (the base Select is gone; the base line uses the built-in's wording); rows are grey; toasts are held while it is open. Without the fullscreen layout,/diffopens the DiffDialog's layout inline instead — focused, sized to its content, at any width:❯on the selected row viaautoFocus, ↑/↓ walk it throughui.focuswith the 5-row window re-centring and clamping like DiffFileList, Enter shows the file, Esc backs out then dismisses. Renames list as git prints them, files sort as the panel sorts them, and a file that turned up during the session counts as session work. Declarations regenerated forpresentation,action,dimColor,closeOnEscape,holdToasts,rows,by,contentRows,pointer,autoFocusandui.focus.Tests:
claude plugin test mods/diff135 pass (sec-default 16, telemetry 11); frame-vs-frame drive against the built-in, 106 rows: 31 identical, 72 cosmetic (engine chrome: close-mark row, dock grip, inline border, ring highlight, the 'opt+↓' hint literal, the dismissal log line), 3 behavioral (the pane focus model: a docked pane can take keys; Tab walks the dialog's ring).