Respect LSP goToTypeDefinition server capability

Max Brunsfeld created

Change summary

crates/project/src/lsp_command.rs | 8 ++++++++
1 file changed, 8 insertions(+)

Detailed changes

crates/project/src/lsp_command.rs 🔗

@@ -487,6 +487,14 @@ impl LspCommand for GetTypeDefinition {
     type LspRequest = lsp::request::GotoTypeDefinition;
     type ProtoRequest = proto::GetTypeDefinition;
 
+    fn check_capabilities(&self, capabilities: &ServerCapabilities) -> bool {
+        match &capabilities.type_definition_provider {
+            None => false,
+            Some(lsp::TypeDefinitionProviderCapability::Simple(false)) => false,
+            _ => true,
+        }
+    }
+
     fn to_lsp(
         &self,
         path: &Path,