use zed_extension_api::{self as zed, Command, LanguageServerId, Os, Result, Worktree, current_platform}; struct StreamdExtension; impl zed::Extension for StreamdExtension { fn new() -> Self { StreamdExtension } fn language_server_command( &mut self, _language_server_id: &LanguageServerId, _worktree: &Worktree, ) -> Result { let (os, _) = current_platform(); if os == Os::Windows { Ok(Command { command: "wsl".into(), args: vec!["streamd".into(), "lsp".into()], env: vec![], }) } else { Ok(Command { command: "streamd".into(), args: vec!["lsp".into()], env: vec![], }) } } } zed::register_extension!(StreamdExtension);