From a898c0cce8377150417e7d8dda8f952ffdf241ab Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Wed, 30 Sep 2026 15:39:27 -0300 Subject: A right click on a diff line opens the place it names: its file, the hunk's new line, the line itself In a diff pane (a .diff/.patch file, or a command pane's diff output), the look's own expansion, which its hover shows, takes a whole line for a `diff --git`, `---`, `+++` or `@@` line wherever the pointer is on it, markers included, and for a hunk line when the pointer is on its `+`, `-` or space. Then the look opens the file (a/ b/ dropped, timestamps cut) at the line from the hunk header and the lines above it: `@@` the hunk's first new line, context and added lines their own, a removed line the new line now where it was. `diff --git` and `+++` open the new file; `---` the old one, unless the `+++` under it names another. On a hunk line's code the expansion is its words, the prefix never one of them, and looks as ever. Other panes are untouched. Paths resolve in the repository (walking up to `.git` or `.jj` from the diff's directory, or a command pane's), then that directory. A file not here opens nothing and says `Look: b/x: no such file here`, or `deleted by this diff`. A 9P look writing a whole line of the diff does the same. Co-Authored-By: Claude Opus 5.5 --- src/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/CHANGELOG.md') diff --git a/src/CHANGELOG.md b/src/CHANGELOG.md index 5f53ff8a..d6b4846b 100644 --- a/src/CHANGELOG.md +++ b/src/CHANGELOG.md @@ -7,6 +7,10 @@ file's language, its old and new side each parsed whole, and tint added and removed rows to the pane's edge with their `+`/`-` in the tint's hue. Only the hunks in view are parsed, once each. +- A right click on a diff's `+++`/`---`/`diff --git` line opens its file, + on a `@@` line the new file at the hunk, and on a hunk line's `+`, `-` or + space the new file at that line (a removed line: where it was). Paths are + the repository's; a file not here says so and opens nothing. ## 0.0.8 -- cgit v1.3