aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--atuin/src/command/client/search/interactive.rs16
1 files changed, 9 insertions, 7 deletions
diff --git a/atuin/src/command/client/search/interactive.rs b/atuin/src/command/client/search/interactive.rs
index 7680ce53..1c71a5b6 100644
--- a/atuin/src/command/client/search/interactive.rs
+++ b/atuin/src/command/client/search/interactive.rs
@@ -243,6 +243,13 @@ impl State {
self.handle_search_scroll_one_line(settings, enable_exit, !settings.invert)
}
+ fn handle_search_accept(&mut self, settings: &Settings) -> InputAction {
+ if settings.enter_accept {
+ self.accept = true;
+ }
+ InputAction::Accept(self.results_state.selected())
+ }
+
#[allow(clippy::too_many_lines)]
#[allow(clippy::cognitive_complexity)]
fn handle_search_input(&mut self, settings: &Settings, input: &KeyEvent) -> InputAction {
@@ -305,13 +312,8 @@ impl State {
}
match input.code {
- KeyCode::Enter => {
- if settings.enter_accept {
- self.accept = true;
- }
-
- return InputAction::Accept(self.results_state.selected());
- }
+ KeyCode::Enter => return self.handle_search_accept(settings),
+ KeyCode::Char('m') if ctrl => return self.handle_search_accept(settings),
KeyCode::Char('y') if ctrl => {
return InputAction::Copy(self.results_state.selected());
}