Merge #7503
7503: Return inner attributes of outline mod declarations in `attrs_query` r=jonas-schievink a=Veykril Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
This commit is contained in:
commit
1a59f75cda
@ -200,7 +200,15 @@ pub(crate) fn attrs_query(db: &dyn DefDatabase, def: AttrDefId) -> Attrs {
|
||||
let mod_data = &def_map[module.local_id];
|
||||
match mod_data.declaration_source(db) {
|
||||
Some(it) => {
|
||||
RawAttrs::from_attrs_owner(db, it.as_ref().map(|it| it as &dyn AttrsOwner))
|
||||
let raw_attrs = RawAttrs::from_attrs_owner(
|
||||
db,
|
||||
it.as_ref().map(|it| it as &dyn AttrsOwner),
|
||||
);
|
||||
match mod_data.definition_source(db) {
|
||||
InFile { file_id, value: ModuleSource::SourceFile(file) } => raw_attrs
|
||||
.merge(RawAttrs::from_attrs_owner(db, InFile::new(file_id, &file))),
|
||||
_ => raw_attrs,
|
||||
}
|
||||
}
|
||||
None => RawAttrs::from_attrs_owner(
|
||||
db,
|
||||
|
@ -3444,4 +3444,20 @@ impl<const LEN: usize> Foo<LEN$0> {}
|
||||
"#]],
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn hover_mod_def() {
|
||||
check(
|
||||
r#"
|
||||
//- /main.rs
|
||||
mod foo$0;
|
||||
//- /foo.rs
|
||||
//! For the horde!
|
||||
"#,
|
||||
expect![[r#"
|
||||
*foo*
|
||||
For the horde!
|
||||
"#]],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user