jesseduffield.lazygit/pkg/gui
Stefan Haller b6063cff5b Restore commit selection even when the commit's TODO status changed
When restoring the commit selection after a refresh we match by hash and
TODO status. The TODO status is part of the match so that a commit being
reverted or cherry-picked is matched to the real commit rather than to
the rebase TODO entry that shares its hash.

But a selected commit can also change its TODO status across a refresh:
when starting an interactive rebase that stops to edit it, the real
commit becomes a TODO entry. Fall back to matching by hash alone when
there is no exact match, so the selection is still restored in that case.

The next commit relies on this to remove bespoke selection-restoration
code in the local commits controller that matched by hash alone, which
the generic mechanism otherwise wouldn't fully replace.
2026-06-23 09:20:05 +02:00
..
context Convert keybinding fields to Keybinding 2026-05-25 15:32:47 +02:00
controllers Restore commit selection even when the commit's TODO status changed 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