Skip to main content

Module input

Module input 

Source
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.