jesseduffield.lazygit/pkg/gui/context
Stefan Haller ec3f681ebf Derive the selection highlight from the context stack
A view drew a selection because something told it to, from four places on
three different schedules: a context being focused, a context losing focus,
a context being activated over another one, and a list being re-rendered.
Whether the flags ended up describing the state of the app depended on
which of those had run last, and the last one to run was often none of
them: a refresh only re-focuses the view that has the focus, so a list
whose contents changed underneath an unfocused panel kept whichever
highlight it happened to have.

Derive both flags instead, in one place, from the two things they mean: a
view shows a selection while its context is on the stack and has something
to select, and the context the user is in shows an active one where the
ones behind it show inactive ones. Nothing else needs to say anything about
highlighting, so nothing else can leave a view saying something untrue
about where the focus is.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-03 21:19:04 +02:00
..
traits Fix collapsing the range selection after deleting branches 2025-07-04 17:18:10 +02:00
base_context.go Ask each context whether it has content to select 2026-09-03 21:19:04 +02:00
branches_context.go Show PR icons in branches list 2026-04-01 09:13:55 +02:00
commit_files_context.go Filter file views rather than search 2026-03-07 20:04:31 +01:00
commit_message_context.go Convert keybinding fields to Keybinding 2026-05-25 15:32:47 +02:00
confirmation_context.go split context common from helper common 2023-04-30 13:19:53 +10:00
context.go Refactor: add a separate Prompt view 2025-09-05 10:42:03 +02:00
context_common.go split context common from helper common 2023-04-30 13:19:53 +10:00
context_test.go Validate the context names in the "context" field of custom commands 2026-09-03 21:07:32 +02:00
dynamic_title_builder.go show namesake for child views 2022-03-26 18:00:46 +11:00
filtered_list.go Allow filtered lists to preprocess the filter string 2025-08-14 15:02:48 +02:00
filtered_list_view_model.go Drop the menu-specific wording for the filter prompt 2026-08-31 20:41:22 +02:00
history_trait.go Add search history 2023-09-20 08:35:41 +03:00
list_context_trait.go Derive the selection highlight from the context stack 2026-09-03 21:19:04 +02:00
list_renderer.go Change list section headers to a slightly more elegant design 2026-07-31 08:03:40 +02:00
list_renderer_test.go Compute list index conversions independently of rendering 2026-07-09 14:54:15 +02:00
list_view_model.go Reduce the chance of race condition with list cursor 2024-01-28 09:20:52 +11:00
local_commits_context.go Decide the commit graph from the loaded list, not the filtering mode 2026-08-05 17:29:20 +02:00
local_commits_context_test.go Keep the destination visible while commits move 2026-07-31 08:37:28 +02:00
main_context.go Ask each context whether it has content to select 2026-09-03 21:19:04 +02:00
menu_context.go Drop the menu-specific wording for the filter prompt 2026-08-31 20:41:22 +02:00
merge_conflicts_context.go Ask each context whether it has content to select 2026-09-03 21:19:04 +02:00
parent_context_mgr.go Remove bool return value of GetParentContext() 2024-08-17 11:14:51 +02:00
patch_explorer_context.go Ask each context whether it has content to select 2026-09-03 21:19:04 +02:00
prompt_context.go Refactor: add a separate Prompt view 2025-09-05 10:42:03 +02:00
reflog_commits_context.go Draw only visible part of the reflogs panel 2025-12-23 16:20:32 +01:00
remote_branches_context.go Move the Ref interface from gui/types to models 2025-07-31 15:21:34 +02:00
remotes_context.go Adjust line number for working copy when editing a line 2025-01-07 17:46:51 +01:00
search_trait.go Cleanup: remove unnecessary function Label() 2026-04-30 22:14:26 +02:00
setup.go Show renamed files in the custom patch builder 2026-07-04 13:05:09 +02:00
simple_context.go Derive the selection highlight from the context stack 2026-09-03 21:19:04 +02:00
stash_context.go Move the Ref interface from gui/types to models 2025-07-31 15:21:34 +02:00
sub_commits_context.go Add a helper function for formatting list section headers 2026-07-31 08:03:40 +02:00
submodules_context.go Get rid of the retain-sort-order-when-filtering logic again 2024-03-17 12:23:07 +01:00
suggestions_context.go Capture suggestions inputs on the UI thread 2026-07-17 12:35:54 +02:00
tags_context.go Move the Ref interface from gui/types to models 2025-07-31 15:21:34 +02:00
view_trait.go Derive the selection highlight from the context stack 2026-09-03 21:19:04 +02:00
working_tree_context.go Filter file views rather than search 2026-03-07 20:04:31 +01:00
worktrees_context.go Allow filtering worktrees by branch name in Worktrees pane 2026-08-29 17:02:44 +02:00