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.rs | 12 |
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)) }) |