diff options
| author | sigoden <sigoden@gmail.com> | 2024-10-20 21:29:56 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-20 21:29:56 +0800 |
| commit | a165fd19e752e3a998dedfe640e9ec838c2737c6 (patch) | |
| tree | 252676ba49cdb00bdb90e86f58510b58a112f2a7 /src/repl/completer.rs | |
| parent | ac89b7ad6716a8af811089b130c2039627d47b48 (diff) | |
| download | aichat-a165fd19e752e3a998dedfe640e9ec838c2737c6.tar.gz | |
refactor: improve REPL (#940)
Diffstat (limited to 'src/repl/completer.rs')
| -rw-r--r-- | src/repl/completer.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/repl/completer.rs b/src/repl/completer.rs index 0771001..12e871a 100644 --- a/src/repl/completer.rs +++ b/src/repl/completer.rs @@ -1,6 +1,6 @@ use super::{ReplCommand, REPL_COMMANDS}; -use crate::config::GlobalConfig; +use crate::{config::GlobalConfig, utils::fuzzy_match}; use reedline::{Completer, Span, Suggestion}; use std::collections::HashMap; @@ -42,7 +42,10 @@ impl Completer for ReplCompleter { .map(|(v, _)| *v) .collect::<Vec<&str>>() .join(" "); - cmd.name.starts_with(&line) && cmd.name != ".set" + if line == "." { + return true; + } + line.starts_with(&cmd.name[..2]) && fuzzy_match(cmd.name, &line) }) .collect(); |
