fix: web search not working in :web filter mode
Added evaluate_raw() method to WebSearchProvider and handler in search_with_frecency() to support raw queries when using :web prefix. Same pattern as calculator fix - trigger prefixes (?, web) call evaluate() while filter mode (:web) calls evaluate_raw(). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -264,6 +264,12 @@ impl ProviderManager {
|
||||
results.push((web_result, 9000));
|
||||
}
|
||||
}
|
||||
// Also check for raw query when in :web filter mode
|
||||
else if filter.active_prefix() == Some(ProviderType::WebSearch) && !query.is_empty() {
|
||||
if let Some(web_result) = self.websearch.evaluate_raw(query) {
|
||||
results.push((web_result, 9000));
|
||||
}
|
||||
}
|
||||
|
||||
// Empty query (after checking special providers) - return frecency-sorted items
|
||||
if query.is_empty() {
|
||||
|
||||
@@ -113,14 +113,24 @@ impl WebSearchProvider {
|
||||
return None;
|
||||
}
|
||||
|
||||
let url = self.build_search_url(search_term);
|
||||
self.evaluate_raw(search_term)
|
||||
}
|
||||
|
||||
/// Evaluate a raw search term (for :web filter mode)
|
||||
pub fn evaluate_raw(&self, search_term: &str) -> Option<LaunchItem> {
|
||||
let trimmed = search_term.trim();
|
||||
if trimmed.is_empty() {
|
||||
return None;
|
||||
}
|
||||
|
||||
let url = self.build_search_url(trimmed);
|
||||
|
||||
// Use xdg-open to open the browser
|
||||
let command = format!("xdg-open '{}'", url);
|
||||
|
||||
Some(LaunchItem {
|
||||
id: format!("websearch:{}", search_term),
|
||||
name: format!("Search: {}", search_term),
|
||||
id: format!("websearch:{}", trimmed),
|
||||
name: format!("Search: {}", trimmed),
|
||||
description: Some("Open in browser".to_string()),
|
||||
icon: Some("web-browser".to_string()),
|
||||
provider: ProviderType::WebSearch,
|
||||
|
||||
Reference in New Issue
Block a user