summaryrefslogtreecommitdiff
path: root/packages/core/src/utils/editor.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/core/src/utils/editor.ts')
-rw-r--r--packages/core/src/utils/editor.ts15
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;
}