diff options
Diffstat (limited to 'src/repl/init.rs')
| -rw-r--r-- | src/repl/init.rs | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/repl/init.rs b/src/repl/init.rs index 1204fa7..9cef4e5 100644 --- a/src/repl/init.rs +++ b/src/repl/init.rs @@ -32,15 +32,12 @@ impl Repl { let edit_mode: Box<dyn EditMode> = if config.read().vi_keybindings { let mut normal_keybindings = default_vi_normal_keybindings(); let mut insert_keybindings = default_vi_insert_keybindings(); - Self::add_menu_keybindings(&mut normal_keybindings); - Self::add_menu_keybindings(&mut insert_keybindings); - Self::add_clear_keybindings(&mut normal_keybindings); - Self::add_clear_keybindings(&mut insert_keybindings); + Self::extra_keybindings(&mut normal_keybindings); + Self::extra_keybindings(&mut insert_keybindings); Box::new(Vi::new(insert_keybindings, normal_keybindings)) } else { let mut keybindings = default_emacs_keybindings(); - Self::add_menu_keybindings(&mut keybindings); - Self::add_clear_keybindings(&mut keybindings); + Self::extra_keybindings(&mut keybindings); Box::new(Emacs::new(keybindings)) }; let mut editor = Reedline::create() @@ -67,7 +64,7 @@ impl Repl { completer } - fn add_menu_keybindings(keybindings: &mut Keybindings) { + fn extra_keybindings(keybindings: &mut Keybindings) { keybindings.add_binding( KeyModifiers::NONE, KeyCode::Tab, @@ -76,14 +73,16 @@ impl Repl { ReedlineEvent::MenuNext, ]), ); - } - - fn add_clear_keybindings(keybindings: &mut Keybindings) { keybindings.add_binding( KeyModifiers::CONTROL, KeyCode::Char('l'), ReedlineEvent::ExecuteHostCommand(".clear screen".into()), ); + keybindings.add_binding( + KeyModifiers::CONTROL, + KeyCode::Char('s'), + ReedlineEvent::Submit, + ); } fn create_menu() -> ReedlineMenu { |
