@codingame/monaco-vscode-extensions-service-override 4.0.0 → 4.1.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 (109) hide show
  1. package/extensions.js +6 -6
  2. package/package.json +9 -9
  3. package/_virtual/semver.js +0 -3
  4. package/external/vscode-semver/semver.js +0 -985
  5. package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +0 -8
  6. package/vscode/src/vs/base/common/console.js +0 -62
  7. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +0 -497
  8. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +0 -44
  9. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +0 -27
  10. package/vscode/src/vs/platform/remote/common/managedSocket.js +0 -98
  11. package/vscode/src/vs/workbench/api/browser/extensionHost.contribution.js +0 -104
  12. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +0 -31
  13. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +0 -35
  14. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +0 -254
  15. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +0 -68
  16. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +0 -103
  17. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +0 -70
  18. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +0 -207
  19. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +0 -41
  20. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +0 -24
  21. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +0 -108
  22. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +0 -98
  23. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +0 -560
  24. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +0 -80
  25. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +0 -35
  26. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +0 -579
  27. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +0 -435
  28. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +0 -102
  29. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +0 -69
  30. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +0 -68
  31. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +0 -79
  32. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +0 -253
  33. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +0 -370
  34. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +0 -22
  35. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +0 -41
  36. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +0 -414
  37. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +0 -501
  38. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +0 -227
  39. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +0 -24
  40. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +0 -317
  41. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +0 -208
  42. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +0 -369
  43. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +0 -72
  44. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +0 -28
  45. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +0 -50
  46. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +0 -27
  47. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +0 -1016
  48. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +0 -185
  49. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +0 -78
  50. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +0 -35
  51. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +0 -78
  52. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +0 -93
  53. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +0 -137
  54. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +0 -194
  55. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +0 -123
  56. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +0 -188
  57. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +0 -129
  58. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +0 -131
  59. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +0 -374
  60. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +0 -25
  61. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +0 -48
  62. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +0 -76
  63. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +0 -38
  64. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +0 -68
  65. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +0 -42
  66. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +0 -185
  67. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +0 -30
  68. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +0 -493
  69. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +0 -49
  70. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +0 -168
  71. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +0 -70
  72. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +0 -50
  73. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +0 -99
  74. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +0 -53
  75. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +0 -72
  76. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +0 -731
  77. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +0 -53
  78. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +0 -409
  79. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +0 -51
  80. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +0 -219
  81. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +0 -24
  82. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +0 -55
  83. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +0 -312
  84. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +0 -223
  85. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +0 -110
  86. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +0 -61
  87. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +0 -29
  88. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +0 -283
  89. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +0 -100
  90. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +0 -135
  91. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +0 -57
  92. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +0 -268
  93. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +0 -35
  94. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +0 -76
  95. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +0 -83
  96. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +0 -285
  97. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +0 -276
  98. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +0 -52
  99. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +0 -1149
  100. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +0 -41
  101. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +0 -25
  102. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +0 -512
  103. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +0 -274
  104. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +0 -58
  105. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +0 -80
  106. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +0 -64
  107. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +0 -161
  108. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +0 -49
  109. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +0 -222
