Limit import map queries

This commit is contained in:
Jonas Schievink 2020-06-10 12:30:33 +02:00
parent bcf875f46a
commit 56c7145993
2 changed files with 51 additions and 7 deletions

View file

@ -104,12 +104,16 @@ impl Crate {
db: &dyn DefDatabase,
query: &str,
) -> impl Iterator<Item = Either<ModuleDef, MacroDef>> {
import_map::search_dependencies(db, self.into(), import_map::Query::new(query).anchor_end())
.into_iter()
.map(|item| match item {
ItemInNs::Types(mod_id) | ItemInNs::Values(mod_id) => Either::Left(mod_id.into()),
ItemInNs::Macros(mac_id) => Either::Right(mac_id.into()),
})
import_map::search_dependencies(
db,
self.into(),
import_map::Query::new(query).anchor_end().limit(40),
)
.into_iter()
.map(|item| match item {
ItemInNs::Types(mod_id) | ItemInNs::Values(mod_id) => Either::Left(mod_id.into()),
ItemInNs::Macros(mac_id) => Either::Right(mac_id.into()),
})
}
pub fn all(db: &dyn HirDatabase) -> Vec<Crate> {