Skip to content

Commit 1604ad1

Browse files
committed
Bump DEFAULT_QUERY_SEARCH_LIMIT from 40 to 100
1 parent 34ec665 commit 1604ad1

File tree

5 files changed

+66
-24
lines changed

5 files changed

+66
-24
lines changed

crates/hir/src/symbols.rs

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ pub struct FileSymbol {
2323
pub loc: DeclarationLocation,
2424
pub container_name: Option<SmolStr>,
2525
pub is_alias: bool,
26+
pub is_assoc: bool,
2627
}
2728

2829
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -121,34 +122,34 @@ impl<'a> SymbolCollector<'a> {
121122
match module_def_id {
122123
ModuleDefId::ModuleId(id) => self.push_module(id),
123124
ModuleDefId::FunctionId(id) => {
124-
self.push_decl(id);
125+
self.push_decl(id, false);
125126
self.collect_from_body(id);
126127
}
127-
ModuleDefId::AdtId(AdtId::StructId(id)) => self.push_decl(id),
128-
ModuleDefId::AdtId(AdtId::EnumId(id)) => self.push_decl(id),
129-
ModuleDefId::AdtId(AdtId::UnionId(id)) => self.push_decl(id),
128+
ModuleDefId::AdtId(AdtId::StructId(id)) => self.push_decl(id, false),
129+
ModuleDefId::AdtId(AdtId::EnumId(id)) => self.push_decl(id, false),
130+
ModuleDefId::AdtId(AdtId::UnionId(id)) => self.push_decl(id, false),
130131
ModuleDefId::ConstId(id) => {
131-
self.push_decl(id);
132+
self.push_decl(id, false);
132133
self.collect_from_body(id);
133134
}
134135
ModuleDefId::StaticId(id) => {
135-
self.push_decl(id);
136+
self.push_decl(id, false);
136137
self.collect_from_body(id);
137138
}
138139
ModuleDefId::TraitId(id) => {
139-
self.push_decl(id);
140+
self.push_decl(id, false);
140141
self.collect_from_trait(id);
141142
}
142143
ModuleDefId::TraitAliasId(id) => {
143-
self.push_decl(id);
144+
self.push_decl(id, false);
144145
}
145146
ModuleDefId::TypeAliasId(id) => {
146-
self.push_decl(id);
147+
self.push_decl(id, false);
147148
}
148149
ModuleDefId::MacroId(id) => match id {
149-
MacroId::Macro2Id(id) => self.push_decl(id),
150-
MacroId::MacroRulesId(id) => self.push_decl(id),
151-
MacroId::ProcMacroId(id) => self.push_decl(id),
150+
MacroId::Macro2Id(id) => self.push_decl(id, false),
151+
MacroId::MacroRulesId(id) => self.push_decl(id, false),
152+
MacroId::ProcMacroId(id) => self.push_decl(id, false),
152153
},
153154
// Don't index these.
154155
ModuleDefId::BuiltinType(_) => {}
@@ -190,6 +191,7 @@ impl<'a> SymbolCollector<'a> {
190191
container_name: self.current_container_name.clone(),
191192
loc: dec_loc,
192193
is_alias: false,
194+
is_assoc: false,
193195
});
194196
});
195197
}
@@ -202,9 +204,9 @@ impl<'a> SymbolCollector<'a> {
202204
for &id in id {
203205
if id.module(self.db.upcast()) == module_id {
204206
match id {
205-
MacroId::Macro2Id(id) => self.push_decl(id),
206-
MacroId::MacroRulesId(id) => self.push_decl(id),
207-
MacroId::ProcMacroId(id) => self.push_decl(id),
207+
MacroId::Macro2Id(id) => self.push_decl(id, false),
208+
MacroId::MacroRulesId(id) => self.push_decl(id, false),
209+
MacroId::ProcMacroId(id) => self.push_decl(id, false),
208210
}
209211
}
210212
}
@@ -266,13 +268,13 @@ impl<'a> SymbolCollector<'a> {
266268

267269
fn push_assoc_item(&mut self, assoc_item_id: AssocItemId) {
268270
match assoc_item_id {
269-
AssocItemId::FunctionId(id) => self.push_decl(id),
270-
AssocItemId::ConstId(id) => self.push_decl(id),
271-
AssocItemId::TypeAliasId(id) => self.push_decl(id),
271+
AssocItemId::FunctionId(id) => self.push_decl(id, true),
272+
AssocItemId::ConstId(id) => self.push_decl(id, true),
273+
AssocItemId::TypeAliasId(id) => self.push_decl(id, true),
272274
}
273275
}
274276

275-
fn push_decl<L>(&mut self, id: L)
277+
fn push_decl<L>(&mut self, id: L, is_assoc: bool)
276278
where
277279
L: Lookup + Into<ModuleDefId>,
278280
<L as Lookup>::Data: HasSource,
@@ -296,6 +298,7 @@ impl<'a> SymbolCollector<'a> {
296298
loc: dec_loc.clone(),
297299
container_name: self.current_container_name.clone(),
298300
is_alias: true,
301+
is_assoc,
299302
});
300303
}
301304
}
@@ -306,6 +309,7 @@ impl<'a> SymbolCollector<'a> {
306309
container_name: self.current_container_name.clone(),
307310
loc: dec_loc,
308311
is_alias: false,
312+
is_assoc,
309313
});
310314
}
311315

