Expand description
Wiring a plugin-registered operator’s chord into the grammar (CM.2).
An operator is only half a contribution. register-operator puts the spec
and its apply in the command registry; what makes it reachable is the
operator-pending composition the host builds around it — motion targets,
the doubled linewise form, i_ / a_ text-object pendings, and the
f / F / t / T find-char pendings.
That composition needs host-resolved builtin ids, so it lives in
lattice-host (keymap_normal::register_operator_bindings, pub since
N.1.3 for precisely this split — narrow’s zn is a native provider doing
the same thing). The plugin loader cannot call it: lattice-plugin-loader
does not depend on lattice-host, and should not.
So the host publishes this trait as a service and the loader calls it, the
same shape every other cross-crate seam here uses. An absent handle is a
NotWired load failure, not a silent skip — a plugin whose operator
registered correctly and has no keys is indistinguishable from one that
never loaded, which is the failure mode this crate keeps growing rules
about.
Traits§
- Operator
Chord Wirer - Wires a plugin operator’s chord into the universal operator-pending layer.
Type Aliases§
- Operator
Chord Wirer Handle - The shared handle. Registered by the host under THIS alias, and looked up
under it — see the
ServiceRegistryTypeIdrule.