]> git.lizzy.rs Git - rust.git/blobdiff - crates/rust-analyzer/src/config.rs
Honor client's dynamic registration caps
[rust.git] / crates / rust-analyzer / src / config.rs
index 2d3e25cbf2a1f19411384fc41f5308cdf76e3ac8..27b92a5a9bf47478e06488758518761e0a7712f5 100644 (file)
@@ -334,6 +334,18 @@ pub fn linked_projects(&self) -> Vec<LinkedProject> {
         }
     }
 
+    pub fn did_save_text_document_dynamic_registration(&self) -> bool {
+        let caps =
+            try_or!(self.caps.text_document.as_ref()?.synchronization.clone()?, Default::default());
+        caps.did_save == Some(true) && caps.dynamic_registration == Some(true)
+    }
+    pub fn did_change_watched_files_dynamic_registration(&self) -> bool {
+        try_or!(
+            self.caps.workspace.as_ref()?.did_change_watched_files.as_ref()?.dynamic_registration?,
+            false
+        )
+    }
+
     pub fn location_link(&self) -> bool {
         try_or!(self.caps.text_document.as_ref()?.definition?.link_support?, false)
     }