Enable `yaml-language-server` lookup in PATH (#22036)

Henry Chu and Marshall Bowers created

Release Notes:

- Added support for checking for `yaml-language-server` on the`$PATH`.

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Change summary

crates/languages/src/yaml.rs | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

Detailed changes

crates/languages/src/yaml.rs 🔗

@@ -54,6 +54,22 @@ impl LspAdapter for YamlLspAdapter {
         ) as Box<_>)
     }
 
+    async fn check_if_user_installed(
+        &self,
+        delegate: &dyn LspAdapterDelegate,
+        _: Arc<dyn LanguageToolchainStore>,
+        _: &AsyncAppContext,
+    ) -> Option<LanguageServerBinary> {
+        let path = delegate.which(Self::SERVER_NAME.as_ref()).await?;
+        let env = delegate.shell_env().await;
+
+        Some(LanguageServerBinary {
+            path,
+            env: Some(env),
+            arguments: vec!["--stdio".into()],
+        })
+    }
+
     async fn fetch_server_binary(
         &self,
         latest_version: Box<dyn 'static + Send + Any>,