summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src-tauri
diff options
context:
space:
mode:
authorBrendan Allan <[email protected]>2026-01-21 20:15:19 +0800
committerBrendan Allan <[email protected]>2026-01-21 20:15:19 +0800
commitab705bbc31b0a630243c015aa9ea4750caa42737 (patch)
tree952b7c272a240ef43bd0fb919b55bc346aa419f4 /packages/desktop/src-tauri
parente237f06c96ec1b8076756a47ee1761bb853b5954 (diff)
downloadopencode-ab705bbc31b0a630243c015aa9ea4750caa42737.tar.gz
opencode-ab705bbc31b0a630243c015aa9ea4750caa42737.zip
fix(desktop): add workaround for nushell
Diffstat (limited to 'packages/desktop/src-tauri')
-rw-r--r--packages/desktop/src-tauri/src/cli.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/packages/desktop/src-tauri/src/cli.rs b/packages/desktop/src-tauri/src/cli.rs
index 2fd26dd01..b019d66b5 100644
--- a/packages/desktop/src-tauri/src/cli.rs
+++ b/packages/desktop/src-tauri/src/cli.rs
@@ -1,5 +1,5 @@
-use tauri::{path::BaseDirectory, AppHandle, Manager};
-use tauri_plugin_shell::{process::Command, ShellExt};
+use tauri::{AppHandle, Manager, path::BaseDirectory};
+use tauri_plugin_shell::{ShellExt, process::Command};
const CLI_INSTALL_DIR: &str = ".opencode/bin";
const CLI_BINARY_NAME: &str = "opencode";
@@ -164,11 +164,18 @@ pub fn create_command(app: &tauri::AppHandle, args: &str) -> Command {
return {
let sidecar = get_sidecar_path(app);
let shell = get_user_shell();
+
+ let cmd = if shell.ends_with("/nu") {
+ format!("^\"{}\" {}", sidecar.display(), args)
+ } else {
+ format!("\"{}\" {}", sidecar.display(), args)
+ };
+
app.shell()
.command(&shell)
.env("OPENCODE_EXPERIMENTAL_ICON_DISCOVERY", "true")
.env("OPENCODE_CLIENT", "desktop")
.env("XDG_STATE_HOME", &state_dir)
- .args(["-il", "-c", &format!("\"{}\" {}", sidecar.display(), args)])
+ .args(["-il", "-c", &cmd])
};
}