about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChayim Refael Friedman <chayimfr@gmail.com>2025-05-06 10:29:53 +0300
committerChayim Refael Friedman <chayimfr@gmail.com>2025-05-06 10:29:53 +0300
commitbce6763cca5caba6baff36eef28a7241b39e245e (patch)
tree56df9aeda403995aaeb4a74ada55a57ba4bfd088
parent6fa168ac25c21d5b4ea9112a1b52aef071c836e7 (diff)
downloadrust-bce6763cca5caba6baff36eef28a7241b39e245e.tar.gz
rust-bce6763cca5caba6baff36eef28a7241b39e245e.zip
Notify the user that we're collecting symbols
It could be confusing if they see "Indexing n/n" but cache priming does not finish.
-rw-r--r--src/tools/rust-analyzer/crates/ide-db/src/prime_caches.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/tools/rust-analyzer/crates/ide-db/src/prime_caches.rs b/src/tools/rust-analyzer/crates/ide-db/src/prime_caches.rs
index 22ba48a205e..5356614dce5 100644
--- a/src/tools/rust-analyzer/crates/ide-db/src/prime_caches.rs
+++ b/src/tools/rust-analyzer/crates/ide-db/src/prime_caches.rs
@@ -202,7 +202,7 @@ pub fn parallel_prime_caches(
                     crates_currently_indexing: vec![],
                     crates_done: crate_def_maps_done,
                     crates_total: crate_def_maps_done,
-                    work_type: "Indexing",
+                    work_type: "Done",
                 });
                 return;
             }
@@ -226,6 +226,15 @@ pub fn parallel_prime_caches(
                     }
                 }
 
+                if crate_def_maps_done == crate_def_maps_total {
+                    cb(ParallelPrimeCachesProgress {
+                        crates_currently_indexing: vec![],
+                        crates_done: crate_def_maps_done,
+                        crates_total: crate_def_maps_done,
+                        work_type: "Collecting Symbols",
+                    });
+                }
+
                 let origin = &crate_id.data(db).origin;
                 if origin.is_lang() {
                     crate_import_maps_total += 1;