From bb867c4fcbc6f42770471f0a0117cd8909f660d7 Mon Sep 17 00:00:00 2001 From: sigoden Date: Tue, 11 Jun 2024 11:00:12 +0800 Subject: feat: support bot (#579) * feat: support bots * refactor with RoleLike * improve exiting session * make bot works with rag * refactor repl assert state * add bot banner * repl complete bots according bots.txt * fix on windows * remove threadpool executing function callings * adjust repl left_prompt * move bot config to global config.yaml * `.bot` throw err if funciton callings is not configured --- src/repl/completer.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'src/repl/completer.rs') diff --git a/src/repl/completer.rs b/src/repl/completer.rs index d026d67..1d68792 100644 --- a/src/repl/completer.rs +++ b/src/repl/completer.rs @@ -49,13 +49,12 @@ impl Completer for ReplCompleter { if parts_len > 1 { let span = Span::new(parts[parts_len - 1].1, pos); 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)| create_suggestion(value, description, span)), - ) + 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) + }, + )) } if suggestions.is_empty() { -- cgit v1.2.3