@@ -1,223 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
3
- import { MainContext, ExtHostContext, CandidatePortSource } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
4
- import { TunnelDtoConverter } from 'vscode/vscode/vs/workbench/api/common/extHostTunnelService';
5
- import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
6
- import { IRemoteExplorerService, PORT_AUTO_FORWARD_SETTING, PORT_AUTO_SOURCE_SETTING, PORT_AUTO_SOURCE_SETTING_OUTPUT } from 'vscode/vscode/vs/workbench/services/remote/common/remoteExplorerService';
7
- import { ITunnelService, TunnelProtocol } from 'vscode/vscode/vs/platform/tunnel/common/tunnel';
8
- import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
9
- import { INotificationService, Severity } from 'vscode/vscode/vs/platform/notification/common/notification';
10
- import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
11
- import { ILogService } from 'vscode/vscode/vs/platform/log/common/log';
12
- import { IRemoteAgentService } from 'vscode/vscode/vs/workbench/services/remote/common/remoteAgentService';
13
- import { Registry } from 'vscode/vscode/vs/platform/registry/common/platform';
14
- import { Extensions } from 'vscode/vscode/vs/platform/configuration/common/configurationRegistry';
15
- import { IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
16
- import { TunnelSource, TunnelCloseReason, forwardedPortsViewEnabled, makeAddress } from 'vscode/vscode/vs/workbench/services/remote/common/tunnelModel';
17
-
18
- let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
19
- constructor(extHostContext, remoteExplorerService, tunnelService, notificationService, configurationService, logService, remoteAgentService, contextKeyService) {
20
- super();
21
- this.remoteExplorerService = remoteExplorerService;
22
- this.tunnelService = tunnelService;
23
- this.notificationService = notificationService;
24
- this.configurationService = configurationService;
25
- this.logService = logService;
26
- this.remoteAgentService = remoteAgentService;
27
- this.contextKeyService = contextKeyService;
28
- this.elevateionRetry = false;
29
- this.portsAttributesProviders = ( new Map());
30
- this._alreadyRegistered = false;
31
- this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostTunnelService));
32
- this._register(tunnelService.onTunnelOpened(() => this._proxy.$onDidTunnelsChange()));
33
- this._register(tunnelService.onTunnelClosed(() => this._proxy.$onDidTunnelsChange()));
34
- }
35
- processFindingEnabled() {
36
- return (!!this.configurationService.getValue(PORT_AUTO_FORWARD_SETTING) || this.tunnelService.hasTunnelProvider)
37
- && (this.configurationService.getValue(PORT_AUTO_SOURCE_SETTING) !== PORT_AUTO_SOURCE_SETTING_OUTPUT);
38
- }
39
- async $setRemoteTunnelService(processId) {
40
- this.remoteExplorerService.namedProcesses.set(processId, 'Code Extension Host');
41
- if (this.remoteExplorerService.portsFeaturesEnabled) {
42
- this._proxy.$registerCandidateFinder(this.processFindingEnabled());
43
- }
44
- else {
45
- this._register(this.remoteExplorerService.onEnabledPortsFeatures(() => this._proxy.$registerCandidateFinder(this.processFindingEnabled())));
46
- }
47
- this._register(this.configurationService.onDidChangeConfiguration(async (e) => {
48
- if (e.affectsConfiguration(PORT_AUTO_FORWARD_SETTING) || e.affectsConfiguration(PORT_AUTO_SOURCE_SETTING)) {
49
- return this._proxy.$registerCandidateFinder(this.processFindingEnabled());
50
- }
51
- }));
52
- this._register(this.tunnelService.onAddedTunnelProvider(() => {
53
- return this._proxy.$registerCandidateFinder(this.processFindingEnabled());
54
- }));
55
- }
56
- async $registerPortsAttributesProvider(selector, providerHandle) {
57
- this.portsAttributesProviders.set(providerHandle, selector);
58
- if (!this._alreadyRegistered) {
59
- this.remoteExplorerService.tunnelModel.addAttributesProvider(this);
60
- this._alreadyRegistered = true;
61
- }
62
- }
63
- async $unregisterPortsAttributesProvider(providerHandle) {
64
- this.portsAttributesProviders.delete(providerHandle);
65
- }
66
- async providePortAttributes(ports, pid, commandLine, token) {
67
- if (this.portsAttributesProviders.size === 0) {
68
- return [];
69
- }
70
- const appropriateHandles = ( Array.from(this.portsAttributesProviders.entries()).filter(entry => {
71
- const selector = entry[1];
72
- const portRange = (typeof selector.portRange === 'number') ? [selector.portRange, selector.portRange + 1] : selector.portRange;
73
- const portInRange = portRange ? ( ports.some(port => portRange[0] <= port && port < portRange[1])) : true;
74
- const commandMatches = !selector.commandPattern || (commandLine && (commandLine.match(selector.commandPattern)));
75
- return portInRange && commandMatches;
76
- }).map(entry => entry[0]));
77
- if (appropriateHandles.length === 0) {
78
- return [];
79
- }
80
- return this._proxy.$providePortAttributes(appropriateHandles, ports, pid, commandLine, token);
81
- }
82
- async $openTunnel(tunnelOptions, source) {
83
- const tunnel = await this.remoteExplorerService.forward({
84
- remote: tunnelOptions.remoteAddress,
85
- local: tunnelOptions.localAddressPort,
86
- name: tunnelOptions.label,
87
- source: {
88
- source: TunnelSource.Extension,
89
- description: source
90
- },
91
- elevateIfNeeded: false
92
- });
93
- if (!tunnel || (typeof tunnel === 'string')) {
94
- return undefined;
95
- }
96
- if (!this.elevateionRetry
97
- && (tunnelOptions.localAddressPort !== undefined)
98
- && (tunnel.tunnelLocalPort !== undefined)
99
- && this.tunnelService.isPortPrivileged(tunnelOptions.localAddressPort)
100
- && (tunnel.tunnelLocalPort !== tunnelOptions.localAddressPort)
101
- && this.tunnelService.canElevate) {
102
- this.elevationPrompt(tunnelOptions, tunnel, source);
103
- }
104
- return TunnelDtoConverter.fromServiceTunnel(tunnel);
105
- }
106
- async elevationPrompt(tunnelOptions, tunnel, source) {
107
- return this.notificationService.prompt(Severity.Info, ( localizeWithPath(
108
- 'vs/workbench/api/browser/mainThreadTunnelService',
109
- 'remote.tunnel.openTunnel',
110
- "The extension {0} has forwarded port {1}. You'll need to run as superuser to use port {2} locally.",
111
- source,
112
- tunnelOptions.remoteAddress.port,
113
- tunnelOptions.localAddressPort
114
- )), [{
115
- label: ( localizeWithPath(
116
- 'vs/workbench/api/browser/mainThreadTunnelService',
117
- 'remote.tunnelsView.elevationButton',
118
- "Use Port {0} as Sudo...",
119
- tunnel.tunnelRemotePort
120
- )),
121
- run: async () => {
122
- this.elevateionRetry = true;
123
- await this.remoteExplorerService.close({ host: tunnel.tunnelRemoteHost, port: tunnel.tunnelRemotePort }, TunnelCloseReason.Other);
124
- await this.remoteExplorerService.forward({
125
- remote: tunnelOptions.remoteAddress,
126
- local: tunnelOptions.localAddressPort,
127
- name: tunnelOptions.label,
128
- source: {
129
- source: TunnelSource.Extension,
130
- description: source
131
- },
132
- elevateIfNeeded: true
133
- });
134
- this.elevateionRetry = false;
135
- }
136
- }]);
137
- }
138
- async $closeTunnel(remote) {
139
- return this.remoteExplorerService.close(remote, TunnelCloseReason.Other);
140
- }
141
- async $getTunnels() {
142
- return ( (await this.tunnelService.tunnels).map(tunnel => {
143
- return {
144
- remoteAddress: { port: tunnel.tunnelRemotePort, host: tunnel.tunnelRemoteHost },
145
- localAddress: tunnel.localAddress,
146
- privacy: tunnel.privacy,
147
- protocol: tunnel.protocol
148
- };
149
- }));
150
- }
151
- async $onFoundNewCandidates(candidates) {
152
- this.remoteExplorerService.onFoundNewCandidates(candidates);
153
- }
154
- async $setTunnelProvider(features) {
155
- const tunnelProvider = {
156
- forwardPort: (tunnelOptions, tunnelCreationOptions) => {
157
- const forward = this._proxy.$forwardPort(tunnelOptions, tunnelCreationOptions);
158
- return forward.then(tunnelOrError => {
159
- if (!tunnelOrError) {
160
- return undefined;
161
- }
162
- else if (typeof tunnelOrError === 'string') {
163
- return tunnelOrError;
164
- }
165
- const tunnel = tunnelOrError;
166
- this.logService.trace(`ForwardedPorts: (MainThreadTunnelService) New tunnel established by tunnel provider: ${tunnel?.remoteAddress.host}:${tunnel?.remoteAddress.port}`);
167
- return {
168
- tunnelRemotePort: tunnel.remoteAddress.port,
169
- tunnelRemoteHost: tunnel.remoteAddress.host,
170
- localAddress: typeof tunnel.localAddress === 'string' ? tunnel.localAddress : makeAddress(tunnel.localAddress.host, tunnel.localAddress.port),
171
- tunnelLocalPort: typeof tunnel.localAddress !== 'string' ? tunnel.localAddress.port : undefined,
172
- public: tunnel.public,
173
- privacy: tunnel.privacy,
174
- protocol: tunnel.protocol ?? TunnelProtocol.Http,
175
- dispose: async (silent) => {
176
- this.logService.trace(`ForwardedPorts: (MainThreadTunnelService) Closing tunnel from tunnel provider: ${tunnel?.remoteAddress.host}:${tunnel?.remoteAddress.port}`);
177
- return this._proxy.$closeTunnel({ host: tunnel.remoteAddress.host, port: tunnel.remoteAddress.port }, silent);
178
- }
179
- };
180
- });
181
- }
182
- };
183
- if (features) {
184
- this.tunnelService.setTunnelFeatures(features);
185
- }
186
- this.tunnelService.setTunnelProvider(tunnelProvider);
187
- this.contextKeyService.createKey(forwardedPortsViewEnabled.key, true);
188
- }
189
- async $setCandidateFilter() {
190
- this.remoteExplorerService.setCandidateFilter((candidates) => {
191
- return this._proxy.$applyCandidateFilter(candidates);
192
- });
193
- }
194
- async $setCandidatePortSource(source) {
195
- this.remoteAgentService.getEnvironment().then(() => {
196
- switch (source) {
197
- case CandidatePortSource.None: {
198
- ( Registry.as(Extensions.Configuration))
199
- .registerDefaultConfigurations([{ overrides: { 'remote.autoForwardPorts': false } }]);
200
- break;
201
- }
202
- case CandidatePortSource.Output: {
203
- ( Registry.as(Extensions.Configuration))
204
- .registerDefaultConfigurations([{ overrides: { 'remote.autoForwardPortsSource': PORT_AUTO_SOURCE_SETTING_OUTPUT } }]);
205
- break;
206
- }
207
- }
208
- }).catch(() => {
209
- });
210
- }
211
- };
212
- MainThreadTunnelService = __decorate([
213
- extHostNamedCustomer(MainContext.MainThreadTunnelService),
214
- ( __param(1, IRemoteExplorerService)),
215
- ( __param(2, ITunnelService)),
216
- ( __param(3, INotificationService)),
217
- ( __param(4, IConfigurationService)),
218
- ( __param(5, ILogService)),
219
- ( __param(6, IRemoteAgentService)),
220
- ( __param(7, IContextKeyService))
221
- ], MainThreadTunnelService);
222
-
223
- export { MainThreadTunnelService };
@@ -1,110 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { Action } from 'vscode/vscode/vs/base/common/actions';
3
- import { isCancellationError } from 'vscode/vscode/vs/base/common/errors';
4
- import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
5
- import { Schemas } from 'vscode/vscode/vs/base/common/network';
6
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
7
- import { INotificationService, Severity } from 'vscode/vscode/vs/platform/notification/common/notification';
8
- import { IOpenerService } from 'vscode/vscode/vs/platform/opener/common/opener';
9
- import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
10
- import { MainContext, ExtHostContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
11
- import { defaultExternalUriOpenerId } from 'vscode/vscode/vs/workbench/contrib/externalUriOpener/common/configuration';
12
- import { ContributedExternalUriOpenersStore } from '../../contrib/externalUriOpener/common/contributedOpeners.js';
13
- import { IExternalUriOpenerService } from 'vscode/vscode/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService';
14
- import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
15
- import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
16
-
17
- let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
18
- constructor(context, storageService, externalUriOpenerService, extensionService, openerService, notificationService) {
19
- super();
20
- this.extensionService = extensionService;
21
- this.openerService = openerService;
22
- this.notificationService = notificationService;
23
- this._registeredOpeners = ( new Map());
24
- this.proxy = ( context.getProxy(ExtHostContext.ExtHostUriOpeners));
25
- this._register(externalUriOpenerService.registerExternalOpenerProvider(this));
26
- this._contributedExternalUriOpenersStore = this._register(( new ContributedExternalUriOpenersStore(storageService, extensionService)));
27
- }
28
- async *getOpeners(targetUri) {
29
- if (targetUri.scheme !== Schemas.http && targetUri.scheme !== Schemas.https) {
30
- return;
31
- }
32
- await this.extensionService.activateByEvent(`onOpenExternalUri:${targetUri.scheme}`);
33
- for (const [id, openerMetadata] of this._registeredOpeners) {
34
- if (( openerMetadata.schemes.has(targetUri.scheme))) {
35
- yield this.createOpener(id, openerMetadata);
36
- }
37
- }
38
- }
39
- createOpener(id, metadata) {
40
- return {
41
- id: id,
42
- label: metadata.label,
43
- canOpen: (uri, token) => {
44
- return this.proxy.$canOpenUri(id, uri, token);
45
- },
46
- openExternalUri: async (uri, ctx, token) => {
47
- try {
48
- await this.proxy.$openUri(id, { resolvedUri: uri, sourceUri: ctx.sourceUri }, token);
49
- }
50
- catch (e) {
51
- if (!isCancellationError(e)) {
52
- const openDefaultAction = ( new Action('default', ( localizeWithPath(
53
- 'vs/workbench/api/browser/mainThreadUriOpeners',
54
- 'openerFailedUseDefault',
55
- "Open using default opener"
56
- )), undefined, undefined, async () => {
57
- await this.openerService.open(uri, {
58
- allowTunneling: false,
59
- allowContributedOpeners: defaultExternalUriOpenerId,
60
- });
61
- }));
62
- openDefaultAction.tooltip = ( uri.toString());
63
- this.notificationService.notify({
64
- severity: Severity.Error,
65
- message: ( localizeWithPath('vs/workbench/api/browser/mainThreadUriOpeners', {
66
- key: 'openerFailedMessage',
67
- comment: ['{0} is the id of the opener. {1} is the url being opened.'],
68
- }, 'Could not open uri with \'{0}\': {1}', id, ( e.toString()))),
69
- actions: {
70
- primary: [
71
- openDefaultAction
72
- ]
73
- }
74
- });
75
- }
76
- }
77
- return true;
78
- },
79
- };
80
- }
81
- async $registerUriOpener(id, schemes, extensionId, label) {
82
- if (( this._registeredOpeners.has(id))) {
83
- throw new Error(`Opener with id '${id}' already registered`);
84
- }
85
- this._registeredOpeners.set(id, {
86
- schemes: ( new Set(schemes)),
87
- label,
88
- extensionId,
89
- });
90
- this._contributedExternalUriOpenersStore.didRegisterOpener(id, extensionId.value);
91
- }
92
- async $unregisterUriOpener(id) {
93
- this._registeredOpeners.delete(id);
94
- this._contributedExternalUriOpenersStore.delete(id);
95
- }
96
- dispose() {
97
- super.dispose();
98
- this._registeredOpeners.clear();
99
- }
100
- };
101
- MainThreadUriOpeners = __decorate([
102
- extHostNamedCustomer(MainContext.MainThreadUriOpeners),
103
- ( __param(1, IStorageService)),
104
- ( __param(2, IExternalUriOpenerService)),
105
- ( __param(3, IExtensionService)),
106
- ( __param(4, IOpenerService)),
107
- ( __param(5, INotificationService))
108
- ], MainThreadUriOpeners);
109
-
110
- export { MainThreadUriOpeners };
@@ -1,61 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { MainContext, ExtHostContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
3
- import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
4
- import { IURLService } from 'vscode/vscode/vs/platform/url/common/url';
5
- import { IExtensionUrlHandler } from 'vscode/vscode/vs/workbench/services/extensions/browser/extensionUrlHandler';
6
- import { ExtensionIdentifier } from 'vscode/vscode/vs/platform/extensions/common/extensions';
7
-
8
- class ExtensionUrlHandler {
9
- constructor(proxy, handle, extensionId, extensionDisplayName) {
10
- this.proxy = proxy;
11
- this.handle = handle;
12
- this.extensionId = extensionId;
13
- this.extensionDisplayName = extensionDisplayName;
14
- }
15
- handleURL(uri, options) {
16
- if (!ExtensionIdentifier.equals(this.extensionId, uri.authority)) {
17
- return Promise.resolve(false);
18
- }
19
- return Promise.resolve(this.proxy.$handleExternalUri(this.handle, uri)).then(() => true);
20
- }
21
- }
22
- let MainThreadUrls = class MainThreadUrls {
23
- constructor(context, urlService, extensionUrlHandler) {
24
- this.urlService = urlService;
25
- this.extensionUrlHandler = extensionUrlHandler;
26
- this.handlers = ( new Map());
27
- this.proxy = ( context.getProxy(ExtHostContext.ExtHostUrls));
28
- }
29
- $registerUriHandler(handle, extensionId, extensionDisplayName) {
30
- const handler = ( new ExtensionUrlHandler(this.proxy, handle, extensionId, extensionDisplayName));
31
- const disposable = this.urlService.registerHandler(handler);
32
- this.handlers.set(handle, { extensionId, disposable });
33
- this.extensionUrlHandler.registerExtensionHandler(extensionId, handler);
34
- return Promise.resolve(undefined);
35
- }
36
- $unregisterUriHandler(handle) {
37
- const tuple = this.handlers.get(handle);
38
- if (!tuple) {
39
- return Promise.resolve(undefined);
40
- }
41
- const { extensionId, disposable } = tuple;
42
- this.extensionUrlHandler.unregisterExtensionHandler(extensionId);
43
- this.handlers.delete(handle);
44
- disposable.dispose();
45
- return Promise.resolve(undefined);
46
- }
47
- async $createAppUri(uri) {
48
- return this.urlService.create(uri);
49
- }
50
- dispose() {
51
- this.handlers.forEach(({ disposable }) => disposable.dispose());
52
- this.handlers.clear();
53
- }
54
- };
55
- MainThreadUrls = __decorate([
56
- extHostNamedCustomer(MainContext.MainThreadUrls),
57
- ( __param(1, IURLService)),
58
- ( __param(2, IExtensionUrlHandler))
59
- ], MainThreadUrls);
60
-
61
- export { MainThreadUrls };
@@ -1,29 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
3
- import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
4
- import { MainThreadCustomEditors } from './mainThreadCustomEditors.js';
5
- import { MainThreadWebviewPanels } from './mainThreadWebviewPanels.js';
6
- import { MainThreadWebviews } from './mainThreadWebviews.js';
7
- import { MainThreadWebviewsViews } from './mainThreadWebviewViews.js';
8
- import { MainContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
9
- import { extHostCustomer } from '../../services/extensions/common/extHostCustomers.js';
10
-
11
- let MainThreadWebviewManager = class MainThreadWebviewManager extends Disposable {
12
- constructor(context, instantiationService) {
13
- super();
14
- const webviews = this._register(instantiationService.createInstance(MainThreadWebviews, context));
15
- context.set(MainContext.MainThreadWebviews, webviews);
16
- const webviewPanels = this._register(instantiationService.createInstance(MainThreadWebviewPanels, context, webviews));
17
- context.set(MainContext.MainThreadWebviewPanels, webviewPanels);
18
- const customEditors = this._register(instantiationService.createInstance(MainThreadCustomEditors, context, webviews, webviewPanels));
19
- context.set(MainContext.MainThreadCustomEditors, customEditors);
20
- const webviewViews = this._register(instantiationService.createInstance(MainThreadWebviewsViews, context, webviews));
21
- context.set(MainContext.MainThreadWebviewViews, webviewViews);
22
- }
23
- };
24
- MainThreadWebviewManager = __decorate([
25
- extHostCustomer,
26
- ( __param(1, IInstantiationService))
27
- ], MainThreadWebviewManager);
28
-
29
- export { MainThreadWebviewManager };