Change context matcher to search the entire stack

This commit is contained in:
Mikayla Maki 2023-03-09 16:18:37 -08:00
parent e7af3f223a
commit 0384456e7d

View file

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