mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-09-11 08:06:25 -04:00
A side-by-side rendering (patched delta in side-by-side mode) carries more than one diff-line record per rendered row: the deletion on the left, the addition replacing it on the right. DiffLineContent.Metadata keeps only the first payload — enough to identify a single-column row, but it drops the right side — so a range staged from such a view would miss half the changes. Add a gocui accessor for all the distinct metadata payloads a row's cells carry, and have the range collector resolve every one of them, so staging a side-by-side row includes both sides. You can't stage just one side of a side-by-side row; that's an accepted restriction (switch to a single-column rendering to do it). Rows without metadata (no pager, or the buffer-parse / hyperlink backends) keep falling back to their single resolved record, so single-column staging is unchanged. The full delta-side-by-side chain can't run in the integration harness (no real pager), so it's covered by a gocui unit test for the multi-payload accessor; end-to-end behaviour needs interactive verification with the patched delta. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| cheatsheet | ||
| commands | ||
| common | ||
| config | ||
| constants | ||
| env | ||
| fakes | ||
| gocui | ||
| gui | ||
| i18n | ||
| integration | ||
| jsonschema | ||
| logs | ||
| snake | ||
| tasks | ||
| theme | ||
| updates | ||
| utils | ||