@theia/scm 1.67.0-next.56 → 1.67.0-next.59
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 +220 -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
|
@@ -0,0 +1,218 @@
|
|
|
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/scrollSynchronizer.ts
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.MergeEditorScrollSync = void 0;
|
|
24
|
+
const core_1 = require("@theia/core");
|
|
25
|
+
class MergeEditorScrollSync {
|
|
26
|
+
constructor(mergeEditor) {
|
|
27
|
+
this.mergeEditor = mergeEditor;
|
|
28
|
+
this.toDispose = new core_1.DisposableCollection();
|
|
29
|
+
this.isSyncing = false;
|
|
30
|
+
const { side1Pane, side2Pane, resultPane, basePane } = mergeEditor;
|
|
31
|
+
const syncingHandler = (handler) => (event) => {
|
|
32
|
+
if (this.isSyncing) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
this.isSyncing = true;
|
|
36
|
+
try {
|
|
37
|
+
handler(event);
|
|
38
|
+
}
|
|
39
|
+
finally {
|
|
40
|
+
this.isSyncing = false;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
this.toDispose.push(side1Pane.editor.getControl().onDidScrollChange(syncingHandler(event => {
|
|
44
|
+
if (event.scrollTopChanged) {
|
|
45
|
+
this.handleSide1ScrollTopChanged(event.scrollTop);
|
|
46
|
+
}
|
|
47
|
+
if (event.scrollLeftChanged) {
|
|
48
|
+
basePane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
49
|
+
side2Pane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
50
|
+
resultPane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
51
|
+
}
|
|
52
|
+
})));
|
|
53
|
+
this.toDispose.push(side2Pane.editor.getControl().onDidScrollChange(syncingHandler(event => {
|
|
54
|
+
if (event.scrollTopChanged) {
|
|
55
|
+
this.handleSide2ScrollTopChanged(event.scrollTop);
|
|
56
|
+
}
|
|
57
|
+
if (event.scrollLeftChanged) {
|
|
58
|
+
basePane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
59
|
+
side1Pane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
60
|
+
resultPane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
61
|
+
}
|
|
62
|
+
})));
|
|
63
|
+
this.toDispose.push(resultPane.editor.getControl().onDidScrollChange(syncingHandler(event => {
|
|
64
|
+
if (event.scrollTopChanged) {
|
|
65
|
+
this.handleResultScrollTopChanged(event.scrollTop);
|
|
66
|
+
}
|
|
67
|
+
if (event.scrollLeftChanged) {
|
|
68
|
+
basePane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
69
|
+
side1Pane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
70
|
+
side2Pane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
71
|
+
}
|
|
72
|
+
})));
|
|
73
|
+
this.toDispose.push(basePane.editor.getControl().onDidScrollChange(syncingHandler(event => {
|
|
74
|
+
if (event.scrollTopChanged) {
|
|
75
|
+
this.handleBaseScrollTopChanged(event.scrollTop);
|
|
76
|
+
}
|
|
77
|
+
if (event.scrollLeftChanged) {
|
|
78
|
+
side1Pane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
79
|
+
side2Pane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
80
|
+
resultPane.editor.getControl().setScrollLeft(event.scrollLeft);
|
|
81
|
+
}
|
|
82
|
+
})));
|
|
83
|
+
}
|
|
84
|
+
dispose() {
|
|
85
|
+
this.toDispose.dispose();
|
|
86
|
+
}
|
|
87
|
+
storeScrollState() {
|
|
88
|
+
return this.mergeEditor.side1Pane.editor.getControl().getScrollTop();
|
|
89
|
+
}
|
|
90
|
+
restoreScrollState(state) {
|
|
91
|
+
if (typeof state === 'number') {
|
|
92
|
+
const scrollTop = this.mergeEditor.side1Pane.editor.getControl().getScrollTop();
|
|
93
|
+
if (state !== scrollTop) {
|
|
94
|
+
this.mergeEditor.side1Pane.editor.getControl().setScrollTop(state);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
this.update();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
update() {
|
|
102
|
+
if (this.isSyncing) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
this.isSyncing = true;
|
|
106
|
+
try {
|
|
107
|
+
const scrollTop = this.mergeEditor.side1Pane.editor.getControl().getScrollTop();
|
|
108
|
+
this.handleSide1ScrollTopChanged(scrollTop);
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
this.isSyncing = false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
handleSide1ScrollTopChanged(scrollTop) {
|
|
115
|
+
const { side1Pane, side2Pane, resultPane, basePane, shouldAlignBase, shouldAlignResult, model } = this.mergeEditor;
|
|
116
|
+
side2Pane.editor.getControl().setScrollTop(scrollTop);
|
|
117
|
+
if (shouldAlignResult) {
|
|
118
|
+
resultPane.editor.getControl().setScrollTop(scrollTop);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
const targetScrollTop = this.computeTargetScrollTop(side1Pane.editor, resultPane.editor, model.side1ToResultLineRangeMap);
|
|
122
|
+
resultPane.editor.getControl().setScrollTop(targetScrollTop);
|
|
123
|
+
}
|
|
124
|
+
if (shouldAlignBase) {
|
|
125
|
+
basePane.editor.getControl().setScrollTop(scrollTop);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
const targetScrollTop = this.computeTargetScrollTop(side1Pane.editor, basePane.editor, model.side1ToBaseLineRangeMap);
|
|
129
|
+
basePane.editor.getControl().setScrollTop(targetScrollTop);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
handleSide2ScrollTopChanged(scrollTop) {
|
|
133
|
+
const { side1Pane, side2Pane, resultPane, basePane, shouldAlignBase, shouldAlignResult, model } = this.mergeEditor;
|
|
134
|
+
side1Pane.editor.getControl().setScrollTop(scrollTop);
|
|
135
|
+
if (shouldAlignResult) {
|
|
136
|
+
resultPane.editor.getControl().setScrollTop(scrollTop);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
const targetScrollTop = this.computeTargetScrollTop(side2Pane.editor, resultPane.editor, model.side2ToResultLineRangeMap);
|
|
140
|
+
resultPane.editor.getControl().setScrollTop(targetScrollTop);
|
|
141
|
+
}
|
|
142
|
+
if (shouldAlignBase) {
|
|
143
|
+
basePane.editor.getControl().setScrollTop(scrollTop);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
const targetScrollTop = this.computeTargetScrollTop(side2Pane.editor, basePane.editor, model.side2ToBaseLineRangeMap);
|
|
147
|
+
basePane.editor.getControl().setScrollTop(targetScrollTop);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
handleResultScrollTopChanged(scrollTop) {
|
|
151
|
+
const { side1Pane, side2Pane, resultPane, basePane, shouldAlignBase, shouldAlignResult, model } = this.mergeEditor;
|
|
152
|
+
if (shouldAlignResult) {
|
|
153
|
+
side1Pane.editor.getControl().setScrollTop(scrollTop);
|
|
154
|
+
side2Pane.editor.getControl().setScrollTop(scrollTop);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
const targetScrollTop = this.computeTargetScrollTop(resultPane.editor, side1Pane.editor, model.resultToSide1LineRangeMap);
|
|
158
|
+
side1Pane.editor.getControl().setScrollTop(targetScrollTop);
|
|
159
|
+
side2Pane.editor.getControl().setScrollTop(targetScrollTop);
|
|
160
|
+
if (shouldAlignBase) {
|
|
161
|
+
basePane.editor.getControl().setScrollTop(targetScrollTop);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (!shouldAlignBase) {
|
|
165
|
+
const targetScrollTop = this.computeTargetScrollTop(resultPane.editor, basePane.editor, model.resultToBaseLineRangeMap);
|
|
166
|
+
basePane.editor.getControl().setScrollTop(targetScrollTop);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
handleBaseScrollTopChanged(scrollTop) {
|
|
170
|
+
const { side1Pane, side2Pane, resultPane, basePane, shouldAlignBase, shouldAlignResult, model } = this.mergeEditor;
|
|
171
|
+
if (shouldAlignBase) {
|
|
172
|
+
side1Pane.editor.getControl().setScrollTop(scrollTop);
|
|
173
|
+
side2Pane.editor.getControl().setScrollTop(scrollTop);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
const targetScrollTop = this.computeTargetScrollTop(basePane.editor, side1Pane.editor, model.baseToSide1LineRangeMap);
|
|
177
|
+
side1Pane.editor.getControl().setScrollTop(targetScrollTop);
|
|
178
|
+
side2Pane.editor.getControl().setScrollTop(targetScrollTop);
|
|
179
|
+
if (shouldAlignResult) {
|
|
180
|
+
resultPane.editor.getControl().setScrollTop(targetScrollTop);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
if (!shouldAlignResult) {
|
|
184
|
+
const targetScrollTop = this.computeTargetScrollTop(basePane.editor, resultPane.editor, model.baseToResultLineRangeMap);
|
|
185
|
+
resultPane.editor.getControl().setScrollTop(targetScrollTop);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
computeTargetScrollTop(sourceEditor, targetEditor, lineRangeMap) {
|
|
189
|
+
const visibleRanges = sourceEditor.getVisibleRanges();
|
|
190
|
+
if (visibleRanges.length === 0) {
|
|
191
|
+
return 0;
|
|
192
|
+
}
|
|
193
|
+
const topLineNumber = visibleRanges[0].start.line;
|
|
194
|
+
const scrollTop = sourceEditor.getControl().getScrollTop();
|
|
195
|
+
let sourceStartTopPx;
|
|
196
|
+
let sourceEndPx;
|
|
197
|
+
let targetStartTopPx;
|
|
198
|
+
let targetEndPx;
|
|
199
|
+
if (topLineNumber === 0 && scrollTop <= sourceEditor.getControl().getTopForLineNumber(1)) { // special case: scrollTop is before or at the top of the first line
|
|
200
|
+
sourceStartTopPx = 0;
|
|
201
|
+
sourceEndPx = sourceEditor.getControl().getTopForLineNumber(1);
|
|
202
|
+
targetStartTopPx = 0;
|
|
203
|
+
targetEndPx = targetEditor.getControl().getTopForLineNumber(1);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
const { originalRange: sourceRange, modifiedRange: targetRange } = lineRangeMap.projectLine(Math.max(topLineNumber - 1, 0));
|
|
207
|
+
sourceStartTopPx = sourceEditor.getControl().getTopForLineNumber(sourceRange.startLineNumber + 1);
|
|
208
|
+
sourceEndPx = sourceEditor.getControl().getTopForLineNumber(sourceRange.endLineNumberExclusive + 1);
|
|
209
|
+
targetStartTopPx = targetEditor.getControl().getTopForLineNumber(targetRange.startLineNumber + 1);
|
|
210
|
+
targetEndPx = targetEditor.getControl().getTopForLineNumber(targetRange.endLineNumberExclusive + 1);
|
|
211
|
+
}
|
|
212
|
+
const factor = Math.min(sourceEndPx === sourceStartTopPx ? 0 : (scrollTop - sourceStartTopPx) / (sourceEndPx - sourceStartTopPx), 1);
|
|
213
|
+
const targetScrollTop = targetStartTopPx + (targetEndPx - targetStartTopPx) * factor;
|
|
214
|
+
return targetScrollTop;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
exports.MergeEditorScrollSync = MergeEditorScrollSync;
|
|
218
|
+
//# sourceMappingURL=merge-editor-scroll-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-editor-scroll-sync.js","sourceRoot":"","sources":["../../../../src/browser/merge-editor/view/merge-editor-scroll-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Disposable } from '@theia/core';
|
|
2
|
+
import { Observable } from '@theia/core/lib/common/observable';
|
|
3
|
+
import { MonacoEditorViewZone } from '@theia/monaco/lib/browser/monaco-editor-zone-widget';
|
|
4
|
+
import { MergeEditor } from '../merge-editor';
|
|
5
|
+
import { MergeRange } from '../model/merge-range';
|
|
6
|
+
import { MergeRangeAction, MergeRangeActions } from './merge-range-actions';
|
|
7
|
+
import { MergeEditorPane } from './merge-editor-panes';
|
|
8
|
+
import { DiffSpacerService } from './diff-spacers';
|
|
9
|
+
export interface MergeEditorViewZone {
|
|
10
|
+
create(ctx: MergeEditorViewZone.CreationContext): void;
|
|
11
|
+
}
|
|
12
|
+
export declare namespace MergeEditorViewZone {
|
|
13
|
+
interface CreationContext {
|
|
14
|
+
createViewZone(viewZone: Omit<MonacoEditorViewZone, 'id'>): void;
|
|
15
|
+
register(disposable: Disposable): void;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export interface MergeEditorViewZones {
|
|
19
|
+
readonly baseViewZones: readonly MergeEditorViewZone[];
|
|
20
|
+
readonly side1ViewZones: readonly MergeEditorViewZone[];
|
|
21
|
+
readonly side2ViewZones: readonly MergeEditorViewZone[];
|
|
22
|
+
readonly resultViewZones: readonly MergeEditorViewZone[];
|
|
23
|
+
}
|
|
24
|
+
export declare class MergeEditorViewZoneComputer {
|
|
25
|
+
protected readonly diffSpacerService: DiffSpacerService;
|
|
26
|
+
computeViewZones(mergeEditor: MergeEditor): MergeEditorViewZones;
|
|
27
|
+
protected createSpacerZones(spacers: number[], viewZones: MergeEditorViewZone[]): void;
|
|
28
|
+
protected newMergeRangeActions(mergeEditor: MergeEditor, mergeRange: MergeRange): MergeRangeActions;
|
|
29
|
+
protected getActionZoneMinHeight(pane: MergeEditorPane): number;
|
|
30
|
+
protected newActionZone(pane: MergeEditorPane, actions: Observable<readonly MergeRangeAction[]>, afterLineNumber: number, heightInPx: number): MergeEditorViewZone;
|
|
31
|
+
protected newActionZonePlaceholder(afterLineNumber: number, heightInPx: number): MergeEditorViewZone;
|
|
32
|
+
protected newSpacerZone(afterLineNumber: number, heightInLines: number): MergeEditorViewZone;
|
|
33
|
+
}
|
|
34
|
+
export declare class MergeEditorActionZone implements MergeEditorViewZone {
|
|
35
|
+
protected readonly pane: MergeEditorPane;
|
|
36
|
+
protected readonly actionsObservable: Observable<readonly MergeRangeAction[]>;
|
|
37
|
+
protected readonly afterLineNumber: number;
|
|
38
|
+
protected readonly heightInPx: number;
|
|
39
|
+
protected static counter: number;
|
|
40
|
+
constructor(pane: MergeEditorPane, actionsObservable: Observable<readonly MergeRangeAction[]>, afterLineNumber: number, heightInPx: number);
|
|
41
|
+
create(ctx: MergeEditorViewZone.CreationContext): void;
|
|
42
|
+
protected renderActions(parent: HTMLElement, actions: readonly MergeRangeAction[]): void;
|
|
43
|
+
protected getActionTitle(action: MergeRangeAction): string;
|
|
44
|
+
}
|
|
45
|
+
export declare class MergeEditorActionZonePlaceholder implements MergeEditorViewZone {
|
|
46
|
+
protected readonly afterLineNumber: number;
|
|
47
|
+
protected readonly heightInPx: number;
|
|
48
|
+
constructor(afterLineNumber: number, heightInPx: number);
|
|
49
|
+
create(ctx: MergeEditorViewZone.CreationContext): void;
|
|
50
|
+
}
|
|
51
|
+
export declare class MergeEditorSpacerZone implements MergeEditorViewZone {
|
|
52
|
+
protected readonly afterLineNumber: number;
|
|
53
|
+
protected readonly heightInLines: number;
|
|
54
|
+
constructor(afterLineNumber: number, heightInLines: number);
|
|
55
|
+
create(ctx: MergeEditorViewZone.CreationContext): void;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=merge-editor-view-zones.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-editor-view-zones.d.ts","sourceRoot":"","sources":["../../../../src/browser/merge-editor/view/merge-editor-view-zones.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,218 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MergeEditorSpacerZone = exports.MergeEditorActionZonePlaceholder = exports.MergeEditorActionZone = exports.MergeEditorViewZoneComputer = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const core_1 = require("@theia/core");
|
|
22
|
+
const observable_1 = require("@theia/core/lib/common/observable");
|
|
23
|
+
const monaco = require("@theia/monaco-editor-core");
|
|
24
|
+
const merge_range_actions_1 = require("./merge-range-actions");
|
|
25
|
+
const diff_spacers_1 = require("./diff-spacers");
|
|
26
|
+
let MergeEditorViewZoneComputer = class MergeEditorViewZoneComputer {
|
|
27
|
+
computeViewZones(mergeEditor) {
|
|
28
|
+
const baseViewZones = [];
|
|
29
|
+
const side1ViewZones = [];
|
|
30
|
+
const side2ViewZones = [];
|
|
31
|
+
const resultViewZones = [];
|
|
32
|
+
const { model, shouldAlignResult, shouldAlignBase } = mergeEditor;
|
|
33
|
+
for (const mergeRange of model.mergeRanges) {
|
|
34
|
+
const { side1Pane, side2Pane, resultPane } = mergeEditor;
|
|
35
|
+
const actions = this.newMergeRangeActions(mergeEditor, mergeRange);
|
|
36
|
+
let resultActionZoneHeight = this.getActionZoneMinHeight(resultPane);
|
|
37
|
+
if (actions.hasSideActions || (shouldAlignResult && actions.hasResultActions)) {
|
|
38
|
+
let actionZoneHeight = Math.max(this.getActionZoneMinHeight(side1Pane), this.getActionZoneMinHeight(side2Pane));
|
|
39
|
+
if (shouldAlignResult) {
|
|
40
|
+
resultActionZoneHeight = actionZoneHeight = Math.max(actionZoneHeight, resultActionZoneHeight);
|
|
41
|
+
}
|
|
42
|
+
side1ViewZones.push(this.newActionZone(side1Pane, actions.side1ActionsObservable, mergeRange.side1Range.startLineNumber - 1, actionZoneHeight));
|
|
43
|
+
side2ViewZones.push(this.newActionZone(side2Pane, actions.side2ActionsObservable, mergeRange.side2Range.startLineNumber - 1, actionZoneHeight));
|
|
44
|
+
if (shouldAlignBase) {
|
|
45
|
+
baseViewZones.push(this.newActionZonePlaceholder(mergeRange.baseRange.startLineNumber - 1, actionZoneHeight));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (actions.hasResultActions) {
|
|
49
|
+
resultViewZones.push(this.newActionZone(resultPane, actions.resultActionsObservable, model.getLineRangeInResult(mergeRange).startLineNumber - 1, resultActionZoneHeight));
|
|
50
|
+
}
|
|
51
|
+
else if (shouldAlignResult && actions.hasSideActions) {
|
|
52
|
+
resultViewZones.push(this.newActionZonePlaceholder(model.getLineRangeInResult(mergeRange).startLineNumber - 1, resultActionZoneHeight));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const baseLineCount = model.baseDocument.lineCount;
|
|
56
|
+
const multiDiffSpacers = [];
|
|
57
|
+
multiDiffSpacers.push(this.diffSpacerService.computeDiffSpacers(model.side1Changes, baseLineCount));
|
|
58
|
+
multiDiffSpacers.push(this.diffSpacerService.computeDiffSpacers(model.side2Changes, baseLineCount));
|
|
59
|
+
if (shouldAlignResult) {
|
|
60
|
+
multiDiffSpacers.push(this.diffSpacerService.computeDiffSpacers(model.resultChanges, baseLineCount));
|
|
61
|
+
}
|
|
62
|
+
const combinedMultiDiffSpacers = this.diffSpacerService.combineMultiDiffSpacers(multiDiffSpacers);
|
|
63
|
+
if (shouldAlignBase) {
|
|
64
|
+
this.createSpacerZones(combinedMultiDiffSpacers.originalSpacers, baseViewZones);
|
|
65
|
+
}
|
|
66
|
+
const { modifiedSides } = shouldAlignBase ? combinedMultiDiffSpacers : this.diffSpacerService.excludeOriginalSide(combinedMultiDiffSpacers);
|
|
67
|
+
this.createSpacerZones(modifiedSides[0].modifiedSpacers, side1ViewZones);
|
|
68
|
+
this.createSpacerZones(modifiedSides[1].modifiedSpacers, side2ViewZones);
|
|
69
|
+
if (shouldAlignResult) {
|
|
70
|
+
this.createSpacerZones(modifiedSides[2].modifiedSpacers, resultViewZones);
|
|
71
|
+
}
|
|
72
|
+
return { baseViewZones, side1ViewZones, side2ViewZones, resultViewZones };
|
|
73
|
+
}
|
|
74
|
+
createSpacerZones(spacers, viewZones) {
|
|
75
|
+
const lineNumbers = Object.keys(spacers).map(Number); // note: spacers is a sparse array
|
|
76
|
+
for (const lineNumber of lineNumbers) {
|
|
77
|
+
const heightInLines = spacers[lineNumber];
|
|
78
|
+
if (heightInLines) {
|
|
79
|
+
viewZones.push(this.newSpacerZone(lineNumber - 1, heightInLines));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
newMergeRangeActions(mergeEditor, mergeRange) {
|
|
84
|
+
return new merge_range_actions_1.MergeRangeActions(mergeEditor, mergeRange);
|
|
85
|
+
}
|
|
86
|
+
getActionZoneMinHeight(pane) {
|
|
87
|
+
return pane.editor.getControl().getOption(monaco.editor.EditorOption.lineHeight);
|
|
88
|
+
}
|
|
89
|
+
newActionZone(pane, actions, afterLineNumber, heightInPx) {
|
|
90
|
+
return new MergeEditorActionZone(pane, actions, afterLineNumber, heightInPx);
|
|
91
|
+
}
|
|
92
|
+
newActionZonePlaceholder(afterLineNumber, heightInPx) {
|
|
93
|
+
return new MergeEditorActionZonePlaceholder(afterLineNumber, heightInPx);
|
|
94
|
+
}
|
|
95
|
+
newSpacerZone(afterLineNumber, heightInLines) {
|
|
96
|
+
return new MergeEditorSpacerZone(afterLineNumber, heightInLines);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
exports.MergeEditorViewZoneComputer = MergeEditorViewZoneComputer;
|
|
100
|
+
tslib_1.__decorate([
|
|
101
|
+
(0, inversify_1.inject)(diff_spacers_1.DiffSpacerService),
|
|
102
|
+
tslib_1.__metadata("design:type", diff_spacers_1.DiffSpacerService)
|
|
103
|
+
], MergeEditorViewZoneComputer.prototype, "diffSpacerService", void 0);
|
|
104
|
+
exports.MergeEditorViewZoneComputer = MergeEditorViewZoneComputer = tslib_1.__decorate([
|
|
105
|
+
(0, inversify_1.injectable)()
|
|
106
|
+
], MergeEditorViewZoneComputer);
|
|
107
|
+
class MergeEditorActionZone {
|
|
108
|
+
constructor(pane, actionsObservable, afterLineNumber, heightInPx) {
|
|
109
|
+
this.pane = pane;
|
|
110
|
+
this.actionsObservable = actionsObservable;
|
|
111
|
+
this.afterLineNumber = afterLineNumber;
|
|
112
|
+
this.heightInPx = heightInPx;
|
|
113
|
+
}
|
|
114
|
+
create(ctx) {
|
|
115
|
+
const overlayWidgetNode = document.createElement('div');
|
|
116
|
+
overlayWidgetNode.className = 'action-zone';
|
|
117
|
+
ctx.createViewZone({
|
|
118
|
+
domNode: document.createElement('div'),
|
|
119
|
+
afterLineNumber: this.afterLineNumber + 1, // + 1, since line numbers in Monaco are 1-based
|
|
120
|
+
heightInPx: this.heightInPx,
|
|
121
|
+
onComputedHeight: height => overlayWidgetNode.style.height = `${height}px`,
|
|
122
|
+
onDomNodeTop: top => overlayWidgetNode.style.top = `${top}px`
|
|
123
|
+
});
|
|
124
|
+
const editor = this.pane.editor.getControl();
|
|
125
|
+
const setLeftPosition = () => overlayWidgetNode.style.left = editor.getLayoutInfo().contentLeft + 'px';
|
|
126
|
+
setLeftPosition();
|
|
127
|
+
ctx.register(editor.onDidLayoutChange(setLeftPosition));
|
|
128
|
+
const overlayWidgetId = `mergeEditorActionZone${MergeEditorActionZone.counter++}`;
|
|
129
|
+
const overlayWidget = {
|
|
130
|
+
getId: () => overlayWidgetId,
|
|
131
|
+
getDomNode: () => overlayWidgetNode,
|
|
132
|
+
// eslint-disable-next-line no-null/no-null
|
|
133
|
+
getPosition: () => null
|
|
134
|
+
};
|
|
135
|
+
editor.addOverlayWidget(overlayWidget);
|
|
136
|
+
ctx.register(core_1.Disposable.create(() => {
|
|
137
|
+
editor.removeOverlayWidget(overlayWidget);
|
|
138
|
+
}));
|
|
139
|
+
const actionContainer = document.createElement('div');
|
|
140
|
+
actionContainer.className = 'codelens-decoration';
|
|
141
|
+
overlayWidgetNode.appendChild(actionContainer);
|
|
142
|
+
ctx.register(observable_1.Autorun.create(() => this.renderActions(actionContainer, this.actionsObservable.get())));
|
|
143
|
+
}
|
|
144
|
+
;
|
|
145
|
+
renderActions(parent, actions) {
|
|
146
|
+
const children = [];
|
|
147
|
+
let isFirst = true;
|
|
148
|
+
for (const action of actions) {
|
|
149
|
+
if (isFirst) {
|
|
150
|
+
isFirst = false;
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
const actionSeparator = document.createElement('span');
|
|
154
|
+
actionSeparator.append('\u00a0|\u00a0');
|
|
155
|
+
children.push(actionSeparator);
|
|
156
|
+
}
|
|
157
|
+
const title = this.getActionTitle(action);
|
|
158
|
+
if (action.run) {
|
|
159
|
+
const actionLink = document.createElement('a');
|
|
160
|
+
actionLink.role = 'button';
|
|
161
|
+
actionLink.onclick = () => action.run();
|
|
162
|
+
if (action.tooltip) {
|
|
163
|
+
actionLink.title = action.tooltip;
|
|
164
|
+
}
|
|
165
|
+
actionLink.append(title);
|
|
166
|
+
children.push(actionLink);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
const actionLabel = document.createElement('span');
|
|
170
|
+
if (action.tooltip) {
|
|
171
|
+
actionLabel.title = action.tooltip;
|
|
172
|
+
}
|
|
173
|
+
actionLabel.append(title);
|
|
174
|
+
children.push(actionLabel);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
parent.innerText = ''; // reset children
|
|
178
|
+
parent.append(...children);
|
|
179
|
+
}
|
|
180
|
+
getActionTitle(action) {
|
|
181
|
+
return action.text;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
exports.MergeEditorActionZone = MergeEditorActionZone;
|
|
185
|
+
MergeEditorActionZone.counter = 0;
|
|
186
|
+
class MergeEditorActionZonePlaceholder {
|
|
187
|
+
constructor(afterLineNumber, heightInPx) {
|
|
188
|
+
this.afterLineNumber = afterLineNumber;
|
|
189
|
+
this.heightInPx = heightInPx;
|
|
190
|
+
}
|
|
191
|
+
create(ctx) {
|
|
192
|
+
const domNode = document.createElement('div');
|
|
193
|
+
domNode.className = 'action-zone-placeholder';
|
|
194
|
+
ctx.createViewZone({
|
|
195
|
+
afterLineNumber: this.afterLineNumber + 1, // + 1, since line numbers in Monaco are 1-based
|
|
196
|
+
heightInPx: this.heightInPx,
|
|
197
|
+
domNode
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
exports.MergeEditorActionZonePlaceholder = MergeEditorActionZonePlaceholder;
|
|
202
|
+
class MergeEditorSpacerZone {
|
|
203
|
+
constructor(afterLineNumber, heightInLines) {
|
|
204
|
+
this.afterLineNumber = afterLineNumber;
|
|
205
|
+
this.heightInLines = heightInLines;
|
|
206
|
+
}
|
|
207
|
+
create(ctx) {
|
|
208
|
+
const domNode = document.createElement('div');
|
|
209
|
+
domNode.className = 'diagonal-fill';
|
|
210
|
+
ctx.createViewZone({
|
|
211
|
+
afterLineNumber: this.afterLineNumber + 1, // + 1, since line numbers in Monaco are 1-based
|
|
212
|
+
heightInLines: this.heightInLines,
|
|
213
|
+
domNode
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
exports.MergeEditorSpacerZone = MergeEditorSpacerZone;
|
|
218
|
+
//# sourceMappingURL=merge-editor-view-zones.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-editor-view-zones.js","sourceRoot":"","sources":["../../../../src/browser/merge-editor/view/merge-editor-view-zones.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { MergeRange, MergeRangeAcceptedState, MergeSide } from '../model/merge-range';
|
|
2
|
+
import { MergeEditor } from '../merge-editor';
|
|
3
|
+
export interface MergeRangeAction {
|
|
4
|
+
readonly text: string;
|
|
5
|
+
readonly tooltip?: string;
|
|
6
|
+
run?(): unknown;
|
|
7
|
+
}
|
|
8
|
+
export declare class MergeRangeActions {
|
|
9
|
+
protected readonly mergeEditor: MergeEditor;
|
|
10
|
+
protected readonly mergeRange: MergeRange;
|
|
11
|
+
readonly side1ActionsObservable: import("@theia/core/lib/common/observable").Observable<readonly MergeRangeAction[], void>;
|
|
12
|
+
readonly side2ActionsObservable: import("@theia/core/lib/common/observable").Observable<readonly MergeRangeAction[], void>;
|
|
13
|
+
readonly resultActionsObservable: import("@theia/core/lib/common/observable").Observable<readonly MergeRangeAction[], void>;
|
|
14
|
+
protected readonly hasSideActionsObservable: import("@theia/core/lib/common/observable").Observable<boolean, void>;
|
|
15
|
+
get hasSideActions(): boolean;
|
|
16
|
+
protected readonly hasResultActionsObservable: import("@theia/core/lib/common/observable").Observable<boolean, void>;
|
|
17
|
+
get hasResultActions(): boolean;
|
|
18
|
+
constructor(mergeEditor: MergeEditor, mergeRange: MergeRange);
|
|
19
|
+
protected getActionsForSide(side: MergeSide): readonly MergeRangeAction[];
|
|
20
|
+
protected getResultActions(): readonly MergeRangeAction[];
|
|
21
|
+
protected applyMergeRangeAcceptedState(mergeRange: MergeRange, state: MergeRangeAcceptedState): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=merge-range-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-range-actions.d.ts","sourceRoot":"","sources":["../../../../src/browser/merge-editor/view/merge-range-actions.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,IAAI,OAAO,CAAC;CACnB;AAED,qBAAa,iBAAiB;IAatB,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW;IAC3C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IAZ7C,QAAQ,CAAC,sBAAsB,4FAA6D;IAC5F,QAAQ,CAAC,sBAAsB,4FAA6D;IAC5F,QAAQ,CAAC,uBAAuB,4FAA2D;IAE3F,SAAS,CAAC,QAAQ,CAAC,wBAAwB,wEAA2H;IACtK,IAAI,cAAc,IAAI,OAAO,CAAgD;IAE7E,SAAS,CAAC,QAAQ,CAAC,0BAA0B,wEAAiF;IAC9H,IAAI,gBAAgB,IAAI,OAAO,CAAkD;gBAG1D,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU;IAG7C,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,gBAAgB,EAAE;IAmCzE,SAAS,CAAC,gBAAgB,IAAI,SAAS,gBAAgB,EAAE;cAiEzC,4BAA4B,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CAStH"}
|