mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-09-10 23:56:24 -04:00
The focused main view's space binding delegates to the side panel beneath it, but the two handlers were asymmetric: the patch-toggle handler did its own re-render and re-established the selection itself, while the staging handler returned a focusViewName so the dispatcher (stageRange) could do the reveal-and-focus dance on its behalf. That split blocks collapsing the per-command handler channels into one, since the two have different return types. Make staging match the toggle: GetOnStageFocusedMainView returns plain error, and the FilesController handler does the post-staging reveal and pane focus itself. The reveal/select-mode logic the two handlers shared (collapse a range to a line, preserve the change-line ordinal across the re-render, re-expand a hunk) is extracted into revealSelectionAfterPrimaryAction, with mainContextForViewName resolving a main view name to its context. The dispatcher is now uniform: read the selected range, hand it to whichever handler the panel registered. Behavior-preserving. 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 | ||