Change summary
crates/gpui/src/keymap_matcher/keymap_context.rs | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
Detailed changes
@@ -64,7 +64,13 @@ impl KeymapContextPredicate {
pub fn eval(&self, contexts: &[KeymapContext]) -> bool {
let Some(context) = contexts.first() else { return false };
match self {
- Self::Identifier(name) => (&context.set).contains(name.as_str()),
+ Self::Identifier(name) => {
+ if (&context.set).contains(name.as_str()) {
+ true
+ } else {
+ self.eval(&contexts[1..])
+ }
+ }
Self::Equal(left, right) => context
.map
.get(left.as_str())