diff options
Diffstat (limited to 'packages/core/src/utils/editor.ts')
| -rw-r--r-- | packages/core/src/utils/editor.ts | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/packages/core/src/utils/editor.ts b/packages/core/src/utils/editor.ts index 704d1cbb..f22297df 100644 --- a/packages/core/src/utils/editor.ts +++ b/packages/core/src/utils/editor.ts @@ -164,6 +164,7 @@ export async function openDiff( oldPath: string, newPath: string, editor: EditorType, + onEditorClose: () => void, ): Promise<void> { const diffCommand = getDiffCommand(oldPath, newPath, editor); if (!diffCommand) { @@ -206,10 +207,16 @@ export async function openDiff( process.platform === 'win32' ? `${diffCommand.command} ${diffCommand.args.join(' ')}` : `${diffCommand.command} ${diffCommand.args.map((arg) => `"${arg}"`).join(' ')}`; - execSync(command, { - stdio: 'inherit', - encoding: 'utf8', - }); + try { + execSync(command, { + stdio: 'inherit', + encoding: 'utf8', + }); + } catch (e) { + console.error('Error in onEditorClose callback:', e); + } finally { + onEditorClose(); + } break; } |
