@codingame/monaco-vscode-view-common-service-override 11.1.2 → 12.0.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/index.d.ts +3 -1
- package/index.js +110 -1
- package/package.json +64 -10
- package/service-override/tools/editorAssets.d.ts +1 -0
- package/service-override/tools/editorAssets.js +5 -0
- package/vscode/src/vs/platform/actions/browser/actionViewItemService.d.ts +21 -0
- package/vscode/src/vs/platform/actions/browser/actionViewItemService.js +2 -0
- package/vscode/src/vs/platform/webview/common/mimeTypes.d.ts +2 -0
- package/vscode/src/vs/platform/webview/common/mimeTypes.js +1 -0
- package/vscode/src/vs/platform/webview/common/webviewPortMapping.d.ts +18 -0
- package/vscode/src/vs/platform/webview/common/webviewPortMapping.js +1 -0
- package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.d.ts +7 -0
- package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +116 -115
- package/vscode/src/vs/workbench/browser/actions/listCommands.d.ts +1 -0
- package/vscode/src/vs/workbench/browser/actions/listCommands.js +120 -125
- package/vscode/src/vs/workbench/browser/actions/navigationActions.d.ts +1 -0
- package/vscode/src/vs/workbench/browser/actions/navigationActions.js +81 -74
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +216 -250
- package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.d.ts +21 -0
- package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +26 -25
- package/vscode/src/vs/workbench/browser/parts/paneCompositePartService.d.ts +32 -0
- package/vscode/src/vs/workbench/browser/parts/paneCompositePartService.js +10 -8
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +58 -64
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +48 -38
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.d.ts +54 -0
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +19 -40
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/media/callHierarchy.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +7 -5
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.d.ts +58 -0
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +6 -4
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditors.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditors.js +6 -4
- package/vscode/src/vs/workbench/contrib/customEditor/browser/media/customEditor.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/customEditor/common/contributedCustomEditors.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/customEditor/common/contributedCustomEditors.js +16 -16
- package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.d.ts +65 -0
- package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +15 -10
- package/vscode/src/vs/workbench/contrib/customEditor/common/customEditorModelManager.d.ts +12 -0
- package/vscode/src/vs/workbench/contrib/customEditor/common/customEditorModelManager.js +1 -0
- package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +27 -25
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.js +4 -2
- package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +6 -386
- package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.js +385 -0
- package/vscode/src/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/limitIndicator/browser/limitIndicator.contribution.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/limitIndicator/browser/limitIndicator.contribution.js +20 -20
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.d.ts +105 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +50 -62
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.d.ts +18 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +16 -15
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +15 -13
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorSerializer.d.ts +27 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorSerializer.js +2 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/colors.d.ts +13 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/colors.js +14 -13
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editorGutter.d.ts +31 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editorGutter.js +2 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.d.ts +9 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js +15 -14
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.d.ts +45 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.js +3 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.d.ts +43 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js +37 -39
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js +22 -21
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/lineAlignment.d.ts +7 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/lineAlignment.js +3 -2
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/media/mergeEditor.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.d.ts +117 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +57 -53
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/scrollSynchronizer.d.ts +22 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/scrollSynchronizer.js +27 -25
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.d.ts +41 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.js +15 -13
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewZones.d.ts +29 -0
- package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewZones.js +4 -3
- package/vscode/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.d.ts +11 -0
- package/vscode/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.js +28 -28
- package/vscode/src/vs/workbench/contrib/sash/browser/sash.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/sash/browser/sash.contribution.js +7 -5
- package/vscode/src/vs/workbench/contrib/sash/browser/sash.d.ts +15 -0
- package/vscode/src/vs/workbench/contrib/sash/browser/sash.js +2 -1
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/media/typeHierarchy.css.js +1 -1
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +54 -56
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +48 -38
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.d.ts +52 -0
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +19 -30
- package/vscode/src/vs/workbench/contrib/webview/browser/overlayWebview.d.ts +101 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/overlayWebview.js +3 -2
- package/vscode/src/vs/workbench/contrib/webview/browser/resourceLoading.d.ts +38 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/resourceLoading.js +7 -6
- package/vscode/src/vs/workbench/contrib/webview/browser/themeing.d.ts +23 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/themeing.js +7 -6
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.d.ts +139 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +58 -56
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindWidget.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindWidget.js +4 -3
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewService.d.ts +21 -0
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewService.js +2 -1
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.d.ts +33 -0
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +28 -28
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.d.ts +50 -0
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +3 -2
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.d.ts +1 -0
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +15 -13
- package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.d.ts +64 -0
- package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +10 -8
- package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.d.ts +30 -0
- package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.js +1 -0
- package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.d.ts +6 -0
- package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +3 -1
- package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.d.ts +60 -0
- package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +64 -63
- package/vscode/src/vs/workbench/services/history/browser/historyService.d.ts +184 -0
- package/vscode/src/vs/workbench/services/history/browser/historyService.js +154 -148
- package/vscode/src/vs/workbench/services/progress/browser/media/progressService.css.js +1 -1
- package/vscode/src/vs/workbench/services/progress/browser/progressService.d.ts +36 -0
- package/vscode/src/vs/workbench/services/progress/browser/progressService.js +59 -54
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.d.ts +34 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.js +4 -3
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +71 -0
- package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +4 -2
- package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.d.ts +122 -0
- package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +86 -90
- package/vscode/src/vs/workbench/services/views/common/viewContainerModel.d.ts +80 -0
- package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +58 -64
- package/override/vs/workbench/browser/parts/editor/textEditor.js +0 -5
- package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +0 -11
- package/tools/editorAssets.js +0 -4
- package/tools/url.js +0 -10
- package/viewCommon.js +0 -109
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
import { h, reset } from 'vscode/vscode/vs/base/browser/dom';
|
|
2
3
|
import { Disposable, toDisposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
3
4
|
import { transaction } from 'vscode/vscode/vs/base/common/observableInternal/base';
|
|
@@ -7,7 +8,7 @@ import { autorun } from 'vscode/vscode/vs/base/common/observableInternal/autorun
|
|
|
7
8
|
import 'vscode/vscode/vs/base/common/observableInternal/derived';
|
|
8
9
|
import 'vscode/vscode/vs/base/common/cancellation';
|
|
9
10
|
import { observableFromEvent, observableSignalFromEvent, observableSignal } from 'vscode/vscode/vs/base/common/observableInternal/utils';
|
|
10
|
-
import { LineRange } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/model/lineRange';
|
|
11
|
+
import { LineRange } from '@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/model/lineRange';
|
|
11
12
|
|
|
12
13
|
class EditorGutter extends Disposable {
|
|
13
14
|
constructor(_editor, _domNode, itemProvider) {
|
package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IObservable } from "vscode/vscode/vs/base/common/observable";
|
|
2
|
+
import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
|
|
3
|
+
import { IInstantiationService } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
|
+
import { MergeEditorViewModel } from "../viewModel.js";
|
|
5
|
+
import { CodeEditorView } from "./codeEditorView.js";
|
|
6
|
+
export declare class BaseCodeEditorView extends CodeEditorView {
|
|
7
|
+
constructor(viewModel: IObservable<MergeEditorViewModel | undefined>, instantiationService: IInstantiationService, configurationService: IConfigurationService);
|
|
8
|
+
private readonly decorations;
|
|
9
|
+
}
|
package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { reset, h } from 'vscode/vscode/vs/base/browser/dom';
|
|
3
4
|
import { renderLabelWithIcons } from 'vscode/vscode/vs/base/browser/ui/iconLabel/iconLabels';
|
|
4
5
|
import { BugIndicatingError } from 'vscode/vscode/vs/base/common/errors';
|
|
@@ -9,12 +10,12 @@ import { autorunWithStore, autorun } from 'vscode/vscode/vs/base/common/observab
|
|
|
9
10
|
import { derived } from 'vscode/vscode/vs/base/common/observableInternal/derived';
|
|
10
11
|
import 'vscode/vscode/vs/base/common/cancellation';
|
|
11
12
|
import 'vscode/vscode/vs/base/common/observableInternal/utils';
|
|
12
|
-
import { OverviewRulerLane } from 'vscode/vscode/vs/editor/common/model';
|
|
13
|
+
import { MinimapPosition, OverviewRulerLane } from 'vscode/vscode/vs/editor/common/model';
|
|
13
14
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
14
15
|
import { MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
15
16
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
16
17
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
17
|
-
import { applyObservableDecorations } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/utils';
|
|
18
|
+
import { applyObservableDecorations } from '@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/utils';
|
|
18
19
|
import { handledConflictMinimapOverViewRulerColor, unhandledConflictMinimapOverViewRulerColor } from '../colors.js';
|
|
19
20
|
import { EditorGutter } from '../editorGutter.js';
|
|
20
21
|
import { CodeEditorView, createSelectionsAutorun, TitleMenu } from './codeEditorView.js';
|
|
@@ -89,7 +90,7 @@ let BaseCodeEditorView = class BaseCodeEditorView extends CodeEditorView {
|
|
|
89
90
|
blockIsAfterEnd: range.startLineNumber > textModel.getLineCount(),
|
|
90
91
|
description: 'Merge Editor',
|
|
91
92
|
minimap: {
|
|
92
|
-
position:
|
|
93
|
+
position: MinimapPosition.Gutter,
|
|
93
94
|
color: { id: isHandled ? handledConflictMinimapOverViewRulerColor : unhandledConflictMinimapOverViewRulerColor },
|
|
94
95
|
},
|
|
95
96
|
overviewRuler: modifiedBaseRange.isConflicting ? {
|
|
@@ -105,10 +106,10 @@ let BaseCodeEditorView = class BaseCodeEditorView extends CodeEditorView {
|
|
|
105
106
|
this._register(instantiationService.createInstance(TitleMenu, MenuId.MergeBaseToolbar, this.htmlElements.title));
|
|
106
107
|
this._register(autorunWithStore((reader, store) => {
|
|
107
108
|
if (this.checkboxesVisible.read(reader)) {
|
|
108
|
-
store.add((
|
|
109
|
+
store.add(( new EditorGutter(this.editor, this.htmlElements.gutterDiv, {
|
|
109
110
|
getIntersectingGutterItems: (range, reader) => [],
|
|
110
|
-
createView: (item, target) => { throw (
|
|
111
|
-
})))
|
|
111
|
+
createView: (item, target) => { throw ( new BugIndicatingError()); },
|
|
112
|
+
})));
|
|
112
113
|
}
|
|
113
114
|
}));
|
|
114
115
|
this._register(autorun(reader => {
|
|
@@ -117,16 +118,16 @@ let BaseCodeEditorView = class BaseCodeEditorView extends CodeEditorView {
|
|
|
117
118
|
return;
|
|
118
119
|
}
|
|
119
120
|
this.editor.setModel(vm.model.base);
|
|
120
|
-
reset(this.htmlElements.title, ...renderLabelWithIcons(( localize(
|
|
121
|
+
reset(this.htmlElements.title, ...renderLabelWithIcons(( localize(7243, 'Base'))));
|
|
121
122
|
const baseShowDiffAgainst = vm.baseShowDiffAgainst.read(reader);
|
|
122
123
|
let node = undefined;
|
|
123
124
|
if (baseShowDiffAgainst) {
|
|
124
125
|
const label = ( localize(
|
|
125
|
-
|
|
126
|
+
7244,
|
|
126
127
|
'Comparing with {0}',
|
|
127
128
|
baseShowDiffAgainst === 1 ? vm.model.input1.title : vm.model.input2.title
|
|
128
129
|
));
|
|
129
|
-
const tooltip = ( localize(
|
|
130
|
+
const tooltip = ( localize(7245, 'Differences are highlighted with a background color.'));
|
|
130
131
|
node = h('span', { title: tooltip }, [label]).root;
|
|
131
132
|
}
|
|
132
133
|
reset(this.htmlElements.description, ...(node ? [node] : []));
|
|
@@ -134,9 +135,9 @@ let BaseCodeEditorView = class BaseCodeEditorView extends CodeEditorView {
|
|
|
134
135
|
this._register(applyObservableDecorations(this.editor, this.decorations));
|
|
135
136
|
}
|
|
136
137
|
};
|
|
137
|
-
BaseCodeEditorView = (
|
|
138
|
-
(
|
|
139
|
-
(
|
|
140
|
-
], BaseCodeEditorView))
|
|
138
|
+
BaseCodeEditorView = ( __decorate([
|
|
139
|
+
( __param(1, IInstantiationService)),
|
|
140
|
+
( __param(2, IConfigurationService))
|
|
141
|
+
], BaseCodeEditorView));
|
|
141
142
|
|
|
142
143
|
export { BaseCodeEditorView };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { IView } from "@codingame/monaco-vscode-6980eeab-47bb-5a48-8e15-32caf0785565-common/vscode/vs/base/browser/ui/grid/grid";
|
|
2
|
+
import { Disposable, IDisposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { IObservable } from "vscode/vscode/vs/base/common/observable";
|
|
4
|
+
import { IEditorContributionDescription } from "vscode/vscode/vs/editor/browser/editorExtensions";
|
|
5
|
+
import { CodeEditorWidget } from "vscode/vscode/vs/editor/browser/widget/codeEditor/codeEditorWidget";
|
|
6
|
+
import { IEditorOptions } from "vscode/vscode/vs/editor/common/config/editorOptions";
|
|
7
|
+
import { Range } from "vscode/vscode/vs/editor/common/core/range";
|
|
8
|
+
import { Selection } from "vscode/vscode/vs/editor/common/core/selection";
|
|
9
|
+
import { MenuId } from "vscode/vscode/vs/platform/actions/common/actions";
|
|
10
|
+
import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
|
|
11
|
+
import { IInstantiationService } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
|
|
12
|
+
import { MergeEditorViewModel } from "../viewModel.js";
|
|
13
|
+
export declare abstract class CodeEditorView extends Disposable {
|
|
14
|
+
private readonly instantiationService;
|
|
15
|
+
readonly viewModel: IObservable<undefined | MergeEditorViewModel>;
|
|
16
|
+
private readonly configurationService;
|
|
17
|
+
readonly model: IObservable<import("@codingame/monaco-vscode-8ccb7637-50ea-5359-97bf-00015d7fe567-common/vscode/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel").MergeEditorModel | undefined, unknown>;
|
|
18
|
+
protected readonly htmlElements: {
|
|
19
|
+
description: HTMLSpanElement;
|
|
20
|
+
root: HTMLSpanElement & HTMLDivElement;
|
|
21
|
+
title: HTMLSpanElement;
|
|
22
|
+
detail: HTMLSpanElement;
|
|
23
|
+
toolbar: HTMLSpanElement;
|
|
24
|
+
header: HTMLDivElement;
|
|
25
|
+
editor: HTMLDivElement;
|
|
26
|
+
gutterDiv: HTMLDivElement;
|
|
27
|
+
};
|
|
28
|
+
private readonly _onDidViewChange;
|
|
29
|
+
readonly view: IView;
|
|
30
|
+
protected readonly checkboxesVisible: IObservable<boolean, unknown>;
|
|
31
|
+
protected readonly showDeletionMarkers: IObservable<boolean, unknown>;
|
|
32
|
+
protected readonly useSimplifiedDecorations: IObservable<boolean, unknown>;
|
|
33
|
+
readonly editor: CodeEditorWidget;
|
|
34
|
+
updateOptions(newOptions: Readonly<IEditorOptions>): void;
|
|
35
|
+
readonly isFocused: IObservable<boolean, unknown>;
|
|
36
|
+
readonly cursorPosition: IObservable<import("vscode/vscode/vs/editor/common/core/position").Position | null, unknown>;
|
|
37
|
+
readonly selection: IObservable<Selection[] | null, unknown>;
|
|
38
|
+
readonly cursorLineNumber: IObservable<number | undefined, unknown>;
|
|
39
|
+
constructor(instantiationService: IInstantiationService, viewModel: IObservable<undefined | MergeEditorViewModel>, configurationService: IConfigurationService);
|
|
40
|
+
protected getEditorContributions(): IEditorContributionDescription[];
|
|
41
|
+
}
|
|
42
|
+
export declare function createSelectionsAutorun(codeEditorView: CodeEditorView, translateRange: (baseRange: Range, viewModel: MergeEditorViewModel) => Range): IDisposable;
|
|
43
|
+
export declare class TitleMenu extends Disposable {
|
|
44
|
+
constructor(menuId: MenuId, targetHtmlElement: HTMLElement, instantiationService: IInstantiationService);
|
|
45
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { h } from 'vscode/vscode/vs/base/browser/dom';
|
|
3
4
|
import { Emitter, Event } from 'vscode/vscode/vs/base/common/event';
|
|
4
5
|
import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
@@ -15,7 +16,7 @@ import { FoldingController } from 'vscode/vscode/vs/editor/contrib/folding/brows
|
|
|
15
16
|
import { MenuWorkbenchToolBar } from 'vscode/vscode/vs/platform/actions/browser/toolbar';
|
|
16
17
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
17
18
|
import { DEFAULT_EDITOR_MIN_DIMENSIONS, DEFAULT_EDITOR_MAX_DIMENSIONS } from 'vscode/vscode/vs/workbench/browser/parts/editor/editor';
|
|
18
|
-
import { setStyle } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/utils';
|
|
19
|
+
import { setStyle } from '@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/utils';
|
|
19
20
|
import { observableConfigValue } from 'vscode/vscode/vs/platform/observable/common/platformObservableUtils';
|
|
20
21
|
|
|
21
22
|
class CodeEditorView extends Disposable {
|
package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { IAction } from "vscode/vscode/vs/base/common/actions";
|
|
2
|
+
import { Disposable } from "vscode/vscode/vs/base/common/lifecycle";
|
|
3
|
+
import { IObservable, ITransaction } from "vscode/vscode/vs/base/common/observable";
|
|
4
|
+
import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
|
|
5
|
+
import { IContextMenuService } from "vscode/vscode/vs/platform/contextview/browser/contextView.service";
|
|
6
|
+
import { IInstantiationService } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
|
|
7
|
+
import { InputState, ModifiedBaseRange } from "@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange";
|
|
8
|
+
import { MergeEditorViewModel } from "../viewModel.js";
|
|
9
|
+
import { IGutterItemInfo, IGutterItemView } from "../editorGutter.js";
|
|
10
|
+
import { CodeEditorView } from "./codeEditorView.js";
|
|
11
|
+
export declare class InputCodeEditorView extends CodeEditorView {
|
|
12
|
+
readonly inputNumber: 1 | 2;
|
|
13
|
+
readonly otherInputNumber: number;
|
|
14
|
+
constructor(inputNumber: 1 | 2, viewModel: IObservable<MergeEditorViewModel | undefined>, instantiationService: IInstantiationService, contextMenuService: IContextMenuService, configurationService: IConfigurationService);
|
|
15
|
+
private readonly modifiedBaseRangeGutterItemInfos;
|
|
16
|
+
private readonly decorations;
|
|
17
|
+
}
|
|
18
|
+
export declare class ModifiedBaseRangeGutterItemModel implements IGutterItemInfo {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
private readonly baseRange;
|
|
21
|
+
private readonly inputNumber;
|
|
22
|
+
private readonly viewModel;
|
|
23
|
+
private readonly model;
|
|
24
|
+
readonly range: import("@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/model/lineRange").LineRange;
|
|
25
|
+
constructor(id: string, baseRange: ModifiedBaseRange, inputNumber: 1 | 2, viewModel: MergeEditorViewModel);
|
|
26
|
+
readonly enabled: IObservable<boolean, unknown>;
|
|
27
|
+
readonly toggleState: IObservable<InputState>;
|
|
28
|
+
readonly state: IObservable<{
|
|
29
|
+
handled: boolean;
|
|
30
|
+
focused: boolean;
|
|
31
|
+
}>;
|
|
32
|
+
setState(value: boolean, tx: ITransaction): void;
|
|
33
|
+
toggleBothSides(): void;
|
|
34
|
+
getContextMenuActions(): readonly IAction[];
|
|
35
|
+
}
|
|
36
|
+
export declare class MergeConflictGutterItemView extends Disposable implements IGutterItemView<ModifiedBaseRangeGutterItemModel> {
|
|
37
|
+
private readonly item;
|
|
38
|
+
private readonly checkboxDiv;
|
|
39
|
+
private readonly isMultiLine;
|
|
40
|
+
constructor(item: ModifiedBaseRangeGutterItemModel, target: HTMLElement, contextMenuService: IContextMenuService);
|
|
41
|
+
layout(top: number, height: number, viewTop: number, viewHeight: number): void;
|
|
42
|
+
update(baseRange: ModifiedBaseRangeGutterItemModel): void;
|
|
43
|
+
}
|
package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { reset, addDisposableListener, EventType, h } from 'vscode/vscode/vs/base/browser/dom';
|
|
3
4
|
import { renderLabelWithIcons } from 'vscode/vscode/vs/base/browser/ui/iconLabel/iconLabels';
|
|
4
5
|
import { Toggle } from 'vscode/vscode/vs/base/browser/ui/toggle/toggle';
|
|
@@ -15,14 +16,15 @@ import 'vscode/vscode/vs/base/common/cancellation';
|
|
|
15
16
|
import 'vscode/vscode/vs/base/common/observableInternal/utils';
|
|
16
17
|
import { noBreakWhitespace } from 'vscode/vscode/vs/base/common/strings';
|
|
17
18
|
import { isDefined } from 'vscode/vscode/vs/base/common/types';
|
|
18
|
-
import { OverviewRulerLane } from 'vscode/vscode/vs/editor/common/model';
|
|
19
|
+
import { MinimapPosition, OverviewRulerLane } from 'vscode/vscode/vs/editor/common/model';
|
|
19
20
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
20
21
|
import { MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
21
22
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
22
23
|
import { IContextMenuService } from 'vscode/vscode/vs/platform/contextview/browser/contextView.service';
|
|
23
24
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
24
25
|
import { defaultToggleStyles } from 'vscode/vscode/vs/platform/theme/browser/defaultStyles';
|
|
25
|
-
import {
|
|
26
|
+
import { InputState } from '@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange';
|
|
27
|
+
import { applyObservableDecorations, setFields } from '@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/utils';
|
|
26
28
|
import { handledConflictMinimapOverViewRulerColor, unhandledConflictMinimapOverViewRulerColor } from '../colors.js';
|
|
27
29
|
import { EditorGutter } from '../editorGutter.js';
|
|
28
30
|
import { CodeEditorView, createSelectionsAutorun, TitleMenu } from './codeEditorView.js';
|
|
@@ -40,13 +42,9 @@ let InputCodeEditorView = class InputCodeEditorView extends CodeEditorView {
|
|
|
40
42
|
const model = viewModel.model;
|
|
41
43
|
const inputNumber = this.inputNumber;
|
|
42
44
|
const showNonConflictingChanges = viewModel.showNonConflictingChanges.read(reader);
|
|
43
|
-
return (
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
.map(
|
|
47
|
-
(baseRange, idx) => ( (new ModifiedBaseRangeGutterItemModel( (idx.toString()), baseRange, inputNumber, viewModel)))
|
|
48
|
-
))
|
|
49
|
-
);
|
|
45
|
+
return ( model.modifiedBaseRanges.read(reader)
|
|
46
|
+
.filter((r) => r.getInputDiffs(this.inputNumber).length > 0 && (showNonConflictingChanges || r.isConflicting || !model.isHandled(r).read(reader)))
|
|
47
|
+
.map((baseRange, idx) => ( new ModifiedBaseRangeGutterItemModel(( idx.toString()), baseRange, inputNumber, viewModel))));
|
|
50
48
|
});
|
|
51
49
|
this.decorations = derivedOpts({ debugName: `input${this.inputNumber}.decorations` }, reader => {
|
|
52
50
|
const viewModel = this.viewModel.read(reader);
|
|
@@ -56,7 +54,7 @@ let InputCodeEditorView = class InputCodeEditorView extends CodeEditorView {
|
|
|
56
54
|
const model = viewModel.model;
|
|
57
55
|
const textModel = (this.inputNumber === 1 ? model.input1 : model.input2).textModel;
|
|
58
56
|
const activeModifiedBaseRange = viewModel.activeModifiedBaseRange.read(reader);
|
|
59
|
-
const result = (
|
|
57
|
+
const result = ( new Array());
|
|
60
58
|
const showNonConflictingChanges = viewModel.showNonConflictingChanges.read(reader);
|
|
61
59
|
const showDeletionMarkers = this.showDeletionMarkers.read(reader);
|
|
62
60
|
const diffWithThis = viewModel.baseCodeEditorView.read(reader) !== undefined && viewModel.baseShowDiffAgainst.read(reader) === this.inputNumber;
|
|
@@ -96,7 +94,7 @@ let InputCodeEditorView = class InputCodeEditorView extends CodeEditorView {
|
|
|
96
94
|
blockIsAfterEnd: range.startLineNumber > textModel.getLineCount(),
|
|
97
95
|
description: 'Merge Editor',
|
|
98
96
|
minimap: {
|
|
99
|
-
position:
|
|
97
|
+
position: MinimapPosition.Gutter,
|
|
100
98
|
color: { id: isHandled ? handledConflictMinimapOverViewRulerColor : unhandledConflictMinimapOverViewRulerColor },
|
|
101
99
|
},
|
|
102
100
|
overviewRuler: modifiedBaseRange.isConflicting ? {
|
|
@@ -139,7 +137,7 @@ let InputCodeEditorView = class InputCodeEditorView extends CodeEditorView {
|
|
|
139
137
|
return result;
|
|
140
138
|
});
|
|
141
139
|
this.htmlElements.root.classList.add(`input`);
|
|
142
|
-
this._register((
|
|
140
|
+
this._register(( new EditorGutter(this.editor, this.htmlElements.gutterDiv, {
|
|
143
141
|
getIntersectingGutterItems: (range, reader) => {
|
|
144
142
|
if (this.checkboxesVisible.read(reader)) {
|
|
145
143
|
return this.modifiedBaseRangeGutterItemInfos.read(reader);
|
|
@@ -148,8 +146,8 @@ let InputCodeEditorView = class InputCodeEditorView extends CodeEditorView {
|
|
|
148
146
|
return [];
|
|
149
147
|
}
|
|
150
148
|
},
|
|
151
|
-
createView: (item, target) => (
|
|
152
|
-
})))
|
|
149
|
+
createView: (item, target) => ( new MergeConflictGutterItemView(item, target, contextMenuService)),
|
|
150
|
+
})));
|
|
153
151
|
this._register(createSelectionsAutorun(this, (baseRange, viewModel) => viewModel.model.translateBaseRangeToInput(this.inputNumber, baseRange)));
|
|
154
152
|
this._register(instantiationService.createInstance(TitleMenu, inputNumber === 1 ? MenuId.MergeInput1Toolbar : MenuId.MergeInput2Toolbar, this.htmlElements.toolbar));
|
|
155
153
|
this._register(autorunOpts({ debugName: `input${this.inputNumber}: update labels & text model` }, reader => {
|
|
@@ -159,8 +157,8 @@ let InputCodeEditorView = class InputCodeEditorView extends CodeEditorView {
|
|
|
159
157
|
}
|
|
160
158
|
this.editor.setModel(this.inputNumber === 1 ? vm.model.input1.textModel : vm.model.input2.textModel);
|
|
161
159
|
const title = this.inputNumber === 1
|
|
162
|
-
? vm.model.input1.title || ( localize(
|
|
163
|
-
: vm.model.input2.title || ( localize(
|
|
160
|
+
? vm.model.input1.title || ( localize(7246, 'Input 1'))
|
|
161
|
+
: vm.model.input2.title || ( localize(7247, 'Input 2'));
|
|
164
162
|
const description = this.inputNumber === 1
|
|
165
163
|
? vm.model.input1.description
|
|
166
164
|
: vm.model.input2.description;
|
|
@@ -174,11 +172,11 @@ let InputCodeEditorView = class InputCodeEditorView extends CodeEditorView {
|
|
|
174
172
|
this._register(applyObservableDecorations(this.editor, this.decorations));
|
|
175
173
|
}
|
|
176
174
|
};
|
|
177
|
-
InputCodeEditorView = (
|
|
178
|
-
(
|
|
179
|
-
(
|
|
180
|
-
(
|
|
181
|
-
], InputCodeEditorView))
|
|
175
|
+
InputCodeEditorView = ( __decorate([
|
|
176
|
+
( __param(2, IInstantiationService)),
|
|
177
|
+
( __param(3, IContextMenuService)),
|
|
178
|
+
( __param(4, IConfigurationService))
|
|
179
|
+
], InputCodeEditorView));
|
|
182
180
|
class ModifiedBaseRangeGutterItemModel {
|
|
183
181
|
constructor(id, baseRange, inputNumber, viewModel) {
|
|
184
182
|
this.id = id;
|
|
@@ -193,8 +191,8 @@ class ModifiedBaseRangeGutterItemModel {
|
|
|
193
191
|
.getState(this.baseRange)
|
|
194
192
|
.read(reader)
|
|
195
193
|
.getInput(this.inputNumber);
|
|
196
|
-
return input ===
|
|
197
|
-
?
|
|
194
|
+
return input === InputState.second && !this.baseRange.isOrderRelevant
|
|
195
|
+
? InputState.first
|
|
198
196
|
: input;
|
|
199
197
|
});
|
|
200
198
|
this.state = derived(this, reader => {
|
|
@@ -233,32 +231,32 @@ class ModifiedBaseRangeGutterItemModel {
|
|
|
233
231
|
});
|
|
234
232
|
};
|
|
235
233
|
function action(id, label, targetState, checked) {
|
|
236
|
-
const action = (
|
|
234
|
+
const action = ( new Action(id, label, undefined, true, () => {
|
|
237
235
|
update(targetState);
|
|
238
|
-
}))
|
|
236
|
+
}));
|
|
239
237
|
action.checked = checked;
|
|
240
238
|
return action;
|
|
241
239
|
}
|
|
242
240
|
const both = state.includesInput1 && state.includesInput2;
|
|
243
241
|
return [
|
|
244
242
|
this.baseRange.input1Diffs.length > 0
|
|
245
|
-
? action('mergeEditor.acceptInput1', ( localize(
|
|
243
|
+
? action('mergeEditor.acceptInput1', ( localize(7248, 'Accept {0}', this.model.input1.title)), state.toggle(1), state.includesInput1)
|
|
246
244
|
: undefined,
|
|
247
245
|
this.baseRange.input2Diffs.length > 0
|
|
248
|
-
? action('mergeEditor.acceptInput2', ( localize(
|
|
246
|
+
? action('mergeEditor.acceptInput2', ( localize(7248, 'Accept {0}', this.model.input2.title)), state.toggle(2), state.includesInput2)
|
|
249
247
|
: undefined,
|
|
250
248
|
this.baseRange.isConflicting
|
|
251
|
-
? setFields(action('mergeEditor.acceptBoth', ( localize(
|
|
249
|
+
? setFields(action('mergeEditor.acceptBoth', ( localize(7249, 'Accept Both')), state.withInputValue(1, !both).withInputValue(2, !both), both), { enabled: this.baseRange.canBeCombined })
|
|
252
250
|
: undefined,
|
|
253
|
-
(
|
|
251
|
+
( new Separator()),
|
|
254
252
|
this.baseRange.isConflicting
|
|
255
|
-
? setFields(action('mergeEditor.swap', ( localize(
|
|
253
|
+
? setFields(action('mergeEditor.swap', ( localize(7250, 'Swap')), state.swap(), false), { enabled: !state.kind && (!both || this.baseRange.isOrderRelevant) })
|
|
256
254
|
: undefined,
|
|
257
|
-
setFields((
|
|
255
|
+
setFields(( new Action('mergeEditor.markAsHandled', ( localize(7251, 'Mark as Handled')), undefined, true, () => {
|
|
258
256
|
transaction((tx) => {
|
|
259
257
|
this.model.setHandled(this.baseRange, !handled, tx);
|
|
260
258
|
});
|
|
261
|
-
}))
|
|
259
|
+
})), { checked: handled }),
|
|
262
260
|
].filter(isDefined);
|
|
263
261
|
}
|
|
264
262
|
}
|
|
@@ -267,12 +265,12 @@ class MergeConflictGutterItemView extends Disposable {
|
|
|
267
265
|
super();
|
|
268
266
|
this.isMultiLine = observableValue(this, false);
|
|
269
267
|
this.item = observableValue(this, item);
|
|
270
|
-
const checkBox = (
|
|
268
|
+
const checkBox = ( new Toggle({
|
|
271
269
|
isChecked: false,
|
|
272
270
|
title: '',
|
|
273
271
|
icon: Codicon.check,
|
|
274
272
|
...defaultToggleStyles
|
|
275
|
-
}))
|
|
273
|
+
}));
|
|
276
274
|
checkBox.domNode.classList.add('accept-conflict-group');
|
|
277
275
|
this._register(addDisposableListener(checkBox.domNode, EventType.MOUSE_DOWN, (e) => {
|
|
278
276
|
const item = this.item.get();
|
|
@@ -297,10 +295,10 @@ class MergeConflictGutterItemView extends Disposable {
|
|
|
297
295
|
const item = this.item.read(reader);
|
|
298
296
|
const value = item.toggleState.read(reader);
|
|
299
297
|
const iconMap = {
|
|
300
|
-
[
|
|
301
|
-
[
|
|
302
|
-
[
|
|
303
|
-
[
|
|
298
|
+
[InputState.excluded]: { icon: undefined, checked: false, title: ( localize(7252, "Accept")) },
|
|
299
|
+
[InputState.unrecognized]: { icon: Codicon.circleFilled, checked: false, title: ( localize(7253, "Accept (result is dirty)")) },
|
|
300
|
+
[InputState.first]: { icon: Codicon.check, checked: true, title: ( localize(7254, "Undo accept")) },
|
|
301
|
+
[InputState.second]: { icon: Codicon.checkAll, checked: true, title: ( localize(7255, "Undo accept (currently second)")) },
|
|
304
302
|
};
|
|
305
303
|
const state = iconMap[value];
|
|
306
304
|
checkBox.setIcon(state.icon);
|
package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IObservable } from "vscode/vscode/vs/base/common/observable";
|
|
2
|
+
import { IConfigurationService } from "vscode/vscode/vs/platform/configuration/common/configuration.service";
|
|
3
|
+
import { IInstantiationService } from "vscode/vscode/vs/platform/instantiation/common/instantiation";
|
|
4
|
+
import { ILabelService } from "vscode/vscode/vs/platform/label/common/label.service";
|
|
5
|
+
import { MergeEditorViewModel } from "../viewModel.js";
|
|
6
|
+
import { CodeEditorView } from "./codeEditorView.js";
|
|
7
|
+
export declare class ResultCodeEditorView extends CodeEditorView {
|
|
8
|
+
private readonly _labelService;
|
|
9
|
+
constructor(viewModel: IObservable<MergeEditorViewModel | undefined>, instantiationService: IInstantiationService, _labelService: ILabelService, configurationService: IConfigurationService);
|
|
10
|
+
private readonly decorations;
|
|
11
|
+
}
|
package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6';
|
|
2
3
|
import { reset } from 'vscode/vscode/vs/base/browser/dom';
|
|
3
4
|
import { ActionBar } from 'vscode/vscode/vs/base/browser/ui/actionbar/actionbar';
|
|
4
5
|
import { renderLabelWithIcons } from 'vscode/vscode/vs/base/browser/ui/iconLabel/iconLabels';
|
|
@@ -10,18 +11,18 @@ import { autorunWithStore, autorun } from 'vscode/vscode/vs/base/common/observab
|
|
|
10
11
|
import { derived } from 'vscode/vscode/vs/base/common/observableInternal/derived';
|
|
11
12
|
import 'vscode/vscode/vs/base/common/cancellation';
|
|
12
13
|
import 'vscode/vscode/vs/base/common/observableInternal/utils';
|
|
13
|
-
import { OverviewRulerLane } from 'vscode/vscode/vs/editor/common/model';
|
|
14
|
+
import { MinimapPosition, OverviewRulerLane } from 'vscode/vscode/vs/editor/common/model';
|
|
14
15
|
import { localize } from 'vscode/vscode/vs/nls';
|
|
15
16
|
import { MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
|
|
16
17
|
import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration.service';
|
|
17
18
|
import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey.service';
|
|
18
19
|
import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
|
|
19
20
|
import { ILabelService } from 'vscode/vscode/vs/platform/label/common/label.service';
|
|
20
|
-
import { LineRange } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/model/lineRange';
|
|
21
|
-
import { join, applyObservableDecorations } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/utils';
|
|
21
|
+
import { LineRange } from '@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/model/lineRange';
|
|
22
|
+
import { join, applyObservableDecorations } from '@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/utils';
|
|
22
23
|
import { handledConflictMinimapOverViewRulerColor, unhandledConflictMinimapOverViewRulerColor } from '../colors.js';
|
|
23
24
|
import { EditorGutter } from '../editorGutter.js';
|
|
24
|
-
import { ctxIsMergeResultEditor } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/common/mergeEditor';
|
|
25
|
+
import { ctxIsMergeResultEditor } from '@codingame/monaco-vscode-897bebad-39df-57cb-8a57-36a271d038be-common/vscode/vs/workbench/contrib/mergeEditor/common/mergeEditor';
|
|
25
26
|
import { CodeEditorView, createSelectionsAutorun, TitleMenu } from './codeEditorView.js';
|
|
26
27
|
|
|
27
28
|
let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
@@ -35,7 +36,7 @@ let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
|
35
36
|
}
|
|
36
37
|
const model = viewModel.model;
|
|
37
38
|
const textModel = model.resultTextModel;
|
|
38
|
-
const result = (
|
|
39
|
+
const result = ( new Array());
|
|
39
40
|
const baseRangeWithStoreAndTouchingDiffs = join(model.modifiedBaseRanges.read(reader), model.baseResultDiffs.read(reader), (baseRange, diff) => baseRange.baseRange.touches(diff.inputRange)
|
|
40
41
|
? CompareResult.neitherLessOrGreaterThan
|
|
41
42
|
: LineRange.compareByStart(baseRange.baseRange, diff.inputRange));
|
|
@@ -71,7 +72,7 @@ let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
|
71
72
|
blockIsAfterEnd: range.startLineNumber > textModel.getLineCount(),
|
|
72
73
|
description: 'Result Diff',
|
|
73
74
|
minimap: {
|
|
74
|
-
position:
|
|
75
|
+
position: MinimapPosition.Gutter,
|
|
75
76
|
color: { id: isHandled ? handledConflictMinimapOverViewRulerColor : unhandledConflictMinimapOverViewRulerColor },
|
|
76
77
|
},
|
|
77
78
|
overviewRuler: modifiedBaseRange.isConflicting ? {
|
|
@@ -120,10 +121,10 @@ let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
|
120
121
|
this.htmlElements.root.classList.add(`result`);
|
|
121
122
|
this._register(autorunWithStore((reader, store) => {
|
|
122
123
|
if (this.checkboxesVisible.read(reader)) {
|
|
123
|
-
store.add((
|
|
124
|
+
store.add(( new EditorGutter(this.editor, this.htmlElements.gutterDiv, {
|
|
124
125
|
getIntersectingGutterItems: (range, reader) => [],
|
|
125
|
-
createView: (item, target) => { throw (
|
|
126
|
-
})))
|
|
126
|
+
createView: (item, target) => { throw ( new BugIndicatingError()); },
|
|
127
|
+
})));
|
|
127
128
|
}
|
|
128
129
|
}));
|
|
129
130
|
this._register(autorun(reader => {
|
|
@@ -132,10 +133,10 @@ let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
|
132
133
|
return;
|
|
133
134
|
}
|
|
134
135
|
this.editor.setModel(vm.model.resultTextModel);
|
|
135
|
-
reset(this.htmlElements.title, ...renderLabelWithIcons(( localize(
|
|
136
|
+
reset(this.htmlElements.title, ...renderLabelWithIcons(( localize(7256, 'Result'))));
|
|
136
137
|
reset(this.htmlElements.description, ...renderLabelWithIcons(this._labelService.getUriLabel(vm.model.resultTextModel.uri, { relative: true })));
|
|
137
138
|
}));
|
|
138
|
-
const remainingConflictsActionBar = this._register((
|
|
139
|
+
const remainingConflictsActionBar = this._register(( new ActionBar(this.htmlElements.detail)));
|
|
139
140
|
this._register(autorun(reader => {
|
|
140
141
|
const vm = this.viewModel.read(reader);
|
|
141
142
|
if (!vm) {
|
|
@@ -147,8 +148,8 @@ let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
|
147
148
|
}
|
|
148
149
|
const count = model.unhandledConflictsCount.read(reader);
|
|
149
150
|
const text = count === 1
|
|
150
|
-
? ( localize(
|
|
151
|
-
: ( localize(
|
|
151
|
+
? ( localize(7257, '{0} Conflict Remaining', count))
|
|
152
|
+
: ( localize(7258, '{0} Conflicts Remaining ', count));
|
|
152
153
|
remainingConflictsActionBar.clear();
|
|
153
154
|
remainingConflictsActionBar.push({
|
|
154
155
|
class: undefined,
|
|
@@ -160,8 +161,8 @@ let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
|
160
161
|
vm.goToNextModifiedBaseRange(m => !model.isHandled(m).get());
|
|
161
162
|
},
|
|
162
163
|
tooltip: count > 0
|
|
163
|
-
? ( localize(
|
|
164
|
-
: ( localize(
|
|
164
|
+
? ( localize(7259, 'Go to next conflict'))
|
|
165
|
+
: ( localize(7260, 'All conflicts handled, the merge can be completed now.')),
|
|
165
166
|
});
|
|
166
167
|
}));
|
|
167
168
|
this._register(applyObservableDecorations(this.editor, this.decorations));
|
|
@@ -169,10 +170,10 @@ let ResultCodeEditorView = class ResultCodeEditorView extends CodeEditorView {
|
|
|
169
170
|
this._register(instantiationService.createInstance(TitleMenu, MenuId.MergeInputResultToolbar, this.htmlElements.toolbar));
|
|
170
171
|
}
|
|
171
172
|
};
|
|
172
|
-
ResultCodeEditorView = (
|
|
173
|
-
(
|
|
174
|
-
(
|
|
175
|
-
(
|
|
176
|
-
], ResultCodeEditorView))
|
|
173
|
+
ResultCodeEditorView = ( __decorate([
|
|
174
|
+
( __param(1, IInstantiationService)),
|
|
175
|
+
( __param(2, ILabelService)),
|
|
176
|
+
( __param(3, IConfigurationService))
|
|
177
|
+
], ResultCodeEditorView));
|
|
177
178
|
|
|
178
179
|
export { ResultCodeEditorView };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModifiedBaseRange } from "@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange";
|
|
2
|
+
export type LineAlignment = [
|
|
3
|
+
input1LineNumber: number | undefined,
|
|
4
|
+
baseLineNumber: number,
|
|
5
|
+
input2LineNumber: number | undefined
|
|
6
|
+
];
|
|
7
|
+
export declare function getAlignments(m: ModifiedBaseRange): LineAlignment[];
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
|
|
1
2
|
import { compareBy } from 'vscode/vscode/vs/base/common/arrays';
|
|
2
3
|
import { assertFn, checkAdjacentItems } from 'vscode/vscode/vs/base/common/assert';
|
|
3
4
|
import { isDefined } from 'vscode/vscode/vs/base/common/types';
|
|
4
5
|
import { Position } from 'vscode/vscode/vs/editor/common/core/position';
|
|
5
6
|
import { Range } from 'vscode/vscode/vs/editor/common/core/range';
|
|
6
7
|
import { TextLength } from 'vscode/vscode/vs/editor/common/core/textLength';
|
|
7
|
-
import { RangeMapping } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/model/mapping';
|
|
8
|
-
import { lengthOfRange, lengthBetweenPositions, addLength } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils';
|
|
8
|
+
import { RangeMapping } from '@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/model/mapping';
|
|
9
|
+
import { lengthOfRange, lengthBetweenPositions, addLength } from '@codingame/monaco-vscode-464d4abe-0937-5367-af84-1b9279e14ea3-common/vscode/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils';
|
|
9
10
|
|
|
10
11
|
function getAlignments(m) {
|
|
11
12
|
const equalRanges1 = toEqualRangeMappings(m.input1Diffs.flatMap(d => d.rangeMappings), m.baseRange.toRange(), m.input1Range.toRange());
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css
|
|
1
|
+
import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css';
|
|
2
2
|
|
|
3
3
|
var css = ".monaco-workbench .merge-editor .code-view>.header{align-content:center;display:flex;height:30px;overflow:hidden;padding:0 10px}.monaco-workbench .merge-editor .code-view>.header>span{align-self:center;overflow:hidden;padding-right:6px;text-overflow:ellipsis;white-space:nowrap}.monaco-workbench .merge-editor .code-view>.header>span.title{flex-shrink:0}.monaco-workbench .merge-editor .code-view>.header>span.description{align-items:center;color:var(--vscode-descriptionForeground);display:flex;flex-shrink:0;font-size:12px}.monaco-workbench .merge-editor .code-view.result>.header>.description{display:inline;flex-shrink:1}.monaco-workbench .merge-editor .code-view.result>.header>.detail,.monaco-workbench .merge-editor .code-view.result>.header>.toolbar{flex-shrink:0}.monaco-workbench .merge-editor .code-view>.header>span.description .codicon{color:var(--vscode-descriptionForeground);font-size:14px}.monaco-workbench .merge-editor .code-view>.header>span.detail{color:var(--vscode-descriptionForeground);font-size:12px;margin-left:auto}.monaco-workbench .merge-editor .code-view>.header>span.detail .codicon{font-size:13px}.monaco-workbench .merge-editor .code-view.input>.header>span.detail:before{content:\"•\";opacity:.5;padding-right:3px}.monaco-workbench .merge-editor .code-view.input>.header>span.detail{margin-left:0}.monaco-workbench .merge-editor .code-view.input>.header>span.toolbar{flex-shrink:0;margin-left:auto}.monaco-workbench .merge-editor .code-view>.container{display:flex;flex-direction:row}.monaco-workbench .merge-editor .code-view>.container>.gutter{flex-grow:0;flex-shrink:0;overflow:hidden;position:relative;width:24px}.monaco-workbench .merge-editor .merge-editor-diff{background-color:var(--vscode-mergeEditor-change-background)}.monaco-workbench .merge-editor .merge-editor-diff-word{background-color:var(--vscode-mergeEditor-change-word-background)}.monaco-workbench .merge-editor .merge-editor-block:not(.handled):not(.focused){border:1px solid var(--vscode-mergeEditor-conflict-unhandledUnfocused-border)}.monaco-workbench .merge-editor .merge-editor-block:not(.handled).focused{border:2px solid var(--vscode-mergeEditor-conflict-unhandledFocused-border)}.monaco-workbench .merge-editor .merge-editor-block.handled:not(.focused){border:1px solid var(--vscode-mergeEditor-conflict-handledUnfocused-border)}.monaco-workbench .merge-editor .merge-editor-block.handled.focused{border:1px solid var(--vscode-mergeEditor-conflict-handledFocused-border)}.merge-editor-block.use-simplified-decorations.input.i1,.monaco-workbench .merge-editor .merge-editor-simplified.input.i1{background-color:var(--vscode-mergeEditor-conflict-input1-background)}.merge-editor-block.use-simplified-decorations.input.i2,.monaco-workbench .merge-editor .merge-editor-simplified.input.i2{background-color:var(--vscode-mergeEditor-conflict-input2-background)}.gutter.monaco-editor>div{position:absolute}.merge-accept-gutter-marker{margin-left:4px;width:28px}.merge-accept-gutter-marker .background{height:100%;position:absolute;width:50%}.merge-accept-gutter-marker.multi-line.focused .background{border:2px solid var(--vscode-mergeEditor-conflict-unhandledFocused-border);border-right:0}.merge-accept-gutter-marker.multi-line .background{border:2px solid var(--vscode-mergeEditor-conflict-unhandledUnfocused-border);border-bottom-left-radius:3px;border-right:0;border-top-left-radius:3px}.merge-accept-gutter-marker.multi-line.handled.focused .background{border:2px solid var(--vscode-mergeEditor-conflict-handledFocused-border);border-right:0}.merge-accept-gutter-marker.multi-line.handled .background{border:2px solid var(--vscode-checkbox-border);border-right:0}.focused .accept-conflict-group.monaco-custom-toggle{border:1px solid var(--vscode-mergeEditor-conflict-unhandledFocused-border)}.accept-conflict-group.monaco-custom-toggle{border:1px solid var(--vscode-mergeEditor-conflict-unhandledUnfocused-border)}.handled.focused .accept-conflict-group.monaco-custom-toggle{border:1px solid var(--vscode-mergeEditor-conflict-handledFocused-border)}.handled .accept-conflict-group.monaco-custom-toggle{border:1px solid var(--vscode-checkbox-border)}.merge-accept-gutter-marker.multi-line .background{left:8px;width:10px}.merge-accept-gutter-marker .checkbox{position:absolute;width:100%}.accept-conflict-group.monaco-custom-toggle{background-color:var(--vscode-checkbox-border);background-size:16px!important;border-radius:3px;height:18px;margin-left:0;margin-right:0;opacity:1;padding:0;width:18px}.merge-accept-gutter-marker .checkbox-background{background:var(--vscode-editor-background);display:flex}.conflict-zone-root{align-content:center;align-items:center;background-color:var(--vscode-mergeEditor-change-background);border:1px solid var(--vscode-mergeEditor-conflict-unhandledUnfocused-border);display:flex;height:90%}.conflict-zone-root .dots{margin:0 10px}.conflict-zone-root pre{display:\"inline\";font-family:var(--monaco-monospace-font)}.conflict-zone-root .text{align-items:center;background:var(--vscode-mergeEditor-conflictingLines-background);display:flex;height:100%;margin-left:auto;overflow:hidden;padding:0 8px;white-space:nowrap}.focused.conflict-zone .conflict-zone-root{border:1px solid var(--vscode-mergeEditor-conflict-unhandledFocused-border)}.merge-editor-conflict-actions{color:var(--vscode-editorCodeLens-foreground);display:inline-block;margin:0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merge-editor-conflict-actions>a,.merge-editor-conflict-actions>span{user-select:none;-webkit-user-select:none;white-space:nowrap}.merge-editor-conflict-actions>a{text-decoration:none}.merge-editor-conflict-actions>a:hover{cursor:pointer}.merge-editor-conflict-actions>a:hover,.merge-editor-conflict-actions>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.merge-editor-conflict-actions .codicon{color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);vertical-align:middle}.merge-editor-conflict-actions>a:hover .codicon:before{cursor:pointer}.fixed-zone-widget{width:100%}.merge-editor-diff-empty-word.base{border-left:3px solid var(--vscode-mergeEditor-changeBase-word-background);margin-left:3px}.merge-editor-diff-empty-word.input{border-left:3px solid var(--vscode-mergeEditor-change-word-background);margin-left:3px}.merge-editor-diff-word.base{background-color:var(--vscode-mergeEditor-changeBase-word-background)}.merge-editor-diff.base{background-color:var(--vscode-mergeEditor-changeBase-background)}";
|
|
4
4
|
n(css,{});
|