Bump DEFAULT_QUERY_SEARCH_LIMIT from 40 to 100

This commit is contained in:
Lukas Wirth 2023-12-12 12:03:37 +01:00
parent 34ec665ba1
commit 1604ad1a6d
5 changed files with 66 additions and 24 deletions

View file

@ -23,6 +23,7 @@ pub struct FileSymbol {
pub loc: DeclarationLocation, pub loc: DeclarationLocation,
pub container_name: Option<SmolStr>, pub container_name: Option<SmolStr>,
pub is_alias: bool, pub is_alias: bool,
pub is_assoc: bool,
} }
#[derive(Debug, Clone, PartialEq, Eq, Hash)] #[derive(Debug, Clone, PartialEq, Eq, Hash)]
@ -121,34 +122,34 @@ impl<'a> SymbolCollector<'a> {
match module_def_id { match module_def_id {
ModuleDefId::ModuleId(id) => self.push_module(id), ModuleDefId::ModuleId(id) => self.push_module(id),
ModuleDefId::FunctionId(id) => { ModuleDefId::FunctionId(id) => {
self.push_decl(id); self.push_decl(id, false);
self.collect_from_body(id); self.collect_from_body(id);
} }
ModuleDefId::AdtId(AdtId::StructId(id)) => self.push_decl(id), ModuleDefId::AdtId(AdtId::StructId(id)) => self.push_decl(id, false),
ModuleDefId::AdtId(AdtId::EnumId(id)) => self.push_decl(id), ModuleDefId::AdtId(AdtId::EnumId(id)) => self.push_decl(id, false),
ModuleDefId::AdtId(AdtId::UnionId(id)) => self.push_decl(id), ModuleDefId::AdtId(AdtId::UnionId(id)) => self.push_decl(id, false),
ModuleDefId::ConstId(id) => { ModuleDefId::ConstId(id) => {
self.push_decl(id); self.push_decl(id, false);
self.collect_from_body(id); self.collect_from_body(id);
} }
ModuleDefId::StaticId(id) => { ModuleDefId::StaticId(id) => {
self.push_decl(id); self.push_decl(id, false);
self.collect_from_body(id); self.collect_from_body(id);
} }
ModuleDefId::TraitId(id) => { ModuleDefId::TraitId(id) => {
self.push_decl(id); self.push_decl(id, false);
self.collect_from_trait(id); self.collect_from_trait(id);
} }
ModuleDefId::TraitAliasId(id) => { ModuleDefId::TraitAliasId(id) => {
self.push_decl(id); self.push_decl(id, false);
} }
ModuleDefId::TypeAliasId(id) => { ModuleDefId::TypeAliasId(id) => {
self.push_decl(id); self.push_decl(id, false);
} }
ModuleDefId::MacroId(id) => match id { ModuleDefId::MacroId(id) => match id {
MacroId::Macro2Id(id) => self.push_decl(id), MacroId::Macro2Id(id) => self.push_decl(id, false),
MacroId::MacroRulesId(id) => self.push_decl(id), MacroId::MacroRulesId(id) => self.push_decl(id, false),
MacroId::ProcMacroId(id) => self.push_decl(id), MacroId::ProcMacroId(id) => self.push_decl(id, false),
}, },
// Don't index these. // Don't index these.
ModuleDefId::BuiltinType(_) => {} ModuleDefId::BuiltinType(_) => {}
@ -190,6 +191,7 @@ impl<'a> SymbolCollector<'a> {
container_name: self.current_container_name.clone(), container_name: self.current_container_name.clone(),
loc: dec_loc, loc: dec_loc,
is_alias: false, is_alias: false,
is_assoc: false,
}); });
}); });
} }
@ -202,9 +204,9 @@ impl<'a> SymbolCollector<'a> {
for &id in id { for &id in id {
if id.module(self.db.upcast()) == module_id { if id.module(self.db.upcast()) == module_id {
match id { match id {
MacroId::Macro2Id(id) => self.push_decl(id), MacroId::Macro2Id(id) => self.push_decl(id, false),
MacroId::MacroRulesId(id) => self.push_decl(id), MacroId::MacroRulesId(id) => self.push_decl(id, false),
MacroId::ProcMacroId(id) => self.push_decl(id), MacroId::ProcMacroId(id) => self.push_decl(id, false),
} }
} }
} }
@ -266,13 +268,13 @@ impl<'a> SymbolCollector<'a> {
fn push_assoc_item(&mut self, assoc_item_id: AssocItemId) { fn push_assoc_item(&mut self, assoc_item_id: AssocItemId) {
match assoc_item_id { match assoc_item_id {
AssocItemId::FunctionId(id) => self.push_decl(id), AssocItemId::FunctionId(id) => self.push_decl(id, true),
AssocItemId::ConstId(id) => self.push_decl(id), AssocItemId::ConstId(id) => self.push_decl(id, true),
AssocItemId::TypeAliasId(id) => self.push_decl(id), AssocItemId::TypeAliasId(id) => self.push_decl(id, true),
} }
} }
fn push_decl<L>(&mut self, id: L) fn push_decl<L>(&mut self, id: L, is_assoc: bool)
where where
L: Lookup + Into<ModuleDefId>, L: Lookup + Into<ModuleDefId>,
<L as Lookup>::Data: HasSource, <L as Lookup>::Data: HasSource,
@ -296,6 +298,7 @@ impl<'a> SymbolCollector<'a> {
loc: dec_loc.clone(), loc: dec_loc.clone(),
container_name: self.current_container_name.clone(), container_name: self.current_container_name.clone(),
is_alias: true, is_alias: true,
is_assoc,
}); });
} }
} }
@ -306,6 +309,7 @@ impl<'a> SymbolCollector<'a> {
container_name: self.current_container_name.clone(), container_name: self.current_container_name.clone(),
loc: dec_loc, loc: dec_loc,
is_alias: false, is_alias: false,
is_assoc,
}); });
} }
@ -331,6 +335,7 @@ impl<'a> SymbolCollector<'a> {
loc: dec_loc.clone(), loc: dec_loc.clone(),
container_name: self.current_container_name.clone(), container_name: self.current_container_name.clone(),
is_alias: true, is_alias: true,
is_assoc: false,
}); });
} }
} }
@ -341,6 +346,7 @@ impl<'a> SymbolCollector<'a> {
container_name: self.current_container_name.clone(), container_name: self.current_container_name.clone(),
loc: dec_loc, loc: dec_loc,
is_alias: false, is_alias: false,
is_assoc: false,
}); });
} }
} }

