aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src/prime_caches.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-03-05 11:42:04 +0000
committerAleksey Kladov <[email protected]>2020-03-05 12:40:53 +0000
commitfc970d188e9eeca02bc189bbcc0082a0bbf13a57 (patch)
tree304421ba00a3172c94f05b470e2d16c9ffbab1f4 /crates/ra_ide/src/prime_caches.rs
parent94c48980bbe51777c52b1d6154181c875f944616 (diff)
Prime open files on load
Diffstat (limited to 'crates/ra_ide/src/prime_caches.rs')
-rw-r--r--crates/ra_ide/src/prime_caches.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/crates/ra_ide/src/prime_caches.rs b/crates/ra_ide/src/prime_caches.rs
new file mode 100644
index 000000000..628c989bf
--- /dev/null
+++ b/crates/ra_ide/src/prime_caches.rs
@@ -0,0 +1,15 @@
1//! rust-analyzer is lazy and doesn't not compute anything unless asked. This
2//! sometimes is counter productive when, for example, the first goto definition
3//! request takes longer to compute. This modules implemented prepopulating of
4//! various caches, it's not really advanced at the moment.
5
6use hir::Semantics;
7
8use crate::{FileId, RootDatabase};
9
10pub(crate) fn prime_caches(db: &RootDatabase, files: Vec<FileId>) {
11 let sema = Semantics::new(db);
12 for file in files {
13 let _ = sema.to_module_def(file);
14 }
15}