diff --git a/src/commands/aicommits.ts b/src/commands/aicommits.ts index aa4c1906..99023488 100644 --- a/src/commands/aicommits.ts +++ b/src/commands/aicommits.ts @@ -27,6 +27,7 @@ export default async ( const staged = await getStagedDiff(); if (!staged) { + detectingFiles.stop('Detecting staged files'); throw new KnownError('No staged changes found. Make sure to stage your changes with `git add`.'); } @@ -41,13 +42,17 @@ export default async ( const s = spinner(); s.start('The AI is analyzing your changes'); - const messages = await generateCommitMessage( - config.OPENAI_KEY, - config.locale, - staged.diff, - config.generate, - ); - s.stop('Changes analyzed'); + let messages: string[]; + try { + messages = await generateCommitMessage( + config.OPENAI_KEY, + config.locale, + staged.diff, + config.generate, + ); + } finally { + s.stop('Changes analyzed'); + } if (messages.length === 0) { throw new KnownError('No commit messages were generated. Try again.'); diff --git a/src/commands/prepare-commit-msg-hook.ts b/src/commands/prepare-commit-msg-hook.ts index 7652abd5..57d3ae88 100644 --- a/src/commands/prepare-commit-msg-hook.ts +++ b/src/commands/prepare-commit-msg-hook.ts @@ -34,14 +34,17 @@ export default () => (async () => { const s = spinner(); s.start('The AI is analyzing your changes'); - const messages = await generateCommitMessage( - config.OPENAI_KEY, - config.locale, - staged!.diff, - config.generate, - ); - s.stop('Changes analyzed'); - + let messages: string[]; + try { + messages = await generateCommitMessage( + config.OPENAI_KEY, + config.locale, + staged!.diff, + config.generate, + ); + } finally { + s.stop('Changes analyzed'); + } const hasMultipleMessages = messages.length > 1; let instructions = `# 🤖 AI generated commit${hasMultipleMessages ? 's' : ''}\n`;