feat: add Zed extension release artifact with WSL2 support
The Zed extension now detects Windows via current_platform() and automatically uses `wsl streamd lsp` instead of `streamd lsp`, enabling seamless LSP support when Zed runs on Windows with streamd installed in WSL2. A pre-built zip (extension.toml + extension.wasm) is now built as `zed-extension-zip` and published to every release. The README gains a step-by-step WSL2 installation guide.
This commit is contained in:
parent
ec978590c0
commit
82adb655f1
3 changed files with 55 additions and 6 deletions
|
|
@ -1,4 +1,4 @@
|
|||
use zed_extension_api::{self as zed, Command, LanguageServerId, Result, Worktree};
|
||||
use zed_extension_api::{self as zed, Command, LanguageServerId, Os, Result, Worktree, current_platform};
|
||||
|
||||
struct StreamdExtension;
|
||||
|
||||
|
|
@ -12,11 +12,20 @@ impl zed::Extension for StreamdExtension {
|
|||
_language_server_id: &LanguageServerId,
|
||||
_worktree: &Worktree,
|
||||
) -> Result<Command> {
|
||||
Ok(Command {
|
||||
command: "streamd".into(),
|
||||
args: vec!["lsp".into()],
|
||||
env: vec![],
|
||||
})
|
||||
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![],
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue