mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-09-10 15:46:26 -04:00
On a position-preserving re-render the first paint swapped the off-screen content in and only then ran Apply, which for the buffer-parse backend (no pager) scans the whole diff to locate the line to land on. That scan takes tens of milliseconds on a large diff, during which the new content was already displayed at the *old* scroll position — a layout draw landing in that window showed a frame at the stale (and now out-of-range) scroll, a pronounced flicker when changing context size while scrolled down. The metadata/hyperlink backends didn't show it because they resolve the target during the load, so their Apply is instant. Let Apply own the swap: it locates the target against the still-off-screen (and, at end of input, complete) buffer first, then calls swapIn and settles the scroll. The scan now runs while the previous content is still displayed, so the new content is revealed already at the right position — matching what the early-resolving backends already did. 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 | ||