View file

@ -3,13 +3,13 @@
//! The main reason for this module to exist is the fact that project's items and dependencies' items //! The main reason for this module to exist is the fact that project's items and dependencies' items
//! are located in different caches, with different APIs. //! are located in different caches, with different APIs.
use either::Either; use either::Either;
use hir::{import_map, AsAssocItem, Crate, ItemInNs, Semantics}; use hir::{import_map, Crate, ItemInNs, Semantics};
use limit::Limit; use limit::Limit;
use crate::{imports::import_assets::NameToImport, symbol_index, RootDatabase}; use crate::{imports::import_assets::NameToImport, symbol_index, RootDatabase};
/// A value to use, when uncertain which limit to pick. /// A value to use, when uncertain which limit to pick.
pub static DEFAULT_QUERY_SEARCH_LIMIT: Limit = Limit::new(40); pub static DEFAULT_QUERY_SEARCH_LIMIT: Limit = Limit::new(100);
pub use import_map::AssocSearchMode; pub use import_map::AssocSearchMode;
@ -101,8 +101,8 @@ fn find_items<'a>(
.into_iter() .into_iter()
.filter(move |candidate| match assoc_item_search { .filter(move |candidate| match assoc_item_search {
AssocSearchMode::Include => true, AssocSearchMode::Include => true,
AssocSearchMode::Exclude => candidate.def.as_assoc_item(db).is_none(), AssocSearchMode::Exclude => !candidate.is_assoc,
AssocSearchMode::AssocItemsOnly => candidate.def.as_assoc_item(db).is_some(), AssocSearchMode::AssocItemsOnly => candidate.is_assoc,
}) })
.map(|local_candidate| match local_candidate.def { .map(|local_candidate| match local_candidate.def {
hir::ModuleDef::Macro(macro_def) => ItemInNs::Macros(macro_def), hir::ModuleDef::Macro(macro_def) => ItemInNs::Macros(macro_def),

View file

@ -50,7 +50,7 @@ enum SearchMode {
Prefix, Prefix,
} }
#[derive(Debug)] #[derive(Debug, Clone)]
pub struct Query { pub struct Query {
query: String, query: String,
lowercased: String, lowercased: String,

View file

@ -36,6 +36,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "Struct", name: "Struct",
@ -65,6 +66,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "mul1", name: "mul1",
@ -94,6 +96,7 @@
}, },
container_name: None, container_name: None,
is_alias: true, is_alias: true,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "mul2", name: "mul2",
@ -123,6 +126,7 @@
}, },
container_name: None, container_name: None,
is_alias: true, is_alias: true,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "s1", name: "s1",
@ -152,6 +156,7 @@
}, },
container_name: None, container_name: None,
is_alias: true, is_alias: true,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "s1", name: "s1",
@ -181,6 +186,7 @@
}, },
container_name: None, container_name: None,
is_alias: true, is_alias: true,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "s2", name: "s2",
@ -210,6 +216,7 @@
}, },
container_name: None, container_name: None,
is_alias: true, is_alias: true,
is_assoc: false,
}, },
], ],
), ),

