@codingame/monaco-vscode-extension-gallery-service-override 10.0.2 → 10.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 (30) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +17 -17
  3. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
  4. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
  5. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +35 -35
  6. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
  7. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +16 -16
  8. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +15 -15
  9. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +138 -138
  10. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +1 -1
  11. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
  12. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
  13. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
  14. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
  15. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +3 -3
  16. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +41 -41
  17. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +10 -10
  18. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +20 -20
  19. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +53 -53
  20. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
  21. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
  22. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
  23. package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +2 -2
  25. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +12 -12
  26. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +2 -2
  27. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeaturesManagemetService.js +4 -4
  28. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +2 -2
  29. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +21 -21
  30. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-extension-gallery-service-override",
3
- "version": "10.0.2",
3
+ "version": "10.1.0",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -26,6 +26,6 @@
26
26
  }
27
27
  },
28
28
  "dependencies": {
29
- "vscode": "npm:@codingame/monaco-vscode-api@10.0.2"
29
+ "vscode": "npm:@codingame/monaco-vscode-api@10.1.0"
30
30
  }
31
31
  }
@@ -237,13 +237,13 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
237
237
  const activationId = activationTimes.activationReason.extensionId.value;
238
238
  const activationEvent = activationTimes.activationReason.activationEvent;
239
239
  if (activationEvent === '*') {
240
- title = ( localize(9567, "Activated by {0} on start-up", activationId));
240
+ title = ( localize(9562, "Activated by {0} on start-up", activationId));
241
241
  }
