Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/project_model/src/workspace.rs')
-rw-r--r--crates/project_model/src/workspace.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/crates/project_model/src/workspace.rs b/crates/project_model/src/workspace.rs
index 2fc88bf505..0335f8b174 100644
--- a/crates/project_model/src/workspace.rs
+++ b/crates/project_model/src/workspace.rs
@@ -6,7 +6,8 @@ use std::{collections::VecDeque, fmt, fs, process::Command};
use anyhow::{format_err, Context, Result};
use base_db::{
- CrateDisplayName, CrateGraph, CrateId, CrateName, Dependency, Edition, Env, FileId, ProcMacro,
+ CrateDisplayName, CrateGraph, CrateId, CrateName, CrateOrigin, Dependency, Edition, Env,
+ FileId, ProcMacro,
};
use cfg::{CfgDiff, CfgOptions};
use paths::{AbsPath, AbsPathBuf};
@@ -473,6 +474,11 @@ fn project_json_to_crate_graph(
cfg_options,
env,
proc_macro.unwrap_or_default(),
+ if krate.display_name.is_some() {
+ CrateOrigin::CratesIo { repo: krate.repository.clone() }
+ } else {
+ CrateOrigin::Unknown
+ },
),
)
})
@@ -681,6 +687,7 @@ fn detached_files_to_crate_graph(
cfg_options.clone(),
Env::default(),
Vec::new(),
+ CrateOrigin::Unknown,
);
public_deps.add(detached_file_crate, &mut crate_graph);
@@ -821,7 +828,6 @@ fn add_target_crate_root(
.iter()
.map(|feat| CfgFlag::KeyValue { key: "feature".into(), value: feat.0.into() }),
);
-
crate_graph.add_crate_root(
file_id,
edition,
@@ -831,6 +837,7 @@ fn add_target_crate_root(
potential_cfg_options,
env,
proc_macro,
+ CrateOrigin::CratesIo { repo: pkg.repository.clone() },
)
}
@@ -874,6 +881,7 @@ fn sysroot_to_crate_graph(
cfg_options.clone(),
env,
proc_macro,
+ CrateOrigin::Lang,
);
Some((krate, crate_id))
})