@codingame/monaco-vscode-views-service-override 2.1.4 → 2.2.0-next.2

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.
Files changed (107) hide show
  1. package/index.d.ts +11 -9
  2. package/index.js +8 -6
  3. package/package.json +11 -11
  4. package/tools/views.d.ts +102 -0
  5. package/tools/views.js +253 -0
  6. package/views.d.ts +4 -99
  7. package/views.js +52 -280
  8. package/external/rollup-plugin-styles/dist/runtime/inject-css.js +0 -3
  9. package/vscode/src/vs/base/browser/ui/centered/centeredViewLayout.js +0 -180
  10. package/vscode/src/vs/base/browser/ui/grid/grid.js +0 -494
  11. package/vscode/src/vs/base/browser/ui/grid/gridview.css.js +0 -6
  12. package/vscode/src/vs/base/browser/ui/grid/gridview.js +0 -1112
  13. package/vscode/src/vs/base/common/codicons.d.ts +0 -579
  14. package/vscode/src/vs/platform/webview/common/mimeTypes.js +0 -24
  15. package/vscode/src/vs/platform/webview/common/webviewPortMapping.js +0 -64
  16. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +0 -790
  17. package/vscode/src/vs/workbench/browser/actions/listCommands.js +0 -764
  18. package/vscode/src/vs/workbench/browser/layout.d.ts +0 -26
  19. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +0 -612
  20. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +0 -6
  21. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activitybarpart.css.js +0 -6
  22. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +0 -150
  23. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css.js +0 -6
  24. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +0 -605
  25. package/vscode/src/vs/workbench/browser/parts/compositePart.js +0 -335
  26. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +0 -223
  27. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +0 -1407
  28. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +0 -186
  29. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +0 -511
  30. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.d.ts +0 -112
  31. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +0 -1020
  32. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +0 -391
  33. package/vscode/src/vs/workbench/browser/parts/editor/media/editordroptarget.css.js +0 -6
  34. package/vscode/src/vs/workbench/browser/parts/media/compositepart.css.js +0 -6
  35. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +0 -6
  36. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +0 -645
  37. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +0 -379
  38. package/vscode/src/vs/workbench/browser/parts/paneCompositePartService.js +0 -68
  39. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +0 -146
  40. package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +0 -6
  41. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +0 -222
  42. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +0 -299
  43. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +0 -365
  44. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +0 -135
  45. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/media/callHierarchy.css.js +0 -6
  46. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +0 -17
  47. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +0 -145
  48. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditors.js +0 -214
  49. package/vscode/src/vs/workbench/contrib/customEditor/browser/media/customEditor.css.js +0 -6
  50. package/vscode/src/vs/workbench/contrib/customEditor/common/contributedCustomEditors.js +0 -78
  51. package/vscode/src/vs/workbench/contrib/customEditor/common/customEditorModelManager.js +0 -63
  52. package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +0 -119
  53. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.js +0 -6
  54. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +0 -79
  55. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +0 -74
  56. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +0 -256
  57. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +0 -99
  58. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +0 -444
  59. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +0 -432
  60. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +0 -786
  61. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +0 -488
  62. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +0 -522
  63. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +0 -152
  64. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +0 -63
  65. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +0 -409
  66. package/vscode/src/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css.js +0 -6
  67. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +0 -693
  68. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +0 -240
  69. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +0 -77
  70. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorSerializer.js +0 -42
  71. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/colors.js +0 -71
  72. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +0 -348
  73. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editorGutter.js +0 -98
  74. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js +0 -146
  75. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.js +0 -105
  76. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js +0 -401
  77. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js +0 -197
  78. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/fixedZoneWidget.js +0 -41
  79. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/lineAlignment.js +0 -128
  80. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/media/mergeEditor.css.js +0 -6
  81. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +0 -612
  82. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/scrollSynchronizer.js +0 -158
  83. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.js +0 -264
  84. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewZones.js +0 -173
  85. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/media/typeHierarchy.css.js +0 -6
  86. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +0 -282
  87. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +0 -360
  88. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +0 -133
  89. package/vscode/src/vs/workbench/contrib/webview/browser/overlayWebview.js +0 -290
  90. package/vscode/src/vs/workbench/contrib/webview/browser/resourceLoading.js +0 -96
  91. package/vscode/src/vs/workbench/contrib/webview/browser/themeing.js +0 -88
  92. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +0 -79
  93. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +0 -648
  94. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindWidget.js +0 -65
  95. package/vscode/src/vs/workbench/contrib/webview/browser/webviewService.js +0 -59
  96. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +0 -142
  97. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +0 -121
  98. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +0 -68
  99. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +0 -235
  100. package/vscode/src/vs/workbench/services/activity/browser/activityService.js +0 -145
  101. package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +0 -670
  102. package/vscode/src/vs/workbench/services/history/browser/historyService.js +0 -1484
  103. package/vscode/src/vs/workbench/services/progress/browser/media/progressService.css.js +0 -6
  104. package/vscode/src/vs/workbench/services/progress/browser/progressService.js +0 -523
  105. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.js +0 -101
  106. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +0 -713
  107. package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +0 -598
