diff --git a/src/commands/application.rs b/src/commands/application.rs index 95384f6e..cc8ebc6a 100644 --- a/src/commands/application.rs +++ b/src/commands/application.rs @@ -189,9 +189,6 @@ pub fn switch_to_select_line_mode(app: &mut Application) -> Result { pub fn switch_to_search_mode(app: &mut Application) -> Result { if app.workspace.current_buffer.is_some() { app.switch_to(ModeKey::Search); - if let Mode::Search(ref mut mode) = app.mode { - mode.reset(); - } } else { bail!(BUFFER_MISSING); } diff --git a/src/commands/search.rs b/src/commands/search.rs index 4ba7e4f3..72d88d8e 100644 --- a/src/commands/search.rs +++ b/src/commands/search.rs @@ -67,11 +67,11 @@ pub fn accept_query(app: &mut Application) -> Result { Ok(()) } -pub fn clear_query(app: &mut Application) -> Result { +pub fn reset(app: &mut Application) -> Result { if let Mode::Search(ref mut mode) = app.mode { - mode.input = None; + mode.reset(); } else { - bail!("Can't clear search outside of search mode"); + bail!("Can't reset search outside of search mode"); }; Ok(()) diff --git a/src/input/key_map/default.yml b/src/input/key_map/default.yml index bf8b39e9..83557a79 100644 --- a/src/input/key_map/default.yml +++ b/src/input/key_map/default.yml @@ -58,7 +58,7 @@ normal: "#": application::switch_to_syntax_mode /: - application::switch_to_search_mode - - search::clear_query + - search::reset ",": view::scroll_up ">": buffer::indent_line "<": buffer::outdent_line @@ -125,7 +125,7 @@ search: - search::run /: - application::switch_to_search_mode - - search::clear_query + - search::reset m: view::scroll_down ",": view::scroll_up n: search::move_to_next_result diff --git a/src/models/application/modes/search.rs b/src/models/application/modes/search.rs index 864604ca..e508aaf6 100644 --- a/src/models/application/modes/search.rs +++ b/src/models/application/modes/search.rs @@ -20,6 +20,8 @@ impl SearchMode { pub fn reset(&mut self) { self.insert = true; + self.input = None; + self.results = None; } pub fn insert_mode(&self) -> bool {