diff --git a/crates/server/src/rpc.rs b/crates/server/src/rpc.rs index 189dbe1b7c00af38bed1f39632c1424a043a5e93..0b1f081d170c0a1b3a7b41ee3e03f5ccddad842a 100644 --- a/crates/server/src/rpc.rs +++ b/crates/server/src/rpc.rs @@ -5029,6 +5029,22 @@ mod tests { highlights.await; } } + 55..=59 => { + let search = project.update(&mut cx, |project, cx| { + let query = rng.lock().gen_range('a'..='z'); + log::info!("Guest {}: project-wide search {:?}", guest_id, query); + project.search(SearchQuery::text(query, false, false), cx) + }); + let search = cx + .background() + .spawn(async move { search.await.expect("search request failed") }); + if rng.lock().gen_bool(0.3) { + log::info!("Guest {}: detaching search request", guest_id); + search.detach(); + } else { + self.buffers.extend(search.await.into_keys()); + } + } _ => { buffer.update(&mut cx, |buffer, cx| { log::info!(