@theia/scm 1.67.0-next.56 → 1.67.0-next.86
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 +21 -0
- package/lib/browser/decorations/scm-decorations-service.d.ts.map +1 -0
- package/lib/browser/decorations/scm-decorations-service.js +134 -0
- package/lib/browser/decorations/scm-decorations-service.js.map +1 -0
- package/lib/browser/decorations/scm-navigator-decorator.d.ts +26 -0
- package/lib/browser/decorations/scm-navigator-decorator.d.ts.map +1 -0
- package/lib/browser/decorations/scm-navigator-decorator.js +122 -0
- package/lib/browser/decorations/scm-navigator-decorator.js.map +1 -0
- package/lib/browser/dirty-diff/content-lines.d.ts +15 -0
- package/lib/browser/dirty-diff/content-lines.d.ts.map +1 -0
- package/lib/browser/dirty-diff/content-lines.js +114 -0
- package/lib/browser/dirty-diff/content-lines.js.map +1 -0
- package/lib/browser/dirty-diff/content-lines.spec.d.ts +2 -0
- package/lib/browser/dirty-diff/content-lines.spec.d.ts.map +1 -0
- package/lib/browser/dirty-diff/content-lines.spec.js +40 -0
- package/lib/browser/dirty-diff/content-lines.spec.js.map +1 -0
- package/lib/browser/dirty-diff/diff-computer.d.ts +39 -0
- package/lib/browser/dirty-diff/diff-computer.d.ts.map +1 -0
- package/lib/browser/dirty-diff/diff-computer.js +167 -0
- package/lib/browser/dirty-diff/diff-computer.js.map +1 -0
- package/lib/browser/dirty-diff/diff-computer.spec.d.ts +2 -0
- package/lib/browser/dirty-diff/diff-computer.spec.d.ts.map +1 -0
- package/lib/browser/dirty-diff/diff-computer.spec.js +384 -0
- package/lib/browser/dirty-diff/diff-computer.spec.js.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts +17 -0
- package/lib/browser/dirty-diff/dirty-diff-decorator.d.ts.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-decorator.js +101 -0
- package/lib/browser/dirty-diff/dirty-diff-decorator.js.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-module.d.ts +4 -0
- package/lib/browser/dirty-diff/dirty-diff-module.d.ts.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-module.js +34 -0
- package/lib/browser/dirty-diff/dirty-diff-module.js.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts +49 -0
- package/lib/browser/dirty-diff/dirty-diff-navigator.d.ts.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-navigator.js +295 -0
- package/lib/browser/dirty-diff/dirty-diff-navigator.js.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-widget.d.ts +50 -0
- package/lib/browser/dirty-diff/dirty-diff-widget.d.ts.map +1 -0
- package/lib/browser/dirty-diff/dirty-diff-widget.js +357 -0
- package/lib/browser/dirty-diff/dirty-diff-widget.js.map +1 -0
- 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-amend-component.d.ts +124 -0
- package/lib/browser/scm-amend-component.d.ts.map +1 -0
- package/lib/browser/scm-amend-component.js +464 -0
- package/lib/browser/scm-amend-component.js.map +1 -0
- package/lib/browser/scm-amend-widget.d.ts +21 -0
- package/lib/browser/scm-amend-widget.d.ts.map +1 -0
- package/lib/browser/scm-amend-widget.js +91 -0
- package/lib/browser/scm-amend-widget.js.map +1 -0
- package/lib/browser/scm-avatar-service.d.ts +4 -0
- package/lib/browser/scm-avatar-service.d.ts.map +1 -0
- package/lib/browser/scm-avatar-service.js +32 -0
- package/lib/browser/scm-avatar-service.js.map +1 -0
- package/lib/browser/scm-colors.d.ts +8 -0
- package/lib/browser/scm-colors.d.ts.map +1 -0
- package/lib/browser/scm-colors.js +27 -0
- package/lib/browser/scm-colors.js.map +1 -0
- package/lib/browser/scm-commit-widget.d.ts +53 -0
- package/lib/browser/scm-commit-widget.d.ts.map +1 -0
- package/lib/browser/scm-commit-widget.js +188 -0
- package/lib/browser/scm-commit-widget.js.map +1 -0
- package/lib/browser/scm-context-key-service.d.ts +13 -0
- package/lib/browser/scm-context-key-service.d.ts.map +1 -0
- package/lib/browser/scm-context-key-service.js +55 -0
- package/lib/browser/scm-context-key-service.js.map +1 -0
- package/lib/browser/scm-contribution.d.ts +98 -0
- package/lib/browser/scm-contribution.d.ts.map +1 -0
- package/lib/browser/scm-contribution.js +480 -0
- package/lib/browser/scm-contribution.js.map +1 -0
- package/lib/browser/scm-frontend-module.d.ts +7 -0
- package/lib/browser/scm-frontend-module.d.ts.map +1 -0
- package/lib/browser/scm-frontend-module.js +129 -0
- package/lib/browser/scm-frontend-module.js.map +1 -0
- package/lib/browser/scm-groups-tree-model.d.ts +15 -0
- package/lib/browser/scm-groups-tree-model.d.ts.map +1 -0
- package/lib/browser/scm-groups-tree-model.js +90 -0
- package/lib/browser/scm-groups-tree-model.js.map +1 -0
- package/lib/browser/scm-input.d.ts +54 -0
- package/lib/browser/scm-input.d.ts.map +1 -0
- package/lib/browser/scm-input.js +128 -0
- package/lib/browser/scm-input.js.map +1 -0
- package/lib/browser/scm-layout-migrations.d.ts +10 -0
- package/lib/browser/scm-layout-migrations.d.ts.map +1 -0
- package/lib/browser/scm-layout-migrations.js +75 -0
- package/lib/browser/scm-layout-migrations.js.map +1 -0
- package/lib/browser/scm-no-repository-widget.d.ts +9 -0
- package/lib/browser/scm-no-repository-widget.d.ts.map +1 -0
- package/lib/browser/scm-no-repository-widget.js +42 -0
- package/lib/browser/scm-no-repository-widget.js.map +1 -0
- package/lib/browser/scm-provider.d.ts +60 -0
- package/lib/browser/scm-provider.d.ts.map +1 -0
- package/lib/browser/scm-provider.js +20 -0
- package/lib/browser/scm-provider.js.map +1 -0
- package/lib/browser/scm-quick-open-service.d.ts +12 -0
- package/lib/browser/scm-quick-open-service.d.ts.map +1 -0
- package/lib/browser/scm-quick-open-service.js +66 -0
- package/lib/browser/scm-quick-open-service.js.map +1 -0
- package/lib/browser/scm-repository.d.ts +18 -0
- package/lib/browser/scm-repository.d.ts.map +1 -0
- package/lib/browser/scm-repository.js +42 -0
- package/lib/browser/scm-repository.js.map +1 -0
- package/lib/browser/scm-service.d.ts +27 -0
- package/lib/browser/scm-service.d.ts.map +1 -0
- package/lib/browser/scm-service.js +101 -0
- package/lib/browser/scm-service.js.map +1 -0
- package/lib/browser/scm-tree-label-provider.d.ts +8 -0
- package/lib/browser/scm-tree-label-provider.d.ts.map +1 -0
- package/lib/browser/scm-tree-label-provider.js +50 -0
- package/lib/browser/scm-tree-label-provider.js.map +1 -0
- package/lib/browser/scm-tree-model.d.ts +76 -0
- package/lib/browser/scm-tree-model.d.ts.map +1 -0
- package/lib/browser/scm-tree-model.js +349 -0
- package/lib/browser/scm-tree-model.js.map +1 -0
- package/lib/browser/scm-tree-widget.d.ts +206 -0
- package/lib/browser/scm-tree-widget.d.ts.map +1 -0
- package/lib/browser/scm-tree-widget.js +677 -0
- package/lib/browser/scm-tree-widget.js.map +1 -0
- package/lib/browser/scm-widget.d.ts +42 -0
- package/lib/browser/scm-widget.d.ts.map +1 -0
- package/lib/browser/scm-widget.js +222 -0
- package/lib/browser/scm-widget.js.map +1 -0
- package/lib/common/scm-preferences.d.ts +12 -0
- package/lib/common/scm-preferences.d.ts.map +1 -0
- package/lib/common/scm-preferences.js +51 -0
- package/lib/common/scm-preferences.js.map +1 -0
- package/lib/node/scm-backend-module.d.ts +4 -0
- package/lib/node/scm-backend-module.d.ts.map +1 -0
- package/lib/node/scm-backend-module.js +23 -0
- package/lib/node/scm-backend-module.js.map +1 -0
- package/package.json +6 -6
- package/src/browser/scm-widget.tsx +2 -1
|
@@ -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":";AAAA,gFAAgF;AAChF,6CAA6C;AAC7C,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;AAChF;;;gGAGgG;AAChG,gJAAgJ;;;AAEhJ,kEAAuF;AACvF,sDAAsF;AAEtF,sCAAkC;AAQlC,MAAa,iBAAiB;IAO1B,IAAI,cAAc,KAAc,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAG7E,IAAI,gBAAgB,KAAc,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAEjF,YACuB,WAAwB,EACxB,UAAsB;QADtB,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;QAZpC,2BAAsB,GAAG,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,2BAAsB,GAAG,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,4BAAuB,GAAG,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAExE,6BAAwB,GAAG,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAGnJ,+BAA0B,GAAG,8BAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAM3H,CAAC;IAEM,iBAAiB,CAAC,IAAe;QACvC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;QAEtD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,KAAK,KAAK,cAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;YAC7D,IAAI,KAAK,KAAK,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,UAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,SAAS,CAAC;oBACpD,OAAO,EAAE,UAAG,CAAC,iBAAiB,CAAC,oCAAoC,EAAE,SAAS,CAAC;oBAC/E,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,qCAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;iBACzG,CAAC,CAAC;YACP,CAAC;YAED,IAAI,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,UAAU,CAAC,+BAA+B,CAAC,CAAC;wBAC9C,UAAG,CAAC,iBAAiB,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAC,CAAC;wBACpE,UAAG,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;oBAC/C,OAAO,EAAE,UAAG,CAAC,iBAAiB,CAAC,uEAAuE,CAAC;oBACvG,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,qCAAuB,CAAC,OAAO,CACpF,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvF,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,gBAAgB;QACtB,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,CAAC;QAEtD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,UAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;gBAChD,OAAO,EAAE,UAAG,CAAC,iBAAiB,CAAC,2CAA2C,CAAC;aAC9E,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,UAAG,CAAC,iBAAiB,CAAC,eAAe,CAAC;gBAC5C,OAAO,EAAE,UAAG,CAAC,iBAAiB,CAAC,gFAAgF,CAAC;gBAChH,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,MAAM,CAAC;aACnE,CAAC,CAAC;QACP,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,UAAG,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;gBAClD,OAAO,EAAE,UAAG,CAAC,iBAAiB,CAAC,wGAAwG,CAAC;aAC3I,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,UAAG,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;oBAC9C,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,KAAK,CAAC;iBAClE,CAAC,CAAC;YACP,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAuB,EAAE,CAAC;YAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,UAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC;oBACrD,OAAO,EAAE,UAAG,CAAC,iBAAiB,CAAC,sCAAsC,EAAE,UAAU,CAAC;oBAClF,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,qCAAuB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACzG,CAAC,CAAC;YACP,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,UAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC;oBACrD,OAAO,EAAE,UAAG,CAAC,iBAAiB,CAAC,sCAAsC,EAAE,UAAU,CAAC;oBAClF,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,qCAAuB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACzG,CAAC,CAAC;YACP,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,YAAY,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC3B,CAAC,CAAC;YACP,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,4BAA4B,CAAC,UAAsB,EAAE,KAA8B;QAC/F,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAC/C,UAAU,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,4BAAe,CAAC,YAAY,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC/D,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,wEAAwE;QAClI,KAAK,CAAC,4BAA4B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,4BAAe,CAAC,YAAY,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC/D,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,iCAAiC;IAC/F,CAAC;CACJ;AA9HD,8CA8HC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import '../../src/browser/style/scm-amend-component.css';
|
|
3
|
+
import * as React from '@theia/core/shared/react';
|
|
4
|
+
import { ScmAvatarService } from './scm-avatar-service';
|
|
5
|
+
import { StorageService } from '@theia/core/lib/browser';
|
|
6
|
+
import { DisposableCollection } from '@theia/core';
|
|
7
|
+
import { ScmRepository } from './scm-repository';
|
|
8
|
+
import { ScmAmendSupport, ScmCommit } from './scm-provider';
|
|
9
|
+
export interface ScmAmendComponentProps {
|
|
10
|
+
style: React.CSSProperties | undefined;
|
|
11
|
+
repository: ScmRepository;
|
|
12
|
+
scmAmendSupport: ScmAmendSupport;
|
|
13
|
+
setCommitMessage: (message: string) => void;
|
|
14
|
+
avatarService: ScmAvatarService;
|
|
15
|
+
storageService: StorageService;
|
|
16
|
+
}
|
|
17
|
+
interface ScmAmendComponentState {
|
|
18
|
+
/**
|
|
19
|
+
* This is used for transitioning. When setting up a transition, we first set to render
|
|
20
|
+
* the elements in their starting positions. This includes creating the elements to be
|
|
21
|
+
* transitioned in, even though those controls will not be visible when state is 'start'.
|
|
22
|
+
* On the next frame after 'start', we render elements with their final positions and with
|
|
23
|
+
* the transition properties.
|
|
24
|
+
*/
|
|
25
|
+
transition: {
|
|
26
|
+
state: 'none';
|
|
27
|
+
} | {
|
|
28
|
+
state: 'start' | 'transitioning';
|
|
29
|
+
direction: 'up' | 'down';
|
|
30
|
+
previousLastCommit: {
|
|
31
|
+
commit: ScmCommit;
|
|
32
|
+
avatar: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
amendingCommits: {
|
|
36
|
+
commit: ScmCommit;
|
|
37
|
+
avatar: string;
|
|
38
|
+
}[];
|
|
39
|
+
lastCommit: {
|
|
40
|
+
commit: ScmCommit;
|
|
41
|
+
avatar: string;
|
|
42
|
+
} | undefined;
|
|
43
|
+
}
|
|
44
|
+
export declare class ScmAmendComponent extends React.Component<ScmAmendComponentProps, ScmAmendComponentState> {
|
|
45
|
+
/**
|
|
46
|
+
* a hint on how to animate an update, set by certain user action handlers
|
|
47
|
+
* and used when updating the view based on a repository change
|
|
48
|
+
*/
|
|
49
|
+
protected transitionHint: 'none' | 'amend' | 'unamend';
|
|
50
|
+
protected lastCommitHeight: number;
|
|
51
|
+
lastCommitScrollRef: (instance: HTMLDivElement) => void;
|
|
52
|
+
constructor(props: ScmAmendComponentProps);
|
|
53
|
+
protected readonly toDisposeOnUnmount: DisposableCollection;
|
|
54
|
+
componentDidMount(): Promise<void>;
|
|
55
|
+
componentWillUnmount(): void;
|
|
56
|
+
fetchStatusAndSetState(): Promise<void>;
|
|
57
|
+
private clearAmendingCommits;
|
|
58
|
+
private buildAmendingList;
|
|
59
|
+
private getStorageKey;
|
|
60
|
+
/**
|
|
61
|
+
* Commits are equal if the ids are equal or if both are undefined.
|
|
62
|
+
* (If a commit is undefined, it represents the initial empty state of a repository,
|
|
63
|
+
* before the initial commit).
|
|
64
|
+
*/
|
|
65
|
+
private commitsAreEqual;
|
|
66
|
+
/**
|
|
67
|
+
* This function will update the 'model' (lastCommit, amendingCommits) only
|
|
68
|
+
* when the repository sees the last commit change.
|
|
69
|
+
* 'render' can be called at any time, so be sure we don't update any 'model'
|
|
70
|
+
* fields until we actually start the transition.
|
|
71
|
+
*/
|
|
72
|
+
protected amend: () => Promise<void>;
|
|
73
|
+
protected unamend: () => Promise<void>;
|
|
74
|
+
private resetAndSetMessage;
|
|
75
|
+
render(): JSX.Element;
|
|
76
|
+
protected getLastCommit(): Promise<{
|
|
77
|
+
commit: ScmCommit;
|
|
78
|
+
avatar: string;
|
|
79
|
+
} | undefined>;
|
|
80
|
+
protected renderAmendingCommits(): React.ReactNode;
|
|
81
|
+
protected renderAmendCommitListButtons(): React.ReactNode;
|
|
82
|
+
protected renderLastCommit(): React.ReactNode;
|
|
83
|
+
protected renderLastCommitNoButton(lastCommit: {
|
|
84
|
+
commit: ScmCommit;
|
|
85
|
+
avatar: string;
|
|
86
|
+
}): React.ReactNode;
|
|
87
|
+
/**
|
|
88
|
+
* See https://stackoverflow.com/questions/26556436/react-after-render-code
|
|
89
|
+
*
|
|
90
|
+
* @param callback
|
|
91
|
+
*/
|
|
92
|
+
protected onNextFrame(callback: FrameRequestCallback): void;
|
|
93
|
+
protected renderCommitAvatarAndDetail(commitData: {
|
|
94
|
+
commit: ScmCommit;
|
|
95
|
+
avatar: string;
|
|
96
|
+
}): React.ReactNode;
|
|
97
|
+
protected renderCommitCount(commits: number): React.ReactNode;
|
|
98
|
+
protected renderCommitBeingAmended(commitData: {
|
|
99
|
+
commit: ScmCommit;
|
|
100
|
+
avatar: string;
|
|
101
|
+
}, isOldestAmendCommit: boolean): JSX.Element;
|
|
102
|
+
protected styleAmendedCommits(): React.CSSProperties;
|
|
103
|
+
protected styleLastCommitMovingUp(transitionState: 'start' | 'transitioning'): React.CSSProperties;
|
|
104
|
+
protected styleLastCommitMovingDown(transitionState: 'start' | 'transitioning'): React.CSSProperties;
|
|
105
|
+
protected styleLastCommit(transitionState: 'start' | 'transitioning', startingMarginTop: number, startingMarginBottom: number): React.CSSProperties;
|
|
106
|
+
readonly unamendAll: () => Promise<void>;
|
|
107
|
+
protected doUnamendAll(): Promise<void>;
|
|
108
|
+
readonly clearAmending: () => Promise<void>;
|
|
109
|
+
protected doClearAmending(): Promise<void>;
|
|
110
|
+
}
|
|
111
|
+
export declare namespace ScmAmendComponent {
|
|
112
|
+
namespace Styles {
|
|
113
|
+
const COMMIT_CONTAINER = "theia-scm-commit-container";
|
|
114
|
+
const COMMIT_AND_BUTTON = "theia-scm-commit-and-button";
|
|
115
|
+
const COMMIT_AVATAR_AND_TEXT = "theia-scm-commit-avatar-and-text";
|
|
116
|
+
const COMMIT_DETAILS = "theia-scm-commit-details";
|
|
117
|
+
const COMMIT_MESSAGE_AVATAR = "theia-scm-commit-message-avatar";
|
|
118
|
+
const COMMIT_MESSAGE_SUMMARY = "theia-scm-commit-message-summary";
|
|
119
|
+
const LAST_COMMIT_MESSAGE_TIME = "theia-scm-commit-message-time";
|
|
120
|
+
const FLEX_CENTER = "theia-scm-flex-container-center";
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
export {};
|
|
124
|
+
//# sourceMappingURL=scm-amend-component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scm-amend-component.d.ts","sourceRoot":"","sources":["../../src/browser/scm-amend-component.tsx"],"names":[],"mappings":"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"}
|