Properly query remote ssh server for language servers by name (#28124)

Kirill Bulatov created

Follow-up of https://github.com/zed-industries/zed/pull/27775

Release Notes:

- N/A

Change summary

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

Detailed changes

crates/project/src/project.rs 🔗

@@ -4746,6 +4746,20 @@ impl Project {
                 let response = request.await.log_err()?;
                 response.server_id.map(LanguageServerId::from_proto)
             })
+        } else if let Some(ssh_client) = self.ssh_client.as_ref() {
+            let request =
+                ssh_client
+                    .read(cx)
+                    .proto_client()
+                    .request(proto::LanguageServerIdForName {
+                        project_id: SSH_PROJECT_ID,
+                        buffer_id: buffer.remote_id().to_proto(),
+                        name: name.to_string(),
+                    });
+            cx.background_spawn(async move {
+                let response = request.await.log_err()?;
+                response.server_id.map(LanguageServerId::from_proto)
+            })
         } else {
             Task::ready(None)
         }