From 988b288b870dd0165f09b991839c2c37fcd3fd62 Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Wed, 30 Sep 2026 21:38:57 -0300 Subject: A diff line looks up the path and line it names, as any look does The look on a diff line was its own resolver: a walk up to .git/.jj from the diff's directory, its own "no such file here" and "deleted by this diff". A review tool's cached patch, in no repository, missed every file though the session's terminals sat in the checkout. Now a diff line only expands and transforms. Its expansion (what the hover shows) is the whole line for a header, a `@@` line, or a hunk line pointed at on its prefix, and its text is the look address the line names (look.diffAddress): `path` for `diff --git`/`---`/`+++`, `path:c` for `@@ -a,b +c,d @@`, `path:N` for a hunk line's new line (a removed line's, the new line now where it was). That text goes through the regular look exactly as if selected by hand: same resolution, placement and errors. A 9P look of a whole diff line takes the same transform. Kept: the line classification, hunk arithmetic, git prefix stripping and timestamp cutting (diff.zig). Gone: the repo-root walk, its messages, Target.old_side and deletesAhead, and the click's row stash (Pardes.diff_look). A test compares a B3 on a cached patch's line with a look of the hand-selected `entry/src/entry.rs:2` in the same session. Co-Authored-By: Claude Opus 5.5 --- docs/fs.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'docs/fs.md') diff --git a/docs/fs.md b/docs/fs.md index 7fa33a02..6b73a124 100644 --- a/docs/fs.md +++ b/docs/fs.md @@ -222,8 +222,9 @@ go. An `exec` line's blanks at either end are trimmed. too. - a directory types `ls` into a terminal idle there, else opens one there. - a URL opens in the browser. -- in a diff pane, a whole line of the diff opens the place it names, as a - right click on its first column does ([tags.md](tags.md#reviewing-diffs)). +- in a diff pane, a whole line of the diff is a look at the `path:line` it + names, as a right click on its first column is + ([tags.md](tags.md#reviewing-diffs)). - a plain word selects its next place after dot, wrapping (`LookWord list` on the root ctl lists every place in a `+Search` pane instead). In a terminal a word is always listed, rows spelled `@p3:12:5-9`. -- cgit v1.3