jesseduffield.lazygit/pkg/gui/controllers/helpers
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
..
amend_helper.go Allow passing refresh scope to WithGpgHandling 2025-03-24 08:41:58 +01:00
app_status_helper.go Pause background refreshes while driving a git operation 2026-06-19 17:56:48 +02:00
bisect_helper.go Change Refresh to not return an error 2025-07-02 16:09:42 +02:00
branches_helper.go Only pass --no-optional-locks for background status refreshes 2026-06-19 18:14:24 +02:00
cherry_pick_helper.go Keep selected commits stable across refreshes 2026-06-23 09:20:05 +02:00
commits_helper.go Rename Key to Keys in Binding, KeybindingsOpts, and MenuItem 2026-05-25 15:18:18 +02:00
commits_helper_test.go Remove hard line breaks when rewording commits 2024-03-09 10:00:44 +01:00
confirmation_helper.go Add comments 2026-03-08 17:24:26 +01:00
credentials_helper.go chore: fix function name in comment 2025-12-06 18:28:58 +08:00
diff_helper.go Move the Ref interface from gui/types to models 2025-07-31 15:21:34 +02:00
files_helper.go Cleanup: remove unused interfaces for helpers 2025-04-08 16:08:25 +02:00
fixup_helper.go Ignore fixup commits for a found base commit when doing ctrl-f 2026-01-24 16:04:35 +01:00
fixup_helper_test.go Ignore fixup commits for a found base commit when doing ctrl-f 2026-01-24 16:04:35 +01:00
gpg_helper.go Keep selected commits stable across refreshes 2026-06-23 09:20:05 +02:00
helpers.go Implement suspending the app using ctrl-z 2025-08-14 20:41:46 +02:00
host_helper.go Cleanup: remove unused interfaces for helpers 2025-04-08 16:08:25 +02:00
inline_status_helper.go Pause background refreshes while driving a git operation 2026-06-19 17:56:48 +02:00
menu_key.go Use a slice of keys for each binding 2026-05-25 15:18:18 +02:00
merge_and_rebase_helper.go Keep selected commits stable across refreshes 2026-06-23 09:20:05 +02:00
merge_conflicts_helper.go Cleanup: get rid of the variadic parameter of ContextMgr.Push 2025-04-08 16:08:25 +02:00
mode_helper.go Show context-specific labels for the global <esc> binding 2025-08-14 17:59:38 +02:00
patch_building_helper.go Cleanup: remove unnecessary function Label() 2026-04-30 22:14:26 +02:00
record_directory_helper.go split context common from helper common 2023-04-30 13:19:53 +10:00
refresh_helper.go Restore commit selection even when the commit's TODO status changed 2026-06-23 09:20:05 +02:00
refresh_helper_test.go Restore commit selection even when the commit's TODO status changed 2026-06-23 09:20:05 +02:00
refs_helper.go Keep selected commits stable across refreshes 2026-06-23 09:20:05 +02:00
repos_helper.go Offer direnv .envrc approval from inside lazygit 2026-06-04 09:05:01 +02:00
search_helper.go Cleanup: remove unnecessary function Label() 2026-04-30 22:14:26 +02:00
signal_handling.go Implement suspending the app using ctrl-z 2025-08-14 20:41:46 +02:00
signal_handling_windows.go Implement suspending the app using ctrl-z 2025-08-14 20:41:46 +02:00
snake_helper.go Bump gocui and adapt lazygit code 2024-12-01 10:40:08 +01:00
staging_helper.go Add user config to use hunk mode by default when entering staging view 2025-07-04 19:41:40 +02:00
sub_commits_helper.go Scroll to top when showing subcommits 2026-03-27 14:55:02 +01:00
suggestions_helper.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
suspend_resume_helper.go Implement suspending the app using ctrl-z 2025-08-14 20:41:46 +02:00
tags_helper.go Convert keybinding fields to Keybinding 2026-05-25 15:32:47 +02:00
update_helper.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
upstream_helper.go Cleanup: remove unused interfaces for helpers 2025-04-08 16:08:25 +02:00
upstream_helper_test.go Standardise on using lo for slice functions 2023-07-30 18:51:23 +10:00
view_helper.go standardise helper args 2023-04-30 13:19:53 +10:00
window_arrangement_helper.go Allow customizing the window width/height thresholds for when to use portrait mode 2026-03-31 13:08:46 +02:00
window_arrangement_helper_test.go Allow customizing the window width/height thresholds for when to use portrait mode 2026-03-31 13:08:46 +02:00
window_helper.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
working_tree_helper.go Keep selected commits stable across refreshes 2026-06-23 09:20:05 +02:00
worktree_helper.go Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00