From 9c04455e363d076cd7582fe9d476aa0fd6d86ea8 Mon Sep 17 00:00:00 2001 From: sigoden Date: Mon, 13 Mar 2023 10:09:01 +0800 Subject: feat: support role args (#69) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: support role args We can use role args to pass some additional arguments to the prompt. ``` - name: convert:json:yaml prompt: convert __ARG1__ below to __ARG2__ ``` `:json:yaml` is `role args`. It has two args: - arg1 `json`, it will replace __ARG1__ in prompt - arg2 `yaml`, it will replace __ARG2__ in prompt ``` 〉.role convert:json:yaml name: convert:json:yaml prompt: convert json below to yaml temperature: null 〉.role convert:yaml:json name: convert:yaml:json prompt: convert yaml below to json temperature: null ``` different role args, will generate different prompts. * small updates --- src/repl/init.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/repl/init.rs') diff --git a/src/repl/init.rs b/src/repl/init.rs index ae337ee..c8bb4c3 100644 --- a/src/repl/init.rs +++ b/src/repl/init.rs @@ -47,7 +47,8 @@ impl Repl { fn create_completer(config: SharedConfig, commands: &[String]) -> DefaultCompleter { let mut completion = commands.to_vec(); completion.extend(config.read().repl_completions()); - let mut completer = DefaultCompleter::with_inclusions(&['.', '-', '_']).set_min_word_len(2); + let mut completer = + DefaultCompleter::with_inclusions(&['.', '-', '_', ':']).set_min_word_len(2); completer.insert(completion.clone()); completer } -- cgit v1.2.3