mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-09-10 15:46:26 -04:00
Staging or unstaging a selection re-renders the focused main view's diff (the staged lines move to the other side), which left the selection at a now-stale view position — often off the new, shorter content, so it looked like there was no selection at all. Install a restore before the re-render that lands the selection on the change nearest the one just acted on, the same way the staging view advances: the change block after the selection, else the one before it, else the acted-on line itself (which only survives when the whole side was staged and the view flips to the other side). It re-selects in the current mode, so hunk staging walks hunk to hunk. A range selection collapses to a single line first, since staging consumes it. This rides the existing restore-by-identity machinery (as the escape restore does), so it works over any conforming rendering. 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 | ||