pub fn register_operator_bindings(
handle: &KeymapHandle,
op_prefix: &[ChordPattern],
op: OperatorId,
doubled_self: Option<ChordPattern>,
builtins: &Builtins,
syntax_textobjects: &SyntaxTextObjectIds,
syntax_motions: &SyntaxMotionIds,
post_motion_char: bool,
)Expand description
Register the slice 8.g.iii operator-pending paths for one
operator under op_prefix. Same shape across every operator:
motion targets, the doubled-operator current-line shorthand,
i_ / a_ text-object pendings + their resolutions, and
the f / F / t / T find-char pendings (resolution stays
in legacy resolve_after_find_char until 8.g.v).
doubled_self is the chord that triggers the linewise form
(e.g. 'd' for dd, 'U' for gUU). It’s the trailing key
of the doubled form, not the prefix. None binds no doubled form:
vim has no zff, and a bound [z, f, f] would shadow zff{char}
(fold to the next {char}), because a bound prefix kills its longer
chords.
N.1.3 (2026-06-10): pub so boot can wire a provider-contributed
operator’s chord (the narrow zn) into this universal
operator-pending layer. The operator SPEC + apply are owned by
the provider crate; only this chord-wiring lives here, because
operator-pending composition needs the host-resolved Builtins.