@codingame/monaco-vscode-view-common-service-override 4.5.2 → 5.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.
Files changed (29) hide show
  1. package/package.json +3 -3
  2. package/viewCommon.js +3 -6
  3. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +50 -36
  4. package/vscode/src/vs/workbench/browser/actions/listCommands.js +6 -1
  5. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  6. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +12 -10
  7. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css.js +1 -1
  8. package/vscode/src/vs/workbench/browser/parts/compositePart.js +3 -3
  9. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +7 -4
  10. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +1 -1
  11. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +51 -16
  12. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +92 -40
  13. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +15 -12
  14. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +11 -9
  15. package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +1 -1
  16. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +12 -9
  17. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +8 -5
  18. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +1 -0
  19. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editorGutter.js +1 -0
  20. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js +1 -0
  21. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.js +1 -0
  22. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js +1 -0
  23. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +1 -0
  24. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/scrollSynchronizer.js +6 -5
  25. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.js +1 -0
  26. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindWidget.js +5 -3
  27. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +13 -11
  28. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +34 -3
  29. package/vscode/src/vs/workbench/services/driver/browser/driver.js +1 -1
@@ -2,7 +2,7 @@ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService.service';
3
3
  import { Part } from 'vscode/vscode/vs/workbench/browser/part';
4
4
  import { $, getWindow, getActiveElement, isAncestorOfActiveElement, addDisposableGenericMouseDownListener, EventHelper, Dimension } from 'vscode/vscode/vs/base/browser/dom';
5
- import { Relay, Event, Emitter } from 'vscode/vscode/vs/base/common/event';
5
+ import { Relay, Event, Emitter, PauseableEmitter } from 'vscode/vscode/vs/base/common/event';
6
6
  import 'vscode/vscode/vs/platform/theme/common/colorUtils';
7
7
  import { contrastBorder } from 'vscode/vscode/vs/platform/theme/common/colors/baseColors';
8
8
  import 'vscode/vscode/vs/platform/theme/common/colors/chartsColors';
@@ -104,7 +104,7 @@ let EditorPart = class EditorPart extends Part {
104
104
  this.onDidActivateGroup = this._onDidActivateGroup.event;
105
105
  this._onDidAddGroup = this._register(( new Emitter()));
106
106
  this.onDidAddGroup = this._onDidAddGroup.event;
107
- this._onDidRemoveGroup = this._register(( new Emitter()));
107
+ this._onDidRemoveGroup = this._register(( new PauseableEmitter()));
108
108
  this.onDidRemoveGroup = this._onDidRemoveGroup.event;
109
109
  this._onDidMoveGroup = this._register(( new Emitter()));
110
110
  this.onDidMoveGroup = this._onDidMoveGroup.event;
@@ -623,26 +623,31 @@ let EditorPart = class EditorPart extends Part {
623
623
  editors.push({ editor, options });
624
624
  index++;
625
625
  }
626
+ let result = true;
626
627
  if (options?.mode === 0 ) {
627
628
  sourceView.copyEditors(editors, targetView);
628
629
  }
629
630
  else {
630
- sourceView.moveEditors(editors, targetView);
631
+ result = sourceView.moveEditors(editors, targetView);
631
632
  }
632
633
  if (sourceView.isEmpty && !sourceView.disposed ) {
633
634
  this.removeGroup(sourceView, true);
634
635
  }
635
- return targetView;
636
+ return result;
636
637
  }
637
638
  mergeAllGroups(target) {
638
639
  const targetView = this.assertGroupView(target);
640
+ let result = true;
639
641
  for (const group of this.getGroups(1 )) {
640
642
  if (group === targetView) {
641
643
  continue;
642
644
  }
643
- this.mergeGroup(group, targetView);
645
+ const merged = this.mergeGroup(group, targetView);
646
+ if (!merged) {
647
+ result = false;
648
+ }
644
649
  }
645
- return targetView;
650
+ return result;
646
651
  }
647
652
  assertGroupView(group) {
648
653
  let groupView;
@@ -952,17 +957,41 @@ let EditorPart = class EditorPart extends Part {
952
957
  mostRecentActiveGroups: this.mostRecentActiveGroups
953
958
  };
954
959
  }
