Skip to content

Commit 8c0ff5c

Browse files
authored
1 parent 934940b commit 8c0ff5c

File tree

4 files changed

+27
-21
lines changed

4 files changed

+27
-21
lines changed

src/vs/workbench/contrib/mergeEditor/browser/commands/commands.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -213,14 +213,14 @@ export class OpenResultResource extends MergeEditorAction {
213213
}
214214
}
215215

216-
export class GoToNextConflict extends MergeEditorAction {
216+
export class GoToNextUnhandledConflict extends MergeEditorAction {
217217
constructor() {
218218
super({
219-
id: 'merge.goToNextConflict',
219+
id: 'merge.goToNextUnhandledConflict',
220220
category: mergeEditorCategory,
221221
title: {
222-
value: localize('merge.goToNextConflict', 'Go to Next Conflict'),
223-
original: 'Go to Next Conflict',
222+
value: localize('merge.goToNextUnhandledConflict', 'Go to Next Unhandled Conflict'),
223+
original: 'Go to Next Unhandled Conflict',
224224
},
225225
icon: Codicon.arrowDown,
226226
menu: [
@@ -237,21 +237,21 @@ export class GoToNextConflict extends MergeEditorAction {
237237
}
238238

239239
override runWithViewModel(viewModel: MergeEditorViewModel): void {
240-
viewModel.goToNextModifiedBaseRange(true);
240+
viewModel.goToNextModifiedBaseRange(r => !viewModel.model.isHandled(r).get());
241241
}
242242
}
243243

244-
export class GoToPreviousConflict extends MergeEditorAction {
244+
export class GoToPreviousUnhandledConflict extends MergeEditorAction {
245245
constructor() {
246246
super({
247-
id: 'merge.goToPreviousConflict',
247+
id: 'merge.goToPreviousUnhandledConflict',
248248
category: mergeEditorCategory,
249249
title: {
250250
value: localize(
251-
'merge.goToPreviousConflict',
252-
'Go to Previous Conflict'
251+
'merge.goToPreviousUnhandledConflict',
252+
'Go to Previous Unhandled Conflict'
253253
),
254-
original: 'Go to Previous Conflict',
254+
original: 'Go to Previous Unhandled Conflict',
255255
},
256256
icon: Codicon.arrowUp,
257257
menu: [
@@ -268,7 +268,7 @@ export class GoToPreviousConflict extends MergeEditorAction {
268268
}
269269

270270
override runWithViewModel(viewModel: MergeEditorViewModel): void {
271-
viewModel.goToPreviousModifiedBaseRange(true);
271+
viewModel.goToPreviousModifiedBaseRange(r => !viewModel.model.isHandled(r).get());
272272
}
273273
}
274274

src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { Registry } from 'vs/platform/registry/common/platform';
1111
import { EditorPaneDescriptor, IEditorPaneRegistry } from 'vs/workbench/browser/editor';
1212
import { Extensions as WorkbenchExtensions, IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions';
1313
import { EditorExtensions, IEditorFactoryRegistry } from 'vs/workbench/common/editor';
14-
import { AcceptAllInput1, AcceptAllInput2, CompareInput1WithBaseCommand, CompareInput2WithBaseCommand, GoToNextConflict, GoToPreviousConflict, OpenBaseFile, OpenMergeEditor, OpenResultResource, SetColumnLayout, SetMixedLayout, ToggleActiveConflictInput1, ToggleActiveConflictInput2 } from 'vs/workbench/contrib/mergeEditor/browser/commands/commands';
14+
import { AcceptAllInput1, AcceptAllInput2, CompareInput1WithBaseCommand, CompareInput2WithBaseCommand, GoToNextUnhandledConflict, GoToPreviousUnhandledConflict, OpenBaseFile, OpenMergeEditor, OpenResultResource, SetColumnLayout, SetMixedLayout, ToggleActiveConflictInput1, ToggleActiveConflictInput2 } from 'vs/workbench/contrib/mergeEditor/browser/commands/commands';
1515
import { MergeEditorInput } from 'vs/workbench/contrib/mergeEditor/browser/mergeEditorInput';
1616
import { MergeEditor, MergeEditorResolverContribution, MergeEditorOpenHandlerContribution } from 'vs/workbench/contrib/mergeEditor/browser/view/mergeEditor';
1717
import { LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle';
@@ -53,8 +53,8 @@ registerAction2(SetColumnLayout);
5353
registerAction2(OpenMergeEditor);
5454
registerAction2(OpenBaseFile);
5555

56-
registerAction2(GoToNextConflict);
57-
registerAction2(GoToPreviousConflict);
56+
registerAction2(GoToNextUnhandledConflict);
57+
registerAction2(GoToPreviousUnhandledConflict);
5858

5959
registerAction2(ToggleActiveConflictInput1);
6060
registerAction2(ToggleActiveConflictInput2);

src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,18 @@ export class MergeMarkersController extends Disposable {
5454
const startLine = model!.getLineContent(b.lineRange.startLineNumber).substring(0, 20);
5555
const endLine = model!.getLineContent(b.lineRange.endLineNumberExclusive - 1).substring(0, 20);
5656

57+
const conflictingLinesCount = b.lineRange.lineCount - 2;
58+
5759
const domNode = h('div', [
5860
h('div.conflict-zone-root', [
5961
h('pre', [startLine]),
6062
h('span.dots', ['...']),
6163
h('pre', [endLine]),
62-
h('span.text', [nls.localize('conflictingLines', "Conflicting Lines")]),
64+
h('span.text', [
65+
conflictingLinesCount === 1
66+
? nls.localize('conflictingLine', "1 Conflicting Line")
67+
: nls.localize('conflictingLines', "{0} Conflicting Lines", conflictingLinesCount)
68+
]),
6369
]),
6470
]).root;
6571
this.viewZoneIds.push(c.addZone({

src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,34 +104,34 @@ export class MergeEditorViewModel {
104104
}
105105
}
106106

107-
public goToNextModifiedBaseRange(onlyConflicting: boolean): void {
107+
public goToNextModifiedBaseRange(predicate: (m: ModifiedBaseRange) => boolean): void {
108108
this.goToConflict(
109109
(e, l) =>
110110
this.model.modifiedBaseRanges
111111
.get()
112112
.find(
113113
(r) =>
114-
(!onlyConflicting || r.isConflicting) &&
114+
predicate(r) &&
115115
this.getRange(e, r, undefined).startLineNumber > l
116116
) ||
117117
this.model.modifiedBaseRanges
118118
.get()
119-
.find((r) => !onlyConflicting || r.isConflicting)
119+
.find((r) => predicate(r))
120120
);
121121
}
122122

123-
public goToPreviousModifiedBaseRange(onlyConflicting: boolean): void {
123+
public goToPreviousModifiedBaseRange(predicate: (m: ModifiedBaseRange) => boolean): void {
124124
this.goToConflict(
125125
(e, l) =>
126126
findLast(
127127
this.model.modifiedBaseRanges.get(),
128128
(r) =>
129-
(!onlyConflicting || r.isConflicting) &&
129+
predicate(r) &&
130130
this.getRange(e, r, undefined).endLineNumberExclusive < l
131131
) ||
132132
findLast(
133133
this.model.modifiedBaseRanges.get(),
134-
(r) => !onlyConflicting || r.isConflicting
134+
(r) => predicate(r)
135135
)
136136
);
137137
}

0 commit comments

Comments
 (0)