@theia/scm 1.64.0-next.28 → 1.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/decorations/scm-decorations-service.d.ts.map +1 -1
- package/lib/browser/decorations/scm-decorations-service.js +19 -1
- package/lib/browser/decorations/scm-decorations-service.js.map +1 -1
- package/lib/browser/merge-editor/merge-editor-contribution.d.ts +34 -0
- package/lib/browser/merge-editor/merge-editor-contribution.d.ts.map +1 -0
- package/lib/browser/merge-editor/merge-editor-contribution.js +335 -0
- package/lib/browser/merge-editor/merge-editor-contribution.js.map +1 -0
- package/lib/browser/merge-editor/merge-editor-dev-contribution.d.ts +31 -0
- package/lib/browser/merge-editor/merge-editor-dev-contribution.d.ts.map +1 -0
- package/lib/browser/merge-editor/merge-editor-dev-contribution.js +151 -0
- package/lib/browser/merge-editor/merge-editor-dev-contribution.js.map +1 -0
- package/lib/browser/merge-editor/merge-editor-module.d.ts +24 -0
- package/lib/browser/merge-editor/merge-editor-module.d.ts.map +1 -0
- package/lib/browser/merge-editor/merge-editor-module.js +109 -0
- package/lib/browser/merge-editor/merge-editor-module.js.map +1 -0
- package/lib/browser/merge-editor/merge-editor.d.ts +122 -0
- package/lib/browser/merge-editor/merge-editor.d.ts.map +1 -0
- package/lib/browser/merge-editor/merge-editor.js +560 -0
- package/lib/browser/merge-editor/merge-editor.js.map +1 -0
- package/lib/browser/merge-editor/model/line-range.d.ts +37 -0
- package/lib/browser/merge-editor/model/line-range.d.ts.map +1 -0
- package/lib/browser/merge-editor/model/line-range.js +111 -0
- package/lib/browser/merge-editor/model/line-range.js.map +1 -0
- package/lib/browser/merge-editor/model/live-diff.d.ts +26 -0
- package/lib/browser/merge-editor/model/live-diff.d.ts.map +1 -0
- package/lib/browser/merge-editor/model/live-diff.js +85 -0
- package/lib/browser/merge-editor/model/live-diff.js.map +1 -0
- package/lib/browser/merge-editor/model/merge-editor-model.d.ts +116 -0
- package/lib/browser/merge-editor/model/merge-editor-model.d.ts.map +1 -0
- package/lib/browser/merge-editor/model/merge-editor-model.js +507 -0
- package/lib/browser/merge-editor/model/merge-editor-model.js.map +1 -0
- package/lib/browser/merge-editor/model/merge-range.d.ts +50 -0
- package/lib/browser/merge-editor/model/merge-range.d.ts.map +1 -0
- package/lib/browser/merge-editor/model/merge-range.js +215 -0
- package/lib/browser/merge-editor/model/merge-range.js.map +1 -0
- package/lib/browser/merge-editor/model/range-editing.d.ts +21 -0
- package/lib/browser/merge-editor/model/range-editing.d.ts.map +1 -0
- package/lib/browser/merge-editor/model/range-editing.js +68 -0
- package/lib/browser/merge-editor/model/range-editing.js.map +1 -0
- package/lib/browser/merge-editor/model/range-mapping.d.ts +106 -0
- package/lib/browser/merge-editor/model/range-mapping.d.ts.map +1 -0
- package/lib/browser/merge-editor/model/range-mapping.js +252 -0
- package/lib/browser/merge-editor/model/range-mapping.js.map +1 -0
- package/lib/browser/merge-editor/model/range-mapping.spec.d.ts +2 -0
- package/lib/browser/merge-editor/model/range-mapping.spec.d.ts.map +1 -0
- package/lib/browser/merge-editor/model/range-mapping.spec.js +48 -0
- package/lib/browser/merge-editor/model/range-mapping.spec.js.map +1 -0
- package/lib/browser/merge-editor/model/range-utils.d.ts +25 -0
- package/lib/browser/merge-editor/model/range-utils.d.ts.map +1 -0
- package/lib/browser/merge-editor/model/range-utils.js +118 -0
- package/lib/browser/merge-editor/model/range-utils.js.map +1 -0
- package/lib/browser/merge-editor/view/diff-spacers.d.ts +50 -0
- package/lib/browser/merge-editor/view/diff-spacers.d.ts.map +1 -0
- package/lib/browser/merge-editor/view/diff-spacers.js +133 -0
- package/lib/browser/merge-editor/view/diff-spacers.js.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/index.d.ts +6 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/index.d.ts.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/index.js +24 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/index.js.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.d.ts +12 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.d.ts.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.js +65 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.js.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.d.ts +30 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.d.ts.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js +102 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.js.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.d.ts +49 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.d.ts.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.js +214 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.js.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts +16 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.d.ts.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js +107 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.js.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts +27 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.d.ts.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js +135 -0
- package/lib/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.js.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.d.ts +20 -0
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.d.ts.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.js +218 -0
- package/lib/browser/merge-editor/view/merge-editor-scroll-sync.js.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-view-zones.d.ts +57 -0
- package/lib/browser/merge-editor/view/merge-editor-view-zones.d.ts.map +1 -0
- package/lib/browser/merge-editor/view/merge-editor-view-zones.js +218 -0
- package/lib/browser/merge-editor/view/merge-editor-view-zones.js.map +1 -0
- package/lib/browser/merge-editor/view/merge-range-actions.d.ts +23 -0
- package/lib/browser/merge-editor/view/merge-range-actions.d.ts.map +1 -0
- package/lib/browser/merge-editor/view/merge-range-actions.js +142 -0
- package/lib/browser/merge-editor/view/merge-range-actions.js.map +1 -0
- package/lib/browser/scm-colors.d.ts +2 -0
- package/lib/browser/scm-colors.d.ts.map +1 -1
- package/lib/browser/scm-colors.js +2 -0
- package/lib/browser/scm-colors.js.map +1 -1
- package/lib/browser/scm-frontend-module.d.ts.map +1 -1
- package/lib/browser/scm-frontend-module.js +2 -0
- package/lib/browser/scm-frontend-module.js.map +1 -1
- package/package.json +7 -7
- package/src/browser/decorations/scm-decorations-service.ts +18 -1
- package/src/browser/merge-editor/merge-editor-contribution.ts +346 -0
- package/src/browser/merge-editor/merge-editor-dev-contribution.ts +154 -0
- package/src/browser/merge-editor/merge-editor-module.ts +134 -0
- package/src/browser/merge-editor/merge-editor.ts +643 -0
- package/src/browser/merge-editor/model/line-range.ts +128 -0
- package/src/browser/merge-editor/model/live-diff.ts +111 -0
- package/src/browser/merge-editor/model/merge-editor-model.ts +623 -0
- package/src/browser/merge-editor/model/merge-range.ts +268 -0
- package/src/browser/merge-editor/model/range-editing.ts +81 -0
- package/src/browser/merge-editor/model/range-mapping.spec.ts +52 -0
- package/src/browser/merge-editor/model/range-mapping.ts +396 -0
- package/src/browser/merge-editor/model/range-utils.ts +115 -0
- package/src/browser/merge-editor/view/diff-spacers.ts +160 -0
- package/src/browser/merge-editor/view/merge-editor-panes/index.ts +21 -0
- package/src/browser/merge-editor/view/merge-editor-panes/merge-editor-base-pane.ts +71 -0
- package/src/browser/merge-editor/view/merge-editor-panes/merge-editor-pane-header.tsx +106 -0
- package/src/browser/merge-editor/view/merge-editor-panes/merge-editor-pane.ts +246 -0
- package/src/browser/merge-editor/view/merge-editor-panes/merge-editor-result-pane.ts +115 -0
- package/src/browser/merge-editor/view/merge-editor-panes/merge-editor-side-pane.ts +139 -0
- package/src/browser/merge-editor/view/merge-editor-scroll-sync.ts +241 -0
- package/src/browser/merge-editor/view/merge-editor-view-zones.ts +264 -0
- package/src/browser/merge-editor/view/merge-range-actions.ts +159 -0
- package/src/browser/scm-colors.ts +2 -0
- package/src/browser/scm-frontend-module.ts +4 -0
- package/src/browser/style/merge-editor.css +221 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2025 1C-Soft LLC and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
/*---------------------------------------------------------------------------------------------
|
|
18
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
19
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
20
|
+
*--------------------------------------------------------------------------------------------*/
|
|
21
|
+
// copied and modified from https://github.com/microsoft/vscode/blob/1.96.3/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.ts
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.MergeRangeActions = void 0;
|
|
24
|
+
const observable_1 = require("@theia/core/lib/common/observable");
|
|
25
|
+
const merge_range_1 = require("../model/merge-range");
|
|
26
|
+
const core_1 = require("@theia/core");
|
|
27
|
+
class MergeRangeActions {
|
|
28
|
+
get hasSideActions() { return this.hasSideActionsObservable.get(); }
|
|
29
|
+
get hasResultActions() { return this.hasResultActionsObservable.get(); }
|
|
30
|
+
constructor(mergeEditor, mergeRange) {
|
|
31
|
+
this.mergeEditor = mergeEditor;
|
|
32
|
+
this.mergeRange = mergeRange;
|
|
33
|
+
this.side1ActionsObservable = observable_1.DerivedObservable.create(() => this.getActionsForSide(1));
|
|
34
|
+
this.side2ActionsObservable = observable_1.DerivedObservable.create(() => this.getActionsForSide(2));
|
|
35
|
+
this.resultActionsObservable = observable_1.DerivedObservable.create(() => this.getResultActions());
|
|
36
|
+
this.hasSideActionsObservable = observable_1.DerivedObservable.create(() => this.side1ActionsObservable.get().length + this.side2ActionsObservable.get().length > 0);
|
|
37
|
+
this.hasResultActionsObservable = observable_1.DerivedObservable.create(() => this.resultActionsObservable.get().length > 0);
|
|
38
|
+
}
|
|
39
|
+
getActionsForSide(side) {
|
|
40
|
+
const { mergeEditor, mergeRange } = this;
|
|
41
|
+
const { model, side1Title, side2Title } = mergeEditor;
|
|
42
|
+
if (!model.hasMergeRange(mergeRange)) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
const result = [];
|
|
46
|
+
const sideTitle = side === 1 ? side1Title : side2Title;
|
|
47
|
+
const state = model.getMergeRangeResultState(mergeRange);
|
|
48
|
+
if (state !== 'Unrecognized' && !state.includes('Side' + side)) {
|
|
49
|
+
if (state !== 'Base' || mergeRange.getChanges(side).length) {
|
|
50
|
+
result.push({
|
|
51
|
+
text: core_1.nls.localizeByDefault('Accept {0}', sideTitle),
|
|
52
|
+
tooltip: core_1.nls.localizeByDefault('Accept {0} in the result document.', sideTitle),
|
|
53
|
+
run: () => this.applyMergeRangeAcceptedState(mergeRange, merge_range_1.MergeRangeAcceptedState.addSide(state, side))
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
if (mergeRange.canBeSmartCombined(side)) {
|
|
57
|
+
result.push({
|
|
58
|
+
text: mergeRange.isSmartCombinationOrderRelevant ?
|
|
59
|
+
core_1.nls.localizeByDefault('Accept Combination ({0} First)', sideTitle) :
|
|
60
|
+
core_1.nls.localizeByDefault('Accept Combination'),
|
|
61
|
+
tooltip: core_1.nls.localizeByDefault('Accept an automatic combination of both sides in the result document.'),
|
|
62
|
+
run: () => this.applyMergeRangeAcceptedState(mergeRange, merge_range_1.MergeRangeAcceptedState.addSide(side === 1 ? 'Side1' : 'Side2', side === 1 ? 2 : 1, { smartCombination: true }))
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
getResultActions() {
|
|
69
|
+
const { mergeEditor, mergeRange } = this;
|
|
70
|
+
const { model, side1Title, side2Title } = mergeEditor;
|
|
71
|
+
if (!model.hasMergeRange(mergeRange)) {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
const result = [];
|
|
75
|
+
const state = model.getMergeRangeResultState(mergeRange);
|
|
76
|
+
if (state === 'Unrecognized') {
|
|
77
|
+
result.push({
|
|
78
|
+
text: core_1.nls.localizeByDefault('Manual Resolution'),
|
|
79
|
+
tooltip: core_1.nls.localizeByDefault('This conflict has been resolved manually.')
|
|
80
|
+
});
|
|
81
|
+
result.push({
|
|
82
|
+
text: core_1.nls.localizeByDefault('Reset to base'),
|
|
83
|
+
tooltip: core_1.nls.localizeByDefault('Reset this conflict to the common ancestor of both the right and left changes.'),
|
|
84
|
+
run: () => this.applyMergeRangeAcceptedState(mergeRange, 'Base')
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
else if (state === 'Base') {
|
|
88
|
+
result.push({
|
|
89
|
+
text: core_1.nls.localizeByDefault('No Changes Accepted'),
|
|
90
|
+
tooltip: core_1.nls.localizeByDefault('The current resolution of this conflict equals the common ancestor of both the right and left changes.')
|
|
91
|
+
});
|
|
92
|
+
if (!model.isMergeRangeHandled(mergeRange)) {
|
|
93
|
+
result.push({
|
|
94
|
+
text: core_1.nls.localizeByDefault('Mark as Handled'),
|
|
95
|
+
run: () => this.applyMergeRangeAcceptedState(mergeRange, state)
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
const labels = [];
|
|
101
|
+
const stateToggles = [];
|
|
102
|
+
if (state.includes('Side1')) {
|
|
103
|
+
labels.push(side1Title);
|
|
104
|
+
stateToggles.push({
|
|
105
|
+
text: core_1.nls.localizeByDefault('Remove {0}', side1Title),
|
|
106
|
+
tooltip: core_1.nls.localizeByDefault('Remove {0} from the result document.', side1Title),
|
|
107
|
+
run: () => this.applyMergeRangeAcceptedState(mergeRange, merge_range_1.MergeRangeAcceptedState.removeSide(state, 1))
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
if (state.includes('Side2')) {
|
|
111
|
+
labels.push(side2Title);
|
|
112
|
+
stateToggles.push({
|
|
113
|
+
text: core_1.nls.localizeByDefault('Remove {0}', side2Title),
|
|
114
|
+
tooltip: core_1.nls.localizeByDefault('Remove {0} from the result document.', side2Title),
|
|
115
|
+
run: () => this.applyMergeRangeAcceptedState(mergeRange, merge_range_1.MergeRangeAcceptedState.removeSide(state, 2))
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
if (state.startsWith('Side2')) {
|
|
119
|
+
labels.reverse();
|
|
120
|
+
stateToggles.reverse();
|
|
121
|
+
}
|
|
122
|
+
if (labels.length) {
|
|
123
|
+
result.push({
|
|
124
|
+
text: labels.join(' + ')
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
result.push(...stateToggles);
|
|
128
|
+
}
|
|
129
|
+
return result;
|
|
130
|
+
}
|
|
131
|
+
async applyMergeRangeAcceptedState(mergeRange, state) {
|
|
132
|
+
const { model, resultPane } = this.mergeEditor;
|
|
133
|
+
resultPane.activate();
|
|
134
|
+
await observable_1.ObservableUtils.waitForState(model.isUpToDateObservable);
|
|
135
|
+
resultPane.goToMergeRange(mergeRange, { reveal: false }); // set the cursor state that will be restored when undoing the operation
|
|
136
|
+
model.applyMergeRangeAcceptedState(mergeRange, state);
|
|
137
|
+
await observable_1.ObservableUtils.waitForState(model.isUpToDateObservable);
|
|
138
|
+
resultPane.goToMergeRange(mergeRange, { reveal: false }); // set the resulting cursor state
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.MergeRangeActions = MergeRangeActions;
|
|
142
|
+
//# sourceMappingURL=merge-range-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-range-actions.js","sourceRoot":"","sources":["../../../../src/browser/merge-editor/view/merge-range-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,7 @@ export declare namespace ScmColors {
|
|
|
2
2
|
const editorGutterModifiedBackground = "editorGutter.modifiedBackground";
|
|
3
3
|
const editorGutterAddedBackground = "editorGutter.addedBackground";
|
|
4
4
|
const editorGutterDeletedBackground = "editorGutter.deletedBackground";
|
|
5
|
+
const handledConflictMinimapOverviewRulerColor = "mergeEditor.conflict.handled.minimapOverViewRuler";
|
|
6
|
+
const unhandledConflictMinimapOverviewRulerColor = "mergeEditor.conflict.unhandled.minimapOverViewRuler";
|
|
5
7
|
}
|
|
6
8
|
//# sourceMappingURL=scm-colors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-colors.d.ts","sourceRoot":"","sources":["../../src/browser/scm-colors.ts"],"names":[],"mappings":"AAgBA,yBAAiB,SAAS,CAAC;IAChB,MAAM,8BAA8B,oCAAoC,CAAC;IACzE,MAAM,2BAA2B,iCAAiC,CAAC;IACnE,MAAM,6BAA6B,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"scm-colors.d.ts","sourceRoot":"","sources":["../../src/browser/scm-colors.ts"],"names":[],"mappings":"AAgBA,yBAAiB,SAAS,CAAC;IAChB,MAAM,8BAA8B,oCAAoC,CAAC;IACzE,MAAM,2BAA2B,iCAAiC,CAAC;IACnE,MAAM,6BAA6B,mCAAmC,CAAC;IACvE,MAAM,wCAAwC,sDAAsD,CAAC;IACrG,MAAM,0CAA0C,wDAAwD,CAAC;CACnH"}
|
|
@@ -21,5 +21,7 @@ var ScmColors;
|
|
|
21
21
|
ScmColors.editorGutterModifiedBackground = 'editorGutter.modifiedBackground';
|
|
22
22
|
ScmColors.editorGutterAddedBackground = 'editorGutter.addedBackground';
|
|
23
23
|
ScmColors.editorGutterDeletedBackground = 'editorGutter.deletedBackground';
|
|
24
|
+
ScmColors.handledConflictMinimapOverviewRulerColor = 'mergeEditor.conflict.handled.minimapOverViewRuler';
|
|
25
|
+
ScmColors.unhandledConflictMinimapOverviewRulerColor = 'mergeEditor.conflict.unhandled.minimapOverViewRuler';
|
|
24
26
|
})(ScmColors || (exports.ScmColors = ScmColors = {}));
|
|
25
27
|
//# sourceMappingURL=scm-colors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-colors.js","sourceRoot":"","sources":["../../src/browser/scm-colors.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,IAAiB,SAAS,
|
|
1
|
+
{"version":3,"file":"scm-colors.js","sourceRoot":"","sources":["../../src/browser/scm-colors.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,IAAiB,SAAS,CAMzB;AAND,WAAiB,SAAS;IACT,wCAA8B,GAAG,iCAAiC,CAAC;IACnE,qCAA2B,GAAG,8BAA8B,CAAC;IAC7D,uCAA6B,GAAG,gCAAgC,CAAC;IACjE,kDAAwC,GAAG,mDAAmD,CAAC;IAC/F,oDAA0C,GAAG,qDAAqD,CAAC;AACpH,CAAC,EANgB,SAAS,yBAAT,SAAS,QAMzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/scm-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"scm-frontend-module.d.ts","sourceRoot":"","sources":["../../src/browser/scm-frontend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,mCAAmC,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;;AA+BtF,wBA6EG;AAEH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAiB9E;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAKhF"}
|
|
@@ -41,6 +41,7 @@ const label_provider_1 = require("@theia/core/lib/browser/label-provider");
|
|
|
41
41
|
const scm_preferences_1 = require("./scm-preferences");
|
|
42
42
|
const scm_tab_bar_decorator_1 = require("./decorations/scm-tab-bar-decorator");
|
|
43
43
|
const tab_bar_decorator_1 = require("@theia/core/lib/browser/shell/tab-bar-decorator");
|
|
44
|
+
const merge_editor_module_1 = require("./merge-editor/merge-editor-module");
|
|
44
45
|
exports.default = new inversify_1.ContainerModule(bind => {
|
|
45
46
|
bind(scm_context_key_service_1.ScmContextKeyService).toSelf().inSingletonScope();
|
|
46
47
|
bind(scm_service_1.ScmService).toSelf().inSingletonScope();
|
|
@@ -103,6 +104,7 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
103
104
|
(0, scm_preferences_1.bindScmPreferences)(bind);
|
|
104
105
|
bind(scm_tab_bar_decorator_1.ScmTabBarDecorator).toSelf().inSingletonScope();
|
|
105
106
|
bind(tab_bar_decorator_1.TabBarDecorator).toService(scm_tab_bar_decorator_1.ScmTabBarDecorator);
|
|
107
|
+
(0, merge_editor_module_1.bindMergeEditor)(bind);
|
|
106
108
|
});
|
|
107
109
|
function createScmTreeContainer(parent) {
|
|
108
110
|
const child = (0, browser_1.createTreeContainer)(parent, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm-frontend-module.js","sourceRoot":"","sources":["../../src/browser/scm-frontend-module.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scm-frontend-module.js","sourceRoot":"","sources":["../../src/browser/scm-frontend-module.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/scm",
|
|
3
|
-
"version": "1.64.0
|
|
3
|
+
"version": "1.64.0",
|
|
4
4
|
"description": "Theia - Source control Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.64.0
|
|
7
|
-
"@theia/editor": "1.64.0
|
|
8
|
-
"@theia/filesystem": "1.64.0
|
|
9
|
-
"@theia/monaco": "1.64.0
|
|
6
|
+
"@theia/core": "1.64.0",
|
|
7
|
+
"@theia/editor": "1.64.0",
|
|
8
|
+
"@theia/filesystem": "1.64.0",
|
|
9
|
+
"@theia/monaco": "1.64.0",
|
|
10
10
|
"@theia/monaco-editor-core": "1.96.302",
|
|
11
11
|
"@types/diff": "^5.2.1",
|
|
12
12
|
"diff": "^5.2.0",
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
"watch": "theiaext watch"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@theia/ext-scripts": "1.
|
|
52
|
+
"@theia/ext-scripts": "1.64.0"
|
|
53
53
|
},
|
|
54
54
|
"nyc": {
|
|
55
55
|
"extends": "../../configs/nyc.json"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "4c074e0d16c48e96a044b2f8bc4717de2e031c4b"
|
|
58
58
|
}
|
|
@@ -52,6 +52,17 @@ export class ScmDecorationsService {
|
|
|
52
52
|
updateTask();
|
|
53
53
|
}
|
|
54
54
|
}));
|
|
55
|
+
if (editor.onShouldDisplayDirtyDiffChanged) {
|
|
56
|
+
toDispose.push(editor.onShouldDisplayDirtyDiffChanged(shouldDisplayDirtyDiff => {
|
|
57
|
+
if (shouldDisplayDirtyDiff) {
|
|
58
|
+
updateTask();
|
|
59
|
+
} else {
|
|
60
|
+
const update: DirtyDiffUpdate = { editor, changes: [] };
|
|
61
|
+
this.decorator.applyDecorations(update);
|
|
62
|
+
this.onDirtyDiffUpdateEmitter.fire(update);
|
|
63
|
+
}
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
55
66
|
editorWidget.disposed.connect(() => {
|
|
56
67
|
updateTask.cancel();
|
|
57
68
|
updateTasks.delete(editorWidget);
|
|
@@ -72,6 +83,9 @@ export class ScmDecorationsService {
|
|
|
72
83
|
}
|
|
73
84
|
|
|
74
85
|
async applyEditorDecorations(editor: TextEditor): Promise<void> {
|
|
86
|
+
if (!editor.shouldDisplayDirtyDiff()) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
75
89
|
const currentRepo = this.scmService.selectedRepository;
|
|
76
90
|
if (currentRepo) {
|
|
77
91
|
try {
|
|
@@ -82,6 +96,9 @@ export class ScmDecorationsService {
|
|
|
82
96
|
const previousResource = await this.resourceProvider(uri);
|
|
83
97
|
try {
|
|
84
98
|
const previousContent = await previousResource.readContents();
|
|
99
|
+
if (!editor.shouldDisplayDirtyDiff()) { // check again; it might have changed in the meantime, since this is an async method
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
85
102
|
const previousLines = ContentLines.fromString(previousContent);
|
|
86
103
|
const currentLines = ContentLines.fromTextEditorDocument(editor.document);
|
|
87
104
|
const dirtyDiff = this.diffComputer.computeDirtyDiff(ContentLines.arrayLike(previousLines), ContentLines.arrayLike(currentLines));
|
|
@@ -98,7 +115,7 @@ export class ScmDecorationsService {
|
|
|
98
115
|
}
|
|
99
116
|
|
|
100
117
|
protected supportsDirtyDiff(editor: TextEditor): boolean {
|
|
101
|
-
return editor.shouldDisplayDirtyDiff();
|
|
118
|
+
return editor.shouldDisplayDirtyDiff() || !!editor.onShouldDisplayDirtyDiffChanged;
|
|
102
119
|
}
|
|
103
120
|
|
|
104
121
|
protected createUpdateTask(editor: TextEditor): { (): void; cancel(): void; } {
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2025 1C-Soft LLC and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
18
|
+
import { Command, CommandContribution, CommandRegistry, MenuContribution, MenuModelRegistry, nls } from '@theia/core';
|
|
19
|
+
import { TabBarToolbarContribution, TabBarToolbarRegistry } from '@theia/core/lib/browser/shell/tab-bar-toolbar';
|
|
20
|
+
import {
|
|
21
|
+
ApplicationShell,
|
|
22
|
+
codicon,
|
|
23
|
+
ConfirmDialog,
|
|
24
|
+
FrontendApplicationContribution,
|
|
25
|
+
KeybindingContribution,
|
|
26
|
+
KeybindingRegistry,
|
|
27
|
+
LabelProvider
|
|
28
|
+
} from '@theia/core/lib/browser';
|
|
29
|
+
import { ColorContribution } from '@theia/core/lib/browser/color-application-contribution';
|
|
30
|
+
import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
|
|
31
|
+
import { Color } from '@theia/core/lib/common/color';
|
|
32
|
+
import { ScmColors } from '../scm-colors';
|
|
33
|
+
import { MergeEditor, MergeEditorSettings } from './merge-editor';
|
|
34
|
+
|
|
35
|
+
export namespace MergeEditorCommands {
|
|
36
|
+
export const MERGE_EDITOR_CATEGORY = 'Merge Editor';
|
|
37
|
+
export const ACCEPT_MERGE = Command.toDefaultLocalizedCommand({
|
|
38
|
+
id: 'mergeEditor.acceptMerge', // don't change: this is an API command
|
|
39
|
+
label: 'Complete Merge',
|
|
40
|
+
category: MERGE_EDITOR_CATEGORY
|
|
41
|
+
});
|
|
42
|
+
export const GO_TO_NEXT_UNHANDLED_CONFLICT = Command.toDefaultLocalizedCommand({
|
|
43
|
+
id: 'mergeEditor.goToNextUnhandledConflict',
|
|
44
|
+
label: 'Go to Next Unhandled Conflict',
|
|
45
|
+
category: MERGE_EDITOR_CATEGORY
|
|
46
|
+
});
|
|
47
|
+
export const GO_TO_PREVIOUS_UNHANDLED_CONFLICT = Command.toDefaultLocalizedCommand({
|
|
48
|
+
id: 'mergeEditor.goToPreviousUnhandledConflict',
|
|
49
|
+
label: 'Go to Previous Unhandled Conflict',
|
|
50
|
+
category: MERGE_EDITOR_CATEGORY
|
|
51
|
+
});
|
|
52
|
+
export const SET_MIXED_LAYOUT = Command.toDefaultLocalizedCommand({
|
|
53
|
+
id: 'mergeEditor.setMixedLayout',
|
|
54
|
+
label: 'Mixed Layout',
|
|
55
|
+
category: MERGE_EDITOR_CATEGORY
|
|
56
|
+
});
|
|
57
|
+
export const SET_COLUMN_LAYOUT = Command.toDefaultLocalizedCommand({
|
|
58
|
+
id: 'mergeEditor.setColumnLayout',
|
|
59
|
+
label: 'Column Layout',
|
|
60
|
+
category: MERGE_EDITOR_CATEGORY
|
|
61
|
+
});
|
|
62
|
+
export const SHOW_BASE = Command.toDefaultLocalizedCommand({
|
|
63
|
+
id: 'mergeEditor.showBase',
|
|
64
|
+
label: 'Show Base',
|
|
65
|
+
category: MERGE_EDITOR_CATEGORY
|
|
66
|
+
});
|
|
67
|
+
export const SHOW_BASE_TOP = Command.toDefaultLocalizedCommand({
|
|
68
|
+
id: 'mergeEditor.showBaseTop',
|
|
69
|
+
label: 'Show Base Top',
|
|
70
|
+
category: MERGE_EDITOR_CATEGORY
|
|
71
|
+
});
|
|
72
|
+
export const SHOW_BASE_CENTER = Command.toDefaultLocalizedCommand({
|
|
73
|
+
id: 'mergeEditor.showBaseCenter',
|
|
74
|
+
label: 'Show Base Center',
|
|
75
|
+
category: MERGE_EDITOR_CATEGORY
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@injectable()
|
|
80
|
+
export class MergeEditorContribution implements FrontendApplicationContribution,
|
|
81
|
+
CommandContribution, MenuContribution, TabBarToolbarContribution, KeybindingContribution, ColorContribution {
|
|
82
|
+
|
|
83
|
+
@inject(MergeEditorSettings)
|
|
84
|
+
protected readonly settings: MergeEditorSettings;
|
|
85
|
+
|
|
86
|
+
@inject(ApplicationShell)
|
|
87
|
+
protected readonly shell: ApplicationShell;
|
|
88
|
+
|
|
89
|
+
@inject(LabelProvider)
|
|
90
|
+
protected readonly labelProvider: LabelProvider;
|
|
91
|
+
|
|
92
|
+
onStart(): void {
|
|
93
|
+
this.settings.load();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
onStop(): void {
|
|
97
|
+
this.settings.save();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
protected getMergeEditor(widget = this.shell.currentWidget): MergeEditor | undefined {
|
|
101
|
+
return widget instanceof MergeEditor ? widget : (widget?.parent ? this.getMergeEditor(widget.parent) : undefined);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
registerCommands(commands: CommandRegistry): void {
|
|
105
|
+
commands.registerCommand(MergeEditorCommands.ACCEPT_MERGE, {
|
|
106
|
+
execute: async widget => {
|
|
107
|
+
const editor = this.getMergeEditor(widget);
|
|
108
|
+
if (editor) {
|
|
109
|
+
let canceled = false;
|
|
110
|
+
if (editor.model.unhandledMergeRangesCount > 0) {
|
|
111
|
+
canceled = !(await new ConfirmDialog({
|
|
112
|
+
title: nls.localizeByDefault('Do you want to complete the merge of {0}?', this.labelProvider.getName(editor.resultUri)),
|
|
113
|
+
msg: nls.localizeByDefault('The file contains unhandled conflicts.'),
|
|
114
|
+
ok: nls.localizeByDefault('Complete with Conflicts')
|
|
115
|
+
}).open());
|
|
116
|
+
}
|
|
117
|
+
if (!canceled) {
|
|
118
|
+
await editor.model.resultDocument.save();
|
|
119
|
+
editor.close();
|
|
120
|
+
return {
|
|
121
|
+
successful: true
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
successful: false
|
|
127
|
+
};
|
|
128
|
+
},
|
|
129
|
+
isEnabled: widget => !!this.getMergeEditor(widget),
|
|
130
|
+
isVisible: widget => !!this.getMergeEditor(widget)
|
|
131
|
+
});
|
|
132
|
+
commands.registerCommand(MergeEditorCommands.GO_TO_NEXT_UNHANDLED_CONFLICT, {
|
|
133
|
+
execute: widget => {
|
|
134
|
+
const editor = this.getMergeEditor(widget);
|
|
135
|
+
if (editor) {
|
|
136
|
+
editor.goToNextMergeRange(mergeRange => !editor.model.isMergeRangeHandled(mergeRange));
|
|
137
|
+
editor.activate();
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
isEnabled: widget => !!this.getMergeEditor(widget),
|
|
141
|
+
isVisible: widget => !!this.getMergeEditor(widget)
|
|
142
|
+
});
|
|
143
|
+
commands.registerCommand(MergeEditorCommands.GO_TO_PREVIOUS_UNHANDLED_CONFLICT, {
|
|
144
|
+
execute: widget => {
|
|
145
|
+
const editor = this.getMergeEditor(widget);
|
|
146
|
+
if (editor) {
|
|
147
|
+
editor.goToPreviousMergeRange(mergeRange => !editor.model.isMergeRangeHandled(mergeRange));
|
|
148
|
+
editor.activate();
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
isEnabled: widget => !!this.getMergeEditor(widget),
|
|
152
|
+
isVisible: widget => !!this.getMergeEditor(widget)
|
|
153
|
+
});
|
|
154
|
+
commands.registerCommand(MergeEditorCommands.SET_MIXED_LAYOUT, {
|
|
155
|
+
execute: widget => {
|
|
156
|
+
const editor = this.getMergeEditor(widget);
|
|
157
|
+
if (editor) {
|
|
158
|
+
editor.layoutKind = 'mixed';
|
|
159
|
+
editor.activate();
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
isEnabled: widget => !!this.getMergeEditor(widget),
|
|
163
|
+
isVisible: widget => !!this.getMergeEditor(widget),
|
|
164
|
+
isToggled: widget => this.getMergeEditor(widget)?.layoutKind === 'mixed',
|
|
165
|
+
});
|
|
166
|
+
commands.registerCommand(MergeEditorCommands.SET_COLUMN_LAYOUT, {
|
|
167
|
+
execute: widget => {
|
|
168
|
+
const editor = this.getMergeEditor(widget);
|
|
169
|
+
if (editor) {
|
|
170
|
+
editor.layoutKind = 'columns';
|
|
171
|
+
editor.activate();
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
isEnabled: widget => !!this.getMergeEditor(widget),
|
|
175
|
+
isVisible: widget => !!this.getMergeEditor(widget),
|
|
176
|
+
isToggled: widget => this.getMergeEditor(widget)?.layoutKind === 'columns'
|
|
177
|
+
});
|
|
178
|
+
commands.registerCommand(MergeEditorCommands.SHOW_BASE, {
|
|
179
|
+
execute: widget => {
|
|
180
|
+
const editor = this.getMergeEditor(widget);
|
|
181
|
+
if (editor) {
|
|
182
|
+
editor.toggleShowBase();
|
|
183
|
+
editor.activate();
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
isEnabled: widget => this.getMergeEditor(widget)?.layoutKind === 'columns',
|
|
187
|
+
isVisible: widget => this.getMergeEditor(widget)?.layoutKind === 'columns',
|
|
188
|
+
isToggled: widget => !!this.getMergeEditor(widget)?.isShowingBase
|
|
189
|
+
});
|
|
190
|
+
commands.registerCommand(MergeEditorCommands.SHOW_BASE_TOP, {
|
|
191
|
+
execute: widget => {
|
|
192
|
+
const editor = this.getMergeEditor(widget);
|
|
193
|
+
if (editor) {
|
|
194
|
+
editor.toggleShowBaseTop();
|
|
195
|
+
editor.activate();
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
isEnabled: widget => this.getMergeEditor(widget)?.layoutKind === 'mixed',
|
|
199
|
+
isVisible: widget => this.getMergeEditor(widget)?.layoutKind === 'mixed',
|
|
200
|
+
isToggled: widget => !!this.getMergeEditor(widget)?.isShowingBaseAtTop
|
|
201
|
+
});
|
|
202
|
+
commands.registerCommand(MergeEditorCommands.SHOW_BASE_CENTER, {
|
|
203
|
+
execute: widget => {
|
|
204
|
+
const editor = this.getMergeEditor(widget);
|
|
205
|
+
if (editor) {
|
|
206
|
+
editor.toggleShowBaseCenter();
|
|
207
|
+
editor.activate();
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
isEnabled: widget => this.getMergeEditor(widget)?.layoutKind === 'mixed',
|
|
211
|
+
isVisible: widget => this.getMergeEditor(widget)?.layoutKind === 'mixed',
|
|
212
|
+
isToggled: widget => {
|
|
213
|
+
const editor = this.getMergeEditor(widget);
|
|
214
|
+
return !!(editor?.isShowingBase && !editor.isShowingBaseAtTop);
|
|
215
|
+
}
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
registerMenus(menus: MenuModelRegistry): void {
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
registerToolbarItems(registry: TabBarToolbarRegistry): void {
|
|
223
|
+
registry.registerItem({
|
|
224
|
+
id: MergeEditorCommands.GO_TO_NEXT_UNHANDLED_CONFLICT.id,
|
|
225
|
+
command: MergeEditorCommands.GO_TO_NEXT_UNHANDLED_CONFLICT.id,
|
|
226
|
+
icon: codicon('arrow-down', true),
|
|
227
|
+
group: 'navigation',
|
|
228
|
+
order: 'a'
|
|
229
|
+
});
|
|
230
|
+
registry.registerItem({
|
|
231
|
+
id: MergeEditorCommands.GO_TO_PREVIOUS_UNHANDLED_CONFLICT.id,
|
|
232
|
+
command: MergeEditorCommands.GO_TO_PREVIOUS_UNHANDLED_CONFLICT.id,
|
|
233
|
+
icon: codicon('arrow-up', true),
|
|
234
|
+
group: 'navigation',
|
|
235
|
+
order: 'b'
|
|
236
|
+
});
|
|
237
|
+
registry.registerItem({
|
|
238
|
+
id: MergeEditorCommands.SET_MIXED_LAYOUT.id,
|
|
239
|
+
command: MergeEditorCommands.SET_MIXED_LAYOUT.id,
|
|
240
|
+
group: '1_merge',
|
|
241
|
+
order: 'a'
|
|
242
|
+
});
|
|
243
|
+
registry.registerItem({
|
|
244
|
+
id: MergeEditorCommands.SET_COLUMN_LAYOUT.id,
|
|
245
|
+
command: MergeEditorCommands.SET_COLUMN_LAYOUT.id,
|
|
246
|
+
group: '1_merge',
|
|
247
|
+
order: 'b'
|
|
248
|
+
});
|
|
249
|
+
registry.registerItem({
|
|
250
|
+
id: MergeEditorCommands.SHOW_BASE.id,
|
|
251
|
+
command: MergeEditorCommands.SHOW_BASE.id,
|
|
252
|
+
group: '2_merge',
|
|
253
|
+
order: 'a'
|
|
254
|
+
});
|
|
255
|
+
registry.registerItem({
|
|
256
|
+
id: MergeEditorCommands.SHOW_BASE_TOP.id,
|
|
257
|
+
command: MergeEditorCommands.SHOW_BASE_TOP.id,
|
|
258
|
+
group: '2_merge',
|
|
259
|
+
order: 'b'
|
|
260
|
+
});
|
|
261
|
+
registry.registerItem({
|
|
262
|
+
id: MergeEditorCommands.SHOW_BASE_CENTER.id,
|
|
263
|
+
command: MergeEditorCommands.SHOW_BASE_CENTER.id,
|
|
264
|
+
group: '2_merge',
|
|
265
|
+
order: 'c'
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
registerKeybindings(keybindings: KeybindingRegistry): void {
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* It should be aligned with https://code.visualstudio.com/api/references/theme-color#merge-conflicts-colors
|
|
274
|
+
*/
|
|
275
|
+
registerColors(colors: ColorRegistry): void {
|
|
276
|
+
colors.register({
|
|
277
|
+
id: 'mergeEditor.change.background',
|
|
278
|
+
description: 'The background color for changes.',
|
|
279
|
+
defaults: { dark: '#9bb95533', light: '#9bb95533', hcDark: '#9bb95533', hcLight: '#9bb95533' }
|
|
280
|
+
}, {
|
|
281
|
+
id: 'mergeEditor.change.word.background',
|
|
282
|
+
description: 'The background color for word changes.',
|
|
283
|
+
defaults: { dark: '#9ccc2c33', light: '#9ccc2c66', hcDark: '#9ccc2c33', hcLight: '#9ccc2c66' }
|
|
284
|
+
}, {
|
|
285
|
+
id: 'mergeEditor.changeBase.background',
|
|
286
|
+
description: 'The background color for changes in base.',
|
|
287
|
+
defaults: { dark: '#4B1818FF', light: '#FFCCCCFF', hcDark: '#4B1818FF', hcLight: '#FFCCCCFF' }
|
|
288
|
+
}, {
|
|
289
|
+
id: 'mergeEditor.changeBase.word.background',
|
|
290
|
+
description: 'The background color for word changes in base.',
|
|
291
|
+
defaults: { dark: '#6F1313FF', light: '#FFA3A3FF', hcDark: '#6F1313FF', hcLight: '#FFA3A3FF' }
|
|
292
|
+
}, {
|
|
293
|
+
id: 'mergeEditor.conflict.unhandledUnfocused.border',
|
|
294
|
+
description: 'The border color of unhandled unfocused conflicts.',
|
|
295
|
+
defaults: { dark: '#ffa6007a', light: '#ffa600FF', hcDark: '#ffa6007a', hcLight: '#ffa6007a' }
|
|
296
|
+
}, {
|
|
297
|
+
id: 'mergeEditor.conflict.unhandledUnfocused.background',
|
|
298
|
+
description: 'The background color of unhandled unfocused conflicts.',
|
|
299
|
+
defaults: {
|
|
300
|
+
dark: Color.transparent('mergeEditor.conflict.unhandledUnfocused.border', 0.05),
|
|
301
|
+
light: Color.transparent('mergeEditor.conflict.unhandledUnfocused.border', 0.05)
|
|
302
|
+
}
|
|
303
|
+
}, {
|
|
304
|
+
id: 'mergeEditor.conflict.unhandledFocused.border',
|
|
305
|
+
description: 'The border color of unhandled focused conflicts.',
|
|
306
|
+
defaults: { dark: '#ffa600', light: '#ffa600', hcDark: '#ffa600', hcLight: '#ffa600' }
|
|
307
|
+
}, {
|
|
308
|
+
id: 'mergeEditor.conflict.unhandledFocused.background',
|
|
309
|
+
description: 'The background color of unhandled focused conflicts.',
|
|
310
|
+
defaults: {
|
|
311
|
+
dark: Color.transparent('mergeEditor.conflict.unhandledFocused.border', 0.05),
|
|
312
|
+
light: Color.transparent('mergeEditor.conflict.unhandledFocused.border', 0.05)
|
|
313
|
+
}
|
|
314
|
+
}, {
|
|
315
|
+
id: 'mergeEditor.conflict.handledUnfocused.border',
|
|
316
|
+
description: 'The border color of handled unfocused conflicts.',
|
|
317
|
+
defaults: { dark: '#86868649', light: '#86868649', hcDark: '#86868649', hcLight: '#86868649' }
|
|
318
|
+
}, {
|
|
319
|
+
id: 'mergeEditor.conflict.handledUnfocused.background',
|
|
320
|
+
description: 'The background color of handled unfocused conflicts.',
|
|
321
|
+
defaults: {
|
|
322
|
+
dark: Color.transparent('mergeEditor.conflict.handledUnfocused.border', 0.1),
|
|
323
|
+
light: Color.transparent('mergeEditor.conflict.handledUnfocused.border', 0.1)
|
|
324
|
+
}
|
|
325
|
+
}, {
|
|
326
|
+
id: 'mergeEditor.conflict.handledFocused.border',
|
|
327
|
+
description: 'The border color of handled focused conflicts.',
|
|
328
|
+
defaults: { dark: '#c1c1c1cc', light: '#c1c1c1cc', hcDark: '#c1c1c1cc', hcLight: '#c1c1c1cc' }
|
|
329
|
+
}, {
|
|
330
|
+
id: 'mergeEditor.conflict.handledFocused.background',
|
|
331
|
+
description: 'The background color of handled focused conflicts.',
|
|
332
|
+
defaults: {
|
|
333
|
+
dark: Color.transparent('mergeEditor.conflict.handledFocused.border', 0.1),
|
|
334
|
+
light: Color.transparent('mergeEditor.conflict.handledFocused.border', 0.1)
|
|
335
|
+
}
|
|
336
|
+
}, {
|
|
337
|
+
id: ScmColors.handledConflictMinimapOverviewRulerColor,
|
|
338
|
+
description: 'Minimap gutter and overview ruler marker color for handled conflicts.',
|
|
339
|
+
defaults: { dark: '#adaca8ee', light: '#adaca8ee', hcDark: '#adaca8ee', hcLight: '#adaca8ee' }
|
|
340
|
+
}, {
|
|
341
|
+
id: ScmColors.unhandledConflictMinimapOverviewRulerColor,
|
|
342
|
+
description: 'Minimap gutter and overview ruler marker color for unhandled conflicts.',
|
|
343
|
+
defaults: { dark: '#fcba03FF', light: '#fcba03FF', hcDark: '#fcba03FF', hcLight: '#fcba03FF' }
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
}
|