242
242
  else if (/^workspaceContains:/.test(activationEvent)) {
243
243
  const fileNameOrGlob = activationEvent.substr('workspaceContains:'.length);
244
244
  if (fileNameOrGlob.indexOf('*') >= 0 || fileNameOrGlob.indexOf('?') >= 0) {
245
245
  title = ( localize(
246
- 9568,
246
+ 9563,
247
247
  "Activated by {1} because a file matching {0} exists in your workspace",
248
248
  fileNameOrGlob,
249
249
  activationId
@@ -251,7 +251,7 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
251
251
  }
252
252
  else {
253
253
  title = ( localize(
254
- 9569,
254
+ 9564,
255
255
  "Activated by {1} because file {0} exists in your workspace",
256
256
  fileNameOrGlob,
257
257
  activationId
@@ -261,41 +261,41 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
261
261
  else if (/^workspaceContainsTimeout:/.test(activationEvent)) {
262
262
  const glob = activationEvent.substr('workspaceContainsTimeout:'.length);
263
263
  title = ( localize(
264
- 9570,
264
+ 9565,
265
265
  "Activated by {1} because searching for {0} took too long",
266
266
  glob,
267
267
  activationId
268
268
  ));
269
269
  }
270
270
  else if (activationEvent === 'onStartupFinished') {
271
- title = ( localize(9571, "Activated by {0} after start-up finished", activationId));
271
+ title = ( localize(9566, "Activated by {0} after start-up finished", activationId));
272
272
  }
273
273
  else if (/^onLanguage:/.test(activationEvent)) {
274
274
  const language = activationEvent.substr('onLanguage:'.length);
275
275
  title = ( localize(
276
- 9572,
276
+ 9567,
277
277
  "Activated by {1} because you opened a {0} file",
278
278
  language,
279
279
  activationId
280
280
  ));
281
281
  }
282
282
  else {
283
- title = ( localize(9573, "Activated by {1} on {0}", activationEvent, activationId));
283
+ title = ( localize(9568, "Activated by {1} on {0}", activationEvent, activationId));
284
284
  }
285
285
  }
286
286
  else {
287
- title = ( localize(9574, "Extension is activating..."));
287
+ title = ( localize(9569, "Extension is activating..."));
288
288
  }
289
289
  data.elementDisposables.push(this._hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.activationTime, title));
290
290
  clearNode(data.msgContainer);
291
291
  if (this._getUnresponsiveProfile(element.description.identifier)) {
292
292
  const el = $('span', undefined, ...renderLabelWithIcons(` $(alert) Unresponsive`));
293
- const extensionHostFreezTitle = ( localize(9575, "Extension has caused the extension host to freeze."));
293
+ const extensionHostFreezTitle = ( localize(9570, "Extension has caused the extension host to freeze."));
294
294
  data.elementDisposables.push(this._hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), el, extensionHostFreezTitle));
295
295
  data.msgContainer.appendChild(el);
296
296
  }
297
297
  if (isNonEmptyArray(element.status.runtimeErrors)) {
298
- const el = $('span', undefined, ...renderLabelWithIcons(`$(bug) ${( localize(9576, "{0} uncaught errors", element.status.runtimeErrors.length))}`));
298
+ const el = $('span', undefined, ...renderLabelWithIcons(`$(bug) ${( localize(9571, "{0} uncaught errors", element.status.runtimeErrors.length))}`));
299
299
  data.msgContainer.appendChild(el);
300
300
  }
301
301
  if (element.status.messages && element.status.messages.length > 0) {
@@ -334,10 +334,10 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
334
334
  data.msgContainer.appendChild($('span', undefined, ...renderLabelWithIcons(`$(${status.severity === Severity$1.Error ? errorIcon.id : warningIcon.id}) ${status.message}`)));
335
335
  }
336
336
  if (accessData?.totalCount > 0) {
337
- const element = $('span', undefined, `${( localize(9577, "{0} Requests: {1} (Overall)", feature.label, accessData.totalCount))}${accessData.current ? ( localize(9578, ", {0} (Session)", accessData.current.count)) : ''}`);
337
+ const element = $('span', undefined, `${( localize(9572, "{0} Requests: {1} (Overall)", feature.label, accessData.totalCount))}${accessData.current ? ( localize(9573, ", {0} (Session)", accessData.current.count)) : ''}`);
338
338
  if (accessData.current) {
339
339
  const title = ( localize(
340
- 9579,
340
+ 9574,
341
341
  "Last request was {0}.",
342
342
  fromNow(accessData.current.lastAccessed, true, true)
343
343
  ));
@@ -367,7 +367,7 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
367
367
  },
368
368
  accessibilityProvider: new (class {
369
369
  getWidgetAriaLabel() {
370
- return ( localize(9580, "Runtime Extensions"));
370
+ return ( localize(9575, "Runtime Extensions"));
371
371
  }
372
372
  getAriaLabel(element) {
373
373
  return element.description.name;
@@ -380,7 +380,7 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
380
380
  return;
381
381
  }
382
382
  const actions = [];
383
- actions.push(( (new Action('runtimeExtensionsEditor.action.copyId', ( localize(9581, "Copy id ({0})", e.element.description.identifier.value)), undefined, true, () => {
383
+ actions.push(( (new Action('runtimeExtensionsEditor.action.copyId', ( localize(9576, "Copy id ({0})", e.element.description.identifier.value)), undefined, true, () => {
384
384
  this._clipboardService.writeText(e.element.description.identifier.value);
385
385
  }))));
386
386
  const reportExtensionIssueAction = this._createReportExtensionIssueAction(e.element);
@@ -389,8 +389,8 @@ let AbstractRuntimeExtensionsEditor = class AbstractRuntimeExtensionsEditor exte
389
389
  }
390
390
  actions.push(( (new Separator())));
391
391
  if (e.element.marketplaceInfo) {
392
- actions.push(( (new Action('runtimeExtensionsEditor.action.disableWorkspace', ( localize(9582, "Disable (Workspace)")), undefined, true, () => this._extensionsWorkbenchService.setEnablement(e.element.marketplaceInfo, 8 )))));
393
- actions.push(( (new Action('runtimeExtensionsEditor.action.disable', ( localize(9583, "Disable")), undefined, true, () => this._extensionsWorkbenchService.setEnablement(e.element.marketplaceInfo, 7 )))));
392
+ actions.push(( (new Action('runtimeExtensionsEditor.action.disableWorkspace', ( localize(9577, "Disable (Workspace)")), undefined, true, () => this._extensionsWorkbenchService.setEnablement(e.element.marketplaceInfo, 8 )))));
393
+ actions.push(( (new Action('runtimeExtensionsEditor.action.disable', ( localize(9578, "Disable")), undefined, true, () => this._extensionsWorkbenchService.setEnablement(e.element.marketplaceInfo, 7 )))));
394
394
  }
395
395
  actions.push(( (new Separator())));
396
396
  const menuActions = this._menuService.getMenuActions(MenuId.ExtensionEditorContextMenu, this.contextKeyService);
@@ -426,7 +426,7 @@ class ShowRuntimeExtensionsAction extends Action2 {
426
426
  constructor() {
427
427
  super({
428
428
  id: 'workbench.action.showRuntimeExtensions',
429
- title: ( localize2(9584, "Show Running Extensions")),
429
+ title: ( localize2(9579, "Show Running Extensions")),
430
430
  category: Categories.Developer,
431
431
  f1: true,
432
432
  menu: {
@@ -61,7 +61,7 @@ let ConfigBasedRecommendations = class ConfigBasedRecommendations extends Extens
61
61
  reason: {
62
62
  reasonId: 3 ,
63
63
  reasonText: ( localize(
64
- 9471,
64
+ 9464,
65
65
  "This extension is recommended because of the current workspace configuration"
66
66
  ))
67
67
  },
@@ -48,7 +48,7 @@ let ExeBasedRecommendations = class ExeBasedRecommendations extends ExtensionRec
48
48
  reason: {
49
49
  reasonId: 2 ,
50
50
  reasonText: ( localize(
51
- 9467,
51
+ 9460,
52
52
  "This extension is recommended because you have {0} installed.",
53
53
  tip.exeFriendlyName
54
54
  ))
@@ -127,7 +127,7 @@ class VersionWidget extends ExtensionWithDifferentGalleryVersionWidget {
127
127
  constructor(container, hoverService) {
128
128
  super();
129
129
  this.element = append(container, $('code.version'));
130
- this._register(hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), this.element, ( localize(9473, "Extension Version"))));
130
+ this._register(hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), this.element, ( localize(9468, "Extension Version"))));
131
131
  this.render();
132
132
  }
133
133
  render() {
@@ -187,13 +187,13 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
187
187
  const details = append(header, $('.details'));
188
188
  const title = append(details, $('.title'));
189
189
  const name = append(title, $('span.name.clickable', { role: 'heading', tabIndex: 0 }));
190
- this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), name, ( localize(9474, "Extension name"))));
190
+ this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), name, ( localize(9469, "Extension name"))));
191
191
  const versionWidget = ( (new VersionWidget(title, this.hoverService)));
192
192
  const preview = append(title, $('span.preview'));
193
- this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), preview, ( localize(9475, "Preview"))));
194
- preview.textContent = ( localize(9475, "Preview"));
193
+ this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), preview, ( localize(9470, "Preview"))));
194
+ preview.textContent = ( localize(9470, "Preview"));
195
195
  const builtin = append(title, $('span.builtin'));
196
- builtin.textContent = ( localize(9476, "Built-in"));
196
+ builtin.textContent = ( localize(9471, "Built-in"));
197
197
  const subtitle = append(details, $('.subtitle'));
198
198
  const publisher = append(append(subtitle, $('.subtitle-entry')), $('.publisher.clickable', { tabIndex: 0 }));
199
199
  publisher.setAttribute('role', 'button');
@@ -202,10 +202,10 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
202
202
  const resource = append(append(subtitle, $('.subtitle-entry.resource')), $('', { tabIndex: 0 }));
203
203
  resource.setAttribute('role', 'button');
204
204
  const installCount = append(append(subtitle, $('.subtitle-entry')), $('span.install', { tabIndex: 0 }));
205
- this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), installCount, ( localize(9477, "Install count"))));
205
+ this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), installCount, ( localize(9472, "Install count"))));
206
206
  const installCountWidget = this.instantiationService.createInstance(InstallCountWidget, installCount, false);
