diff --git a/crates/editor/src/hover_links.rs b/crates/editor/src/hover_links.rs index b5c53831ce..910415f313 100644 --- a/crates/editor/src/hover_links.rs +++ b/crates/editor/src/hover_links.rs @@ -786,6 +786,7 @@ mod tests { let mut cx = EditorLspTestContext::new_rust( lsp::ServerCapabilities { hover_provider: Some(lsp::HoverProviderCapability::Simple(true)), + definition_provider: Some(lsp::OneOf::Left(true)), ..Default::default() }, cx, diff --git a/crates/project/src/lsp_command.rs b/crates/project/src/lsp_command.rs index 6d6f787507..593298f5d4 100644 --- a/crates/project/src/lsp_command.rs +++ b/crates/project/src/lsp_command.rs @@ -427,6 +427,13 @@ impl LspCommand for GetDefinition { type LspRequest = lsp::request::GotoDefinition; type ProtoRequest = proto::GetDefinition; + fn check_capabilities(&self, capabilities: AdapterServerCapabilities) -> bool { + capabilities + .server_capabilities + .definition_provider + .is_some() + } + fn to_lsp( &self, path: &Path,