mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 12:29:21 +00:00
minor: Simplify
This commit is contained in:
parent
f5229cebb2
commit
88e297e47d
6 changed files with 20 additions and 25 deletions
|
@ -293,7 +293,7 @@ fn broken_link_clone_cb<'a>(link: BrokenLink<'a>) -> Option<(CowStr<'a>, CowStr<
|
|||
fn get_doc_link(db: &RootDatabase, def: Definition) -> Option<String> {
|
||||
let (target, file, frag) = filename_and_frag_for_def(db, def)?;
|
||||
|
||||
let krate = crate_of_def(db, target)?;
|
||||
let krate = target.krate(db)?;
|
||||
let mut url = get_doc_base_url(db, krate)?;
|
||||
|
||||
if let Some(path) = mod_path_of_def(db, target) {
|
||||
|
@ -315,7 +315,7 @@ fn rewrite_intra_doc_link(
|
|||
let (link, ns) = parse_intra_doc_link(target);
|
||||
|
||||
let resolved = resolve_doc_path_for_def(db, def, link, ns)?;
|
||||
let krate = crate_of_def(db, resolved)?;
|
||||
let krate = resolved.krate(db)?;
|
||||
let mut url = get_doc_base_url(db, krate)?;
|
||||
|
||||
let (_, file, frag) = filename_and_frag_for_def(db, resolved)?;
|
||||
|
@ -335,7 +335,7 @@ fn rewrite_url_link(db: &RootDatabase, def: Definition, target: &str) -> Option<
|
|||
return None;
|
||||
}
|
||||
|
||||
let krate = crate_of_def(db, def)?;
|
||||
let krate = def.krate(db)?;
|
||||
let mut url = get_doc_base_url(db, krate)?;
|
||||
let (def, file, frag) = filename_and_frag_for_def(db, def)?;
|
||||
|
||||
|
@ -348,15 +348,6 @@ fn rewrite_url_link(db: &RootDatabase, def: Definition, target: &str) -> Option<
|
|||
url.join(target).ok().map(Into::into)
|
||||
}
|
||||
|
||||
fn crate_of_def(db: &RootDatabase, def: Definition) -> Option<Crate> {
|
||||
let krate = match def {
|
||||
// Definition::module gives back the parent module, we don't want that as it fails for root modules
|
||||
Definition::Module(module) => module.krate(),
|
||||
def => def.module(db)?.krate(),
|
||||
};
|
||||
Some(krate)
|
||||
}
|
||||
|
||||
fn mod_path_of_def(db: &RootDatabase, def: Definition) -> Option<String> {
|
||||
def.canonical_module_path(db).map(|it| {
|
||||
let mut path = String::new();
|
||||
|
|
|
@ -466,10 +466,7 @@ fn highlight_def(sema: &Semantics<RootDatabase>, krate: hir::Crate, def: Definit
|
|||
Definition::ToolModule(_) => Highlight::new(HlTag::Symbol(SymbolKind::ToolModule)),
|
||||
};
|
||||
|
||||
let def_crate = def.module(db).map(hir::Module::krate).or_else(|| match def {
|
||||
Definition::Module(module) => Some(module.krate()),
|
||||
_ => None,
|
||||
});
|
||||
let def_crate = def.krate(db);
|
||||
let is_from_other_crate = def_crate != Some(krate);
|
||||
let is_from_builtin_crate = def_crate.map_or(false, |def_crate| def_crate.is_builtin(db));
|
||||
let is_builtin_type = matches!(def, Definition::BuiltinType(_));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue