Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #16883 - Veykril:progress-report, r=Veykril
minor: Do progress reporting for crate-graph construction Also fixes https://github.com/rust-lang/rust-analyzer/issues/16828
bors 2024-03-19
parent 4de0204 · parent 232125b · commit c626db0
-rw-r--r--crates/rust-analyzer/src/main_loop.rs6
-rw-r--r--crates/rust-analyzer/src/reload.rs14
2 files changed, 17 insertions, 3 deletions
diff --git a/crates/rust-analyzer/src/main_loop.rs b/crates/rust-analyzer/src/main_loop.rs
index 00e82b5c28..945d169a69 100644
--- a/crates/rust-analyzer/src/main_loop.rs
+++ b/crates/rust-analyzer/src/main_loop.rs
@@ -653,7 +653,7 @@ impl GlobalState {
};
if let Some(state) = state {
- self.report_progress("Building", state, msg, None, None);
+ self.report_progress("Building build-artifacts", state, msg, None, None);
}
}
Task::LoadProcMacros(progress) => {
@@ -669,7 +669,7 @@ impl GlobalState {
};
if let Some(state) = state {
- self.report_progress("Loading", state, msg, None, None);
+ self.report_progress("Loading proc-macros", state, msg, None, None);
}
}
Task::BuildDepsHaveChanged => self.build_deps_changed = true,
@@ -861,7 +861,7 @@ impl GlobalState {
let title = if self.flycheck.len() == 1 {
format!("{}", self.config.flycheck())
} else {
- format!("cargo check (#{})", id + 1)
+ format!("{} (#{})", self.config.flycheck(), id + 1)
};
self.report_progress(
&title,
diff --git a/crates/rust-analyzer/src/reload.rs b/crates/rust-analyzer/src/reload.rs
index c2725e1fad..ff7958feae 100644
--- a/crates/rust-analyzer/src/reload.rs
+++ b/crates/rust-analyzer/src/reload.rs
@@ -526,6 +526,13 @@ impl GlobalState {
// crate graph construction relies on these paths, record them so when one of them gets
// deleted or created we trigger a reconstruction of the crate graph
let mut crate_graph_file_dependencies = FxHashSet::default();
+ self.report_progress(
+ "Building CrateGraph",
+ crate::lsp::utils::Progress::Begin,
+ None,
+ None,
+ None,
+ );
let (crate_graph, proc_macro_paths, layouts, toolchains) = {
// Create crate graph from all the workspaces
@@ -564,6 +571,13 @@ impl GlobalState {
change.set_toolchains(toolchains);
self.analysis_host.apply_change(change);
self.crate_graph_file_dependencies = crate_graph_file_dependencies;
+ self.report_progress(
+ "Building CrateGraph",
+ crate::lsp::utils::Progress::End,
+ None,
+ None,
+ None,
+ );
self.process_changes();
self.reload_flycheck();