diff --git a/packages/opencode/src/cli/cmd/plug.ts b/packages/opencode/src/cli/cmd/plug.ts index 1529e9b71df3..8cf5d23c9fc5 100644 --- a/packages/opencode/src/cli/cmd/plug.ts +++ b/packages/opencode/src/cli/cmd/plug.ts @@ -44,8 +44,23 @@ export type PlugCtx = { directory: string } +function createNonTTYSpinner(): Spin { + return { + start: (msg: string) => { + process.stderr.write(msg + "...") + }, + stop: (msg: string, code?: number) => { + if (code && code !== 0) { + process.stderr.write(" failed\n") + } else { + process.stderr.write(" " + msg + "\n") + } + }, + } +} + const defaultPlugDeps: PlugDeps = { - spinner: () => spinner(), + spinner: () => (process.stdout.isTTY ? spinner() : createNonTTYSpinner()), log: { error: (msg) => log.error(msg), info: (msg) => log.info(msg),