pub enum Handler {
Leaf(fn(&mut Editor, char)),
Alias(&'static str),
Motion,
Operator,
ObjectPrefix,
Prefix,
TextLine,
AbsorbChar(AbsorbKind),
AbsorbRegister,
Soon,
}Expand description
How a sequence dispatches (0008 stage 2). The walker consults these;
?/which-key read the same row — the table is the single source.
Variants§
Leaf(fn(&mut Editor, char))
A direct command. The key that completed the sequence rides along (J vs ., p vs P).
Alias(&'static str)
Alias: expands to these keys through the walker (D → d$).
Motion
A grammar motion: the key completes a motion (or the pending operator’s target) via strop_grammar.
Operator
A grammar operator (d/y/c/>/<): the walker’s typed op-pending.
ObjectPrefix
An object prefix (i/a) after an operator or in visual mode — bare i/a in normal mode is the insert entry (the walker knows from ParserState).
Prefix
A prefix: children follow; which-key renders them.
TextLine
Free-text line (: / ? |…): a modal text field (0003 §1),
NOT a key sequence — the text layer owns it.
AbsorbChar(AbsorbKind)
One-char absorbers: r
AbsorbRegister
"x — register selection.
Soon
Planned slot: no dispatch yet (renders muted “(soon)”).