Change context matcher to search the entire stack

Mikayla Maki created

Change summary

crates/gpui/src/keymap_matcher/keymap_context.rs | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

Detailed changes

crates/gpui/src/keymap_matcher/keymap_context.rs 🔗

@@ -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())