pub enum Collision {
Reserved {
mode: Mode,
key: String,
description: String,
why: String,
},
Displaced {
mode: Mode,
key: String,
replaced: String,
with: String,
},
}Expand description
A binding that will not do what its author intended.
Recorded at BIND time rather than discovered later, because both kinds are silent by construction: a reserved chord never receives its event, and an overwritten binding simply stops existing. Neither produces an error at the moment it happens, and both present as “that key is broken”.
Variants§
Reserved
Something outside escriba owns this chord — the OS, the window manager, the terminal. The binding can never fire.
Not arbitrable: no amount of reordering inside escriba changes it.
Displaced
A later binding displaced an earlier one for the same chord.
Sometimes intended — the shipped rc deliberately overrides defaults — which is why this is REPORTED rather than refused. But it is reported, because “my plugin’s key stopped working” has no other explanation available to an operator.