mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-25 12:33:33 +00:00
status: output all crates a file belongs to
This commit is contained in:
parent
1861654623
commit
a3d06f824b
1 changed files with 17 additions and 17 deletions
|
@ -45,23 +45,23 @@ pub(crate) fn status(db: &RootDatabase, file_id: Option<FileId>) -> String {
|
|||
|
||||
if let Some(file_id) = file_id {
|
||||
format_to!(buf, "\nFile info:\n");
|
||||
let krate = crate::parent_module::crate_for(db, file_id).pop();
|
||||
match krate {
|
||||
Some(krate) => {
|
||||
let crate_graph = db.crate_graph();
|
||||
let display_crate = |krate: CrateId| match &crate_graph[krate].display_name {
|
||||
Some(it) => format!("{}({:?})", it, krate),
|
||||
None => format!("{:?}", krate),
|
||||
};
|
||||
format_to!(buf, "Crate: {}\n", display_crate(krate));
|
||||
let deps = crate_graph[krate]
|
||||
.dependencies
|
||||
.iter()
|
||||
.map(|dep| format!("{}={:?}", dep.name, dep.crate_id))
|
||||
.format(", ");
|
||||
format_to!(buf, "Dependencies: {}\n", deps);
|
||||
}
|
||||
None => format_to!(buf, "Does not belong to any crate"),
|
||||
let crates = crate::parent_module::crate_for(db, file_id);
|
||||
if crates.is_empty() {
|
||||
format_to!(buf, "Does not belong to any crate");
|
||||
}
|
||||
let crate_graph = db.crate_graph();
|
||||
for krate in crates {
|
||||
let display_crate = |krate: CrateId| match &crate_graph[krate].display_name {
|
||||
Some(it) => format!("{}({:?})", it, krate),
|
||||
None => format!("{:?}", krate),
|
||||
};
|
||||
format_to!(buf, "Crate: {}\n", display_crate(krate));
|
||||
let deps = crate_graph[krate]
|
||||
.dependencies
|
||||
.iter()
|
||||
.map(|dep| format!("{}={:?}", dep.name, dep.crate_id))
|
||||
.format(", ");
|
||||
format_to!(buf, "Dependencies: {}\n", deps);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue