summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src/cli.ts
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-27 09:45:00 -0600
committerGitHub <[email protected]>2026-02-27 09:45:00 -0600
commit6ef3af73dfa1c72bb2001c86d898f2edf8ea4b10 (patch)
tree845adb9ccc47884a0f102a59cb887bd17a51a75c /packages/desktop/src/cli.ts
parente5ae6c51b0d2f5dececd16970250aa2ab6c71a2f (diff)
downloadopencode-6ef3af73dfa1c72bb2001c86d898f2edf8ea4b10.tar.gz
opencode-6ef3af73dfa1c72bb2001c86d898f2edf8ea4b10.zip
chore(app): i18n sync (#15362)
Diffstat (limited to 'packages/desktop/src/cli.ts')
-rw-r--r--packages/desktop/src/cli.ts30
1 files changed, 29 insertions, 1 deletions
diff --git a/packages/desktop/src/cli.ts b/packages/desktop/src/cli.ts
index 28623bdf7..49e47534f 100644
--- a/packages/desktop/src/cli.ts
+++ b/packages/desktop/src/cli.ts
@@ -3,6 +3,32 @@ import { message } from "@tauri-apps/plugin-dialog"
import { initI18n, t } from "./i18n"
import { commands } from "./bindings"
+function installError(error: unknown) {
+ const text = String(error)
+ if (text.includes("CLI installation is only supported on macOS & Linux")) {
+ return t("desktop.cli.error.unsupportedPlatform")
+ }
+ if (text.includes("Sidecar binary not found")) {
+ return t("desktop.cli.error.sidecarMissing")
+ }
+ if (text.includes("Failed to write install script")) {
+ return t("desktop.cli.error.scriptWriteFailed")
+ }
+ if (text.includes("Failed to set script permissions")) {
+ return t("desktop.cli.error.scriptPermissionFailed")
+ }
+ if (text.includes("Failed to run install script")) {
+ return t("desktop.cli.error.scriptRunFailed")
+ }
+ if (text.includes("Install script failed")) {
+ return t("desktop.cli.error.scriptFailed")
+ }
+ if (text.includes("Could not determine install path")) {
+ return t("desktop.cli.error.installPathUnknown")
+ }
+ return text || t("desktop.cli.error.unknown")
+}
+
export async function installCli(): Promise<void> {
await initI18n()
@@ -10,6 +36,8 @@ export async function installCli(): Promise<void> {
const path = await commands.installCli()
await message(t("desktop.cli.installed.message", { path }), { title: t("desktop.cli.installed.title") })
} catch (e) {
- await message(t("desktop.cli.failed.message", { error: String(e) }), { title: t("desktop.cli.failed.title") })
+ await message(t("desktop.cli.failed.message", { error: installError(e) }), {
+ title: t("desktop.cli.failed.title"),
+ })
}
}