@@ -1,158 +0,0 @@
1
- import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
2
- import { DocumentLineRangeMap } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/model/mapping';
3
- import { ReentrancyBarrier } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/utils';
4
- import { autorunWithStore } from 'vscode/vscode/vs/base/common/observableInternal/autorun';
5
-
6
- class ScrollSynchronizer extends Disposable {
7
- get model() { return this.viewModel.get()?.model; }
8
- get shouldAlignResult() { return this.layout.get().kind === 'columns'; }
9
- get shouldAlignBase() { return this.layout.get().kind === 'mixed' && !this.layout.get().showBaseAtTop; }
10
- constructor(viewModel, input1View, input2View, baseView, inputResultView, layout) {
11
- super();
12
- this.viewModel = viewModel;
13
- this.input1View = input1View;
14
- this.input2View = input2View;
15
- this.baseView = baseView;
16
- this.inputResultView = inputResultView;
17
- this.layout = layout;
18
- this.reentrancyBarrier = ( new ReentrancyBarrier());
19
- const handleInput1OnScroll = this.updateScrolling = () => {
20
- if (!this.model) {
21
- return;
22
- }
23
- this.input2View.editor.setScrollTop(this.input1View.editor.getScrollTop(), 1 );
24
- if (this.shouldAlignResult) {
25
- this.inputResultView.editor.setScrollTop(this.input1View.editor.getScrollTop(), 1 );
26
- }
27
- else {
28
- const mappingInput1Result = this.model.input1ResultMapping.get();
29
- this.synchronizeScrolling(this.input1View.editor, this.inputResultView.editor, mappingInput1Result);
30
- }
31
- const baseView = this.baseView.get();
32
- if (baseView) {
33
- if (this.shouldAlignBase) {
34
- this.baseView.get()?.editor.setScrollTop(this.input1View.editor.getScrollTop(), 1 );
35
- }
36
- else {
37
- const mapping = ( new DocumentLineRangeMap(this.model.baseInput1Diffs.get(), -1)).reverse();
38
- this.synchronizeScrolling(this.input1View.editor, baseView.editor, mapping);
39
- }
40
- }
41
- };
42
- this._store.add(this.input1View.editor.onDidScrollChange(this.reentrancyBarrier.makeExclusive((c) => {
43
- if (c.scrollTopChanged) {
44
- handleInput1OnScroll();
45
- }
46
- if (c.scrollLeftChanged) {
47
- this.baseView.get()?.editor.setScrollLeft(c.scrollLeft, 1 );
48
- this.input2View.editor.setScrollLeft(c.scrollLeft, 1 );
49
- this.inputResultView.editor.setScrollLeft(c.scrollLeft, 1 );
50
- }
51
- })));
52
- this._store.add(this.input2View.editor.onDidScrollChange(this.reentrancyBarrier.makeExclusive((c) => {
53
- if (!this.model) {
54
- return;
55
- }
56
- if (c.scrollTopChanged) {
57
- this.input1View.editor.setScrollTop(c.scrollTop, 1 );
58
- if (this.shouldAlignResult) {
59
- this.inputResultView.editor.setScrollTop(this.input2View.editor.getScrollTop(), 1 );
60
- }
61
- else {
62
- const mappingInput2Result = this.model.input2ResultMapping.get();
63
- this.synchronizeScrolling(this.input2View.editor, this.inputResultView.editor, mappingInput2Result);
64
- }
65
- const baseView = this.baseView.get();
66
- if (baseView && this.model) {
67
- if (this.shouldAlignBase) {
68
- this.baseView.get()?.editor.setScrollTop(c.scrollTop, 1 );
69
- }
70
- else {
71
- const mapping = ( new DocumentLineRangeMap(this.model.baseInput2Diffs.get(), -1)).reverse();
72
- this.synchronizeScrolling(this.input2View.editor, baseView.editor, mapping);
73
- }
74
- }
75
- }
76
- if (c.scrollLeftChanged) {
77
- this.baseView.get()?.editor.setScrollLeft(c.scrollLeft, 1 );
78
- this.input1View.editor.setScrollLeft(c.scrollLeft, 1 );
79
- this.inputResultView.editor.setScrollLeft(c.scrollLeft, 1 );
80
- }
81
- })));
82
- this._store.add(this.inputResultView.editor.onDidScrollChange(this.reentrancyBarrier.makeExclusive((c) => {
83
- if (c.scrollTopChanged) {
84
- if (this.shouldAlignResult) {
85
- this.input1View.editor.setScrollTop(c.scrollTop, 1 );
86
- this.input2View.editor.setScrollTop(c.scrollTop, 1 );
87
- }
88
- else {
89
- const mapping1 = this.model?.resultInput1Mapping.get();
90
- this.synchronizeScrolling(this.inputResultView.editor, this.input1View.editor, mapping1);
91
- const mapping2 = this.model?.resultInput2Mapping.get();
92
- this.synchronizeScrolling(this.inputResultView.editor, this.input2View.editor, mapping2);
93
- }
94
- const baseMapping = this.model?.resultBaseMapping.get();
95
- const baseView = this.baseView.get();
96
- if (baseView && this.model) {
97
- this.synchronizeScrolling(this.inputResultView.editor, baseView.editor, baseMapping);
98
- }
99
- }
100
- if (c.scrollLeftChanged) {
101
- this.baseView.get()?.editor?.setScrollLeft(c.scrollLeft, 1 );
102
- this.input1View.editor.setScrollLeft(c.scrollLeft, 1 );
103
- this.input2View.editor.setScrollLeft(c.scrollLeft, 1 );
104
- }
105
- })));
106
- this._store.add(autorunWithStore((reader, store) => {
107
- const baseView = this.baseView.read(reader);
108
- if (baseView) {
109
- store.add(baseView.editor.onDidScrollChange(this.reentrancyBarrier.makeExclusive((c) => {
110
- if (c.scrollTopChanged) {
111
- if (!this.model) {
112
- return;
113
- }
114
- if (this.shouldAlignBase) {
115
- this.input1View.editor.setScrollTop(c.scrollTop, 1 );
116
- this.input2View.editor.setScrollTop(c.scrollTop, 1 );
117
- }
118
- else {
119
- const baseInput1Mapping = ( new DocumentLineRangeMap(this.model.baseInput1Diffs.get(), -1));
120
- this.synchronizeScrolling(baseView.editor, this.input1View.editor, baseInput1Mapping);
121
- const baseInput2Mapping = ( new DocumentLineRangeMap(this.model.baseInput2Diffs.get(), -1));
122
- this.synchronizeScrolling(baseView.editor, this.input2View.editor, baseInput2Mapping);
123
- }
124
- const baseMapping = this.model?.baseResultMapping.get();
125
- this.synchronizeScrolling(baseView.editor, this.inputResultView.editor, baseMapping);
126
- }
127
- if (c.scrollLeftChanged) {
128
- this.inputResultView.editor.setScrollLeft(c.scrollLeft, 1 );
129
- this.input1View.editor.setScrollLeft(c.scrollLeft, 1 );
130
- this.input2View.editor.setScrollLeft(c.scrollLeft, 1 );
131
- }
132
- })));
133
- }
134
- }));
135
- }
136
- synchronizeScrolling(scrollingEditor, targetEditor, mapping) {
137
- if (!mapping) {
138
- return;
139
- }
140
- const visibleRanges = scrollingEditor.getVisibleRanges();
141
- if (visibleRanges.length === 0) {
142
- return;
143
- }
144
- const topLineNumber = visibleRanges[0].startLineNumber - 1;
145
- const result = mapping.project(topLineNumber);
146
- const sourceRange = result.inputRange;
147
- const targetRange = result.outputRange;
148
- const resultStartTopPx = targetEditor.getTopForLineNumber(targetRange.startLineNumber);
149
- const resultEndPx = targetEditor.getTopForLineNumber(targetRange.endLineNumberExclusive);
150
- const sourceStartTopPx = scrollingEditor.getTopForLineNumber(sourceRange.startLineNumber);
151
- const sourceEndPx = scrollingEditor.getTopForLineNumber(sourceRange.endLineNumberExclusive);
152
- const factor = Math.min((scrollingEditor.getScrollTop() - sourceStartTopPx) / (sourceEndPx - sourceStartTopPx), 1);
153
- const resultScrollPosition = resultStartTopPx + (resultEndPx - resultStartTopPx) * factor;
154
- targetEditor.setScrollTop(resultScrollPosition, 1 );
155
- }
156
- }
157
-
158
- export { ScrollSynchronizer };
@@ -1,264 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../../../external/tslib/tslib.es6.js';
2
- import { findLast } from 'vscode/vscode/vs/base/common/arraysFind';
3
- import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
4
- import { Range } from 'vscode/vscode/vs/editor/common/core/range';
5
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
6
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
7
- import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification';
8
- import { LineRange } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/model/lineRange';
9
- import { observableConfigValue } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/utils';
10
- import { observableValue, transaction } from 'vscode/vscode/vs/base/common/observableInternal/base';
11
- import { derivedObservableWithWritableCache } from 'vscode/vscode/vs/base/common/observableInternal/utils';
12
- import { derived } from 'vscode/vscode/vs/base/common/observableInternal/derived';
13
-
14
- let MergeEditorViewModel = class MergeEditorViewModel extends Disposable {
15
- constructor(model, inputCodeEditorView1, inputCodeEditorView2, resultCodeEditorView, baseCodeEditorView, showNonConflictingChanges, configurationService, notificationService) {
16
- super();
17
- this.model = model;
18
- this.inputCodeEditorView1 = inputCodeEditorView1;
19
- this.inputCodeEditorView2 = inputCodeEditorView2;
20
- this.resultCodeEditorView = resultCodeEditorView;
21
- this.baseCodeEditorView = baseCodeEditorView;
22
- this.showNonConflictingChanges = showNonConflictingChanges;
23
- this.configurationService = configurationService;
24
- this.notificationService = notificationService;
25
- this.manuallySetActiveModifiedBaseRange = observableValue(this, { range: undefined, counter: 0 });
26
- this.attachedHistory = this._register(( new AttachedHistory(this.model.resultTextModel)));
27
- this.shouldUseAppendInsteadOfAccept = observableConfigValue('mergeEditor.shouldUseAppendInsteadOfAccept', false, this.configurationService);
28
- this.counter = 0;
29
- this.lastFocusedEditor = derivedObservableWithWritableCache(this, (reader, lastValue) => {
30
- const editors = [
31
- this.inputCodeEditorView1,
32
- this.inputCodeEditorView2,
33
- this.resultCodeEditorView,
34
- this.baseCodeEditorView.read(reader),
35
- ];
36
- const view = editors.find((e) => e && e.isFocused.read(reader));
37
- return view ? { view, counter: this.counter++ } : lastValue || { view: undefined, counter: this.counter++ };
38
- });
39
- this.baseShowDiffAgainst = derived(this, reader => {
40
- const lastFocusedEditor = this.lastFocusedEditor.read(reader);
41
- if (lastFocusedEditor.view === this.inputCodeEditorView1) {
42
- return 1;
43
- }
44
- else if (lastFocusedEditor.view === this.inputCodeEditorView2) {
45
- return 2;
46
- }
47
- return undefined;
48
- });
49
- this.selectionInBase = derived(this, reader => {
50
- const sourceEditor = this.lastFocusedEditor.read(reader).view;
51
- if (!sourceEditor) {
52
- return undefined;
53
- }
54
- const selections = sourceEditor.selection.read(reader) || [];
55
- const rangesInBase = ( selections.map((selection) => {
56
- if (sourceEditor === this.inputCodeEditorView1) {
57
- return this.model.translateInputRangeToBase(1, selection);
58
- }
59
- else if (sourceEditor === this.inputCodeEditorView2) {
60
- return this.model.translateInputRangeToBase(2, selection);
61
- }
62
- else if (sourceEditor === this.resultCodeEditorView) {
63
- return this.model.translateResultRangeToBase(selection);
64
- }
65
- else if (sourceEditor === this.baseCodeEditorView.read(reader)) {
66
- return selection;
67
- }
68
- else {
69
- return selection;
70
- }
71
- }));
72
- return {
73
- rangesInBase,
74
- sourceEditor
75
- };
76
- });
77
- this.activeModifiedBaseRange = derived(this, (reader) => {
78
- const focusedEditor = this.lastFocusedEditor.read(reader);
79
- const manualRange = this.manuallySetActiveModifiedBaseRange.read(reader);
80
- if (manualRange.counter > focusedEditor.counter) {
81
- return manualRange.range;
82
- }
83
- if (!focusedEditor.view) {
84
- return;
85
- }
86
- const cursorLineNumber = focusedEditor.view.cursorLineNumber.read(reader);
87
- if (!cursorLineNumber) {
88
- return undefined;
89
- }
90
- const modifiedBaseRanges = this.model.modifiedBaseRanges.read(reader);
91
- return modifiedBaseRanges.find((r) => {
92
- const range = this.getRangeOfModifiedBaseRange(focusedEditor.view, r, reader);
93
- return range.isEmpty
94
- ? range.startLineNumber === cursorLineNumber
95
- : range.contains(cursorLineNumber);
96
- });
97
- });
98
- this._register(resultCodeEditorView.editor.onDidChangeModelContent(e => {
99
- if (this.model.isApplyingEditInResult || e.isRedoing || e.isUndoing) {
100
- return;
101
- }
102
- const baseRangeStates = [];
103
- for (const change of e.changes) {
104
- const rangeInBase = this.model.translateResultRangeToBase(Range.lift(change.range));
105
- const baseRanges = this.model.findModifiedBaseRangesInRange(( new LineRange(
106
- rangeInBase.startLineNumber,
107
- rangeInBase.endLineNumber - rangeInBase.startLineNumber
108
- )));
109
- if (baseRanges.length === 1) {
110
- const isHandled = this.model.isHandled(baseRanges[0]).get();
111
- if (!isHandled) {
112
- baseRangeStates.push(baseRanges[0]);
113
- }
114
- }
115
- }
116
- if (baseRangeStates.length === 0) {
117
- return;
118
- }
119
- const element = {
120
- model: this.model,
121
- redo() {
122
- transaction(tx => {
123
- for (const r of baseRangeStates) {
124
- this.model.setHandled(r, true, tx);
125
- }
126
- });
127
- },
128
- undo() {
129
- transaction(tx => {
130
- for (const r of baseRangeStates) {
131
- this.model.setHandled(r, false, tx);
132
- }
133
- });
134
- },
135
- };
136
- this.attachedHistory.pushAttachedHistoryElement(element);
137
- element.redo();
138
- }));
139
- }
140
- getRangeOfModifiedBaseRange(editor, modifiedBaseRange, reader) {
141
- if (editor === this.resultCodeEditorView) {
142
- return this.model.getLineRangeInResult(modifiedBaseRange.baseRange, reader);
143
- }
144
- else if (editor === this.baseCodeEditorView.get()) {
145
- return modifiedBaseRange.baseRange;
146
- }
147
- else {
148
- const input = editor === this.inputCodeEditorView1 ? 1 : 2;
149
- return modifiedBaseRange.getInputRange(input);
150
- }
151
- }
152
- setActiveModifiedBaseRange(range, tx) {
153
- this.manuallySetActiveModifiedBaseRange.set({ range, counter: this.counter++ }, tx);
154
- }
155
- setState(baseRange, state, tx, inputNumber) {
156
- this.manuallySetActiveModifiedBaseRange.set({ range: baseRange, counter: this.counter++ }, tx);
157
- this.model.setState(baseRange, state, inputNumber, tx);
158
- }
159
- goToConflict(getModifiedBaseRange) {
160
- let editor = this.lastFocusedEditor.get().view;
161
- if (!editor) {
162
- editor = this.resultCodeEditorView;
163
- }
164
- const curLineNumber = editor.editor.getPosition()?.lineNumber;
165
- if (curLineNumber === undefined) {
166
- return;
167
- }
168
- const modifiedBaseRange = getModifiedBaseRange(editor, curLineNumber);
169
- if (modifiedBaseRange) {
170
- const range = this.getRangeOfModifiedBaseRange(editor, modifiedBaseRange, undefined);
171
- editor.editor.focus();
172
- let startLineNumber = range.startLineNumber;
173
- let endLineNumberExclusive = range.endLineNumberExclusive;
174
- if (range.startLineNumber > editor.editor.getModel().getLineCount()) {
175
- transaction(tx => {
176
- this.setActiveModifiedBaseRange(modifiedBaseRange, tx);
177
- });
178
- startLineNumber = endLineNumberExclusive = editor.editor.getModel().getLineCount();
179
- }
180
- editor.editor.setPosition({
181
- lineNumber: startLineNumber,
182
- column: editor.editor.getModel().getLineFirstNonWhitespaceColumn(startLineNumber),
183
- });
184
- editor.editor.revealLinesNearTop(startLineNumber, endLineNumberExclusive, 0 );
185
- }
186
- }
187
- goToNextModifiedBaseRange(predicate) {
188
- this.goToConflict((e, l) => this.model.modifiedBaseRanges
189
- .get()
190
- .find((r) => predicate(r) &&
191
- this.getRangeOfModifiedBaseRange(e, r, undefined).startLineNumber > l) ||
192
- this.model.modifiedBaseRanges
193
- .get()
194
- .find((r) => predicate(r)));
195
- }
196
- goToPreviousModifiedBaseRange(predicate) {
197
- this.goToConflict((e, l) => findLast(this.model.modifiedBaseRanges.get(), (r) => predicate(r) &&
198
- this.getRangeOfModifiedBaseRange(e, r, undefined).endLineNumberExclusive < l) ||
199
- findLast(this.model.modifiedBaseRanges.get(), (r) => predicate(r)));
200
- }
201
- toggleActiveConflict(inputNumber) {
202
- const activeModifiedBaseRange = this.activeModifiedBaseRange.get();
203
- if (!activeModifiedBaseRange) {
204
- this.notificationService.error(( localizeWithPath(
205
- 'vs/workbench/contrib/mergeEditor/browser/view/viewModel',
206
- 'noConflictMessage',
207
- "There is currently no conflict focused that can be toggled."
208
- )));
209
- return;
210
- }
211
- transaction(tx => {
212
- this.setState(activeModifiedBaseRange, this.model.getState(activeModifiedBaseRange).get().toggle(inputNumber), tx, inputNumber);
213
- });
214
- }
215
- acceptAll(inputNumber) {
216
- transaction(tx => {
217
- for (const range of this.model.modifiedBaseRanges.get()) {
218
- this.setState(range, this.model.getState(range).get().withInputValue(inputNumber, true), tx, inputNumber);
219
- }
220
- });
221
- }
222
- };
223
- MergeEditorViewModel = ( __decorate([
224
- ( __param(6, IConfigurationService)),
225
- ( __param(7, INotificationService))
226
- ], MergeEditorViewModel));
227
- class AttachedHistory extends Disposable {
228
- constructor(model) {
229
- super();
230
- this.model = model;
231
- this.attachedHistory = [];
232
- this.previousAltId = this.model.getAlternativeVersionId();
233
- this._register(model.onDidChangeContent((e) => {
234
- const currentAltId = model.getAlternativeVersionId();
235
- if (e.isRedoing) {
236
- for (const item of this.attachedHistory) {
237
- if (this.previousAltId < item.altId && item.altId <= currentAltId) {
238
- item.element.redo();
239
- }
240
- }
241
- }
242
- else if (e.isUndoing) {
243
- for (let i = this.attachedHistory.length - 1; i >= 0; i--) {
244
- const item = this.attachedHistory[i];
245
- if (currentAltId < item.altId && item.altId <= this.previousAltId) {
246
- item.element.undo();
247
- }
248
- }
249
- }
250
- else {
251
- while (this.attachedHistory.length > 0
252
- && this.attachedHistory[this.attachedHistory.length - 1].altId > this.previousAltId) {
253
- this.attachedHistory.pop();
254
- }
255
- }
256
- this.previousAltId = currentAltId;
257
- }));
258
- }
259
- pushAttachedHistoryElement(element) {
260
- this.attachedHistory.push({ altId: this.model.getAlternativeVersionId(), element });
261
- }
262
- }
263
-
264
- export { MergeEditorViewModel };
@@ -1,173 +0,0 @@
1
- import { $ } from 'vscode/vscode/vs/base/browser/dom';
2
- import { CompareResult, lastOrDefault } from 'vscode/vscode/vs/base/common/arrays';
3
- import { LineRange } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/model/lineRange';
4
- import { join } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/utils';
5
- import { ConflictActionsFactory, ActionsSource } from './conflictActions.js';
6
- import { getAlignments } from './lineAlignment.js';
7
-
8
- class ViewZoneComputer {
9
- constructor(input1Editor, input2Editor, resultEditor) {
10
- this.input1Editor = input1Editor;
11
- this.input2Editor = input2Editor;
12
- this.resultEditor = resultEditor;
13
- this.conflictActionsFactoryInput1 = ( new ConflictActionsFactory(this.input1Editor));
14
- this.conflictActionsFactoryInput2 = ( new ConflictActionsFactory(this.input2Editor));
15
- this.conflictActionsFactoryResult = ( new ConflictActionsFactory(this.resultEditor));
16
- }
17
- computeViewZones(reader, viewModel, options) {
18
- let input1LinesAdded = 0;
19
- let input2LinesAdded = 0;
20
- let baseLinesAdded = 0;
21
- let resultLinesAdded = 0;
22
- const input1ViewZones = [];
23
- const input2ViewZones = [];
24
- const baseViewZones = [];
25
- const resultViewZones = [];
26
- const model = viewModel.model;
27
- const resultDiffs = model.baseResultDiffs.read(reader);
28
- const baseRangeWithStoreAndTouchingDiffs = join(model.modifiedBaseRanges.read(reader), resultDiffs, (baseRange, diff) => baseRange.baseRange.touches(diff.inputRange)
29
- ? CompareResult.neitherLessOrGreaterThan
30
- : LineRange.compareByStart(baseRange.baseRange, diff.inputRange));
31
- const shouldShowCodeLenses = options.codeLensesVisible;
32
- const showNonConflictingChanges = options.showNonConflictingChanges;
33
- let lastModifiedBaseRange = undefined;
34
- let lastBaseResultDiff = undefined;
35
- for (const m of baseRangeWithStoreAndTouchingDiffs) {
36
- if (shouldShowCodeLenses && m.left && (m.left.isConflicting || showNonConflictingChanges || !model.isHandled(m.left).read(reader))) {
37
- const actions = ( new ActionsSource(viewModel, m.left));
38
- if (options.shouldAlignResult || !actions.inputIsEmpty.read(reader)) {
39
- input1ViewZones.push(( new CommandViewZone(
40
- this.conflictActionsFactoryInput1,
41
- m.left.input1Range.startLineNumber - 1,
42
- actions.itemsInput1
43
- )));
44
- input2ViewZones.push(( new CommandViewZone(
45
- this.conflictActionsFactoryInput2,
46
- m.left.input2Range.startLineNumber - 1,
47
- actions.itemsInput2
48
- )));
49
- if (options.shouldAlignBase) {
50
- baseViewZones.push(( new Placeholder(m.left.baseRange.startLineNumber - 1, 16)));
51
- }
52
- }
53
- const afterLineNumber = m.left.baseRange.startLineNumber + (lastBaseResultDiff?.resultingDeltaFromOriginalToModified ?? 0) - 1;
54
- resultViewZones.push(( new CommandViewZone(this.conflictActionsFactoryResult, afterLineNumber, actions.resultItems)));
55
- }
56
- const lastResultDiff = lastOrDefault(m.rights);
57
- if (lastResultDiff) {
58
- lastBaseResultDiff = lastResultDiff;
59
- }
60
- let alignedLines;
61
- if (m.left) {
62
- alignedLines = ( getAlignments(m.left).map(a => ({
63
- input1Line: a[0],
64
- baseLine: a[1],
65
- input2Line: a[2],
66
- resultLine: undefined,
67
- })));
68
- lastModifiedBaseRange = m.left;
69
- alignedLines[alignedLines.length - 1].resultLine =
70
- m.left.baseRange.endLineNumberExclusive
71
- + (lastBaseResultDiff ? lastBaseResultDiff.resultingDeltaFromOriginalToModified : 0);
72
- }
73
- else {
74
- alignedLines = [{
75
- baseLine: lastResultDiff.inputRange.endLineNumberExclusive,
76
- input1Line: lastResultDiff.inputRange.endLineNumberExclusive + (lastModifiedBaseRange ? (lastModifiedBaseRange.input1Range.endLineNumberExclusive - lastModifiedBaseRange.baseRange.endLineNumberExclusive) : 0),
77
- input2Line: lastResultDiff.inputRange.endLineNumberExclusive + (lastModifiedBaseRange ? (lastModifiedBaseRange.input2Range.endLineNumberExclusive - lastModifiedBaseRange.baseRange.endLineNumberExclusive) : 0),
78
- resultLine: lastResultDiff.outputRange.endLineNumberExclusive,
79
- }];
80
- }
81
- for (const { input1Line, baseLine, input2Line, resultLine } of alignedLines) {
82
- if (!options.shouldAlignBase && (input1Line === undefined || input2Line === undefined)) {
83
- continue;
84
- }
85
- const input1Line_ = input1Line !== undefined ? input1Line + input1LinesAdded : -1;
86
- const input2Line_ = input2Line !== undefined ? input2Line + input2LinesAdded : -1;
87
- const baseLine_ = baseLine + baseLinesAdded;
88
- const resultLine_ = resultLine !== undefined ? resultLine + resultLinesAdded : -1;
89
- const max = Math.max(options.shouldAlignBase ? baseLine_ : 0, input1Line_, input2Line_, options.shouldAlignResult ? resultLine_ : 0);
90
- if (input1Line !== undefined) {
91
- const diffInput1 = max - input1Line_;
92
- if (diffInput1 > 0) {
93
- input1ViewZones.push(( new Spacer(input1Line - 1, diffInput1)));
94
- input1LinesAdded += diffInput1;
95
- }
96
- }
97
- if (input2Line !== undefined) {
98
- const diffInput2 = max - input2Line_;
99
- if (diffInput2 > 0) {
100
- input2ViewZones.push(( new Spacer(input2Line - 1, diffInput2)));
101
- input2LinesAdded += diffInput2;
102
- }
103
- }
104
- if (options.shouldAlignBase) {
105
- const diffBase = max - baseLine_;
106
- if (diffBase > 0) {
107
- baseViewZones.push(( new Spacer(baseLine - 1, diffBase)));
108
- baseLinesAdded += diffBase;
109
- }
110
- }
111
- if (options.shouldAlignResult && resultLine !== undefined) {
112
- const diffResult = max - resultLine_;
113
- if (diffResult > 0) {
114
- resultViewZones.push(( new Spacer(resultLine - 1, diffResult)));
115
- resultLinesAdded += diffResult;
116
- }
117
- }
118
- }
119
- }
120
- return ( new MergeEditorViewZones(input1ViewZones, input2ViewZones, baseViewZones, resultViewZones));
121
- }
122
- }
123
- class MergeEditorViewZones {
124
- constructor(input1ViewZones, input2ViewZones, baseViewZones, resultViewZones) {
125
- this.input1ViewZones = input1ViewZones;
126
- this.input2ViewZones = input2ViewZones;
127
- this.baseViewZones = baseViewZones;
128
- this.resultViewZones = resultViewZones;
129
- }
130
- }
131
- class MergeEditorViewZone {
132
- }
133
- class Spacer extends MergeEditorViewZone {
134
- constructor(afterLineNumber, heightInLines) {
135
- super();
136
- this.afterLineNumber = afterLineNumber;
137
- this.heightInLines = heightInLines;
138
- }
139
- create(viewZoneChangeAccessor, viewZoneIdsToCleanUp, disposableStore) {
140
- viewZoneIdsToCleanUp.push(viewZoneChangeAccessor.addZone({
141
- afterLineNumber: this.afterLineNumber,
142
- heightInLines: this.heightInLines,
143
- domNode: $('div.diagonal-fill'),
144
- }));
145
- }
146
- }
147
- class Placeholder extends MergeEditorViewZone {
148
- constructor(afterLineNumber, heightPx) {
149
- super();
150
- this.afterLineNumber = afterLineNumber;
151
- this.heightPx = heightPx;
152
- }
153
- create(viewZoneChangeAccessor, viewZoneIdsToCleanUp, disposableStore) {
154
- viewZoneIdsToCleanUp.push(viewZoneChangeAccessor.addZone({
155
- afterLineNumber: this.afterLineNumber,
156
- heightInPx: this.heightPx,
157
- domNode: $('div.conflict-actions-placeholder'),
158
- }));
159
- }
160
- }
161
- class CommandViewZone extends MergeEditorViewZone {
162
- constructor(conflictActionsFactory, lineNumber, items) {
163
- super();
164
- this.conflictActionsFactory = conflictActionsFactory;
165
- this.lineNumber = lineNumber;
166
- this.items = items;
167
- }
168
- create(viewZoneChangeAccessor, viewZoneIdsToCleanUp, disposableStore) {
169
- disposableStore.add(this.conflictActionsFactory.createWidget(viewZoneChangeAccessor, this.lineNumber, this.items, viewZoneIdsToCleanUp));
170
- }
171
- }
172
-
173
- export { MergeEditorViewZone, MergeEditorViewZones, ViewZoneComputer };
@@ -1,6 +0,0 @@
1
- import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
-
3
- var css = ".monaco-workbench .type-hierarchy .message,.monaco-workbench .type-hierarchy .results{display:none}.monaco-workbench .type-hierarchy[data-state=data] .results{display:inherit;height:100%}.monaco-workbench .type-hierarchy[data-state=message] .message{align-items:center;display:flex;height:100%;justify-content:center}.monaco-workbench .type-hierarchy .editor,.monaco-workbench .type-hierarchy .tree{height:100%}.monaco-editor .type-hierarchy .tree{background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .type-hierarchy .tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-workbench .type-hierarchy .tree .typehierarchy-element{align-items:center;display:flex;flex:1;flex-flow:row nowrap}.monaco-workbench .type-hierarchy .tree .typehierarchy-element .monaco-icon-label{padding-left:4px}.monaco-editor .type-hierarchy .type-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .type-hierarchy .editor .monaco-editor .inputarea.ime-input,.monaco-editor .type-hierarchy .editor .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .type-hierarchy .editor .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}";
4
- n(css,{});
5
-
6
- export { css, css as default };