955
- async applyState(state) {
956
- for (const group of this.getGroups(1 )) {
957
- const closed = await group.closeAllEditors();
958
- if (!closed) {
959
- return false;
960
- }
960
+ applyState(state) {
961
+ if (state === 'empty') {
962
+ return this.doApplyEmptyState();
961
963
  }
962
- this.disposeGroups();
964
+ else {
965
+ return this.doApplyState(state);
966
+ }
967
+ }
968
+ async doApplyState(state) {
969
+ const groups = await this.doPrepareApplyState();
970
+ const resumeEvents = this.disposeGroups(true );
963
971
  this.mostRecentActiveGroups = state.mostRecentActiveGroups;
964
- this.doApplyGridState(state.serializedGrid, state.activeGroup);
965
- return true;
972
+ try {
973
+ this.doApplyGridState(state.serializedGrid, state.activeGroup);
974
+ }
975
+ finally {
976
+ resumeEvents();
977
+ }
978
+ await this.activeGroup.openEditors(( groups
979
+ .flatMap(group => group.editors)
980
+ .filter(editor => this.editorPartsView.groups.every(groupView => !groupView.contains(editor)))
981
+ .map(editor => ({
982
+ editor, options: { pinned: true, preserveFocus: true, inactive: true }
983
+ }))));
984
+ }
985
+ async doApplyEmptyState() {
986
+ await this.doPrepareApplyState();
987
+ this.mergeAllGroups(this.activeGroup);
988
+ }
989
+ async doPrepareApplyState() {
990
+ const groups = this.getGroups(1 );
991
+ for (const group of groups) {
992
+ await group.closeAllEditors({ excludeConfirming: true });
993
+ }
994
+ return groups;
966
995
  }
967
996
  doApplyGridState(gridState, activeGroupId, editorGroupViewsToReuse) {
968
997
  this.doCreateGridControlWithState(gridState, activeGroupId, editorGroupViewsToReuse);
@@ -989,13 +1018,19 @@ let EditorPart = class EditorPart extends Part {
989
1018
  type: "workbench.parts.editor"
990
1019
  };
991
1020
  }
992
- disposeGroups() {
1021
+ disposeGroups(surpressEvents) {
1022
+ if (surpressEvents) {
1023
+ this._onDidRemoveGroup.pause();
1024
+ }
993
1025
  for (const group of this.groups) {
994
1026
  group.dispose();
995
1027
  this._onDidRemoveGroup.fire(group);
996
1028
  }
997
1029
  this.groupViews.clear();
998
1030
  this.mostRecentActiveGroups = [];
1031
+ if (surpressEvents) {
1032
+ return () => this._onDidRemoveGroup.resume();
1033
+ }
999
1034
  }
1000
1035
  dispose() {
1001
1036
  this.disposeGroups();
@@ -10,16 +10,18 @@ import { MultiWindowParts } from 'vscode/vscode/vs/workbench/browser/part';
10
10
  import { DeferredPromise } from 'vscode/vscode/vs/base/common/async';
11
11
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage.service';
12
12
  import { IThemeService } from 'vscode/vscode/vs/platform/theme/common/themeService.service';
13
- import { getWindow } from 'vscode/vscode/vs/base/browser/dom';
14
- import { getZoomLevel } from 'vscode/vscode/vs/base/browser/browser';
13
+ import { IAuxiliaryWindowService } from 'vscode/vscode/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.service';
14
+ import { generateUuid } from 'vscode/vscode/vs/base/common/uuid';
15
15
 
16
16
  var EditorParts_1;
17
17
  const _moduleId = "vs/workbench/browser/parts/editor/editorParts";
18
18
  let EditorParts = class EditorParts extends MultiWindowParts {
19
19
  static { EditorParts_1 = this; }
20
- constructor(instantiationService, storageService, themeService) {
20
+ constructor(instantiationService, storageService, themeService, auxiliaryWindowService) {
21
21
  super('workbench.editorParts', themeService, storageService);
22
22
  this.instantiationService = instantiationService;
23
+ this.storageService = storageService;
24
+ this.auxiliaryWindowService = auxiliaryWindowService;
23
25
  this.mainPart = this._register(this.createMainEditorPart());
24
26
  this.mostRecentActiveParts = [this.mainPart];
25
27
  this._onDidCreateAuxiliaryEditorPart = this._register(( (new Emitter())));
@@ -30,6 +32,13 @@ let EditorParts = class EditorParts extends MultiWindowParts {
30
32
  this.whenReady = this.whenReadyPromise.p;
31
33
  this.whenRestoredPromise = ( (new DeferredPromise()));
32
34
  this.whenRestored = this.whenRestoredPromise.p;
35
+ this.editorWorkingSets = (() => {
36
+ const workingSetsRaw = this.storageService.get(EditorParts_1.EDITOR_WORKING_SETS_STORAGE_KEY, 1 );
37
+ if (workingSetsRaw) {
38
+ return JSON.parse(workingSetsRaw);
39
+ }
40
+ return [];
41
+ })();
33
42
  this._onDidActiveGroupChange = this._register(( (new Emitter())));
34
43
  this.onDidChangeActiveGroup = this._onDidActiveGroupChange.event;
35
44
  this._onDidAddGroup = this._register(( (new Emitter())));
@@ -163,27 +172,10 @@ let EditorParts = class EditorParts extends MultiWindowParts {
163
172
  createState() {
164
173
  return {
165
174
  auxiliary: ( (this.parts.filter(part => part !== this.mainPart).map(part => {
175
+ const auxiliaryWindow = this.auxiliaryWindowService.getWindow(part.windowId);
166
176
  return {
167
177
  state: part.createState(),
168
- bounds: (() => {
169
- const auxiliaryWindow = getWindow(part.getContainer());
170
- if (auxiliaryWindow) {
171
- return {
172
- x: auxiliaryWindow.screenX,
173
- y: auxiliaryWindow.screenY,
174
- width: auxiliaryWindow.outerWidth,
175
- height: auxiliaryWindow.outerHeight
176
- };
177
- }
178
- return undefined;
179
- })(),
180
- zoomLevel: (() => {
181
- const auxiliaryWindow = getWindow(part.getContainer());
182
- if (auxiliaryWindow) {
183
- return getZoomLevel(auxiliaryWindow);
184
- }
185
- return undefined;
186
- })()
178
+ ...auxiliaryWindow?.createState()
187
179
  };
188
180
  }))),
189
181
  mru: ( (this.mostRecentActiveParts.map(part => this.parts.indexOf(part))))
@@ -193,11 +185,7 @@ let EditorParts = class EditorParts extends MultiWindowParts {
193
185
  if (state.auxiliary.length) {
194
186
  const auxiliaryEditorPartPromises = [];
195
187
  for (const auxiliaryEditorPartState of state.auxiliary) {
196
- auxiliaryEditorPartPromises.push(this.createAuxiliaryEditorPart({
197
- bounds: auxiliaryEditorPartState.bounds,
198
- state: auxiliaryEditorPartState.state,
199
- zoomLevel: auxiliaryEditorPartState.zoomLevel
200
- }));
188
+ auxiliaryEditorPartPromises.push(this.createAuxiliaryEditorPart(auxiliaryEditorPartState));
201
189
  }
202
190
  await Promise.allSettled(auxiliaryEditorPartPromises);
203
191
  if (state.mru.length === this.parts.length) {
@@ -229,16 +217,79 @@ let EditorParts = class EditorParts extends MultiWindowParts {
229
217
  continue;
230
218
  }
231
219
  for (const group of part.getGroups(1 )) {
232
- const closed = await group.closeAllEditors();
233
- if (!closed) {
234
- return false;
235
- }
220
+ await group.closeAllEditors({ excludeConfirming: true });
236
221
  }
237
- part.close();
222
+ const closed = part.close();
223
+ if (!closed) {
224
+ return false;
225
+ }
226
+ }
227
+ if (state !== 'empty') {
228
+ await this.restoreState(state);
229
+ }
230
+ return true;
231
+ }
232
+ static { this.EDITOR_WORKING_SETS_STORAGE_KEY = 'editor.workingSets'; }
233
+ saveWorkingSet(name) {
234
+ const workingSet = {
235
+ id: generateUuid(),
236
+ name,
237
+ main: this.mainPart.createState(),
238
+ auxiliary: this.createState()
239
+ };
240
+ this.editorWorkingSets.push(workingSet);
241
+ this.saveWorkingSets();
242
+ return {
243
+ id: workingSet.id,
244
+ name: workingSet.name
245
+ };
246
+ }
247
+ getWorkingSets() {
248
+ return (
249
+ (this.editorWorkingSets.map(workingSet => ({ id: workingSet.id, name: workingSet.name })))
250
+ );
251
+ }
252
+ deleteWorkingSet(workingSet) {
253
+ const index = this.indexOfWorkingSet(workingSet);
254
+ if (typeof index === 'number') {
255
+ this.editorWorkingSets.splice(index, 1);
256
+ this.saveWorkingSets();
257
+ }
258
+ }
259
+ async applyWorkingSet(workingSet) {
260
+ let workingSetState;
261
+ if (workingSet === 'empty') {
262
+ workingSetState = 'empty';
263
+ }
264
+ else {
265
+ workingSetState = this.editorWorkingSets[this.indexOfWorkingSet(workingSet) ?? -1];
266
+ }
267
+ if (!workingSetState) {
268
+ return false;
269
+ }
270
+ const applied = await this.applyState(workingSetState === 'empty' ? workingSetState : workingSetState.auxiliary);
271
+ if (!applied) {
272
+ return false;
273
+ }
274
+ await this.mainPart.applyState(workingSetState === 'empty' ? workingSetState : workingSetState.main);
275
+ const mostRecentActivePart = firstOrDefault(this.mostRecentActiveParts);
276
+ if (mostRecentActivePart) {
277
+ await mostRecentActivePart.whenReady;
278
+ mostRecentActivePart.activeGroup.focus();
238
279
  }
239
- await this.restoreState(state);
240
280
  return true;
241
281
  }
282
+ indexOfWorkingSet(workingSet) {
283
+ for (let i = 0; i < this.editorWorkingSets.length; i++) {
284
+ if (this.editorWorkingSets[i].id === workingSet.id) {
285
+ return i;
286
+ }
287
+ }
288
+ return undefined;
289
+ }
290
+ saveWorkingSets() {
291
+ this.storageService.store(EditorParts_1.EDITOR_WORKING_SETS_STORAGE_KEY, JSON.stringify(this.editorWorkingSets), 1 , 1 );
292
+ }
242
293
  get activeGroup() {
243
294
  return this.activePart.activeGroup;
244
295
  }
@@ -300,14 +351,14 @@ let EditorParts = class EditorParts extends MultiWindowParts {
300
351
  setSize(group, size) {
301
352
  this.getPart(group).setSize(group, size);
302
353
  }
303
- arrangeGroups(arrangement, group) {
304
- (group !== undefined ? this.getPart(group) : this.activePart).arrangeGroups(arrangement, group);
354
+ arrangeGroups(arrangement, group = this.activePart.activeGroup) {
355
+ this.getPart(group).arrangeGroups(arrangement, group);
305
356
  }
306
- toggleMaximizeGroup(group) {
307
- (group !== undefined ? this.getPart(group) : this.activePart).toggleMaximizeGroup(group);
357
+ toggleMaximizeGroup(group = this.activePart.activeGroup) {
358
+ this.getPart(group).toggleMaximizeGroup(group);
308
359
  }
309
- toggleExpandGroup(group) {
310
- (group !== undefined ? this.getPart(group) : this.activePart).toggleExpandGroup(group);
360
+ toggleExpandGroup(group = this.activePart.activeGroup) {
361
+ this.getPart(group).toggleExpandGroup(group);
311
362
  }
312
363
  restoreGroup(group) {
313
364
  return this.getPart(group).restoreGroup(group);
@@ -383,7 +434,8 @@ let EditorParts = class EditorParts extends MultiWindowParts {
383
434
  EditorParts = EditorParts_1 = ( (__decorate([
384
435
  ( (__param(0, IInstantiationService))),
385
436
  ( (__param(1, IStorageService))),
386
- ( (__param(2, IThemeService)))
437
+ ( (__param(2, IThemeService))),
438
+ ( (__param(3, IAuxiliaryWindowService)))
387
439
  ], EditorParts)));
388
440
 
389
441
  export { EditorParts };
@@ -20,7 +20,6 @@ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extension
20
20
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
21
21
  import { CompositeDragAndDropObserver, toggleDropEffect } from 'vscode/vscode/vs/workbench/browser/dnd';
22
22
  import { EDITOR_DRAG_AND_DROP_BACKGROUND } from 'vscode/vscode/vs/workbench/common/theme';
23
- import { ToolBar } from 'vscode/vscode/vs/base/browser/ui/toolbar/toolbar';
24
23
  import { CompositeMenuActions } from 'vscode/vscode/vs/workbench/browser/actions';
25
24
  import { MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
26
25
  import { IMenuService } from 'vscode/vscode/vs/platform/actions/common/actions.service';
@@ -30,6 +29,8 @@ import { StandardMouseEvent } from 'vscode/vscode/vs/base/browser/mouseEvent';
30
29
  import { SubmenuAction } from 'vscode/vscode/vs/base/common/actions';
31
30
  import { ViewsSubMenu } from 'vscode/vscode/vs/workbench/browser/parts/views/viewPaneContainer';
32
31
  import { createAndFillInActionBarActions } from 'vscode/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
32
+ import { IHoverService } from 'vscode/vscode/vs/platform/hover/browser/hover.service';
33
+ import { WorkbenchToolBar } from 'vscode/vscode/vs/platform/actions/browser/toolbar';
33
34
 
34
35
  var AbstractPaneCompositePart_1;
35
36
  const _moduleId = "vs/workbench/browser/parts/paneCompositePart";
@@ -48,7 +49,7 @@ let AbstractPaneCompositePart = class AbstractPaneCompositePart extends Composit
48
49
  get onDidPaneCompositeOpen() { return (
49
50
  (Event.map(this.onDidCompositeOpen.event, compositeEvent => compositeEvent.composite))
50
51
  ); }
51
- constructor(partId, partOptions, activePaneCompositeSettingsKey, activePaneContextKey, paneFocusContextKey, nameForTelemetry, compositeCSSClass, titleForegroundColor, notificationService, storageService, contextMenuService, layoutService, keybindingService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, menuService) {
52
+ constructor(partId, partOptions, activePaneCompositeSettingsKey, activePaneContextKey, paneFocusContextKey, nameForTelemetry, compositeCSSClass, titleForegroundColor, notificationService, storageService, contextMenuService, layoutService, keybindingService, hoverService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, menuService) {
52
53
  let location = 0 ;
53
54
  let registryId = Extensions.Viewlets;
54
55
  let globalActionsMenuId = MenuId.SidebarTitle;
@@ -62,7 +63,7 @@ let AbstractPaneCompositePart = class AbstractPaneCompositePart extends Composit
62
63
  registryId = Extensions.Auxiliary;
63
64
  globalActionsMenuId = MenuId.AuxiliaryBarTitle;
64
65
  }
65
- super(notificationService, storageService, contextMenuService, layoutService, keybindingService, instantiationService, themeService, ( (Registry.as(registryId))), activePaneCompositeSettingsKey, viewDescriptorService.getDefaultViewContainer(location)?.id || '', nameForTelemetry, compositeCSSClass, titleForegroundColor, partId, partOptions);
66
+ super(notificationService, storageService, contextMenuService, layoutService, keybindingService, hoverService, instantiationService, themeService, ( (Registry.as(registryId))), activePaneCompositeSettingsKey, viewDescriptorService.getDefaultViewContainer(location)?.id || '', nameForTelemetry, compositeCSSClass, titleForegroundColor, partId, partOptions);
66
67
  this.partId = partId;
67
68
  this.activePaneContextKey = activePaneContextKey;
68
69
  this.paneFocusContextKey = paneFocusContextKey;
@@ -185,14 +186,15 @@ let AbstractPaneCompositePart = class AbstractPaneCompositePart extends Composit
185
186
  this.onTitleAreaContextMenu(( (new StandardMouseEvent(getWindow(titleArea), e))));
186
187
  }));
187
188
  const globalTitleActionsContainer = titleArea.appendChild($('.global-actions'));
188
- this.globalToolBar = this._register(( (new ToolBar(globalTitleActionsContainer, this.contextMenuService, {
189
+ this.globalToolBar = this._register(this.instantiationService.createInstance(WorkbenchToolBar, globalTitleActionsContainer, {
189
190
  actionViewItemProvider: (action, options) => this.actionViewItemProvider(action, options),
190
191
  orientation: 0 ,
191
192
  getKeyBinding: action => this.keybindingService.lookupKeybinding(action.id),
192
193
  anchorAlignmentProvider: () => this.getTitleAreaDropDownAnchorAlignment(),
193
194
  toggleMenuTitle: ( localizeWithPath(_moduleId, 1, "More Actions...")),
194
- hoverDelegate: this.toolbarHoverDelegate
195
- }))));
195
+ hoverDelegate: this.toolbarHoverDelegate,
196
+ hiddenItemStrategy: -1
197
+ }));
196
198
  this.updateGlobalToolbarActions();
197
199
  return titleArea;
198
200
  }
@@ -458,12 +460,13 @@ AbstractPaneCompositePart = AbstractPaneCompositePart_1 = ( (__decorate([
458
460
  ( (__param(10, IContextMenuService))),
459
461
  ( (__param(11, IWorkbenchLayoutService))),
460
462
  ( (__param(12, IKeybindingService))),
461
- ( (__param(13, IInstantiationService))),
462
- ( (__param(14, IThemeService))),
463
- ( (__param(15, IViewDescriptorService))),
464
- ( (__param(16, IContextKeyService))),
465
- ( (__param(17, IExtensionService))),
466
- ( (__param(18, IMenuService)))
463
+ ( (__param(13, IHoverService))),
464
+ ( (__param(14, IInstantiationService))),
465
+ ( (__param(15, IThemeService))),
466
+ ( (__param(16, IViewDescriptorService))),
467
+ ( (__param(17, IContextKeyService))),
468
+ ( (__param(18, IExtensionService))),
469
+ ( (__param(19, IMenuService)))
467
470
  ], AbstractPaneCompositePart)));
468
471
 
469
472
  export { AbstractPaneCompositePart, CompositeBarPosition };
@@ -33,6 +33,7 @@ import { IMenuService } from 'vscode/vscode/vs/platform/actions/common/actions.s
33
33
  import { AbstractPaneCompositePart, CompositeBarPosition } from '../paneCompositePart.js';
34
34
  import { ICommandService } from 'vscode/vscode/vs/platform/commands/common/commands.service';
35
35
  import { createAndFillInContextMenuActions } from 'vscode/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
36
+ import { IHoverService } from 'vscode/vscode/vs/platform/hover/browser/hover.service';
36
37
 
37
38
  var PanelPart_1;
38
39
  const _moduleId = "vs/workbench/browser/parts/panel/panelPart";
@@ -53,8 +54,8 @@ let PanelPart = class PanelPart extends AbstractPaneCompositePart {
53
54
  return Math.max(width, 300);
54
55
  }
55
56
  static { this.activePanelSettingsKey = 'workbench.panelpart.activepanelid'; }
56
- constructor(notificationService, storageService, contextMenuService, layoutService, keybindingService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, commandService, menuService) {
57
- super("workbench.parts.panel" , { hasTitle: true }, PanelPart_1.activePanelSettingsKey, ActivePanelContext.bindTo(contextKeyService), PanelFocusContext.bindTo(contextKeyService), 'panel', 'panel', undefined, notificationService, storageService, contextMenuService, layoutService, keybindingService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, menuService);
57
+ constructor(notificationService, storageService, contextMenuService, layoutService, keybindingService, hoverService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, commandService, menuService) {
58
+ super("workbench.parts.panel" , { hasTitle: true }, PanelPart_1.activePanelSettingsKey, ActivePanelContext.bindTo(contextKeyService), PanelFocusContext.bindTo(contextKeyService), 'panel', 'panel', undefined, notificationService, storageService, contextMenuService, layoutService, keybindingService, hoverService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, menuService);
58
59
  this.commandService = commandService;
59
60
  this.minimumWidth = 300;
60
61
  this.maximumWidth = Number.POSITIVE_INFINITY;
@@ -145,13 +146,14 @@ PanelPart = PanelPart_1 = ( (__decorate([
145
146
  ( (__param(2, IContextMenuService))),
146
147
  ( (__param(3, IWorkbenchLayoutService))),
147
148
  ( (__param(4, IKeybindingService))),
148
- ( (__param(5, IInstantiationService))),
149
- ( (__param(6, IThemeService))),
150
- ( (__param(7, IViewDescriptorService))),
151
- ( (__param(8, IContextKeyService))),
152
- ( (__param(9, IExtensionService))),
153
- ( (__param(10, ICommandService))),
154
- ( (__param(11, IMenuService)))
149
+ ( (__param(5, IHoverService))),
150
+ ( (__param(6, IInstantiationService))),
151
+ ( (__param(7, IThemeService))),
152
+ ( (__param(8, IViewDescriptorService))),
153
+ ( (__param(9, IContextKeyService))),
154
+ ( (__param(10, IExtensionService))),
155
+ ( (__param(11, ICommandService))),
156
+ ( (__param(12, IMenuService)))
155
157
  ], PanelPart)));
156
158
 
157
159
  export { PanelPart };
@@ -1,6 +1,6 @@
1
1
  import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
2
 
3
- var css = ".monaco-workbench.nosidebar>.part.sidebar{display:none!important;visibility:hidden!important}.monaco-workbench .part.sidebar .title-actions .actions-container{justify-content:flex-end}.monaco-workbench .part.sidebar .title-actions .action-item{margin-right:4px}.monaco-workbench .part.sidebar>.title>.title-label h2{text-transform:uppercase}.monaco-workbench .viewlet .collapsible.header .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-workbench .viewlet .collapsible.header .actions{width:0}.monaco-workbench .viewlet .collapsible.header.focused .actions,.monaco-workbench .viewlet .split-view-view:hover>.header .actions{flex:1;width:auto}.monaco-workbench .viewlet .collapsible.header .actions .action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;height:22px;margin-right:0;width:28px}.monaco-workbench .viewlet .collapsible.header .actions .action-label .label,.monaco-workbench .viewlet .collapsible.header.collapsed .actions{display:none}.monaco-workbench .viewlet .collapsible.header .action-label{background-repeat:no-repeat;height:16px;margin-right:.2em;width:16px}.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:focus,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:focus{outline:0!important}.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item .action-label,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item .action-label{border-radius:0;outline-offset:2px}.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item .action-label:before,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item .action-label:before{left:6px;position:absolute}.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item.checked.clicked:focus .active-item-indicator:before,.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item.checked:not(:focus) .active-item-indicator:before,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item.checked.clicked:focus .active-item-indicator:before,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item.checked:not(:focus) .active-item-indicator:before{border-top-color:var(--vscode-activityBarTop-activeBorder)!important}.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:focus .action-label,.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:hover .action-label,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:focus .action-label,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:hover .action-label{color:var(--vscode-activityBarTop-foreground)!important}.monaco-workbench .sidebar.pane-composite-part>.title>.composite-bar-container{flex:1}.monaco-workbench .sidebar.part.pane-composite-part>.composite.title.has-composite-bar>.title-actions{flex:inherit}.monaco-workbench .sidebar.pane-composite-part>.title.has-composite-bar>.title-actions .monaco-action-bar .action-item{max-width:150px}";
3
+ var css = ".monaco-workbench.nosidebar>.part.sidebar{display:none!important;visibility:hidden!important}.monaco-workbench .part.sidebar .title-actions .actions-container{justify-content:flex-end}.monaco-workbench .part.sidebar .title-actions .action-item{margin-right:4px}.monaco-workbench .part.sidebar>.title{background-color:var(--vscode-sideBarTitle-background)}.monaco-workbench .part.sidebar>.title>.title-label h2{text-transform:uppercase}.monaco-workbench .viewlet .collapsible.header .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-workbench .viewlet .collapsible.header .actions{width:0}.monaco-workbench .viewlet .collapsible.header.focused .actions,.monaco-workbench .viewlet .split-view-view:hover>.header .actions{flex:1;width:auto}.monaco-workbench .viewlet .collapsible.header .actions .action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;height:22px;margin-right:0;width:28px}.monaco-workbench .viewlet .collapsible.header .actions .action-label .label,.monaco-workbench .viewlet .collapsible.header.collapsed .actions{display:none}.monaco-workbench .viewlet .collapsible.header .action-label{background-repeat:no-repeat;height:16px;margin-right:.2em;width:16px}.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:focus,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:focus{outline:0!important}.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item .action-label,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item .action-label{border-radius:0;outline-offset:2px}.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item .action-label:before,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item .action-label:before{left:6px;position:absolute}.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item.checked.clicked:focus .active-item-indicator:before,.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item.checked:not(:focus) .active-item-indicator:before,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item.checked.clicked:focus .active-item-indicator:before,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item.checked:not(:focus) .active-item-indicator:before{border-top-color:var(--vscode-activityBarTop-activeBorder)!important}.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:focus .action-label,.monaco-workbench .part.sidebar>.header-or-footer>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:hover .action-label,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:focus .action-label,.monaco-workbench .part.sidebar>.title>.composite-bar-container>.composite-bar>.monaco-action-bar .action-item:hover .action-label{color:var(--vscode-activityBarTop-foreground)!important}.monaco-workbench .sidebar.pane-composite-part>.title>.composite-bar-container{flex:1}.monaco-workbench .sidebar.part.pane-composite-part>.composite.title.has-composite-bar>.title-actions{flex:inherit}.monaco-workbench .sidebar.pane-composite-part>.title.has-composite-bar>.title-actions .monaco-action-bar .action-item{max-width:150px}";
4
4
  n(css,{});
5
5
 
6
6
  export { css, css as default };
@@ -33,12 +33,14 @@ import { IMenuService } from 'vscode/vscode/vs/platform/actions/common/actions.s
33
33
  import { Separator } from 'vscode/vscode/vs/base/common/actions';
34
34
  import { ToggleActivityBarVisibilityActionId } from 'vscode/vscode/vs/workbench/browser/actions/layoutActions';
35
35
  import { localize2WithPath } from 'vscode/vscode/vs/nls';
36
+ import { IHoverService } from 'vscode/vscode/vs/platform/hover/browser/hover.service';
36
37
 
37
38
  var SidebarPart_1;
38
39
  const _moduleId = "vs/workbench/browser/parts/sidebar/sidebarPart";
39
40
  let SidebarPart = class SidebarPart extends AbstractPaneCompositePart {
40
41
  static { SidebarPart_1 = this; }
41
42
  static { this.activeViewletSettingsKey = 'workbench.sidebar.activeviewletid'; }
43
+ get snap() { return true; }
42
44
  get preferredWidth() {
43
45
  const viewlet = this.getActivePaneComposite();
44
46
  if (!viewlet) {
@@ -50,8 +52,8 @@ let SidebarPart = class SidebarPart extends AbstractPaneCompositePart {
50
52
  }
51
53
  return Math.max(width, 300);
52
54
  }
53
- constructor(notificationService, storageService, contextMenuService, layoutService, keybindingService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, configurationService, menuService) {
54
- super("workbench.parts.sidebar" , { hasTitle: true, borderWidth: () => (this.getColor(SIDE_BAR_BORDER) || this.getColor(contrastBorder)) ? 1 : 0 }, SidebarPart_1.activeViewletSettingsKey, ActiveViewletContext.bindTo(contextKeyService), SidebarFocusContext.bindTo(contextKeyService), 'sideBar', 'viewlet', SIDE_BAR_TITLE_FOREGROUND, notificationService, storageService, contextMenuService, layoutService, keybindingService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, menuService);
55
+ constructor(notificationService, storageService, contextMenuService, layoutService, keybindingService, hoverService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, configurationService, menuService) {
56
+ super("workbench.parts.sidebar" , { hasTitle: true, borderWidth: () => (this.getColor(SIDE_BAR_BORDER) || this.getColor(contrastBorder)) ? 1 : 0 }, SidebarPart_1.activeViewletSettingsKey, ActiveViewletContext.bindTo(contextKeyService), SidebarFocusContext.bindTo(contextKeyService), 'sideBar', 'viewlet', SIDE_BAR_TITLE_FOREGROUND, notificationService, storageService, contextMenuService, layoutService, keybindingService, hoverService, instantiationService, themeService, viewDescriptorService, contextKeyService, extensionService, menuService);
55
57
  this.configurationService = configurationService;
56
58
  this.minimumWidth = 170;
57
59
  this.maximumWidth = Number.POSITIVE_INFINITY;
@@ -223,13 +225,14 @@ SidebarPart = SidebarPart_1 = ( (__decorate([
223
225
  ( (__param(2, IContextMenuService))),
224
226
  ( (__param(3, IWorkbenchLayoutService))),
225
227
  ( (__param(4, IKeybindingService))),
226
- ( (__param(5, IInstantiationService))),
227
- ( (__param(6, IThemeService))),
228
- ( (__param(7, IViewDescriptorService))),
229
- ( (__param(8, IContextKeyService))),
230
- ( (__param(9, IExtensionService))),
231
- ( (__param(10, IConfigurationService))),
232
- ( (__param(11, IMenuService)))
228
+ ( (__param(5, IHoverService))),
229
+ ( (__param(6, IInstantiationService))),
230
+ ( (__param(7, IThemeService))),
231
+ ( (__param(8, IViewDescriptorService))),
232
+ ( (__param(9, IContextKeyService))),
233
+ ( (__param(10, IExtensionService))),
234
+ ( (__param(11, IConfigurationService))),
235
+ ( (__param(12, IMenuService)))
233
236
  ], SidebarPart)));
234
237
 
235
238
  export { SidebarPart };
@@ -29,6 +29,7 @@ import { Categories } from 'vscode/vscode/vs/platform/action/common/actionCommon
29
29
  import { IEditorGroupsService } from 'vscode/vscode/vs/workbench/services/editor/common/editorGroupsService.service';
30
30
  import { ServiceCollection } from 'vscode/vscode/vs/platform/instantiation/common/serviceCollection';
31
31
  import { nativeHoverDelegate } from 'vscode/vscode/vs/platform/hover/browser/hover';
32
+ import { IHoverService } from 'vscode/vscode/vs/platform/hover/browser/hover.service';
32
33
 
33
34
  var LanguageStatus_1;
34
35
  const _moduleId = "vs/workbench/contrib/languageStatus/browser/languageStatus.contribution";
@@ -77,10 +78,11 @@ let LanguageStatus = class LanguageStatus {
77
78
  static { LanguageStatus_1 = this; }
78
79
  static { this._id = 'status.languageStatus'; }
79
80
  static { this._keyDedicatedItems = 'languageStatus.dedicated'; }
80
- constructor(_languageStatusService, _statusBarService, _editorService, _openerService, _storageService) {
81
+ constructor(_languageStatusService, _statusBarService, _editorService, _hoverService, _openerService, _storageService) {
81
82
  this._languageStatusService = _languageStatusService;
82
83
  this._statusBarService = _statusBarService;
83
84
  this._editorService = _editorService;
85
+ this._hoverService = _hoverService;
84
86
  this._openerService = _openerService;
85
87
  this._storageService = _storageService;
86
88
  this._disposables = ( (new DisposableStore()));
@@ -271,7 +273,7 @@ let LanguageStatus = class LanguageStatus {
271
273
  href: ( (( (URI.from({
272
274
  scheme: 'command', path: command.id, query: command.arguments && JSON.stringify(command.arguments)
273
275
  }))).toString()))
274
- }, { hoverDelegate: nativeHoverDelegate }, this._openerService))));
276
+ }, { hoverDelegate: nativeHoverDelegate }, this._hoverService, this._openerService))));
275
277
  }
276
278
  const actionBar = ( (new ActionBar(right, { hoverDelegate: nativeHoverDelegate })));
277
279
  store.add(actionBar);
@@ -317,7 +319,7 @@ let LanguageStatus = class LanguageStatus {
317
319
  append(target, ...parts);
318
320
  }
319
321
  else {
320
- store.add(( (new Link(target, node, undefined, this._openerService))));
322
+ store.add(( (new Link(target, node, undefined, this._hoverService, this._openerService))));
321
323
  }
322
324
  }
323
325
  }
@@ -357,8 +359,9 @@ LanguageStatus = LanguageStatus_1 = ( (__decorate([
357
359
  ( (__param(0, ILanguageStatusService))),
358
360
  ( (__param(1, IStatusbarService))),
359
361
  ( (__param(2, IEditorService))),
360
- ( (__param(3, IOpenerService))),
361
- ( (__param(4, IStorageService)))
362
+ ( (__param(3, IHoverService))),
363
+ ( (__param(4, IOpenerService))),
364
+ ( (__param(5, IStorageService)))
362
365
  ], LanguageStatus)));
363
366
  ( (Registry.as(Extensions.Workbench))).registerWorkbenchContribution(LanguageStatusContribution, 3 );
364
367
  registerAction2(class extends Action2 {
@@ -7,6 +7,7 @@ import { derived } from 'vscode/vscode/vs/base/common/observableInternal/derived
7
7
  import { autorun } from 'vscode/vscode/vs/base/common/observableInternal/autorun';
8
8
  import 'vscode/vscode/vs/base/common/observableInternal/utils';
9
9
  import 'vscode/vscode/vs/base/common/cancellation';
10
+ import 'vscode/vscode/vs/base/common/arrays';
10
11
  import { EDITOR_FONT_DEFAULTS } from 'vscode/vscode/vs/editor/common/config/editorOptions';
11
12
  import { localizeWithPath } from 'vscode/vscode/vs/nls';
12
13
  import { ModifiedBaseRangeStateKind, ModifiedBaseRangeState } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange';
@@ -5,6 +5,7 @@ import 'vscode/vscode/vs/base/common/observableInternal/derived';
5
5
  import { autorun } from 'vscode/vscode/vs/base/common/observableInternal/autorun';
6
6
  import { observableFromEvent, observableSignalFromEvent, observableSignal } from 'vscode/vscode/vs/base/common/observableInternal/utils';
7
7
  import 'vscode/vscode/vs/base/common/cancellation';
8
+ import 'vscode/vscode/vs/base/common/arrays';
8
9
  import { LineRange } from 'vscode/vscode/vs/workbench/contrib/mergeEditor/browser/model/lineRange';
9
10
 
10
11
  class EditorGutter extends Disposable {
@@ -2,6 +2,7 @@ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import { reset, h } from 'vscode/vscode/vs/base/browser/dom';
3
3
  import { renderLabelWithIcons } from 'vscode/vscode/vs/base/browser/ui/iconLabel/iconLabels';
4
4
  import { BugIndicatingError } from 'vscode/vscode/vs/base/common/errors';
5
+ import 'vscode/vscode/vs/base/common/arrays';
5
6
  import { derived } from 'vscode/vscode/vs/base/common/observableInternal/derived';
6
7
  import { autorunWithStore, autorun } from 'vscode/vscode/vs/base/common/observableInternal/autorun';
7
8
  import 'vscode/vscode/vs/base/common/observableInternal/utils';
@@ -2,6 +2,7 @@ import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
2
2
  import { h } from 'vscode/vscode/vs/base/browser/dom';
3
3
  import { Emitter, Event } from 'vscode/vscode/vs/base/common/event';
4
4
  import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
5
+ import 'vscode/vscode/vs/base/common/arrays';
5
6
  import { derived } from 'vscode/vscode/vs/base/common/observableInternal/derived';
6
7
  import { autorun } from 'vscode/vscode/vs/base/common/observableInternal/autorun';
7
8
  import { observableFromEvent } from 'vscode/vscode/vs/base/common/observableInternal/utils';
@@ -11,6 +11,7 @@ import { derivedOpts, derived } from 'vscode/vscode/vs/base/common/observableInt
11
11
  import { autorunOpts, autorun } from 'vscode/vscode/vs/base/common/observableInternal/autorun';
12
12
  import 'vscode/vscode/vs/base/common/observableInternal/utils';
13
13
  import 'vscode/vscode/vs/base/common/cancellation';
14
+ import 'vscode/vscode/vs/base/common/arrays';
14
15
  import { noBreakWhitespace } from 'vscode/vscode/vs/base/common/strings';
15
16
  import { isDefined } from 'vscode/vscode/vs/base/common/types';
16
17
  import { OverviewRulerLane } from 'vscode/vscode/vs/editor/common/model';
@@ -10,6 +10,7 @@ import 'vscode/vscode/vs/base/common/observableInternal/derived';
10
10
  import { autorunWithStore, autorun } from 'vscode/vscode/vs/base/common/observableInternal/autorun';
11
11
  import 'vscode/vscode/vs/base/common/observableInternal/utils';
12
12
  import 'vscode/vscode/vs/base/common/cancellation';
13
+ import 'vscode/vscode/vs/base/common/arrays';
13
14
  import { isEqual, basename } from 'vscode/vscode/vs/base/common/resources';
14
15
  import { isDefined } from 'vscode/vscode/vs/base/common/types';
15
16
  import './media/mergeEditor.css.js';