diff options
| author | sigoden <sigoden@gmail.com> | 2024-07-12 20:25:06 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-12 20:25:06 +0800 |
| commit | 3360cfaf235e3106cd32ec32d5979144e941f818 (patch) | |
| tree | bf3b9f871cc4e9ab6dd71b340e9d1c7ee3a6f828 /src/repl | |
| parent | cfcf624e3be72364b4c3123e4f48be559f1edb40 (diff) | |
| download | aichat-3360cfaf235e3106cd32ec32d5979144e941f818.tar.gz | |
fix: `.starter` tab completion (#709)
Diffstat (limited to 'src/repl')
| -rw-r--r-- | src/repl/completer.rs | 17 |
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() { |
