summaryrefslogtreecommitdiffstats
path: root/src/repl/mod.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-04-09 17:35:56 +0800
committerGitHub <noreply@github.com>2024-04-09 17:35:56 +0800
commit26289616d3534b15e27fa66ab954dd69d43f27e2 (patch)
tree94b4379e28301b384a3894f65cded9c1a7969070 /src/repl/mod.rs
parent22800109597857bfc05bc762ade561b376a2923d (diff)
downloadaichat-26289616d3534b15e27fa66ab954dd69d43f27e2.tar.gz
feat: use ctrl+enter to enter newline in REPL (#394)
Diffstat (limited to 'src/repl/mod.rs')
-rw-r--r--src/repl/mod.rs9
1 files changed, 7 insertions, 2 deletions
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<dyn EditMode> {