Expand description
Key handling for the setup wizard.
One entry point, Wizard::handle_key, with a strict priority order:
Ctrl-C, then an open confirmation dialog, then an open text edit, then the
help overlay, then navigation. Editing before navigation matters: while a
field is open, letters are letters, so q types a q rather than
quitting - losing a half-entered API key to a quit shortcut would be a
genuinely bad way to find out about modal input.
Navigation resolves shared keys through crate::tui::keymap, so arrows,
vim aliases, Space, Enter, Esc, Tab, ?, and q mean here exactly what
they mean in every other Leviath TUI. Enter acts on the focused row - it
toggles a provider, opens an editor, cycles a choice - and only advances
the screen when the cursor is visibly on the step’s Continue button.
Enums§
- Action
- What the loop should do after a key press.