summaryrefslogtreecommitdiffstats
path: root/src/repl/completer.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-07-12 20:25:06 +0800
committerGitHub <noreply@github.com>2024-07-12 20:25:06 +0800
commit3360cfaf235e3106cd32ec32d5979144e941f818 (patch)
treebf3b9f871cc4e9ab6dd71b340e9d1c7ee3a6f828 /src/repl/completer.rs
parentcfcf624e3be72364b4c3123e4f48be559f1edb40 (diff)
downloadaichat-3360cfaf235e3106cd32ec32d5979144e941f818.tar.gz
fix: `.starter` tab completion (#709)
Diffstat (limited to 'src/repl/completer.rs')
-rw-r--r--src/repl/completer.rs17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/repl/completer.rs b/src/repl/completer.rs
index 1d68792..7f325bd 100644
--- a/src/repl/completer.rs
+++ b/src/repl/completer.rs
@@ -48,13 +48,18 @@ impl Completer for ReplCompleter {
if parts_len > 1 {
let span = Span::new(parts[parts_len - 1].1, pos);
+ let args_line = &line[parts[1].1..];
let args: Vec<&str> = parts.iter().skip(1).map(|(v, _)| *v).collect();
- suggestions.extend(self.config.read().repl_complete(cmd, &args).iter().map(
- |(value, description)| {
- let description = description.as_deref().unwrap_or_default();
- create_suggestion(value, description, span)
- },
- ))
+ suggestions.extend(
+ self.config
+ .read()
+ .repl_complete(cmd, &args, args_line)
+ .iter()
+ .map(|(value, description)| {
+ let description = description.as_deref().unwrap_or_default();
+ create_suggestion(value, description, span)
+ }),
+ )
}
if suggestions.is_empty() {