207
207
  const rating = append(append(subtitle, $('.subtitle-entry')), $('span.rating.clickable', { tabIndex: 0 }));
208
- this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), rating, ( localize(9478, "Rating"))));
208
+ this._register(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), rating, ( localize(9473, "Rating"))));
209
209
  rating.setAttribute('role', 'link');
210
210
  const ratingsWidget = this.instantiationService.createInstance(RatingsWidget, rating, false);
211
211
  const sponsorWidget = this.instantiationService.createInstance(SponsorWidget, append(subtitle, $('.subtitle-entry')));
@@ -428,7 +428,7 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
428
428
  template.publisher.classList.toggle('clickable', !!extension.url);
429
429
  template.publisherDisplayName.textContent = extension.publisherDisplayName;
430
430
  template.publisher.parentElement?.classList.toggle('hide', !!extension.resourceExtension || extension.local?.source === 'resource');
431
- this.transientDisposables.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), template.publisher, ( localize(9479, "Publisher ({0})", extension.publisher))));
431
+ this.transientDisposables.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), template.publisher, ( localize(9474, "Publisher ({0})", extension.publisher))));
432
432
  const location = extension.resourceExtension?.location ?? (extension.local?.source === 'resource' ? extension.local?.location : undefined);
433
433
  template.resource.parentElement?.classList.toggle('hide', !location);
434
434
  if (location) {
@@ -436,7 +436,7 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
436
436
  if (workspaceFolder && extension.isWorkspaceScoped) {
437
437
  template.resource.parentElement?.classList.add('clickable');
438
438
  this.transientDisposables.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), template.resource, this.uriIdentityService.extUri.relativePath(workspaceFolder.uri, location)));
439
- template.resource.textContent = ( localize(9480, "Workspace Extension"));
439
+ template.resource.textContent = ( localize(9475, "Workspace Extension"));
440
440
  this.transientDisposables.add(onClick(template.resource, () => {
441
441
  this.viewsService.openView(VIEW_ID, true).then(() => this.explorerService.select(location, true));
442
442
  }));
@@ -444,7 +444,7 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
444
444
  else {
445
445
  template.resource.parentElement?.classList.remove('clickable');
446
446
  this.transientDisposables.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), template.resource, location.path));
447
- template.resource.textContent = ( localize(9481, "Local Extension"));
447
+ template.resource.textContent = ( localize(9476, "Local Extension"));
448
448
  }
449
449
  }
450
450
  template.installCount.parentElement?.classList.toggle('hide', !extension.url);
@@ -477,22 +477,22 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
477
477
  this.initialScrollProgress.clear();
478
478
  this.currentIdentifier = extension.identifier.id;
479
479
  }
480
- template.navbar.push("readme" , ( localize(9482, "Details")), ( localize(9483, "Extension details, rendered from the extension's 'README.md' file")));
480
+ template.navbar.push("readme" , ( localize(9477, "Details")), ( localize(9478, "Extension details, rendered from the extension's 'README.md' file")));
481
481
  if (manifest) {
482
- template.navbar.push("features" , ( localize(9484, "Features")), ( localize(9485, "Lists features contributed by this extension")));
482
+ template.navbar.push("features" , ( localize(9479, "Features")), ( localize(9480, "Lists features contributed by this extension")));
483
483
  }
