From 7c26e93b21b4970d24c5ceb0aa1e8b399d75f277 Mon Sep 17 00:00:00 2001 From: atomai Date: Sat, 14 Apr 2018 20:03:55 -0400 Subject: [PATCH] Automatically navigate to the next merge conflict upon resolving a merge conflict --- extensions/merge-conflict/package.json | 5 +++++ extensions/merge-conflict/package.nls.json | 3 ++- extensions/merge-conflict/src/commandHandler.ts | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/extensions/merge-conflict/package.json b/extensions/merge-conflict/package.json index f58bb6f2a90..4a72d5b35cf 100644 --- a/extensions/merge-conflict/package.json +++ b/extensions/merge-conflict/package.json @@ -95,6 +95,11 @@ "type": "boolean", "description": "%config.decoratorsEnabled%", "default": true + }, + "merge-conflict.autoNavigateNextConflict.enabled": { + "type": "boolean", + "description": "%config.autoNavigateNextConflictEnabled%", + "default": true } } } diff --git a/extensions/merge-conflict/package.nls.json b/extensions/merge-conflict/package.nls.json index 66076bd7a87..8237d4c01b0 100644 --- a/extensions/merge-conflict/package.nls.json +++ b/extensions/merge-conflict/package.nls.json @@ -14,5 +14,6 @@ "command.compare": "Compare Current Conflict", "config.title": "Merge Conflict", "config.codeLensEnabled": "Enable/disable merge conflict block CodeLens within editor", - "config.decoratorsEnabled": "Enable/disable merge conflict decorators within editor" + "config.decoratorsEnabled": "Enable/disable merge conflict decorators within editor", + "config.autoNavigateNextConflictEnabled": "Enable/disable automatic navigation between merge conflicts within editor when resolving conflicts" } \ No newline at end of file diff --git a/extensions/merge-conflict/src/commandHandler.ts b/extensions/merge-conflict/src/commandHandler.ts index 1a737cfaf3f..a736080896c 100644 --- a/extensions/merge-conflict/src/commandHandler.ts +++ b/extensions/merge-conflict/src/commandHandler.ts @@ -196,6 +196,13 @@ export default class CommandHandler implements vscode.Disposable { // Tracker can forget as we know we are going to do an edit this.tracker.forget(editor.document); conflict.commitEdit(type, editor); + + // navigate to the next merge conflict + const mergeConflictConfig = vscode.workspace.getConfiguration('merge-conflict'); + if (mergeConflictConfig.get('autoNavigateNextConflict.enabled')) { + this.navigateNext(editor); + } + } private async acceptAll(type: interfaces.CommitType, editor: vscode.TextEditor): Promise {