Propagate `Cancel` when editor is not in full mode

Antonio Scandurra created

This is consistent with what VS Code and Sublime Text do and allows the user to
perform only one keybinding to e.g. dismiss the find bar when the query is
(partially) selected.

Change summary

crates/editor/src/editor.rs | 5 +++++
1 file changed, 5 insertions(+)

Detailed changes

crates/editor/src/editor.rs 🔗

@@ -1091,6 +1091,11 @@ impl Editor {
     }
 
     pub fn cancel(&mut self, _: &Cancel, cx: &mut ViewContext<Self>) {
+        if self.mode != EditorMode::Full {
+            cx.propagate_action();
+            return;
+        }
+
         if self.active_diagnostics.is_some() {
             self.dismiss_diagnostics(cx);
         } else if let Some(PendingSelection { selection, .. }) = self.pending_selection.take() {