Enable KeyBindingRegistry to store information on the 'source' of the keybinding e.g., whether user, extension or core set the keybinding. Sources will have priority order e.g., user > ext > core
I am not sure whether the source options are immutable, set to be user > ext > core , or if we allow the user to specify 'source' and their priority order. In the latter case we could default to user > ext > core. WDYT @tlambert03 @DragaDoncila ?
So get_keybinding should be a function that takes a pressed key, (potentially) narrows keybindings based on context, and then picks a command based on the prioritization of the source
@tlambert03 is this different from KeyBindingRules when (which currently is not implemented)?
Migrated from discussion in #177
Enable
KeyBindingRegistryto store information on the 'source' of the keybinding e.g., whether user, extension or core set the keybinding. Sources will have priority order e.g., user > ext > coreI am not sure whether the source options are immutable, set to be user > ext > core , or if we allow the user to specify 'source' and their priority order. In the latter case we could default to user > ext > core. WDYT @tlambert03 @DragaDoncila ?
@tlambert03 is this different from
KeyBindingRuleswhen(which currently is not implemented)?Migrated from discussion in #177