From 77d6c33d9e1438338a7a530c98f717a5f9f10e67 Mon Sep 17 00:00:00 2001 From: sigoden Date: Sun, 19 Jan 2025 19:38:14 +0800 Subject: refactor: improve autocompletion for agent variable (#1104) --- src/config/agent.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/config/agent.rs') diff --git a/src/config/agent.rs b/src/config/agent.rs index 591bc9d..f535d32 100644 --- a/src/config/agent.rs +++ b/src/config/agent.rs @@ -532,3 +532,24 @@ pub fn list_agents() -> Vec { }) .collect() } + +pub fn complete_agent_variables(agent_name: &str) -> Vec<(String, Option)> { + let index_path = Config::agent_functions_dir(agent_name).join("index.yaml"); + if !index_path.exists() { + return vec![]; + } + let Ok(definition) = AgentDefinition::load(&index_path) else { + return vec![]; + }; + definition + .variables + .iter() + .map(|v| { + let description = match &v.default { + Some(default) => format!("{} [default: {default}]", v.description), + None => v.description.clone(), + }; + (format!("{}=", v.name), Some(description)) + }) + .collect() +} -- cgit v1.2.3