use ra_db::{
salsa::{Database, Durability, SweepStrategy},
- CrateGraph, FileId, RelativePathBuf, SourceDatabase, SourceDatabaseExt, SourceRoot,
- SourceRootId,
+ CrateGraph, FileId, SourceDatabase, SourceDatabaseExt, SourceRoot, SourceRootId,
};
use ra_prof::{memory_usage, profile, Bytes};
use rustc_hash::FxHashSet;
#[derive(Debug)]
struct AddFile {
file_id: FileId,
- path: RelativePathBuf,
+ path: String,
text: Arc<String>,
}
#[derive(Debug)]
struct RemoveFile {
file_id: FileId,
- path: RelativePathBuf,
+ path: String,
}
#[derive(Default)]
hir::db::BodyQuery.in_db(self).sweep(sweep);
}
+ // Feature: Memory Usage
+ //
+ // Clears rust-analyzer's internal database and prints memory usage statistics.
+ //
+ // |===
+ // | Editor | Action Name
+ //
+ // | VS Code | **Rust Analyzer: Memory Usage (Clears Database)**
+ // |===
pub fn per_query_memory_usage(&mut self) -> Vec<(String, Bytes)> {
let mut acc: Vec<(String, Bytes)> = vec![];
let sweep = SweepStrategy::default().discard_values().sweep_all_revisions();