484
484
  if (extension.hasChangelog()) {
485
- template.navbar.push("changelog" , ( localize(9486, "Changelog")), ( localize(
486
- 9487,
485
+ template.navbar.push("changelog" , ( localize(9481, "Changelog")), ( localize(
486
+ 9482,
487
487
  "Extension update history, rendered from the extension's 'CHANGELOG.md' file"
488
488
  )));
489
489
  }
490
490
  if (extension.dependencies.length) {
491
- template.navbar.push("dependencies" , ( localize(9488, "Dependencies")), ( localize(9489, "Lists extensions this extension depends on")));
491
+ template.navbar.push("dependencies" , ( localize(9483, "Dependencies")), ( localize(9484, "Lists extensions this extension depends on")));
492
492
  }
493
493
  if (manifest && manifest.extensionPack?.length && !this.shallRenderAsExtensionPack(manifest)) {
494
- template.navbar.push("extensionPack" , ( localize(9490, "Extension Pack")), ( localize(
495
- 9491,
494
+ template.navbar.push("extensionPack" , ( localize(9485, "Extension Pack")), ( localize(
495
+ 9486,
496
496
  "Lists extensions those will be installed together with this extension"
497
497
  )));
498
498
  }
@@ -699,7 +699,7 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
699
699
  activeElement = await this.openExtensionPackReadme(extension, manifest, readmeContainer, token);
700
700
  }
701
701
  else {
702
- activeElement = await this.openMarkdown(extension, this.extensionReadme.get(), ( localize(9492, "No README available.")), readmeContainer, 0 , ( localize(9493, "Readme")), token);
702
+ activeElement = await this.openMarkdown(extension, this.extensionReadme.get(), ( localize(9487, "No README available.")), readmeContainer, 0 , ( localize(9488, "Readme")), token);
703
703
  }
704
704
  this.renderAdditionalDetails(additionalDetailsContainer, extension);
705
705
  return activeElement;
@@ -728,14 +728,14 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
728
728
  extensionPackReadme.classList.add('more-rows');
729
729
  }
730
730
  const extensionPackHeader = append(extensionPack, $('div.header'));
731
- extensionPackHeader.textContent = ( localize(9494, "Extension Pack ({0})", manifest.extensionPack.length));
731
+ extensionPackHeader.textContent = ( localize(9489, "Extension Pack ({0})", manifest.extensionPack.length));
732
732
  const extensionPackContent = append(extensionPack, $('div', { class: 'extension-pack-content' }));
733
733
  extensionPackContent.setAttribute('tabindex', '0');
734
734
  append(extensionPack, $('div.footer'));
735
735
  const readmeContent = append(extensionPackReadme, $('div.readme-content'));
736
736
  await Promise.all([
737
737
  this.renderExtensionPack(manifest, extensionPackContent, token),
738
- this.openMarkdown(extension, this.extensionReadme.get(), ( localize(9492, "No README available.")), readmeContent, 0 , ( localize(9493, "Readme")), token),
738
+ this.openMarkdown(extension, this.extensionReadme.get(), ( localize(9487, "No README available.")), readmeContent, 0 , ( localize(9488, "Readme")), token),
739
739
  ]);
740
740
  return { focus: () => extensionPackContent.focus() };
741
741
  }
@@ -755,7 +755,7 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
755
755
  renderCategories(container, extension) {
756
756
  if (extension.categories.length) {
757
757
  const categoriesContainer = append(container, $('.categories-container.additional-details-element'));
758
- append(categoriesContainer, $('.additional-details-title', undefined, ( localize(9495, "Categories"))));
758
+ append(categoriesContainer, $('.additional-details-title', undefined, ( localize(9490, "Categories"))));
759
759
  const categoriesElement = append(categoriesContainer, $('.categories'));
760
760
  for (const category of extension.categories) {
761
761
  this.transientDisposables.add(onClick(append(categoriesElement, $('span.category', { tabindex: '0' }, category)), () => this.extensionsWorkbenchService.openSearch(`@category:"${category}"`)));
@@ -765,23 +765,23 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
765
765
  renderExtensionResources(container, extension) {
766
766
  const resources = [];
767
767
  if (extension.url) {
768
- resources.push([( localize(9496, "Marketplace")), ( (URI.parse(extension.url)))]);
768
+ resources.push([( localize(9491, "Marketplace")), ( (URI.parse(extension.url)))]);
769
769
  }
770
770
  if (extension.url && extension.supportUrl) {
771
771
  try {
772
- resources.push([( localize(9497, "Issues")), ( (URI.parse(extension.supportUrl)))]);
772
+ resources.push([( localize(9492, "Issues")), ( (URI.parse(extension.supportUrl)))]);
773
773
  }
774
774
  catch (error) { }
775
775
  }
776
776
  if (extension.repository) {
777
777
  try {
778
- resources.push([( localize(9498, "Repository")), ( (URI.parse(extension.repository)))]);
778
+ resources.push([( localize(9493, "Repository")), ( (URI.parse(extension.repository)))]);
779
779
  }
780
780
  catch (error) { }
781
781
  }
782
782
  if (extension.url && extension.licenseUrl) {
783
783
  try {
784
- resources.push([( localize(9499, "License")), ( (URI.parse(extension.licenseUrl)))]);
784
+ resources.push([( localize(9494, "License")), ( (URI.parse(extension.licenseUrl)))]);
785
785
  }
786
786
  catch (error) { }
787
787
  }
@@ -790,7 +790,7 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
790
790
  }
791
791
  if (resources.length || extension.publisherSponsorLink) {
792
792
  const extensionResourcesContainer = append(container, $('.resources-container.additional-details-element'));
793
- append(extensionResourcesContainer, $('.additional-details-title', undefined, ( localize(9500, "Resources"))));
793
+ append(extensionResourcesContainer, $('.additional-details-title', undefined, ( localize(9495, "Resources"))));
794
794
  const resourcesElement = append(extensionResourcesContainer, $('.resources'));
795
795
  for (const [label, uri] of resources) {
796
796
  const resource = append(resourcesElement, $('a.resource', { tabindex: '0' }, label));
@@ -804,19 +804,19 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
804
804
  renderMoreInfo(container, extension) {
805
805
  const gallery = extension.gallery;
806
806
  const moreInfoContainer = append(container, $('.more-info-container.additional-details-element'));
807
- append(moreInfoContainer, $('.additional-details-title', undefined, ( localize(9501, "More Info"))));
807
+ append(moreInfoContainer, $('.additional-details-title', undefined, ( localize(9496, "More Info"))));
808
808
  const moreInfo = append(moreInfoContainer, $('.more-info'));
809
809
  const toDateString = (date) => `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}, ${date.toLocaleTimeString(language, { hourCycle: 'h23' })}`;
810
810
  if (gallery) {
811
- append(moreInfo, $('.more-info-entry', undefined, $('div', undefined, ( localize(9502, "Published"))), $('div', undefined, toDateString(( (new Date(gallery.releaseDate)))))), $('.more-info-entry', undefined, $('div', undefined, ( localize(9503, "Last released"))), $('div', undefined, toDateString(( (new Date(gallery.lastUpdated)))))));
811
+ append(moreInfo, $('.more-info-entry', undefined, $('div', undefined, ( localize(9497, "Published"))), $('div', undefined, toDateString(( (new Date(gallery.releaseDate)))))), $('.more-info-entry', undefined, $('div', undefined, ( localize(9498, "Last released"))), $('div', undefined, toDateString(( (new Date(gallery.lastUpdated)))))));
812
812
  }
813
813
  if (extension.local && extension.local.installedTimestamp) {
814
- append(moreInfo, $('.more-info-entry', undefined, $('div', undefined, ( localize(9504, "Last updated"))), $('div', undefined, toDateString(( (new Date(extension.local.installedTimestamp)))))));
814
+ append(moreInfo, $('.more-info-entry', undefined, $('div', undefined, ( localize(9499, "Last updated"))), $('div', undefined, toDateString(( (new Date(extension.local.installedTimestamp)))))));
815
815
  }
816
- append(moreInfo, $('.more-info-entry', undefined, $('div', undefined, ( localize(9505, "Identifier"))), $('code', undefined, extension.identifier.id)));
816
+ append(moreInfo, $('.more-info-entry', undefined, $('div', undefined, ( localize(9500, "Identifier"))), $('code', undefined, extension.identifier.id)));
817
817
  }
818
818
  openChangelog(extension, template, token) {
819
- return this.openMarkdown(extension, this.extensionChangelog.get(), ( localize(9506, "No Changelog available.")), template.content, 1 , ( localize(9507, "Changelog")), token);
819
+ return this.openMarkdown(extension, this.extensionChangelog.get(), ( localize(9501, "No Changelog available.")), template.content, 1 , ( localize(9502, "Changelog")), token);
820
820
  }
821
821
  async openFeatures(template, token) {
822
822
  const manifest = await this.loadContents(() => this.extensionManifest.get(), template.content);
@@ -839,7 +839,7 @@ let ExtensionEditor = class ExtensionEditor extends EditorPane {
839
839
  return Promise.resolve(null);
840
840
  }
841
841
  if (isFalsyOrEmpty(extension.dependencies)) {
842
- append(template.content, $('p.nocontent')).textContent = ( localize(9508, "No Dependencies"));
842
+ append(template.content, $('p.nocontent')).textContent = ( localize(9503, "No Dependencies"));
843
843
  return Promise.resolve(template.content);
844
844
  }
845
845
  const content = $('div', { class: 'subcontent' });
@@ -941,7 +941,7 @@ registerAction2(class ShowExtensionEditorFindAction extends Action2 {
941
941
  constructor() {
942
942
  super({
943
943
  id: 'editor.action.extensioneditor.showfind',
944
- title: ( localize(9509, "Find")),
944
+ title: ( localize(9504, "Find")),
945
945
  keybinding: {
946
946
  when: contextKeyExpr,
947
947
  weight: 100 ,
@@ -958,7 +958,7 @@ registerAction2(class StartExtensionEditorFindNextAction extends Action2 {
958
958
  constructor() {
959
959
  super({
960
960
  id: 'editor.action.extensioneditor.findNext',
961
- title: ( localize(9510, "Find Next")),
961
+ title: ( localize(9505, "Find Next")),
962
962
  keybinding: {
963
963
  when: ( (ContextKeyExpr.and(contextKeyExpr, KEYBINDING_CONTEXT_WEBVIEW_FIND_WIDGET_FOCUSED))),
964
964
  primary: 3 ,
@@ -975,7 +975,7 @@ registerAction2(class StartExtensionEditorFindPreviousAction extends Action2 {
975
975
  constructor() {
976
976
  super({
977
977
  id: 'editor.action.extensioneditor.findPrevious',
978
- title: ( localize(9511, "Find Previous")),
978
+ title: ( localize(9506, "Find Previous")),
979
979
  keybinding: {
980
980
  when: ( (ContextKeyExpr.and(contextKeyExpr, KEYBINDING_CONTEXT_WEBVIEW_FIND_WIDGET_FOCUSED))),
981
981
  primary: 1024 | 3 ,
@@ -22,7 +22,7 @@ let ExtensionEnablementWorkspaceTrustTransitionParticipant = class ExtensionEnab
22
22
  hostService.reload();
23
23
  }
24
24
  else {
25
- const stopped = await extensionService.stopExtensionHosts(( localize(9585, "Restarting extension host due to workspace trust change.")));
25
+ const stopped = await extensionService.stopExtensionHosts(( localize(9580, "Restarting extension host due to workspace trust change.")));
26
26
  await extensionEnablementService.updateExtensionsEnablementsWhenWorkspaceTrustChanges();
27
27
  if (stopped) {
28
28
  extensionService.startExtensionHosts();
@@ -71,7 +71,7 @@ let RuntimeStatusMarkdownRenderer = class RuntimeStatusMarkdownRenderer extends
71
71
  const extensionId = ( (new ExtensionIdentifier(getExtensionId(manifest.publisher, manifest.name))));
72
72
  const status = this.extensionService.getExtensionsStatus()[extensionId.value];
73
73
  if (( (this.extensionService.extensions.some(extension => ExtensionIdentifier.equals(extension.identifier, extensionId))))) {
74
- data.appendMarkdown(`### ${( localize(11288, "Activation"))}\n\n`);
74
+ data.appendMarkdown(`### ${( localize(11289, "Activation"))}\n\n`);
75
75
  if (status.activationTimes) {
76
76
  if (status.activationTimes.activationReason.startup) {
77
77
  data.appendMarkdown(`Activated on Startup: \`${status.activationTimes.activateCallTime}ms\``);
@@ -84,13 +84,13 @@ let RuntimeStatusMarkdownRenderer = class RuntimeStatusMarkdownRenderer extends
84
84
  data.appendMarkdown('Not yet activated');
85
85
  }
86
86
  if (status.runtimeErrors.length) {
87
- data.appendMarkdown(`\n ### ${( localize(11289, "Uncaught Errors ({0})", status.runtimeErrors.length))}\n`);
87
+ data.appendMarkdown(`\n ### ${( localize(11290, "Uncaught Errors ({0})", status.runtimeErrors.length))}\n`);
88
88
  for (const error of status.runtimeErrors) {
89
89
  data.appendMarkdown(`$(${Codicon.error.id}) ${getErrorMessage(error)}\n\n`);
90
90
  }
91
91
  }
92
92
  if (status.messages.length) {
93
- data.appendMarkdown(`\n ### ${( localize(11290, "Messages ({0})", status.messages.length))}\n`);
93
+ data.appendMarkdown(`\n ### ${( localize(11291, "Messages ({0})", status.messages.length))}\n`);
94
94
  for (const message of status.messages) {
95
95
  data.appendMarkdown(`$(${(message.type === Severity$1.Error ? Codicon.error : message.type === Severity$1.Warning ? Codicon.warning : Codicon.info).id}) ${message.message}\n\n`);
96
96
  }
@@ -113,13 +113,13 @@ let RuntimeStatusMarkdownRenderer = class RuntimeStatusMarkdownRenderer extends
113
113
  if (accessData?.totalCount) {
114
114
  if (accessData.current) {
115
115
  data.appendMarkdown(`${( localize(
116
- 11291,
116
+ 11292,
117
117
  "Last Request: `{0}`",
118
118
  fromNow(accessData.current.lastAccessed, true, true)
119
119
  ))}\n\n`);
120
- data.appendMarkdown(`${( localize(11292, "Requests (Session) : `{0}`", accessData.current.count))}\n\n`);
120
+ data.appendMarkdown(`${( localize(11293, "Requests (Session) : `{0}`", accessData.current.count))}\n\n`);
121
121
  }
122
- data.appendMarkdown(`${( localize(11293, "Requests (Overall): `{0}`", accessData.totalCount))}\n\n`);
122
+ data.appendMarkdown(`${( localize(11294, "Requests (Overall): `{0}`", accessData.totalCount))}\n\n`);
123
123
  }
124
124
  }
125
125
  }
@@ -132,7 +132,7 @@ RuntimeStatusMarkdownRenderer = ( (__decorate([
132
132
  ], RuntimeStatusMarkdownRenderer)));
133
133
  const runtimeStatusFeature = {
134
134
  id: RuntimeStatusMarkdownRenderer.ID,
135
- label: ( localize(11294, "Runtime Status")),
135
+ label: ( localize(11295, "Runtime Status")),
136
136
  access: {
137
137
  canToggle: false
138
138
  },
@@ -156,7 +156,7 @@ let ExtensionFeaturesTab = class ExtensionFeaturesTab extends Themable {
156
156
  create() {
157
157
  const features = this.getFeatures();
158
158
  if (features.length === 0) {
159
- append($('.no-features'), this.domNode).textContent = ( localize(11295, "No features contributed."));
159
+ append($('.no-features'), this.domNode).textContent = ( localize(11296, "No features contributed."));
160
160
  return;
161
161
  }
162
162
  const splitView = this._register(( (new SplitView(this.domNode, {
@@ -218,7 +218,7 @@ let ExtensionFeaturesTab = class ExtensionFeaturesTab extends Themable {
218
218
  return extensionFeature?.label ?? '';
219
219
  },
220
220
  getWidgetAriaLabel() {
221
- return ( localize(11296, "Extension Features"));
221
+ return ( localize(11297, "Extension Features"));
222
222
  }
223
223
  },
224
224
  openOnSingleClick: true
@@ -274,7 +274,7 @@ let ExtensionFeatureItemRenderer = class ExtensionFeatureItemRenderer {
274
274
  container.classList.add('extension-feature-list-item');
275
275
  const label = append(container, $('.extension-feature-label'));
276
276
  const disabledElement = append(container, $('.extension-feature-disabled-label'));
277
- disabledElement.textContent = ( localize(11297, "No Access"));
277
+ disabledElement.textContent = ( localize(11298, "No Access"));
278
278
  const statusElement = append(container, $('.extension-feature-status'));
279
279
  return { label, disabledElement, statusElement, disposables: ( (new DisposableStore())) };
280
280
  }
@@ -345,23 +345,23 @@ let ExtensionFeatureView = class ExtensionFeatureView extends Disposable {
345
345
  this._register(button.onDidClick(async () => {
346
346
  const enabled = this.extensionFeaturesManagementService.isEnabled(this.extensionId, this.feature.id);
347
347
  const confirmationResult = await this.dialogService.confirm({
348
- title: ( localize(11298, "Enable '{0}' Feature", this.feature.label)),
348
+ title: ( localize(11299, "Enable '{0}' Feature", this.feature.label)),
349
349
  message: enabled
350
350
  ? ( localize(
351
- 11299,
351
+ 11300,
352
352
  "Would you like to revoke '{0}' extension to access '{1}' feature?",
353
353
  this.manifest.displayName ?? this.extensionId.value,
354
354
  this.feature.label
355
355
  ))
356
356
  : ( localize(
357
- 11300,
357
+ 11301,
358
358
  "Would you like to allow '{0}' extension to access '{1}' feature?",
359
359
  this.manifest.displayName ?? this.extensionId.value,
360
360
  this.feature.label
361
361
  )),
362
362
  custom: true,
363
- primaryButton: enabled ? ( localize(11301, "Revoke Access")) : ( localize(11302, "Allow Access")),
364
- cancelButton: ( localize(11303, "Cancel")),
363
+ primaryButton: enabled ? ( localize(11302, "Revoke Access")) : ( localize(11303, "Allow Access")),
364
+ cancelButton: ( localize(11304, "Cancel")),
365
365
  });
366
366
  if (confirmationResult.confirmed) {
367
367
  this.extensionFeaturesManagementService.setEnablement(this.extensionId, this.feature.id, !enabled);
@@ -397,7 +397,7 @@ let ExtensionFeatureView = class ExtensionFeatureView extends Disposable {
397
397
  }
398
398
  }
399
399
  updateButtonLabel(button) {
400
- button.label = this.extensionFeaturesManagementService.isEnabled(this.extensionId, this.feature.id) ? ( localize(11301, "Revoke Access")) : ( localize(11304, "Allow Access"));
400
+ button.label = this.extensionFeaturesManagementService.isEnabled(this.extensionId, this.feature.id) ? ( localize(11302, "Revoke Access")) : ( localize(11305, "Allow Access"));
401
401
  }
402
402
  renderTableData(container, renderer) {
403
403
  const tableData = this._register(renderer.render(this.manifest));
@@ -109,11 +109,11 @@ let ExtensionRecommendationNotificationService = class ExtensionRecommendationNo
109
109
  this.addToImportantRecommendationsIgnore(extension.identifier.id);
110
110
  this.telemetryService.publicLog2('extensionRecommendations:popup', { userReaction: 'neverShowAgain', extensionId: extension.identifier.id, source: RecommendationSourceToString(extensionRecommendations.source) });
111
111
  }
112
- this.notificationService.prompt(Severity$1.Info, ( localize(3929, "Do you want to ignore all extension recommendations?")), [{
113
- label: ( localize(3930, "Yes, Ignore All")),
112
+ this.notificationService.prompt(Severity$1.Info, ( localize(3948, "Do you want to ignore all extension recommendations?")), [{
113
+ label: ( localize(3949, "Yes, Ignore All")),
114
114
  run: () => this.setIgnoreRecommendationsConfig(true)
115
115
  }, {
116
- label: ( localize(3931, "No")),
116
+ label: ( localize(3950, "No")),
117
117
  run: () => this.setIgnoreRecommendationsConfig(false)
118
118
  }]);
119
119
  },
@@ -129,7 +129,7 @@ let ExtensionRecommendationNotificationService = class ExtensionRecommendationNo
129
129
  if (!recommendations.length) {
130
130
  return;
131
131
  }
132
- await this.promptRecommendationsNotification({ extensions: recommendations, source: 2 , name: ( localize(3932, "this repository")) }, {
132
+ await this.promptRecommendationsNotification({ extensions: recommendations, source: 2 , name: ( localize(3951, "this repository")) }, {
133
133
  onDidInstallRecommendedExtensions: () => this.telemetryService.publicLog2('extensionWorkspaceRecommendations:popup', { userReaction: 'install' }),
134
134
  onDidShowRecommendedExtensions: () => this.telemetryService.publicLog2('extensionWorkspaceRecommendations:popup', { userReaction: 'show' }),
135
135
  onDidCancelRecommendedExtensions: () => this.telemetryService.publicLog2('extensionWorkspaceRecommendations:popup', { userReaction: 'cancelled' }),
@@ -161,7 +161,7 @@ let ExtensionRecommendationNotificationService = class ExtensionRecommendationNo
161
161
  let extensionsMessage = '';
162
162
  if (extensions.length === 1) {
163
163
  extensionsMessage = ( localize(
164
- 3933,
164
+ 3952,
165
165
  "'{0}' extension from {1}",
166
166
  extensions[0].displayName,
167
167
  extensions[0].publisherDisplayName
@@ -170,24 +170,24 @@ let ExtensionRecommendationNotificationService = class ExtensionRecommendationNo
170
170
  else {
171
171
  const publishers = [...extensions.reduce((result, extension) => result.add(extension.publisherDisplayName), ( (new Set())))];
172
172
  if (publishers.length > 2) {
173
- extensionsMessage = ( localize(3934, "extensions from {0}, {1} and others", publishers[0], publishers[1]));
173
+ extensionsMessage = ( localize(3953, "extensions from {0}, {1} and others", publishers[0], publishers[1]));
174
174
  }
175
175
  else if (publishers.length === 2) {
176
- extensionsMessage = ( localize(3935, "extensions from {0} and {1}", publishers[0], publishers[1]));
176
+ extensionsMessage = ( localize(3954, "extensions from {0} and {1}", publishers[0], publishers[1]));
177
177
  }
178
178
  else {
179
- extensionsMessage = ( localize(3936, "extensions from {0}", publishers[0]));
179
+ extensionsMessage = ( localize(3955, "extensions from {0}", publishers[0]));
180
180
  }
181
181
  }
182
182
  let message = ( localize(
183
- 3937,
183
+ 3956,
184
184
  "Do you want to install the recommended {0} for {1}?",
185
185
  extensionsMessage,
186
186
  name
187
187
  ));
188
188
  if (source === 3 ) {
189
189
  message = ( localize(
190
- 3938,
190
+ 3957,
191
191
  "You have {0} installed on your system. Do you want to install the recommended {1} for it?",
192
192
  name,
193
193
  extensionsMessage
@@ -196,8 +196,8 @@ let ExtensionRecommendationNotificationService = class ExtensionRecommendationNo
196
196
  if (!searchValue) {
197
197
  searchValue = source === 2 ? '@recommended' : ( (extensions.map(extensionId => `@id:${extensionId.identifier.id}`))).join(' ');
198
198
  }
199
- const donotShowAgainLabel = source === 2 ? ( localize(3939, "Don't Show Again for this Repository"))
200
- : extensions.length > 1 ? ( localize(3940, "Don't Show Again for these Extensions")) : ( localize(3941, "Don't Show Again for this Extension"));
199
+ const donotShowAgainLabel = source === 2 ? ( localize(3958, "Don't Show Again for this Repository"))
200
+ : extensions.length > 1 ? ( localize(3959, "Don't Show Again for these Extensions")) : ( localize(3960, "Don't Show Again for this Extension"));
201
201
  return raceCancellablePromises([
202
202
  this._registerP(this.showRecommendationsNotification(extensions, message, searchValue, donotShowAgainLabel, source, recommendationsNotificationActions)),
203
203
  this._registerP(this.waitUntilRecommendationsAreInstalled(extensions))
@@ -228,15 +228,15 @@ let ExtensionRecommendationNotificationService = class ExtensionRecommendationNo
228
228
  ]);
229
229
  };
230
230
  choices.push({
231
- label: ( localize(3942, "Install")),
231
+ label: ( localize(3961, "Install")),
232
232
  run: () => installExtensions(false),
233
233
  menu: this.userDataSyncEnablementService.isEnabled() && this.userDataSyncEnablementService.isResourceEnabled("extensions" ) ? [{
234
- label: ( localize(3943, "Install (Do not sync)")),
234
+ label: ( localize(3962, "Install (Do not sync)")),
235
235
  run: () => installExtensions(true)
236
236
  }] : undefined,
237
237
  });
238
238
  choices.push(...[{
239
- label: ( localize(3944, "Show Recommendations")),
239
+ label: ( localize(3963, "Show Recommendations")),
240
240
  run: async () => {
241
241
  onDidShowRecommendedExtensions(extensions);
242
242
  for (const extension of extensions) {