summaryrefslogtreecommitdiffstats
path: root/src/repl/validator.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-10-26 21:12:02 +0800
committerGitHub <noreply@github.com>2023-10-26 21:12:02 +0800
commitca0f6343f22257fbcf4cf22ce622e75bb60a93bd (patch)
tree104808bf750561990f8e6ff9690641d8fbe601a0 /src/repl/validator.rs
parentb3f8f27018b1bbb3c1eb59ef05acc2d2a420b45e (diff)
downloadaichat-ca0f6343f22257fbcf4cf22ce622e75bb60a93bd.tar.gz
feat: add .edit command for multi-line editing (#151)
Diffstat (limited to 'src/repl/validator.rs')
-rw-r--r--src/repl/validator.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/repl/validator.rs b/src/repl/validator.rs
index 1a5f405..21a7a3c 100644
--- a/src/repl/validator.rs
+++ b/src/repl/validator.rs
@@ -1,12 +1,13 @@
+use super::EDIT_RE;
+
use reedline::{ValidationResult, Validator};
/// A default validator which checks for mismatched quotes and brackets
-#[allow(clippy::module_name_repetitions)]
pub struct ReplValidator;
impl Validator for ReplValidator {
fn validate(&self, line: &str) -> ValidationResult {
- if line.ends_with('\\') {
+ if let Ok(true) = EDIT_RE.is_match(line) {
ValidationResult::Incomplete
} else {
ValidationResult::Complete