Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/context.rs')
-rw-r--r--crates/ide-completion/src/context.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/crates/ide-completion/src/context.rs b/crates/ide-completion/src/context.rs
index d99414fe35..7b145f3c14 100644
--- a/crates/ide-completion/src/context.rs
+++ b/crates/ide-completion/src/context.rs
@@ -443,6 +443,14 @@ impl CompletionContext<'_> {
self.is_visible_impl(&vis, &attrs, item.krate(self.db))
}
+ pub(crate) fn doc_aliases<I>(&self, item: &I) -> Vec<SmolStr>
+ where
+ I: hir::HasAttrs + Copy,
+ {
+ let attrs = item.attrs(self.db);
+ attrs.doc_aliases().collect()
+ }
+
/// Check if an item is `#[doc(hidden)]`.
pub(crate) fn is_item_hidden(&self, item: &hir::ItemInNs) -> bool {
let attrs = item.attrs(self.db);
@@ -507,7 +515,7 @@ impl CompletionContext<'_> {
if self.is_scope_def_hidden(def) {
return;
}
- let doc_aliases = self.doc_aliases(def);
+ let doc_aliases = self.doc_aliases_in_scope(def);
f(name, def, doc_aliases);
});
}
@@ -555,7 +563,7 @@ impl CompletionContext<'_> {
self.krate != defining_crate && attrs.has_doc_hidden()
}
- fn doc_aliases(&self, scope_def: ScopeDef) -> Vec<SmolStr> {
+ pub(crate) fn doc_aliases_in_scope(&self, scope_def: ScopeDef) -> Vec<SmolStr> {
if let Some(attrs) = scope_def.attrs(self.db) {
attrs.doc_aliases().collect()
} else {