From fabd2f6519ea248f531c3d10dae00980e206d0f6 Mon Sep 17 00:00:00 2001 From: bendtherules Date: Mon, 23 Mar 2026 16:27:39 +0530 Subject: [PATCH] refactor: use shared spinner --- src/core/utils.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/core/utils.ts b/src/core/utils.ts index 7096eaf..bfa168d 100644 --- a/src/core/utils.ts +++ b/src/core/utils.ts @@ -8,6 +8,8 @@ import type { WorktreeInfo, } from "../types"; +let sharedSpinner: Ora | undefined; + const MAX_SUGGESTIONS = 3; const WINDOW_NAME_LIMIT = 24; @@ -35,17 +37,21 @@ export async function runCommand( process.env.NODE_ENV === "test" || process.env.BUN_ENV === "test"; if (options?.mode === "cli" && !isTest) { const msg = options.spinnerMsg || `Running ${parts[0]}...`; - spinner = ora(msg).start(); + if (!sharedSpinner) { + sharedSpinner = ora(msg).start(); + } else { + sharedSpinner.text = msg; + if (!sharedSpinner.isSpinning) { + sharedSpinner.start(); + } + } + spinner = sharedSpinner; } const result = await Bun.$`${parts}`.quiet().nothrow(); if (spinner) { - if (result.exitCode === 0) { - spinner.succeed(); - } else { - spinner.fail(); - } + spinner.stop().clear(); } return {