@codingame/monaco-vscode-extensions-service-override 25.1.2 → 26.0.1

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 (120) hide show
  1. package/index.js +7 -0
  2. package/package.json +3 -3
  3. package/vscode/src/vs/base/common/console.js +24 -15
  4. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.d.ts +4 -1
  5. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +149 -84
  6. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +20 -12
  7. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +38 -21
  8. package/vscode/src/vs/platform/remote/common/managedSocket.js +7 -10
  9. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +5 -2
  10. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +5 -2
  11. package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.js +4 -1
  12. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +200 -143
  13. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +10 -14
  14. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +41 -31
  15. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +9 -12
  16. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +168 -115
  17. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +11 -13
  18. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +5 -5
  19. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +42 -15
  20. package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.js +8 -7
  21. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +4 -2
  22. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +170 -99
  23. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +2 -5
  24. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +4 -9
  25. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +13 -12
  26. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +16 -19
  27. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +127 -70
  28. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +80 -26
  29. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +5 -11
  30. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +199 -97
  31. package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +1 -4
  32. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +88 -73
  33. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +5 -5
  34. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +16 -12
  35. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +10 -8
  36. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +14 -6
  37. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +52 -37
  38. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +78 -58
  39. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +5 -7
  40. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +75 -63
  41. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +99 -91
  42. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +93 -55
  43. package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +3 -7
  44. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +85 -60
  45. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +49 -45
  46. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +114 -72
  47. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +4 -7
  48. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +1 -4
  49. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +2 -2
  50. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +381 -238
  51. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +7 -3
  52. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +90 -13
  53. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +81 -58
  54. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +9 -10
  55. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +2 -7
  56. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +6 -10
  57. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +12 -10
  58. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +3 -2
  59. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +162 -97
  60. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +32 -26
  61. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +38 -32
  62. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +48 -46
  63. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +22 -18
  64. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +5 -8
  65. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +35 -21
  66. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +31 -28
  67. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +5 -7
  68. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +47 -23
  69. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +15 -12
  70. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +17 -18
  71. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +6 -7
  72. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +83 -66
  73. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +1 -5
  74. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +250 -92
  75. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +6 -8
  76. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +37 -26
  77. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +34 -21
  78. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +3 -6
  79. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +19 -14
  80. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +41 -16
  81. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +18 -17
  82. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +145 -145
  83. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +19 -11
  84. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +176 -80
  85. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +52 -21
  86. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +26 -24
  87. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +1 -4
  88. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +5 -8
  89. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +4 -1
  90. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +106 -46
  91. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +83 -65
  92. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +20 -20
  93. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +14 -9
  94. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +17 -9
  95. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +49 -38
  96. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +10 -13
  97. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +38 -27
  98. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +5 -11
  99. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +4 -1
  100. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +73 -43
  101. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +2 -2
  102. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +17 -10
  103. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +17 -11
  104. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +107 -80
  105. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +336 -175
  106. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +126 -71
  107. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +76 -54
  108. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +1 -2
  109. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -0
  110. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +343 -192
  111. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +5 -3
  112. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +0 -1
  113. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +75 -68
  114. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +135 -36
  115. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +22 -18
  116. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +14 -12
  117. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +21 -9
  118. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +48 -25
  119. package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.d.ts +24 -0
  120. package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +300 -0