@@ -331,6 +335,7 @@ impl<'a> SymbolCollector<'a> {
331335
loc: dec_loc.clone(),
332336
container_name: self.current_container_name.clone(),
333337
is_alias: true,
338+
is_assoc: false,
334339
});
335340
}
336341
}
@@ -341,6 +346,7 @@ impl<'a> SymbolCollector<'a> {
341346
container_name: self.current_container_name.clone(),
342347
loc: dec_loc,
343348
is_alias: false,
349+
is_assoc: false,
344350
});
345351
}
346352
}

crates/ide-db/src/items_locator.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
//! The main reason for this module to exist is the fact that project's items and dependencies' items
44
//! are located in different caches, with different APIs.
55
use either::Either;
6-
use hir::{import_map, AsAssocItem, Crate, ItemInNs, Semantics};
6+
use hir::{import_map, Crate, ItemInNs, Semantics};
77
use limit::Limit;
88

99
use crate::{imports::import_assets::NameToImport, symbol_index, RootDatabase};
1010

1111
/// A value to use, when uncertain which limit to pick.
12-
pub static DEFAULT_QUERY_SEARCH_LIMIT: Limit = Limit::new(40);
12+
pub static DEFAULT_QUERY_SEARCH_LIMIT: Limit = Limit::new(100);
1313

1414
pub use import_map::AssocSearchMode;
1515

@@ -101,8 +101,8 @@ fn find_items<'a>(
101101
.into_iter()
102102
.filter(move |candidate| match assoc_item_search {
103103
AssocSearchMode::Include => true,
104-
AssocSearchMode::Exclude => candidate.def.as_assoc_item(db).is_none(),
105-
AssocSearchMode::AssocItemsOnly => candidate.def.as_assoc_item(db).is_some(),
104+
AssocSearchMode::Exclude => !candidate.is_assoc,
105+
AssocSearchMode::AssocItemsOnly => candidate.is_assoc,
106106
})
107107
.map(|local_candidate| match local_candidate.def {
108108
hir::ModuleDef::Macro(macro_def) => ItemInNs::Macros(macro_def),

crates/ide-db/src/symbol_index.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ enum SearchMode {
5050
Prefix,
5151
}
5252

53-
#[derive(Debug)]
53+
#[derive(Debug, Clone)]
5454
pub struct Query {
5555
query: String,
5656
lowercased: String,

crates/ide-db/src/test_data/test_doc_alias.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
},
3737
container_name: None,
3838
is_alias: false,
39+
is_assoc: false,
3940
},
4041
FileSymbol {
4142
name: "Struct",
@@ -65,6 +66,7 @@
6566
},
6667
container_name: None,
6768
is_alias: false,
69+
is_assoc: false,
6870
},
6971
FileSymbol {
7072
name: "mul1",
@@ -94,6 +96,7 @@
9496
},
9597
container_name: None,
9698
is_alias: true,
99+
is_assoc: false,
97100
},
98101
FileSymbol {
99102
name: "mul2",
@@ -123,6 +126,7 @@
123126
},
124127
container_name: None,
125128
is_alias: true,
129+
is_assoc: false,
126130
},
127131
FileSymbol {
128132
name: "s1",
@@ -152,6 +156,7 @@
152156
},
153157
container_name: None,
154158
is_alias: true,
159+
is_assoc: false,
155160
},
156161
FileSymbol {
157162
name: "s1",
@@ -181,6 +186,7 @@
181186
},
182187
container_name: None,
183188
is_alias: true,
189+
is_assoc: false,
184190
},
185191
FileSymbol {
186192
name: "s2",
@@ -210,6 +216,7 @@
210216
},
211217
container_name: None,
212218
is_alias: true,
219+
is_assoc: false,
213220
},
214221
],
215222
),

0 commit comments

Comments
 (0)