summaryrefslogtreecommitdiffstats
path: root/src/repl/init.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/repl/init.rs')
-rw-r--r--src/repl/init.rs19
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 {