diff --git a/crates/project/src/search.rs b/crates/project/src/search.rs index 688374b8bb..dd2699238d 100644 --- a/crates/project/src/search.rs +++ b/crates/project/src/search.rs @@ -55,6 +55,10 @@ impl SearchQuery { } pub fn detect(&self, stream: T) -> Result { + if self.as_str().is_empty() { + return Ok(false); + } + match self { SearchQuery::Text { search, .. } => { let mat = search.stream_find_iter(stream).next(); @@ -89,6 +93,10 @@ impl SearchQuery { pub async fn search(&self, rope: &Rope) -> Vec> { const YIELD_INTERVAL: usize = 20000; + if self.as_str().is_empty() { + return Default::default(); + } + let mut matches = Vec::new(); match self { SearchQuery::Text { @@ -152,4 +160,11 @@ impl SearchQuery { } matches } + + fn as_str(&self) -> &str { + match self { + SearchQuery::Text { query, .. } => query.as_str(), + SearchQuery::Regex { regex, .. } => regex.as_str(), + } + } }