diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index bcb22d426766abb1742bd5cbb7a9a11f0851f17f..5679a9bd498502cc9c91aca313eb55dda2ec6cc7 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -1608,6 +1608,7 @@ impl Editor { ) -> AcceptEditPredictionBinding { let key_context = self.key_context_internal(true, window, cx); let in_conflict = self.edit_prediction_in_conflict(); + AcceptEditPredictionBinding( window .bindings_for_action_in_context(&AcceptEditPrediction, key_context) @@ -1620,7 +1621,12 @@ impl Editor { .map_or(false, |keystroke| keystroke.modifiers.modified()) }) .rev() - .next(), + .min_by_key(|binding| { + binding + .keystrokes() + .first() + .map_or(u8::MAX, |k| k.modifiers.number_of_modifiers()) + }), ) }