From 26289616d3534b15e27fa66ab954dd69d43f27e2 Mon Sep 17 00:00:00 2001 From: sigoden Date: Tue, 9 Apr 2024 17:35:56 +0800 Subject: feat: use ctrl+enter to enter newline in REPL (#394) --- src/repl/mod.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/repl') diff --git a/src/repl/mod.rs b/src/repl/mod.rs index 50ff33b..339abe4 100644 --- a/src/repl/mod.rs +++ b/src/repl/mod.rs @@ -16,8 +16,8 @@ use fancy_regex::Regex; use lazy_static::lazy_static; use reedline::{ default_emacs_keybindings, default_vi_insert_keybindings, default_vi_normal_keybindings, - ColumnarMenu, EditMode, Emacs, KeyCode, KeyModifiers, Keybindings, Reedline, ReedlineEvent, - ReedlineMenu, ValidationResult, Validator, Vi, + ColumnarMenu, EditCommand, EditMode, Emacs, KeyCode, KeyModifiers, Keybindings, Reedline, + ReedlineEvent, ReedlineMenu, ValidationResult, Validator, Vi, }; use reedline::{MenuBuilder, Signal}; use std::{env, process}; @@ -340,6 +340,11 @@ Type ".help" for more information. KeyCode::BackTab, ReedlineEvent::MenuPrevious, ); + keybindings.add_binding( + KeyModifiers::CONTROL, + KeyCode::Enter, + ReedlineEvent::Edit(vec![EditCommand::InsertNewline]), + ); } fn create_edit_mode(config: &GlobalConfig) -> Box { -- cgit v1.2.3