Add ModuleSource::Block

This commit is contained in:
ice1000
2019-12-03 15:24:02 -05:00
parent 7cbedc50bc
commit 38853459e3
9 changed files with 102 additions and 100 deletions

View File

@@ -231,34 +231,21 @@ impl ToNav for hir::Module {
fn to_nav(&self, db: &RootDatabase) -> NavigationTarget {
let src = self.definition_source(db);
let name = self.name(db).map(|it| it.to_string().into()).unwrap_or_default();
match &src.value {
ModuleSource::SourceFile(node) => {
let frange = original_range(db, src.with_value(node.syntax()));
NavigationTarget::from_syntax(
frange.file_id,
name,
None,
frange.range,
node.syntax().kind(),
None,
None,
)
}
ModuleSource::Module(node) => {
let frange = original_range(db, src.with_value(node.syntax()));
NavigationTarget::from_syntax(
frange.file_id,
name,
None,
frange.range,
node.syntax().kind(),
node.doc_comment_text(),
node.short_label(),
)
}
}
let syntax = match &src.value {
ModuleSource::SourceFile(node) => node.syntax(),
ModuleSource::Module(node) => node.syntax(),
ModuleSource::Block(node) => node.syntax(),
};
let frange = original_range(db, src.with_value(syntax));
NavigationTarget::from_syntax(
frange.file_id,
name,
None,
frange.range,
syntax.kind(),
None,
None,
)
}
}