@@ -20,7 +20,13 @@ import { transaction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/
20
20
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
21
21
 
22
22
  let MainThreadTesting = class MainThreadTesting extends Disposable {
23
- constructor(extHostContext, uriIdentityService, testService, testProfiles, resultService) {
23
+ constructor(
24
+ extHostContext,
25
+ uriIdentityService,
26
+ testService,
27
+ testProfiles,
28
+ resultService
29
+ ) {
24
30
  super();
25
31
  this.uriIdentityService = uriIdentityService;
26
32
  this.testService = testService;
@@ -33,14 +39,23 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
33
39
  provideTestFollowups: (req, token) => this.proxy.$provideTestFollowups(req, token),
34
40
  executeTestFollowup: id => this.proxy.$executeTestFollowup(id),
35
41
  disposeTestFollowups: ids => this.proxy.$disposeTestFollowups(ids),
36
- getTestsRelatedToCode: (uri, position, token) => this.proxy.$getTestsRelatedToCode(uri, position, token),
42
+ getTestsRelatedToCode: (uri, position, token) => this.proxy.$getTestsRelatedToCode(uri, position, token)
37
43
  }));
38
- this._register(this.testService.onDidCancelTestRun(({ runId, taskId }) => {
44
+ this._register(this.testService.onDidCancelTestRun((
45
+ {
46
+ runId,
47
+ taskId
48
+ }
49
+ ) => {
39
50
  this.proxy.$cancelExtensionTestRun(runId, taskId);
40
51
  }));
41
52
  this._register(Event.debounce(testProfiles.onDidChange, (_last, e) => e)(() => {
42
53
  const obj = {};
43
- for (const group of [TestRunProfileBitset.Run, TestRunProfileBitset.Debug, TestRunProfileBitset.Coverage]) {
54
+ for (const group of [
55
+ TestRunProfileBitset.Run,
56
+ TestRunProfileBitset.Debug,
57
+ TestRunProfileBitset.Coverage
58
+ ]) {
44
59
  for (const profile of this.testProfiles.getGroupDefaultProfiles(group)) {
45
60
  obj[profile.controllerId] ??= [];
46
61
  obj[profile.controllerId].push(profile.profileId);
@@ -49,13 +64,12 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
49
64
  this.proxy.$setDefaultRunProfiles(obj);
50
65
  }));
51
66
  this._register(resultService.onResultsChanged(evt => {
52
- if ('completed' in evt) {
67
+ if ("completed" in evt) {
53
68
  const serialized = evt.completed.toJSONWithMessages();
54
69
  if (serialized) {
55
70
  this.proxy.$publishTestResults([serialized]);
56
71
  }
57
- }
58
- else if ('removed' in evt) {
72
+ } else if ("removed" in evt) {
59
73
  evt.removed.forEach(r => {
60
74
  if (r instanceof LiveTestResult) {
61
75
  this.proxy.$disposeRun(r.id);
@@ -104,13 +118,11 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
104
118
  let value = task.coverage.read(undefined);
105
119
  if (!value) {
106
120
  value = ( new TestCoverage(run, taskId, this.uriIdentityService, {
107
- getCoverageDetails: (id, testId, token) => this.proxy.$getCoverageDetails(id, testId, token)
108
- .then(r => ( r.map(CoverageDetails.deserialize))),
121
+ getCoverageDetails: (id, testId, token) => this.proxy.$getCoverageDetails(id, testId, token).then(r => ( r.map(CoverageDetails.deserialize)))
109
122
  }));
110
123
  value.append(deserialized, tx);
111
124
  task.coverage.set(value, tx);
112
- }
113
- else {
125
+ } else {
114
126
  value.append(deserialized, tx);
115
127
  }
116
128
  });
@@ -163,7 +175,7 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
163
175
  getRelatedCode: (testId, token) => this.proxy.$getCodeRelatedToTest(testId, token).then(locations => ( locations.map(l => ({
164
176
  uri: URI.revive(l.uri),
165
177
  range: Range.lift(l.range)
166
- })))),
178
+ }))))
167
179
  };
168
180
  disposable.add(toDisposable(() => this.testProfiles.removeProfile(controllerId)));
169
181
  disposable.add(this.testService.registerTestController(controllerId, controller));
@@ -207,11 +219,7 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
207
219
  return result.id;
208
220
  }
209
221
  async $getCoverageDetails(resultId, taskIndex, uri, token) {
210
- const details = await this.resultService.getResult(resultId)
211
- ?.tasks[taskIndex]
212
- ?.coverage.get()
213
- ?.getUri(( URI.from(uri)))
214
- ?.details(token);
222
+ const details = await this.resultService.getResult(resultId)?.tasks[taskIndex]?.coverage.get()?.getUri(( URI.from(uri)))?.details(token);
215
223
  return details || [];
216
224
  }
217
225
  dispose() {
@@ -226,12 +234,6 @@ let MainThreadTesting = class MainThreadTesting extends Disposable {
226
234
  return r && r instanceof LiveTestResult ? fn(r) : undefined;
227
235
  }
228
236
  };
229
- MainThreadTesting = __decorate([
230
- extHostNamedCustomer(MainContext.MainThreadTesting),
231
- ( __param(1, IUriIdentityService)),
232
- ( __param(2, ITestService)),
233
- ( __param(3, ITestProfileService)),
234
- ( __param(4, ITestResultService))
235
- ], MainThreadTesting);
237
+ MainThreadTesting = __decorate([extHostNamedCustomer(MainContext.MainThreadTesting), ( __param(1, IUriIdentityService)), ( __param(2, ITestService)), ( __param(3, ITestProfileService)), ( __param(4, ITestResultService))], MainThreadTesting);
236
238
 
237
239
  export { MainThreadTesting };
@@ -17,9 +17,6 @@ let MainThreadTheming = class MainThreadTheming {
17
17
  this._themeChangeListener.dispose();
18
18
  }
19
19
  };
20
- MainThreadTheming = __decorate([
21
- extHostNamedCustomer(MainContext.MainThreadTheming),
22
- ( __param(1, IThemeService))
23
- ], MainThreadTheming);
20
+ MainThreadTheming = __decorate([extHostNamedCustomer(MainContext.MainThreadTheming), ( __param(1, IThemeService))], MainThreadTheming);
24
21
 
25
22
  export { MainThreadTheming };
@@ -40,17 +40,14 @@ let MainThreadTimeline = class MainThreadTimeline {
40
40
  this._timelineService.unregisterTimelineProvider(id);
41
41
  }
42
42
  $emitTimelineChangeEvent(e) {
43
- this.logService.trace(`MainThreadTimeline#emitChangeEvent: id=${e.id}, uri=${e.uri?.toString(true)}`);
43
+ this.logService.trace(
44
+ `MainThreadTimeline#emitChangeEvent: id=${e.id}, uri=${e.uri?.toString(true)}`
45
+ );
44
46
  const emitter = this._providerEmitters.get(e.id);
45
47
  emitter?.fire(e);
46
48
  }
47
- dispose() {
48
- }
49
+ dispose() {}
49
50
  };
50
- MainThreadTimeline = __decorate([
51
- extHostNamedCustomer(MainContext.MainThreadTimeline),
52
- ( __param(1, ILogService)),
53
- ( __param(2, ITimelineService))
54
- ], MainThreadTimeline);
51
+ MainThreadTimeline = __decorate([extHostNamedCustomer(MainContext.MainThreadTimeline), ( __param(1, ILogService)), ( __param(2, ITimelineService))], MainThreadTimeline);
55
52
 
56
53
  export { MainThreadTimeline };
@@ -8,15 +8,17 @@ import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log
8
8
  import { VSBuffer } from "@codingame/monaco-vscode-api/vscode/vs/base/common/buffer";
9
9
  import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
10
10
  import { IViewsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service";
11
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
11
12
  export declare class MainThreadTreeViews extends Disposable implements MainThreadTreeViewsShape {
12
13
  private readonly viewsService;
13
14
  private readonly notificationService;
14
15
  private readonly extensionService;
15
16
  private readonly logService;
17
+ private readonly telemetryService;
16
18
  private readonly _proxy;
17
19
  private readonly _dataProviders;
18
20
  private readonly _dndControllers;
19
- constructor(extHostContext: IExtHostContext, viewsService: IViewsService, notificationService: INotificationService, extensionService: IExtensionService, logService: ILogService);
21
+ constructor(extHostContext: IExtHostContext, viewsService: IViewsService, notificationService: INotificationService, extensionService: IExtensionService, logService: ILogService, telemetryService: ITelemetryService);
20
22
  $registerTreeViewDataProvider(treeViewId: string, options: {
21
23
  showCollapseAll: boolean;
22
24
  canSelectMany: boolean;
@@ -38,6 +40,7 @@ export declare class MainThreadTreeViews extends Disposable implements MainThrea
38
40
  $setBadge(treeViewId: string, badge: IViewBadge | undefined): void;
39
41
  $resolveDropFileData(destinationViewId: string, requestId: number, dataItemId: string): Promise<VSBuffer>;
40
42
  $disposeTree(treeViewId: string): Promise<void>;
43
+ $logResolveTreeNodeRetry(extensionId: string, retryCount: number, exhausted: boolean): void;
41
44
  private reveal;
42
45
  private registerListeners;
43
46
  private getTreeView;
@@ -14,26 +14,37 @@ import { VSDataTransfer, createStringDataTransferItem } from '@codingame/monaco-
14
14
  import { DataTransferFileCache } from '../common/shared/dataTransferCache.js';
15
15
  import { DataTransfer } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHostTypeConverters';
16
16
  import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
17
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
17
18
 
18
19
  let MainThreadTreeViews = class MainThreadTreeViews extends Disposable {
19
- constructor(extHostContext, viewsService, notificationService, extensionService, logService) {
20
+ constructor(
21
+ extHostContext,
22
+ viewsService,
23
+ notificationService,
24
+ extensionService,
25
+ logService,
26
+ telemetryService
27
+ ) {
20
28
  super();
21
29
  this.viewsService = viewsService;
22
30
  this.notificationService = notificationService;
23
31
  this.extensionService = extensionService;
24
32
  this.logService = logService;
33
+ this.telemetryService = telemetryService;
25
34
  this._dataProviders = this._register(( new DisposableMap()));
26
35
  this._dndControllers = ( new Map());
27
36
  this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostTreeViews));
28
37
  }
29
38
  async $registerTreeViewDataProvider(treeViewId, options) {
30
- this.logService.trace('MainThreadTreeViews#$registerTreeViewDataProvider', treeViewId, options);
39
+ this.logService.trace("MainThreadTreeViews#$registerTreeViewDataProvider", treeViewId, options);
31
40
  this.extensionService.whenInstalledExtensionsRegistered().then(() => {
32
41
  const dataProvider = ( new TreeViewDataProvider(treeViewId, this._proxy, this.notificationService));
33
42
  const disposables = ( new DisposableStore());
34
- this._dataProviders.set(treeViewId, { dataProvider, dispose: () => disposables.dispose() });
35
- const dndController = (options.hasHandleDrag || options.hasHandleDrop)
36
- ? ( new TreeViewDragAndDropController(
43
+ this._dataProviders.set(treeViewId, {
44
+ dataProvider,
45
+ dispose: () => disposables.dispose()
46
+ });
47
+ const dndController = (options.hasHandleDrag || options.hasHandleDrop) ? ( new TreeViewDragAndDropController(
37
48
  treeViewId,
38
49
  options.dropMimeTypes,
39
50
  options.dragMimeTypes,
@@ -52,42 +63,55 @@ let MainThreadTreeViews = class MainThreadTreeViews extends Disposable {
52
63
  viewer.dataProvider = dataProvider;
53
64
  this.registerListeners(treeViewId, viewer, disposables);
54
65
  this._proxy.$setVisible(treeViewId, viewer.visible);
55
- }
56
- else {
57
- this.notificationService.error('No view is registered with id: ' + treeViewId);
66
+ } else {
67
+ this.notificationService.error("No view is registered with id: " + treeViewId);
58
68
  }
59
69
  });
60
70
  }
61
71
  $reveal(treeViewId, itemInfo, options) {
62
- this.logService.trace('MainThreadTreeViews#$reveal', treeViewId, itemInfo?.item, itemInfo?.parentChain, options);
63
- return this.viewsService.openView(treeViewId, options.focus)
64
- .then(() => {
72
+ this.logService.trace(
73
+ "MainThreadTreeViews#$reveal",
74
+ treeViewId,
75
+ itemInfo?.item,
76
+ itemInfo?.parentChain,
77
+ options
78
+ );
79
+ return this.viewsService.openView(treeViewId, options.focus).then(() => {
65
80
  const viewer = this.getTreeView(treeViewId);
66
81
  if (viewer && itemInfo) {
67
- return this.reveal(viewer, this._dataProviders.get(treeViewId).dataProvider, itemInfo.item, itemInfo.parentChain, options);
82
+ return this.reveal(
83
+ viewer,
84
+ this._dataProviders.get(treeViewId).dataProvider,
85
+ itemInfo.item,
86
+ itemInfo.parentChain,
87
+ options
88
+ );
68
89
  }
69
90
  return undefined;
70
91
  });
71
92
  }
72
93
  $refresh(treeViewId, itemsToRefreshByHandle) {
73
- this.logService.trace('MainThreadTreeViews#$refresh', treeViewId, itemsToRefreshByHandle);
94
+ this.logService.trace("MainThreadTreeViews#$refresh", treeViewId, itemsToRefreshByHandle);
74
95
  const viewer = this.getTreeView(treeViewId);
75
96
  const dataProvider = this._dataProviders.get(treeViewId);
76
97
  if (viewer && dataProvider) {
77
98
  const itemsToRefresh = dataProvider.dataProvider.getItemsToRefresh(itemsToRefreshByHandle);
78
- return viewer.refresh(itemsToRefresh.items.length ? itemsToRefresh.items : undefined, itemsToRefresh.checkboxes.length ? itemsToRefresh.checkboxes : undefined);
99
+ return viewer.refresh(
100
+ itemsToRefresh.items.length ? itemsToRefresh.items : undefined,
101
+ itemsToRefresh.checkboxes.length ? itemsToRefresh.checkboxes : undefined
102
+ );
79
103
  }
80
104
  return Promise.resolve();
81
105
  }
82
106
  $setMessage(treeViewId, message) {
83
- this.logService.trace('MainThreadTreeViews#$setMessage', treeViewId, ( message.toString()));
107
+ this.logService.trace("MainThreadTreeViews#$setMessage", treeViewId, ( message.toString()));
84
108
  const viewer = this.getTreeView(treeViewId);
85
109
  if (viewer) {
86
110
  viewer.message = message;
87
111
  }
88
112
  }
89
113
  $setTitle(treeViewId, title, description) {
90
- this.logService.trace('MainThreadTreeViews#$setTitle', treeViewId, title, description);
114
+ this.logService.trace("MainThreadTreeViews#$setTitle", treeViewId, title, description);
91
115
  const viewer = this.getTreeView(treeViewId);
92
116
  if (viewer) {
93
117
  viewer.title = title;
@@ -95,7 +119,7 @@ let MainThreadTreeViews = class MainThreadTreeViews extends Disposable {
95
119
  }
96
120
  }
97
121
  $setBadge(treeViewId, badge) {
98
- this.logService.trace('MainThreadTreeViews#$setBadge', treeViewId, badge?.value, badge?.tooltip);
122
+ this.logService.trace("MainThreadTreeViews#$setBadge", treeViewId, badge?.value, badge?.tooltip);
99
123
  const viewer = this.getTreeView(treeViewId);
100
124
  if (viewer) {
101
125
  viewer.badge = badge;
@@ -104,7 +128,7 @@ let MainThreadTreeViews = class MainThreadTreeViews extends Disposable {
104
128
  $resolveDropFileData(destinationViewId, requestId, dataItemId) {
105
129
  const controller = this._dndControllers.get(destinationViewId);
106
130
  if (!controller) {
107
- throw ( new Error('Unknown tree'));
131
+ throw ( new Error("Unknown tree"));
108
132
  }
109
133
  return controller.resolveDropFileData(requestId, dataItemId);
110
134
  }
@@ -115,11 +139,24 @@ let MainThreadTreeViews = class MainThreadTreeViews extends Disposable {
115
139
  }
116
140
  this._dataProviders.deleteAndDispose(treeViewId);
117
141
  }
142
+ $logResolveTreeNodeRetry(extensionId, retryCount, exhausted) {
143
+ this.telemetryService.publicLog2("treeView.resolveRetry", {
144
+ extensionId,
145
+ retryCount,
146
+ exhausted
147
+ });
148
+ }
118
149
  async reveal(treeView, dataProvider, itemIn, parentChain, options) {
119
- options = options ? options : { select: false, focus: false };
150
+ options = options ? options : {
151
+ select: false,
152
+ focus: false
153
+ };
120
154
  const select = isUndefinedOrNull(options.select) ? false : options.select;
121
155
  const focus = isUndefinedOrNull(options.focus) ? false : options.focus;
122
- let expand = Math.min(isNumber(options.expand) ? options.expand : options.expand === true ? 1 : 0, 3);
156
+ let expand = Math.min(
157
+ isNumber(options.expand) ? options.expand : options.expand === true ? 1 : 0,
158
+ 3
159
+ );
123
160
  if (dataProvider.isEmpty()) {
124
161
  await treeView.refresh();
125
162
  }
@@ -137,8 +174,7 @@ let MainThreadTreeViews = class MainThreadTreeViews extends Disposable {
137
174
  }
138
175
  if (focus === false) {
139
176
  treeView.setFocus();
140
- }
141
- else if (focus) {
177
+ } else if (focus) {
142
178
  treeView.setFocus(item);
143
179
  }
144
180
  let itemsToExpand = [item];
@@ -155,13 +191,28 @@ let MainThreadTreeViews = class MainThreadTreeViews extends Disposable {
155
191
  }
156
192
  }
157
193
  registerListeners(treeViewId, treeView, disposables) {
158
- disposables.add(treeView.onDidExpandItem(item => this._proxy.$setExpanded(treeViewId, item.handle, true)));
159
- disposables.add(treeView.onDidCollapseItem(item => this._proxy.$setExpanded(treeViewId, item.handle, false)));
160
- disposables.add(treeView.onDidChangeSelectionAndFocus(items => this._proxy.$setSelectionAndFocus(treeViewId, ( items.selection.map(({ handle }) => handle)), items.focus.handle)));
161
- disposables.add(treeView.onDidChangeVisibility(isVisible => this._proxy.$setVisible(treeViewId, isVisible)));
194
+ disposables.add(
195
+ treeView.onDidExpandItem(item => this._proxy.$setExpanded(treeViewId, item.handle, true))
196
+ );
197
+ disposables.add(
198
+ treeView.onDidCollapseItem(item => this._proxy.$setExpanded(treeViewId, item.handle, false))
199
+ );
200
+ disposables.add(
201
+ treeView.onDidChangeSelectionAndFocus(items => this._proxy.$setSelectionAndFocus(treeViewId, ( items.selection.map((
202
+ {
203
+ handle
204
+ }
205
+ ) => handle)), items.focus.handle))
206
+ );
207
+ disposables.add(
208
+ treeView.onDidChangeVisibility(isVisible => this._proxy.$setVisible(treeViewId, isVisible))
209
+ );
162
210
  disposables.add(treeView.onDidChangeCheckboxState(items => {
163
211
  this._proxy.$changeCheckboxState(treeViewId, ( items.map(item => {
164
- return { treeItemHandle: item.handle, newState: item.checkbox?.isChecked ?? false };
212
+ return {
213
+ treeItemHandle: item.handle,
214
+ newState: item.checkbox?.isChecked ?? false
215
+ };
165
216
  })));
166
217
  }));
167
218
  }
@@ -181,13 +232,7 @@ let MainThreadTreeViews = class MainThreadTreeViews extends Disposable {
181
232
  super.dispose();
182
233
  }
183
234
  };
184
- MainThreadTreeViews = __decorate([
185
- extHostNamedCustomer(MainContext.MainThreadTreeViews),
186
- ( __param(1, IViewsService)),
187
- ( __param(2, INotificationService)),
188
- ( __param(3, IExtensionService)),
189
- ( __param(4, ILogService))
190
- ], MainThreadTreeViews);
235
+ MainThreadTreeViews = __decorate([extHostNamedCustomer(MainContext.MainThreadTreeViews), ( __param(1, IViewsService)), ( __param(2, INotificationService)), ( __param(3, IExtensionService)), ( __param(4, ILogService)), ( __param(5, ITelemetryService))], MainThreadTreeViews);
191
236
  class TreeViewDragAndDropController {
192
237
  constructor(treeViewId, dropMimeTypes, dragMimeTypes, hasWillDrop, _proxy) {
193
238
  this.treeViewId = treeViewId;
@@ -197,16 +242,31 @@ class TreeViewDragAndDropController {
197
242
  this._proxy = _proxy;
198
243
  this.dataTransfersCache = ( new DataTransferFileCache());
199
244
  }
200
- async handleDrop(dataTransfer, targetTreeItem, token, operationUuid, sourceTreeId, sourceTreeItemHandles) {
245
+ async handleDrop(
246
+ dataTransfer,
247
+ targetTreeItem,
248
+ token,
249
+ operationUuid,
250
+ sourceTreeId,
251
+ sourceTreeItemHandles
252
+ ) {
201
253
  const request = this.dataTransfersCache.add(dataTransfer);
202
254
  try {
203
255
  const dataTransferDto = await DataTransfer.fromList(dataTransfer);
204
256
  if (token.isCancellationRequested) {
205
257
  return;
206
258
  }
207
- return await this._proxy.$handleDrop(this.treeViewId, request.id, dataTransferDto, targetTreeItem?.handle, token, operationUuid, sourceTreeId, sourceTreeItemHandles);
208
- }
209
- finally {
259
+ return await this._proxy.$handleDrop(
260
+ this.treeViewId,
261
+ request.id,
262
+ dataTransferDto,
263
+ targetTreeItem?.handle,
264
+ token,
265
+ operationUuid,
266
+ sourceTreeId,
267
+ sourceTreeItemHandles
268
+ );
269
+ } finally {
210
270
  request.dispose();
211
271
  }
212
272
  }
@@ -244,8 +304,7 @@ class TreeViewDataProvider {
244
304
  if (!treeItems) {
245
305
  this.itemsMap.clear();
246
306
  }
247
- return this._proxy.$getChildren(this.treeViewId, treeItems ? ( treeItems.map(item => item.handle)) : undefined)
248
- .then(children => {
307
+ return this._proxy.$getChildren(this.treeViewId, treeItems ? ( treeItems.map(item => item.handle)) : undefined).then(children => {
249
308
  const convertedChildren = this.convertTransferChildren(treeItems ?? [], children);
250
309
  return this.postGetChildren(convertedChildren);
251
310
  }, err => {
@@ -279,8 +338,7 @@ class TreeViewDataProvider {
279
338
  this.updateTreeItem(currentTreeItem, newTreeItem);
280
339
  if (newTreeItemHandle === newTreeItem.handle) {
281
340
  itemsToRefresh.push(currentTreeItem);
282
- }
283
- else {
341
+ } else {
284
342
  this.itemsMap.delete(newTreeItemHandle);
285
343
  this.itemsMap.set(currentTreeItem.handle, currentTreeItem);
286
344
  const parent = newTreeItem.parentHandle ? this.itemsMap.get(newTreeItem.parentHandle) : null;
@@ -291,7 +349,10 @@ class TreeViewDataProvider {
291
349
  }
292
350
  }
293
351
  }
294
- return { items: itemsToRefresh, checkboxes: checkboxesToRefresh };
352
+ return {
353
+ items: itemsToRefresh,
354
+ checkboxes: checkboxesToRefresh
355
+ };
295
356
  }
296
357
  getItem(treeItemHandle) {
297
358
  return this.itemsMap.get(treeItemHandle);
@@ -313,7 +374,7 @@ class TreeViewDataProvider {
313
374
  continue;
314
375
  }
315
376
  for (const element of elements) {
316
- const resolvable = ( new ResolvableTreeItem(element, hasResolve ? (token) => {
377
+ const resolvable = ( new ResolvableTreeItem(element, hasResolve ? token => {
317
378
  return this._proxy.$resolve(this.treeViewId, element.handle, token);
318
379
  } : undefined));
319
380
  this.itemsMap.set(element.handle, resolvable);
@@ -326,8 +387,7 @@ class TreeViewDataProvider {
326
387
  updateTreeItem(current, treeItem) {
327
388
  treeItem.children = treeItem.children ? treeItem.children : undefined;
328
389
  if (current) {
329
- const properties = distinct([...( Object.keys(current instanceof ResolvableTreeItem ? current.asTreeItem() : current)),
330
- ...( Object.keys(treeItem))]);
390
+ const properties = distinct([...( Object.keys(current instanceof ResolvableTreeItem ? current.asTreeItem() : current)), ...( Object.keys(treeItem))]);
331
391
  for (const property of properties) {
332
392
  current[property] = treeItem[property];
333
393
  }