]> git.lizzy.rs Git - rust.git/commitdiff
remove overlay removes overlay
authorAleksey Kladov <aleksey.kladov@gmail.com>
Sun, 17 Feb 2019 17:58:28 +0000 (20:58 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Sun, 17 Feb 2019 17:58:28 +0000 (20:58 +0300)
crates/ra_vfs/src/lib.rs

index ddbc38163d4dcaab770a5cc9146ca3062a36cd04..7e45f0a7387c80e7f57b8c6920e747f5fd47e6a4 100644 (file)
@@ -143,7 +143,7 @@ pub fn remove_file_overlay(&mut self, path: &Path) -> Option<VfsFile> {
         let file = file.expect("can't remove a file which wasn't added");
         let full_path = rel_path.to_path(&self.roots.path(root));
         if let Ok(text) = fs::read_to_string(&full_path) {
-            self.do_change_file(file, text, true);
+            self.do_change_file(file, text, false);
         } else {
             self.do_remove_file(root, rel_path, file);
         }
@@ -183,11 +183,11 @@ pub fn handle_task(&mut self, task: io::TaskResult) {
                 self.pending_changes.push(change);
             }
             TaskResult::SingleFile { root, path, text } => {
-                let file = self.find_file(root, &path);
-                if file.map(|file| self.files[file].is_overlayed) == Some(true) {
+                let existing_file = self.find_file(root, &path);
+                if existing_file.map(|file| self.files[file].is_overlayed) == Some(true) {
                     return;
                 }
-                match (file, text) {
+                match (existing_file, text) {
                     (Some(file), None) => {
                         self.do_remove_file(root, path, file);
                     }