diff --git a/src/terminal/composer.rs b/src/terminal/composer.rs index 0574d5e4..be76a9e0 100644 --- a/src/terminal/composer.rs +++ b/src/terminal/composer.rs @@ -691,7 +691,8 @@ pub(super) fn command_items(commands: &[(String, String)], query: &str) -> Vec, path: &str, shell: Option<&str>) let spaced = path.chars().any(char::is_whitespace); match agent { Some(a) if reads_like_gemini(a) => {} - Some(CLIAgent::Claude) if spaced => return format!("@\"{path}\""), + Some(CLIAgent::Claude | CLIAgent::Kimi) if spaced => return format!("@\"{path}\""), Some(CLIAgent::Codex) if spaced && !path.contains('"') => return format!("\"{path}\""), Some(CLIAgent::Codex) => return path.to_string(), _ => return format!("@{path}"), @@ -2554,6 +2555,11 @@ mod tests { mention(Some(CLIAgent::Gemini), "my notes.md", zsh), r"@my\ notes.md" ); + assert_eq!( + mention(Some(CLIAgent::Kimi), "my notes.md", zsh), + r#"@"my notes.md""# + ); + assert_eq!(mention(Some(CLIAgent::Kimi), "src/a.rs", zsh), "@src/a.rs"); assert_eq!(mention(None, "my notes.md", zsh), "@my notes.md"); }