jesseduffield.lazygit/pkg
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
..
app Recognize a repo that has no work tree instead of bailing out 2026-08-08 11:15:01 +02:00
cheatsheet Fix linter warning about WriteString(fmt.Sprintf(...)) 2026-08-16 16:35:11 +02:00
commands Avoid rehydrating unchanged rebase todos 2026-08-29 17:25:59 +02:00
common Move NewDummyCommon to pkg/common 2025-05-06 09:43:26 +02:00
config Validate the context names in the "context" field of custom commands 2026-09-03 21:07:32 +02:00
constants Adapt links 2026-07-31 08:42:51 +02:00
env Remember how to get back to a repo we entered a submodule from 2026-08-08 11:15:01 +02:00
fakes Modernize all codes 2025-11-15 10:46:23 +01:00
gocui Draw embedded views as one focused unit 2026-08-31 20:41:22 +02:00
gui Derive the selection highlight from the context stack 2026-09-03 21:19:04 +02:00
i18n Filter the keybindings menu as you type 2026-08-31 20:41:22 +02:00
integration Derive the selection highlight from the context stack 2026-09-03 21:19:04 +02:00
jsonschema Fix use of reflect.Ptr 2026-08-16 16:35:11 +02:00
logs Separate the runs in the debug log with a blank line 2026-08-15 09:48:11 +02:00
snake Remove a few unnecessary parentheses 2026-08-13 20:40:11 +02:00
tasks Reset the scroll to the top at first paint, not when the task starts 2026-08-15 15:30:27 +02:00
theme Copy gocui files into lazygit repo under pkg/gocui 2026-04-30 14:29:08 +02:00
updates Change direct access to Common.UserConfig to a getter 2024-08-18 10:24:52 +02:00
utils Make StringStack generic 2026-08-08 11:15:01 +02:00