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,
)
}
}

View file

@ -88,7 +88,7 @@ fn rename_mod(
file_system_edits.push(move_file);
}
}
ModuleSource::Module(..) => {}
ModuleSource::Module(..) | ModuleSource::Block(..) => {}
}
}

View file

@ -96,6 +96,10 @@ impl NameDefinition {
let range = Some(m.syntax().text_range());
res.insert(file_id, range);
}
ModuleSource::Block(b) => {
let range = Some(b.syntax().text_range());
res.insert(file_id, range);
}
ModuleSource::SourceFile(_) => {
res.insert(file_id, None);
res.extend(parent_module.children(db).map(|m| {
@ -137,6 +141,7 @@ impl NameDefinition {
let mut res = FxHashMap::default();
let range = match module_src.value {
ModuleSource::Module(m) => Some(m.syntax().text_range()),
ModuleSource::Block(b) => Some(b.syntax().text_range()),
ModuleSource::SourceFile(_) => None,
};
res.insert(file_id, range);