Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/lib.rs')
-rw-r--r--crates/ide/src/lib.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/ide/src/lib.rs b/crates/ide/src/lib.rs
index 6ff16b9e2f..c98e9fba12 100644
--- a/crates/ide/src/lib.rs
+++ b/crates/ide/src/lib.rs
@@ -99,7 +99,10 @@ pub use crate::{
},
join_lines::JoinLinesConfig,
markup::Markup,
- moniker::{MonikerDescriptorKind, MonikerKind, MonikerResult, PackageInformation},
+ moniker::{
+ MonikerDescriptorKind, MonikerKind, MonikerResult, PackageInformation,
+ SymbolInformationKind,
+ },
move_item::Direction,
navigation_target::{NavigationTarget, UpmappingResult},
prime_caches::ParallelPrimeCachesProgress,
@@ -411,11 +414,12 @@ impl Analysis {
}
/// Fuzzy searches for a symbol.
- pub fn symbol_search(&self, query: Query) -> Cancellable<Vec<NavigationTarget>> {
+ pub fn symbol_search(&self, query: Query, limit: usize) -> Cancellable<Vec<NavigationTarget>> {
self.with_db(|db| {
symbol_index::world_symbols(db, query)
.into_iter() // xx: should we make this a par iter?
.filter_map(|s| s.try_to_nav(db))
+ .take(limit)
.map(UpmappingResult::call_site)
.collect::<Vec<_>>()
})