mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
Expose version string of crates fom HIR
This commit is contained in:
parent
b9fa37f5b4
commit
52f5af7165
8 changed files with 111 additions and 1 deletions
|
@ -29,6 +29,7 @@ pub struct Crate {
|
|||
pub(crate) display_name: Option<CrateDisplayName>,
|
||||
pub(crate) root_module: AbsPathBuf,
|
||||
pub(crate) edition: Edition,
|
||||
pub(crate) version: Option<String>,
|
||||
pub(crate) deps: Vec<Dependency>,
|
||||
pub(crate) cfg: Vec<CfgFlag>,
|
||||
pub(crate) target: Option<String>,
|
||||
|
@ -80,6 +81,7 @@ impl ProjectJson {
|
|||
.map(CrateDisplayName::from_canonical_name),
|
||||
root_module,
|
||||
edition: crate_data.edition.into(),
|
||||
version: crate_data.version.as_ref().map(ToString::to_string),
|
||||
deps: crate_data
|
||||
.deps
|
||||
.into_iter()
|
||||
|
@ -127,6 +129,8 @@ struct CrateData {
|
|||
display_name: Option<String>,
|
||||
root_module: PathBuf,
|
||||
edition: EditionData,
|
||||
#[serde(default)]
|
||||
version: Option<semver::Version>,
|
||||
deps: Vec<DepData>,
|
||||
#[serde(default)]
|
||||
cfg: Vec<CfgFlag>,
|
||||
|
|
|
@ -121,6 +121,9 @@ fn cargo_hello_world_project_model_with_wildcard_overrides() {
|
|||
1,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -178,6 +181,9 @@ fn cargo_hello_world_project_model_with_wildcard_overrides() {
|
|||
6,
|
||||
),
|
||||
edition: Edition2015,
|
||||
version: Some(
|
||||
"0.2.98",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -244,6 +250,9 @@ fn cargo_hello_world_project_model_with_wildcard_overrides() {
|
|||
3,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -310,6 +319,9 @@ fn cargo_hello_world_project_model_with_wildcard_overrides() {
|
|||
5,
|
||||
),
|
||||
edition: Edition2015,
|
||||
version: Some(
|
||||
"0.2.98",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -366,6 +378,9 @@ fn cargo_hello_world_project_model_with_wildcard_overrides() {
|
|||
2,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -432,6 +447,9 @@ fn cargo_hello_world_project_model_with_wildcard_overrides() {
|
|||
7,
|
||||
),
|
||||
edition: Edition2015,
|
||||
version: Some(
|
||||
"0.2.98",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -488,6 +506,9 @@ fn cargo_hello_world_project_model_with_wildcard_overrides() {
|
|||
4,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -576,6 +597,9 @@ fn cargo_hello_world_project_model_with_selective_overrides() {
|
|||
1,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -635,6 +659,9 @@ fn cargo_hello_world_project_model_with_selective_overrides() {
|
|||
6,
|
||||
),
|
||||
edition: Edition2015,
|
||||
version: Some(
|
||||
"0.2.98",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -701,6 +728,9 @@ fn cargo_hello_world_project_model_with_selective_overrides() {
|
|||
3,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -769,6 +799,9 @@ fn cargo_hello_world_project_model_with_selective_overrides() {
|
|||
5,
|
||||
),
|
||||
edition: Edition2015,
|
||||
version: Some(
|
||||
"0.2.98",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -825,6 +858,9 @@ fn cargo_hello_world_project_model_with_selective_overrides() {
|
|||
2,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -893,6 +929,9 @@ fn cargo_hello_world_project_model_with_selective_overrides() {
|
|||
7,
|
||||
),
|
||||
edition: Edition2015,
|
||||
version: Some(
|
||||
"0.2.98",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -949,6 +988,9 @@ fn cargo_hello_world_project_model_with_selective_overrides() {
|
|||
4,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1030,6 +1072,9 @@ fn cargo_hello_world_project_model() {
|
|||
1,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1089,6 +1134,9 @@ fn cargo_hello_world_project_model() {
|
|||
6,
|
||||
),
|
||||
edition: Edition2015,
|
||||
version: Some(
|
||||
"0.2.98",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1157,6 +1205,9 @@ fn cargo_hello_world_project_model() {
|
|||
3,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1225,6 +1276,9 @@ fn cargo_hello_world_project_model() {
|
|||
5,
|
||||
),
|
||||
edition: Edition2015,
|
||||
version: Some(
|
||||
"0.2.98",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1283,6 +1337,9 @@ fn cargo_hello_world_project_model() {
|
|||
2,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1351,6 +1408,9 @@ fn cargo_hello_world_project_model() {
|
|||
7,
|
||||
),
|
||||
edition: Edition2015,
|
||||
version: Some(
|
||||
"0.2.98",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1409,6 +1469,9 @@ fn cargo_hello_world_project_model() {
|
|||
4,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: Some(
|
||||
"0.1.0",
|
||||
),
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1490,6 +1553,7 @@ fn rust_project_hello_world_project_model() {
|
|||
1,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1527,6 +1591,7 @@ fn rust_project_hello_world_project_model() {
|
|||
11,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1554,6 +1619,7 @@ fn rust_project_hello_world_project_model() {
|
|||
8,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1581,6 +1647,7 @@ fn rust_project_hello_world_project_model() {
|
|||
5,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1618,6 +1685,7 @@ fn rust_project_hello_world_project_model() {
|
|||
2,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1645,6 +1713,7 @@ fn rust_project_hello_world_project_model() {
|
|||
12,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1709,6 +1778,7 @@ fn rust_project_hello_world_project_model() {
|
|||
9,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1736,6 +1806,7 @@ fn rust_project_hello_world_project_model() {
|
|||
6,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1763,6 +1834,7 @@ fn rust_project_hello_world_project_model() {
|
|||
3,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1790,6 +1862,7 @@ fn rust_project_hello_world_project_model() {
|
|||
10,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1817,6 +1890,7 @@ fn rust_project_hello_world_project_model() {
|
|||
7,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
@ -1926,6 +2000,7 @@ fn rust_project_hello_world_project_model() {
|
|||
4,
|
||||
),
|
||||
edition: Edition2018,
|
||||
version: None,
|
||||
display_name: Some(
|
||||
CrateDisplayName {
|
||||
crate_name: CrateName(
|
||||
|
|
|
@ -468,6 +468,7 @@ fn project_json_to_crate_graph(
|
|||
file_id,
|
||||
krate.edition,
|
||||
krate.display_name.clone(),
|
||||
krate.version.clone(),
|
||||
cfg_options.clone(),
|
||||
cfg_options,
|
||||
env,
|
||||
|
@ -675,6 +676,7 @@ fn detached_files_to_crate_graph(
|
|||
file_id,
|
||||
Edition::CURRENT,
|
||||
display_name,
|
||||
None,
|
||||
cfg_options.clone(),
|
||||
cfg_options.clone(),
|
||||
Env::default(),
|
||||
|
@ -824,6 +826,7 @@ fn add_target_crate_root(
|
|||
file_id,
|
||||
edition,
|
||||
Some(display_name),
|
||||
Some(pkg.version.to_string()),
|
||||
cfg_options,
|
||||
potential_cfg_options,
|
||||
env,
|
||||
|
@ -866,6 +869,7 @@ fn sysroot_to_crate_graph(
|
|||
file_id,
|
||||
Edition::CURRENT,
|
||||
Some(display_name),
|
||||
None,
|
||||
cfg_options.clone(),
|
||||
cfg_options.clone(),
|
||||
env,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue