Tracker: stacked generated diff layout #152
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
barrettruth/diffs.nvim#152
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Root tracker for a Pierre-like stacked generated diff layout.
Original note:
Goal
Add
++layout=stackedas a generated single-column diff layout that keeps unified diff text flow but uses one side-aware line-number rail instead of the current dual old/new rail.This is not a new diff algorithm and not a new buffer topology. It should reuse existing generated
diffs://buffers, hunk metadata, actions, source navigation, lists, highlighting, and reload machinery.Accepted product decisions
++layout=stackedas the user-facing mode name.:Gdiff ++layout=stackedand:Greview ++layout=stacked.++layout=unifiedas the default and preserve current dual old/new rails.++layout=splitas the existing paired endpoint/native-diff behavior.Line-number semantics
The stacked rail displays one file line number per rendered diff row:
-deleted lines show old-side line numbers.+added lines show new-side line numbers.Example replacement display:
The repeated
10is intentional: the context line is numbered on the new side, while the deletion is numbered on the old side.Internal direction
unifiedandstackedas generated-buffer layouts.unified->dualstacked->singleunified,stacked, andsplit.b:diffs_rail_style, so reloads preserve stacked buffers.Child issues
Non-goals for this tracker
Final acceptance criteria
:Gdiff ++layout=stackedopens a generated single-columndiffs://buffer with single side-aware rails.:Greview ++layout=stackedopens the full generated review map with single side-aware rails.:edit/BufReadCmdreload preserves stacked rail style.dp/do, and visual hunk actions still operate on raw generated diff metadata.unifiedandsplitbehavior remains unchanged.Planning reference
Detailed implementation conference notes were used to create the scoped child issues above; those child issues are the source of truth for implementation slices.