View file

@ -34,6 +34,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "CONST", name: "CONST",
@ -61,6 +62,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "CONST_WITH_INNER", name: "CONST_WITH_INNER",
@ -88,6 +90,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "Enum", name: "Enum",
@ -117,6 +120,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "ItemLikeMacro", name: "ItemLikeMacro",
@ -146,6 +150,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "Macro", name: "Macro",
@ -175,6 +180,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "STATIC", name: "STATIC",
@ -202,6 +208,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "Struct", name: "Struct",
@ -231,6 +238,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "StructFromMacro", name: "StructFromMacro",
@ -260,6 +268,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "StructInFn", name: "StructInFn",
@ -291,6 +300,7 @@
"main", "main",
), ),
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "StructInNamedConst", name: "StructInNamedConst",
@ -322,6 +332,7 @@
"CONST_WITH_INNER", "CONST_WITH_INNER",
), ),
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "StructInUnnamedConst", name: "StructInUnnamedConst",
@ -351,6 +362,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "Trait", name: "Trait",
@ -378,6 +390,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "Trait", name: "Trait",
@ -407,6 +420,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "Union", name: "Union",
@ -436,6 +450,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "a_mod", name: "a_mod",
@ -465,6 +480,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "b_mod", name: "b_mod",
@ -494,6 +510,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "define_struct", name: "define_struct",
@ -523,6 +540,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "impl_fn", name: "impl_fn",
@ -550,6 +568,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: true,
}, },
FileSymbol { FileSymbol {
name: "macro_rules_macro", name: "macro_rules_macro",
@ -579,6 +598,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "main", name: "main",
@ -606,6 +626,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "really_define_struct", name: "really_define_struct",
@ -635,6 +656,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "trait_fn", name: "trait_fn",
@ -664,6 +686,7 @@
"Trait", "Trait",
), ),
is_alias: false, is_alias: false,
is_assoc: true,
}, },
], ],
), ),
@ -704,6 +727,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
], ],
), ),
@ -744,6 +768,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "StructInModB", name: "StructInModB",
@ -773,6 +798,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "SuperItemLikeMacro", name: "SuperItemLikeMacro",
@ -802,6 +828,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "ThisStruct", name: "ThisStruct",
@ -831,6 +858,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
FileSymbol { FileSymbol {
name: "ThisStruct", name: "ThisStruct",
@ -860,6 +888,7 @@
}, },
container_name: None, container_name: None,
is_alias: false, is_alias: false,
is_assoc: false,
}, },
], ],
), ),