Skip to main content

install

Function install 

Source
pub fn install(boot: &mut impl SubsystemBoot) -> WhichKeyGrid
Expand description

Register which-key-mode. Phase B, in the host’s install list.

§Why this is two calls and not one

The design’s acid test wants a subsystem to touch the host in exactly one place. Which-key cannot, and the reason is boot ordering rather than design: the MODE registry freezes early (freeze_mode_registry, before commands are all registered), while the COMMAND registry handle this subsystem needs at popup-build time — rungs 2 and 3 of the label chain — only exists after freeze_command_registry, much later. A single install call would have to sit on one side of that gap or the other: register the mode and get None for the command service (every label degrading to <unbound>, silently), or resolve the services and panic registering a mode into a frozen registry.

So: install registers the mode, wire wires the lifecycle once the handles exist. Two lines in editor_boot, no Editor:: method and no host Action variant — the part of the acid test that is actually about ownership still holds.