Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/base-db/src/change.rs')
| -rw-r--r-- | crates/base-db/src/change.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/crates/base-db/src/change.rs b/crates/base-db/src/change.rs index b5964ff5b4..114b4cbf24 100644 --- a/crates/base-db/src/change.rs +++ b/crates/base-db/src/change.rs @@ -55,7 +55,7 @@ impl FileChange { if let Some(roots) = self.roots { for (idx, root) in roots.into_iter().enumerate() { let root_id = SourceRootId(idx as u32); - let durability = durability(&root); + let durability = source_root_durability(&root); for file_id in root.iter() { db.set_file_source_root_with_durability(file_id, root_id, durability); } @@ -68,7 +68,7 @@ impl FileChange { let source_root_id = db.file_source_root(file_id); let source_root = db.source_root(source_root_id.source_root_id(db)); - let durability = durability(&source_root.source_root(db)); + let durability = file_text_durability(&source_root.source_root(db)); // XXX: can't actually remove the file, just reset the text let text = text.unwrap_or_default(); db.set_file_text_with_durability(file_id, &text, durability) @@ -81,6 +81,10 @@ impl FileChange { } } -fn durability(source_root: &SourceRoot) -> Durability { +fn source_root_durability(source_root: &SourceRoot) -> Durability { + if source_root.is_library { Durability::MEDIUM } else { Durability::LOW } +} + +fn file_text_durability(source_root: &SourceRoot) -> Durability { if source_root.is_library { Durability::HIGH } else { Durability::LOW } } |