jesseduffield.lazygit/pkg/gui
Stefan Haller c15ab5db5d Keep selected commits stable across refreshes
With the recently added external change detection, it happens more often
now that we refresh the commits list because an agent made a commit in
the background. In this case, if we keep the selection index the same,
it now points at a different commit, making the main view show a
different commit too, which is confusing and annoying. To fix this,
track the selected commit and range anchor by hash before reloading,
then restore those rows if both hashes still exist. This also allows us
to get rid of some bespoke code that did this for the specific cases of
reverting a commit or cherry-picking commits, because those are now
handled by the generic mechanism.
2026-06-23 09:20:05 +02:00
..
context Convert keybinding fields to Keybinding 2026-05-25 15:32:47 +02:00
controllers Keep selected commits stable across refreshes 2026-06-23 09:20:05 +02:00
filetree Make file sort order and case sensitivity configurable 2026-03-30 17:53:25 +02:00
mergeconflicts Fix linter warnings about ignoring errors from bufio.Scanner 2026-05-03 16:57:24 +02:00
modes Make Commit.Hash a getter for an unexported hash field 2025-04-29 14:57:15 +02:00
patch_exploring Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
popup Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
presentation Use more widely-supported Unicode symbols for the commit graph 2026-05-04 13:06:29 +02:00
services/custom_commands Convert custom command Key fields to Keybinding 2026-05-25 15:32:47 +02:00
status Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
style Modernize all codes 2025-11-15 10:46:23 +01:00
types Keep selected commits stable across refreshes 2026-06-23 09:20:05 +02:00
background.go Only pass --no-optional-locks for background status refreshes 2026-06-19 18:14:24 +02:00
command_log_panel.go Fold remaining alt bindings into their main fields 2026-05-25 15:32:47 +02:00
context.go Bump gocui (and tcell) 2025-12-23 16:49:16 +01:00
context_config.go Remove some unused code 2025-07-08 15:14:45 +02:00
controllers.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
dummies.go Move NewDummyCommon to pkg/common 2025-05-06 09:43:26 +02:00
editors.go Move modifiers into Key 2026-04-30 22:22:53 +02:00
extras_panel.go Rename Key to Keys in Binding, KeybindingsOpts, and MenuItem 2026-05-25 15:18:18 +02:00
global_handlers.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
gui.go Detect external ref changes via background polling 2026-06-19 18:07:48 +02:00
gui_common.go Pause background refreshes while driving a git operation 2026-06-19 17:56:48 +02:00
gui_driver.go Move modifiers into Key 2026-04-30 22:22:53 +02:00
information_panel.go Rename ModeStatus.Description to InfoLabel 2025-08-14 17:59:38 +02:00
keybindings.go Fold remaining alt bindings into their main fields 2026-05-25 15:32:47 +02:00
layout.go Fix visual glitch with status bar spinner at very slow spinner rates 2026-05-08 22:42:23 +02:00
main_panels.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
menu_panel.go Fold remaining alt bindings into their main fields 2026-05-25 15:32:47 +02:00
options_map.go Cleanup: filter out empty keybindings earlier 2026-05-28 19:26:43 +02:00
pty.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
pty_windows.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
recent_repos_panel.go Remove unused field gui.IsNewRepo 2024-12-01 10:44:26 +01:00
tasks_adapter.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
test_mode.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
view_helpers.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
views.go Convert JumpToBlock to a list of multi-key bindings 2026-05-25 15:32:47 +02:00