jesseduffield.lazygit/pkg/gui/controllers/helpers
Stefan Haller 3868a9407b Ask git for the branch when the HEAD file doesn't hold it
Reading HEAD is worth keeping for the repos it can answer for, because
the menu opens on a keystroke and asking git costs a process per entry.
So go to git only for the placeholder, and for anything else the read
can't make sense of. That last part also gets the menu an answer for
layouts we don't know about yet, where it used to give up and say
"Branch unknown".

Git needs two commands to cover every repo. `git symbolic-ref` names the
branch even when it has no commit yet; `git rev-parse` resolves a
detached HEAD, and fails on a branch without a commit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-14 10:49:29 +02:00
..
amend_helper.go Allow passing refresh scope to WithGpgHandling 2025-03-24 08:41:58 +01:00
app_status_helper.go Decouple hiding the working tree state from blocking input 2026-08-05 17:29:20 +02:00
bisect_helper.go Remove the RefreshMode field 2026-07-17 12:32:32 +02:00
branches_helper.go Don't auto-forward branches when the repo was switched during the fetch 2026-07-20 17:07:39 +02:00
cherry_pick_helper.go Decouple hiding the working tree state from blocking input 2026-08-05 17:29:20 +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 Give the maximum width of a menu a name 2026-09-14 09:23:26 +02:00
confirmation_helper_test.go Lay out the filter row of a menu that filters as you type 2026-08-31 20:41:22 +02:00
credentials_helper.go Remove the RefreshMode field 2026-07-17 12:32:32 +02:00
diff_helper.go Remove the RefreshMode field 2026-07-17 12:32:32 +02:00
drag_autoscroller.go Add DragAutoScroller helper 2026-07-31 08:26:35 +02:00
drag_autoscroller_test.go Add DragAutoScroller helper 2026-07-31 08:26:35 +02:00
files_helper.go Cleanup: remove unused interfaces for helpers 2025-04-08 16:08:25 +02:00
fixup_helper.go Remove the scroll calls that are now redundant 2026-08-14 08:04:13 +02: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 Remove the RefreshMode field 2026-07-17 12:32:32 +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 Update comments that still describe the removed blocking refresh mode 2026-07-21 22:23:58 +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 Let OnUIThreadAndWait's error be about the wait, not about f 2026-08-12 11:04:53 +02:00
merge_conflicts_helper.go Make the conflict marker size a parameter of our marker matching 2026-08-08 12:43:42 +02:00
mode_helper.go Remove the scroll calls that are now redundant 2026-08-14 08:04:13 +02:00
patch_building_helper.go Show renamed files in the custom patch builder 2026-07-04 13:05:09 +02:00
record_directory_helper.go split context common from helper common 2023-04-30 13:19:53 +10:00
refresh_helper.go Fix visual glitches when moving a rebase todo 2026-08-29 17:25:59 +02:00
refresh_helper_test.go Auto-select the conflicted commit when stopping in rebase 2026-08-15 15:24:36 +02:00
refs_helper.go Show the inline status again when checking out a newly created remote branch 2026-07-21 22:23:57 +02:00
repos_helper.go Ask git for the branch when the HEAD file doesn't hold it 2026-09-14 10:49:29 +02:00
repos_helper_test.go Ask git for the branch when the HEAD file doesn't hold it 2026-09-14 10:49:29 +02:00
search_helper.go Drop the menu-specific wording for the filter prompt 2026-08-31 20:41:22 +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 Remove the scroll calls that are now redundant 2026-08-14 08:04:13 +02:00
suggestions_helper.go Hold the file-path suggestions trie outside the model 2026-07-17 12:35:54 +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 Drop the menu-specific wording for the filter prompt 2026-08-31 20:41:22 +02:00
window_arrangement_helper_test.go Add gui.shrinkSidePanelsToContent option 2026-07-03 19:25:01 +02:00
window_helper.go Drive the side panel layout from gui.sidePanels 2026-06-23 14:15:18 +02:00
working_tree_helper.go Remove the RefreshMode field 2026-07-17 12:32:32 +02:00
worktree_helper.go Remove the RefreshMode field 2026-07-17 12:32:32 +02:00
worktree_helper_test.go Add helper to compute candidate worktree parent directories 2026-07-03 18:53:05 +02:00