aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_lsp_server/src/world.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-12-22 12:56:19 +0000
committerAleksey Kladov <[email protected]>2019-12-22 12:56:19 +0000
commit6acef5a7c088bcc1cdf8a64e28b8f20ddf9dcde7 (patch)
tree816c203dab55a350118f4b53156fbd9d7194e020 /crates/ra_lsp_server/src/world.rs
parent436df298bac711e0a666e9bad1a32afe3ce0c358 (diff)
Don't fire no-op changes after files are saved to disk
Diffstat (limited to 'crates/ra_lsp_server/src/world.rs')
-rw-r--r--crates/ra_lsp_server/src/world.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/ra_lsp_server/src/world.rs b/crates/ra_lsp_server/src/world.rs
index 5e53b0278..79431e7e6 100644
--- a/crates/ra_lsp_server/src/world.rs
+++ b/crates/ra_lsp_server/src/world.rs
@@ -145,10 +145,10 @@ impl WorldState {
145 /// FIXME: better API here 145 /// FIXME: better API here
146 pub fn process_changes( 146 pub fn process_changes(
147 &mut self, 147 &mut self,
148 ) -> Vec<(SourceRootId, Vec<(FileId, RelativePathBuf, Arc<String>)>)> { 148 ) -> Option<Vec<(SourceRootId, Vec<(FileId, RelativePathBuf, Arc<String>)>)>> {
149 let changes = self.vfs.write().commit_changes(); 149 let changes = self.vfs.write().commit_changes();
150 if changes.is_empty() { 150 if changes.is_empty() {
151 return Vec::new(); 151 return None;
152 } 152 }
153 let mut libs = Vec::new(); 153 let mut libs = Vec::new();
154 let mut change = AnalysisChange::new(); 154 let mut change = AnalysisChange::new();
@@ -182,7 +182,7 @@ impl WorldState {
182 } 182 }
183 } 183 }
184 self.analysis_host.apply_change(change); 184 self.analysis_host.apply_change(change);
185 libs 185 Some(libs)
186 } 186 }
187 187
188 pub fn add_lib(&mut self, data: LibraryData) { 188 pub fn add_lib(&mut self, data: LibraryData) {