Fix the hover dash issues

This commit is contained in:
Kirill Bulatov 2020-10-02 21:16:22 +03:00
parent cae2e859ff
commit 99952f3be2
4 changed files with 10 additions and 9 deletions

View file

@ -154,15 +154,15 @@ impl ChangeFixture {
assert!(meta.path.starts_with(&source_root_prefix));
if let Some(krate) = meta.krate {
let crate_name = CrateName::normalize_dashes(&krate);
let crate_id = crate_graph.add_crate_root(
file_id,
meta.edition,
Some(krate.clone()),
Some(crate_name.clone()),
meta.cfg,
meta.env,
Default::default(),
);
let crate_name = CrateName::normalize_dashes(&krate);
let prev = crates.insert(crate_name.clone(), crate_id);
assert!(prev.is_none());
for dep in meta.deps {
@ -187,7 +187,7 @@ impl ChangeFixture {
crate_graph.add_crate_root(
crate_root,
Edition::Edition2018,
Some("test".to_string()),
Some(CrateName::new("test").unwrap()),
default_cfg,
Env::default(),
Default::default(),

View file

@ -130,7 +130,7 @@ pub struct CrateData {
/// The name to display to the end user.
/// This actual crate name can be different in a particular dependent crate
/// or may even be missing for some cases, such as a dummy crate for the code snippet.
pub display_name: Option<String>,
pub display_name: Option<CrateName>,
pub cfg_options: CfgOptions,
pub env: Env,
pub dependencies: Vec<Dependency>,
@ -159,7 +159,7 @@ impl CrateGraph {
&mut self,
file_id: FileId,
edition: Edition,
display_name: Option<String>,
display_name: Option<CrateName>,
cfg_options: CfgOptions,
env: Env,
proc_macro: Vec<(SmolStr, Arc<dyn tt::TokenExpander>)>,

View file

@ -2,7 +2,7 @@
use std::{iter, sync::Arc};
use arrayvec::ArrayVec;
use base_db::{CrateId, Edition, FileId};
use base_db::{CrateId, CrateName, Edition, FileId};
use either::Either;
use hir_def::{
adt::ReprKind,
@ -98,7 +98,7 @@ impl Crate {
db.crate_graph()[self.id].edition
}
pub fn display_name(self, db: &dyn HirDatabase) -> Option<String> {
pub fn display_name(self, db: &dyn HirDatabase) -> Option<CrateName> {
db.crate_graph()[self.id].display_name.clone()
}

View file

@ -411,7 +411,7 @@ impl ProjectWorkspace {
let crate_id = crate_graph.add_crate_root(
file_id,
edition,
Some(cargo[pkg].name.clone()),
Some(CrateName::normalize_dashes(&cargo[pkg].name)),
cfg_options,
env,
proc_macro.clone(),
@ -546,7 +546,8 @@ fn sysroot_to_crate_graph(
let env = Env::default();
let proc_macro = vec![];
let name = sysroot[krate].name.clone();
let name = CrateName::new(&sysroot[krate].name)
.expect("Sysroot crates' names do not contain dashes");
let crate_id = crate_graph.add_crate_root(
file_id,
Edition::Edition2018,