diff --git a/crates/owlen-tui/src/commands/mod.rs b/crates/owlen-tui/src/commands/mod.rs index 30e8ed0..cd8328d 100644 --- a/crates/owlen-tui/src/commands/mod.rs +++ b/crates/owlen-tui/src/commands/mod.rs @@ -183,6 +183,22 @@ const COMMANDS: &[CommandSpec] = &[ keyword: "markdown", description: "Toggle markdown rendering", }, + CommandSpec { + keyword: "limits", + description: "Show hourly/weekly usage totals", + }, + CommandSpec { + keyword: "web on", + description: "Enable web search tool exposure", + }, + CommandSpec { + keyword: "web off", + description: "Disable web search tool exposure", + }, + CommandSpec { + keyword: "web status", + description: "Show current web search tool state", + }, CommandSpec { keyword: "e", description: "Edit a file", @@ -336,6 +352,22 @@ mod tests { assert_eq!(results[0].keyword, "agent start"); assert!(results.iter().any(|spec| spec.keyword == "agent stop")); } + + #[test] + fn suggestions_include_limits_command() { + let results = suggestions("li"); + assert!(!results.is_empty()); + assert_eq!(results[0].keyword, "limits"); + assert!(results.iter().any(|spec| spec.keyword == "limits")); + } + + #[test] + fn suggestions_include_web_variants() { + let results = suggestions("web"); + assert!(results.iter().any(|spec| spec.keyword == "web on")); + assert!(results.iter().any(|spec| spec.keyword == "web off")); + assert!(results.iter().any(|spec| spec.keyword == "web status")); + } } fn is_subsequence(text: &str, pattern: &str) -> bool { diff --git a/crates/owlen-tui/src/ui.rs b/crates/owlen-tui/src/ui.rs index 2071045..dcf3aba 100644 --- a/crates/owlen-tui/src/ui.rs +++ b/crates/owlen-tui/src/ui.rs @@ -4237,7 +4237,8 @@ fn render_help(frame: &mut Frame<'_>, app: &ChatApp) { Line::from(" :provider [auto|local|cloud] → switch provider or set mode"), Line::from(" :models --local | --cloud → focus models by scope"), Line::from(" :cloud setup [--force-cloud-base-url] → configure Ollama Cloud"), - Line::from(" :web on|off → expose or hide the web.search tool"), + Line::from(" :web on|off|status → manage web.search availability"), + Line::from(" :limits → show hourly/weekly usage totals"), Line::from(""), Line::from(vec![Span::styled( "SESSION MANAGEMENT",