@theia/plugin-ext 1.42.1 → 1.43.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 (189) hide show
  1. package/lib/common/arrays.d.ts +4 -0
  2. package/lib/common/arrays.d.ts.map +1 -1
  3. package/lib/common/arrays.js +15 -1
  4. package/lib/common/arrays.js.map +1 -1
  5. package/lib/common/commands.d.ts +4 -0
  6. package/lib/common/commands.d.ts.map +1 -0
  7. package/lib/common/commands.js +17 -0
  8. package/lib/common/commands.js.map +1 -0
  9. package/lib/common/plugin-api-rpc-model.d.ts +1 -0
  10. package/lib/common/plugin-api-rpc-model.d.ts.map +1 -1
  11. package/lib/common/plugin-api-rpc-model.js.map +1 -1
  12. package/lib/common/plugin-api-rpc.d.ts +48 -6
  13. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  14. package/lib/common/plugin-api-rpc.js +3 -2
  15. package/lib/common/plugin-api-rpc.js.map +1 -1
  16. package/lib/common/plugin-protocol.d.ts +27 -3
  17. package/lib/common/plugin-protocol.d.ts.map +1 -1
  18. package/lib/common/plugin-protocol.js +8 -1
  19. package/lib/common/plugin-protocol.js.map +1 -1
  20. package/lib/common/test-types.d.ts +83 -0
  21. package/lib/common/test-types.d.ts.map +1 -0
  22. package/lib/common/test-types.js +40 -0
  23. package/lib/common/test-types.js.map +1 -0
  24. package/lib/hosted/browser/hosted-plugin.d.ts +4 -1
  25. package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
  26. package/lib/hosted/browser/hosted-plugin.js +11 -0
  27. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  28. package/lib/hosted/node/hosted-plugin-localization-service.d.ts.map +1 -1
  29. package/lib/hosted/node/hosted-plugin-localization-service.js +71 -33
  30. package/lib/hosted/node/hosted-plugin-localization-service.js.map +1 -1
  31. package/lib/hosted/node/plugin-reader.d.ts.map +1 -1
  32. package/lib/hosted/node/plugin-reader.js +4 -2
  33. package/lib/hosted/node/plugin-reader.js.map +1 -1
  34. package/lib/hosted/node/scanners/scanner-theia.d.ts +5 -4
  35. package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
  36. package/lib/hosted/node/scanners/scanner-theia.js +79 -19
  37. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  38. package/lib/main/browser/command-registry-main.d.ts +3 -0
  39. package/lib/main/browser/command-registry-main.d.ts.map +1 -1
  40. package/lib/main/browser/command-registry-main.js +11 -1
  41. package/lib/main/browser/command-registry-main.js.map +1 -1
  42. package/lib/main/browser/languages-main.d.ts.map +1 -1
  43. package/lib/main/browser/languages-main.js +7 -5
  44. package/lib/main/browser/languages-main.js.map +1 -1
  45. package/lib/main/browser/main-context.d.ts.map +1 -1
  46. package/lib/main/browser/main-context.js +3 -0
  47. package/lib/main/browser/main-context.js.map +1 -1
  48. package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts +2 -2
  49. package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts.map +1 -1
  50. package/lib/main/browser/menus/vscode-theia-menu-mappings.js +3 -0
  51. package/lib/main/browser/menus/vscode-theia-menu-mappings.js.map +1 -1
  52. package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js +2 -2
  53. package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js.map +1 -1
  54. package/lib/main/browser/notebooks/notebook-documents-main.js +1 -1
  55. package/lib/main/browser/notebooks/notebook-documents-main.js.map +1 -1
  56. package/lib/main/browser/notebooks/notebook-dto.js +2 -2
  57. package/lib/main/browser/notebooks/notebook-dto.js.map +1 -1
  58. package/lib/main/browser/notebooks/notebook-kernels-main.d.ts.map +1 -1
  59. package/lib/main/browser/notebooks/notebook-kernels-main.js +4 -10
  60. package/lib/main/browser/notebooks/notebook-kernels-main.js.map +1 -1
  61. package/lib/main/browser/notebooks/notebook-renderers-main.js +1 -1
  62. package/lib/main/browser/notebooks/notebook-renderers-main.js.map +1 -1
  63. package/lib/main/browser/notebooks/notebooks-main.d.ts +2 -2
  64. package/lib/main/browser/notebooks/notebooks-main.d.ts.map +1 -1
  65. package/lib/main/browser/notebooks/notebooks-main.js +5 -5
  66. package/lib/main/browser/notebooks/notebooks-main.js.map +1 -1
  67. package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts.map +1 -1
  68. package/lib/main/browser/notebooks/renderers/cell-output-webview.js +3 -0
  69. package/lib/main/browser/notebooks/renderers/cell-output-webview.js.map +1 -1
  70. package/lib/main/browser/notebooks/renderers/output-webview-internal.d.ts.map +1 -1
  71. package/lib/main/browser/notebooks/renderers/output-webview-internal.js +4 -2
  72. package/lib/main/browser/notebooks/renderers/output-webview-internal.js.map +1 -1
  73. package/lib/main/browser/plugin-contribution-handler.d.ts +2 -0
  74. package/lib/main/browser/plugin-contribution-handler.d.ts.map +1 -1
  75. package/lib/main/browser/plugin-contribution-handler.js +19 -1
  76. package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
  77. package/lib/main/browser/plugin-ext-frontend-module.d.ts.map +1 -1
  78. package/lib/main/browser/plugin-ext-frontend-module.js +3 -0
  79. package/lib/main/browser/plugin-ext-frontend-module.js.map +1 -1
  80. package/lib/main/browser/plugin-icon-service.d.ts +20 -0
  81. package/lib/main/browser/plugin-icon-service.d.ts.map +1 -0
  82. package/lib/main/browser/plugin-icon-service.js +156 -0
  83. package/lib/main/browser/plugin-icon-service.js.map +1 -0
  84. package/lib/main/browser/terminal-main.d.ts +2 -2
  85. package/lib/main/browser/terminal-main.d.ts.map +1 -1
  86. package/lib/main/browser/terminal-main.js +5 -9
  87. package/lib/main/browser/terminal-main.js.map +1 -1
  88. package/lib/main/browser/test-main.d.ts +141 -0
  89. package/lib/main/browser/test-main.d.ts.map +1 -0
  90. package/lib/main/browser/test-main.js +560 -0
  91. package/lib/main/browser/test-main.js.map +1 -0
  92. package/lib/main/browser/view/plugin-view-registry.d.ts +14 -3
  93. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  94. package/lib/main/browser/view/plugin-view-registry.js +108 -56
  95. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  96. package/lib/main/browser/webview-views/webview-views-main.d.ts.map +1 -1
  97. package/lib/main/browser/webview-views/webview-views-main.js +5 -2
  98. package/lib/main/browser/webview-views/webview-views-main.js.map +1 -1
  99. package/lib/main/browser/webview-views/webview-views.d.ts +1 -0
  100. package/lib/main/browser/webview-views/webview-views.d.ts.map +1 -1
  101. package/lib/main/node/plugin-service.d.ts +2 -0
  102. package/lib/main/node/plugin-service.d.ts.map +1 -1
  103. package/lib/main/node/plugin-service.js +14 -1
  104. package/lib/main/node/plugin-service.js.map +1 -1
  105. package/lib/plugin/command-registry.d.ts +1 -3
  106. package/lib/plugin/command-registry.d.ts.map +1 -1
  107. package/lib/plugin/command-registry.js.map +1 -1
  108. package/lib/plugin/notebook/notebook-kernels.d.ts.map +1 -1
  109. package/lib/plugin/notebook/notebook-kernels.js +1 -0
  110. package/lib/plugin/notebook/notebook-kernels.js.map +1 -1
  111. package/lib/plugin/notebook/notebooks.d.ts.map +1 -1
  112. package/lib/plugin/notebook/notebooks.js +2 -2
  113. package/lib/plugin/notebook/notebooks.js.map +1 -1
  114. package/lib/plugin/plugin-context.d.ts.map +1 -1
  115. package/lib/plugin/plugin-context.js +9 -18
  116. package/lib/plugin/plugin-context.js.map +1 -1
  117. package/lib/plugin/telemetry-ext.js +1 -1
  118. package/lib/plugin/telemetry-ext.js.map +1 -1
  119. package/lib/plugin/terminal-ext.d.ts +11 -9
  120. package/lib/plugin/terminal-ext.d.ts.map +1 -1
  121. package/lib/plugin/terminal-ext.js +37 -25
  122. package/lib/plugin/terminal-ext.js.map +1 -1
  123. package/lib/plugin/test-item.d.ts +47 -0
  124. package/lib/plugin/test-item.d.ts.map +1 -0
  125. package/lib/plugin/test-item.js +196 -0
  126. package/lib/plugin/test-item.js.map +1 -0
  127. package/lib/plugin/tests.d.ts +117 -0
  128. package/lib/plugin/tests.d.ts.map +1 -0
  129. package/lib/plugin/tests.js +402 -0
  130. package/lib/plugin/tests.js.map +1 -0
  131. package/lib/plugin/tree/tree-views.d.ts.map +1 -1
  132. package/lib/plugin/tree/tree-views.js +2 -1
  133. package/lib/plugin/tree/tree-views.js.map +1 -1
  134. package/lib/plugin/type-converters.d.ts +10 -1
  135. package/lib/plugin/type-converters.d.ts.map +1 -1
  136. package/lib/plugin/type-converters.js +74 -2
  137. package/lib/plugin/type-converters.js.map +1 -1
  138. package/lib/plugin/types-impl.d.ts +29 -4
  139. package/lib/plugin/types-impl.d.ts.map +1 -1
  140. package/lib/plugin/types-impl.js +30 -8
  141. package/lib/plugin/types-impl.js.map +1 -1
  142. package/package.json +30 -29
  143. package/src/common/arrays.ts +16 -0
  144. package/src/common/commands.ts +19 -0
  145. package/src/common/plugin-api-rpc-model.ts +1 -0
  146. package/src/common/plugin-api-rpc.ts +69 -7
  147. package/src/common/plugin-protocol.ts +31 -3
  148. package/src/common/test-types.ts +133 -0
  149. package/src/hosted/browser/hosted-plugin.ts +13 -1
  150. package/src/hosted/node/hosted-plugin-localization-service.ts +72 -37
  151. package/src/hosted/node/plugin-reader.ts +4 -2
  152. package/src/hosted/node/scanners/scanner-theia.ts +85 -20
  153. package/src/main/browser/command-registry-main.ts +14 -1
  154. package/src/main/browser/languages-main.ts +7 -5
  155. package/src/main/browser/main-context.ts +4 -0
  156. package/src/main/browser/menus/vscode-theia-menu-mappings.ts +3 -0
  157. package/src/main/browser/notebooks/notebook-documents-and-editors-main.ts +2 -2
  158. package/src/main/browser/notebooks/notebook-documents-main.ts +1 -1
  159. package/src/main/browser/notebooks/notebook-dto.ts +2 -2
  160. package/src/main/browser/notebooks/notebook-kernels-main.ts +6 -11
  161. package/src/main/browser/notebooks/notebook-renderers-main.ts +1 -1
  162. package/src/main/browser/notebooks/notebooks-main.ts +6 -6
  163. package/src/main/browser/notebooks/renderers/cell-output-webview.tsx +3 -0
  164. package/src/main/browser/notebooks/renderers/output-webview-internal.ts +3 -2
  165. package/src/main/browser/plugin-contribution-handler.ts +19 -2
  166. package/src/main/browser/plugin-ext-frontend-module.ts +4 -0
  167. package/src/main/browser/plugin-icon-service.ts +156 -0
  168. package/src/main/browser/terminal-main.ts +7 -11
  169. package/src/main/browser/test-main.ts +618 -0
  170. package/src/main/browser/view/plugin-view-registry.ts +114 -56
  171. package/src/main/browser/webview-views/webview-views-main.ts +5 -2
  172. package/src/main/browser/webview-views/webview-views.ts +1 -0
  173. package/src/main/node/plugin-service.ts +12 -1
  174. package/src/plugin/command-registry.ts +1 -5
  175. package/src/plugin/notebook/notebook-kernels.ts +3 -1
  176. package/src/plugin/notebook/notebooks.ts +1 -3
  177. package/src/plugin/plugin-context.ts +13 -32
  178. package/src/plugin/telemetry-ext.ts +1 -1
  179. package/src/plugin/terminal-ext.ts +40 -26
  180. package/src/plugin/test-item.ts +174 -0
  181. package/src/plugin/tests.ts +482 -0
  182. package/src/plugin/tree/tree-views.ts +2 -1
  183. package/src/plugin/type-converters.ts +87 -3
  184. package/src/plugin/types-impl.ts +36 -5
  185. package/lib/plugin/stubs/tests-api.d.ts +0 -25
  186. package/lib/plugin/stubs/tests-api.d.ts.map +0 -1
  187. package/lib/plugin/stubs/tests-api.js +0 -70
  188. package/lib/plugin/stubs/tests-api.js.map +0 -1
  189. package/src/plugin/stubs/tests-api.ts +0 -102
@@ -57,11 +57,8 @@ let HostedPluginLocalizationService = class HostedPluginLocalizationService {
57
57
  if ((_a = plugin.contributes) === null || _a === void 0 ? void 0 : _a.localizations) {
58
58
  // Indicator that this plugin is a vscode language pack
59
59
  // Language packs translate Theia and some builtin vscode extensions
60
- const localizations = buildLocalizations(plugin.contributes.localizations);
61
- disposable.push(core_1.Disposable.create(() => {
62
- this.localizationProvider.removeLocalizations(...localizations);
63
- }));
64
- this.localizationProvider.addLocalizations(...localizations);
60
+ const localizations = buildLocalizations(plugin.metadata.model.packageUri, plugin.contributes.localizations);
61
+ disposable.push(this.localizationProvider.addLocalizations(...localizations));
65
62
  }
66
63
  if (plugin.metadata.model.l10n || ((_b = plugin.contributes) === null || _b === void 0 ? void 0 : _b.localizations)) {
67
64
  // Indicator that this plugin is a vscode language pack or has its own localization bundles
@@ -87,26 +84,29 @@ let HostedPluginLocalizationService = class HostedPluginLocalizationService {
87
84
  const pluginId = plugin.metadata.model.id;
88
85
  const packageUri = new core_1.URI(plugin.metadata.model.packageUri);
89
86
  if ((_a = plugin.contributes) === null || _a === void 0 ? void 0 : _a.localizations) {
87
+ const l10nPromises = [];
90
88
  for (const localization of plugin.contributes.localizations) {
91
89
  for (const translation of localization.translations) {
92
- const l10n = getL10nTranslation(translation);
93
- if (l10n) {
94
- const translatedPluginId = translation.id;
95
- const translationUri = packageUri.resolve(translation.path);
96
- const locale = localization.languageId;
97
- // We store a bundle for another extension in here
98
- // Hence we use `translatedPluginId` instead of `pluginId`
99
- this.languagePackService.storeBundle(translatedPluginId, locale, {
100
- contents: processL10nBundle(l10n),
101
- uri: translationUri.toString()
102
- });
103
- disposable.push(core_1.Disposable.create(() => {
104
- // Only dispose the deleted locale for the specific plugin
105
- this.languagePackService.deleteBundle(translatedPluginId, locale);
106
- }));
107
- }
90
+ l10nPromises.push(getL10nTranslation(plugin.metadata.model.packageUri, translation).then(l10n => {
91
+ if (l10n) {
92
+ const translatedPluginId = translation.id;
93
+ const translationUri = packageUri.resolve(translation.path);
94
+ const locale = localization.languageId;
95
+ // We store a bundle for another extension in here
96
+ // Hence we use `translatedPluginId` instead of `pluginId`
97
+ this.languagePackService.storeBundle(translatedPluginId, locale, {
98
+ contents: processL10nBundle(l10n),
99
+ uri: translationUri.toString()
100
+ });
101
+ disposable.push(core_1.Disposable.create(() => {
102
+ // Only dispose the deleted locale for the specific plugin
103
+ this.languagePackService.deleteBundle(translatedPluginId, locale);
104
+ }));
105
+ }
106
+ }));
108
107
  }
109
108
  }
109
+ await Promise.all(l10nPromises);
110
110
  }
111
111
  // The `l10n` field of the plugin model points to a relative directory path within the plugin
112
112
  // It is supposed to contain localization bundles that contain translations of the plugin strings into different languages
@@ -136,11 +136,13 @@ let HostedPluginLocalizationService = class HostedPluginLocalizationService {
136
136
  */
137
137
  async localizePlugin(plugin) {
138
138
  const currentLanguage = this.localizationProvider.getCurrentLanguage();
139
- const localization = this.localizationProvider.loadLocalization(currentLanguage);
140
139
  const pluginPath = new core_1.URI(plugin.metadata.model.packageUri).path.fsPath();
141
140
  const pluginId = plugin.metadata.model.id;
142
141
  try {
143
- const translations = await loadPackageTranslations(pluginPath, currentLanguage);
142
+ const [localization, translations] = await Promise.all([
143
+ this.localizationProvider.loadLocalization(currentLanguage),
144
+ loadPackageTranslations(pluginPath, currentLanguage),
145
+ ]);
144
146
  plugin = localizePackage(plugin, translations, (key, original) => {
145
147
  const fullKey = `${pluginId}/package/${key}`;
146
148
  return localization_1.Localization.localize(localization, fullKey, original);
@@ -216,10 +218,27 @@ HostedPluginLocalizationService = __decorate([
216
218
  ], HostedPluginLocalizationService);
217
219
  exports.HostedPluginLocalizationService = HostedPluginLocalizationService;
218
220
  // New plugin localization logic using vscode.l10n
219
- function getL10nTranslation(translation) {
221
+ async function getL10nTranslation(packageUri, translation) {
222
+ var _a;
220
223
  // 'bundle' is a special key that contains all translations for the l10n vscode API
221
224
  // If that doesn't exist, we can assume that the language pack is using the old vscode-nls API
222
- return translation.contents.bundle;
225
+ if (translation.cachedContents) {
226
+ return translation.cachedContents.bundle;
227
+ }
228
+ else {
229
+ const translationPath = new core_1.URI(packageUri).path.join(translation.path).fsPath();
230
+ try {
231
+ const translationJson = await fs.readJson(translationPath);
232
+ translation.cachedContents = translationJson === null || translationJson === void 0 ? void 0 : translationJson.contents;
233
+ return (_a = translationJson === null || translationJson === void 0 ? void 0 : translationJson.contents) === null || _a === void 0 ? void 0 : _a.bundle;
234
+ }
235
+ catch (err) {
236
+ console.error('Failed reading translation file from: ' + translationPath, err);
237
+ // Store an empty object, so we don't reattempt to load the file
238
+ translation.cachedContents = {};
239
+ return undefined;
240
+ }
241
+ }
223
242
  }
224
243
  async function loadPluginBundles(l10nUri) {
225
244
  try {
@@ -256,27 +275,46 @@ function processL10nBundle(bundle) {
256
275
  }
257
276
  // Old plugin localization logic for vscode-nls
258
277
  // vscode-nls was used until version 1.73 of VSCode to translate extensions
259
- function buildLocalizations(localizations) {
278
+ // This style of localization is still used by vscode language packs
279
+ function buildLocalizations(packageUri, localizations) {
260
280
  const theiaLocalizations = [];
281
+ const packagePath = new core_1.URI(packageUri).path;
261
282
  for (const localization of localizations) {
283
+ let cachedLocalization;
262
284
  const theiaLocalization = {
263
285
  languageId: localization.languageId,
264
286
  languageName: localization.languageName,
265
287
  localizedLanguageName: localization.localizedLanguageName,
266
288
  languagePack: true,
267
- translations: {}
289
+ async getTranslations() {
290
+ cachedLocalization !== null && cachedLocalization !== void 0 ? cachedLocalization : (cachedLocalization = loadTranslations(packagePath, localization.translations));
291
+ return cachedLocalization;
292
+ },
268
293
  };
269
- for (const translation of localization.translations) {
270
- for (const [scope, value] of Object.entries(translation.contents)) {
294
+ theiaLocalizations.push(theiaLocalization);
295
+ }
296
+ return theiaLocalizations;
297
+ }
298
+ async function loadTranslations(packagePath, translations) {
299
+ const allTranslations = await Promise.all(translations.map(async (translation) => {
300
+ const values = {};
301
+ const translationPath = packagePath.join(translation.path).fsPath();
302
+ try {
303
+ const translationJson = await fs.readJson(translationPath);
304
+ const translationContents = translationJson === null || translationJson === void 0 ? void 0 : translationJson.contents;
305
+ for (const [scope, value] of Object.entries(translationContents !== null && translationContents !== void 0 ? translationContents : {})) {
271
306
  for (const [key, item] of Object.entries(value)) {
272
307
  const translationKey = buildTranslationKey(translation.id, scope, key);
273
- theiaLocalization.translations[translationKey] = item;
308
+ values[translationKey] = item;
274
309
  }
275
310
  }
276
311
  }
277
- theiaLocalizations.push(theiaLocalization);
278
- }
279
- return theiaLocalizations;
312
+ catch (err) {
313
+ console.error('Failed to load translation from: ' + translationPath, err);
314
+ }
315
+ return values;
316
+ }));
317
+ return Object.assign({}, ...allTranslations);
280
318
  }
281
319
  function buildTranslationKey(pluginId, scope, key) {
282
320
  return `${pluginId}/${localization_1.Localization.transformKey(scope)}/${key}`;
@@ -1 +1 @@
1
- {"version":3,"file":"hosted-plugin-localization-service.js","sourceRoot":"","sources":["../../../src/hosted/node/hosted-plugin-localization-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hosted-plugin-localization-service.js","sourceRoot":"","sources":["../../../src/hosted/node/hosted-plugin-localization-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-reader.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAkC,aAAa,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACjI,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBACa,kBAAmB,YAAW,8BAA8B;IAGrE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAGZ,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEzF;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE3D,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI;cA8BzB,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjG;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAUtF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAYrF,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc;IAiB7C,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAKtF,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;CAK3E"}
1
+ {"version":3,"file":"plugin-reader.d.ts","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":";AAiBA,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AAGtD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAkC,aAAa,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACjI,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,qBACa,kBAAmB,YAAW,8BAA8B;IAGrE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAGZ,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEzF;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE3D,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI;cA8BzB,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjG;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAUtF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAarF,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc;IAiB7C,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAKtF,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;CAK3E"}
@@ -27,6 +27,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.HostedPluginReader = void 0;
28
28
  const path = require("path");
29
29
  const escape_html = require("escape-html");
30
+ const promises_1 = require("fs/promises");
30
31
  const core_1 = require("@theia/core");
31
32
  const inversify_1 = require("@theia/core/shared/inversify");
32
33
  const plugin_protocol_1 = require("../../common/plugin-protocol");
@@ -90,11 +91,12 @@ let HostedPluginReader = class HostedPluginReader {
90
91
  if (!pluginPath) {
91
92
  return undefined;
92
93
  }
93
- const manifest = await (0, plugin_manifest_loader_1.loadManifest)(pluginPath);
94
+ const resolvedPluginPath = await (0, promises_1.realpath)(pluginPath);
95
+ const manifest = await (0, plugin_manifest_loader_1.loadManifest)(resolvedPluginPath);
94
96
  if (!manifest) {
95
97
  return undefined;
96
98
  }
97
- manifest.packagePath = pluginPath;
99
+ manifest.packagePath = resolvedPluginPath;
98
100
  return manifest;
99
101
  }
100
102
  readMetadata(plugin) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-reader.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;;;;;;;;AAEhF,6BAA6B;AAE7B,2CAA2C;AAC3C,sCAAsC;AACtC,4DAAyF;AAEzF,kEAAiI;AACjI,yDAAqD;AACrD,qEAAwD;AAGxD,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAA/B;QAWI;;WAEG;QACO,oBAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IAyF/D,CAAC;IAvFG,SAAS,CAAC,GAAwB;QAC9B,GAAG,CAAC,GAAG,CAAC,kCAAkC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;YACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,SAAS,EAAE;gBACX,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE;oBAC5C,IAAI,CAAC,CAAC,EAAE;wBACJ,kDAAkD;wBAClD,OAAO;qBACV;oBACD,OAAO,CAAC,KAAK,CAAC,uBAAuB,QAAQ,gBAAgB,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC7E,IAAI,GAAG,CAAC,WAAW,EAAE;wBACjB,iCAAiC;wBACjC,OAAO;qBACV;oBACD,8DAA8D;oBAC9D,IAAK,CAAS,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE;wBACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;qBACpF;yBAAM;wBACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mCAAmC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;qBAC7F;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC9C;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,GAAoB,EAAE,GAAqB;QAC7E,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAuB,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC1F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAA8B;QAClD,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAClD;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAA8B;QAC5C,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,qCAAY,EAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,SAAS,CAAC;SACpB;QACD,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;QAClC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,MAAqB;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE;YACzC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SACvH;QACD,IAAI,cAAc,EAAE;YAChB,qBAAqB;YACrB,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACzB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAChD,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;aACN;YACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAA,6BAAW,EAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;SACnF;QACD,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAqB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CAAC,MAAqB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;CAEJ,CAAA;AApGG;IADC,IAAA,kBAAM,EAAC,cAAO,CAAC;;kDACmB;AAGnC;IADC,IAAA,kBAAM,EAAC,kCAAe,CAAC;8BACI,kCAAe;mDAAC;AAGZ;IAD/B,IAAA,oBAAQ,GAAE;IACV,IAAA,uBAAW,EAAC,mCAAiB,CAAC;;8DAA0D;AAThF,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;GACA,kBAAkB,CAuG9B;AAvGY,gDAAkB"}
1
+ {"version":3,"file":"plugin-reader.js","sourceRoot":"","sources":["../../../src/hosted/node/plugin-reader.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IconThemeContribution, IconUrl, PluginCommand, PluginContribution, PluginEngine, PluginLifecycle, PluginModel, PluginPackage, PluginPackageCommand, PluginScanner, PluginTaskDefinitionContribution, SnippetContribution, ThemeContribution, PluginPackageLocalization, Localization, PluginPackageTranslation, Translation, TerminalProfile } from '../../../common/plugin-protocol';
1
+ import { IconThemeContribution, IconContribution, IconUrl, PluginCommand, PluginContribution, PluginEngine, PluginLifecycle, PluginModel, PluginPackage, PluginPackageCommand, PluginScanner, PluginTaskDefinitionContribution, SnippetContribution, ThemeContribution, PluginPackageLocalization, Localization, PluginPackageTranslation, Translation, TerminalProfile } from '../../../common/plugin-protocol';
2
2
  import { IJSONSchema } from '@theia/core/lib/common/json-schema';
3
3
  import { ColorDefinition } from '@theia/core/lib/common/color';
4
4
  import { PluginUriFactory } from './plugin-uri-factory';
@@ -12,9 +12,9 @@ export declare class TheiaPluginScanner implements PluginScanner {
12
12
  getDependencies(rawPlugin: PluginPackage): Map<string, string> | undefined;
13
13
  getContribution(rawPlugin: PluginPackage): Promise<PluginContribution | undefined>;
14
14
  protected readTerminals(pck: PluginPackage): TerminalProfile[] | undefined;
15
- protected readLocalizations(pck: PluginPackage): Promise<Localization[] | undefined>;
16
- protected readLocalization({ languageId, languageName, localizedLanguageName, translations }: PluginPackageLocalization, pluginPath: string): Promise<Localization>;
17
- protected readTranslation(packageTranslation: PluginPackageTranslation, pluginPath: string): Promise<Translation>;
15
+ protected readLocalizations(pck: PluginPackage): Localization[] | undefined;
16
+ protected readLocalization({ languageId, languageName, localizedLanguageName, translations }: PluginPackageLocalization, pluginPath: string): Localization;
17
+ protected readTranslation(packageTranslation: PluginPackageTranslation, pluginPath: string): Translation;
18
18
  protected readCommand({ command, title, original, category, icon, enablement }: PluginPackageCommand, pck: PluginPackage): PluginCommand;
19
19
  protected transformIconUrl(plugin: PluginPackage, original?: IconUrl): {
20
20
  iconUrl?: IconUrl;
@@ -24,6 +24,7 @@ export declare class TheiaPluginScanner implements PluginScanner {
24
24
  protected readColors(pck: PluginPackage): ColorDefinition[] | undefined;
25
25
  protected readThemes(pck: PluginPackage): ThemeContribution[] | undefined;
26
26
  protected readIconThemes(pck: PluginPackage): IconThemeContribution[] | undefined;
27
+ protected readIcons(pck: PluginPackage): IconContribution[] | undefined;
27
28
  protected readSnippets(pck: PluginPackage): SnippetContribution[] | undefined;
28
29
  protected readJson<T>(filePath: string): Promise<T | undefined>;
29
30
  protected readFile(filePath: string): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"scanner-theia.d.ts","sourceRoot":"","sources":["../../../../src/hosted/node/scanners/scanner-theia.ts"],"names":[],"mappings":"AAmBA,OAAO,EAKH,qBAAqB,EACrB,OAAO,EAKP,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACb,oBAAoB,EAUpB,aAAa,EACb,gCAAgC,EAChC,mBAAmB,EAEnB,iBAAiB,EAOjB,yBAAyB,EACzB,YAAY,EACZ,wBAAwB,EACxB,WAAW,EAEX,eAAe,EAClB,MAAM,iCAAiC,CAAC;AAQzC,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAIjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgBxD,qBACa,kBAAmB,YAAW,aAAa;IAEpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IAGxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAGhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEtD,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW;IAyB5C,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe;IAUpD,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAKpE,eAAe,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IA2OxF,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,eAAe,EAAE,GAAG,SAAS;cAO1D,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;cAO1E,gBAAgB,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;cAWzJ,eAAe,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAUvH,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE,aAAa,GAAG,aAAa;IAKxI,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAmB5H,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAIvE,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,eAAe,EAAE,GAAG,SAAS;IAoCvE,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,iBAAiB,EAAE,GAAG,SAAS;IAmBzE,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,qBAAqB,EAAE,GAAG,SAAS;IAyBjF,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,mBAAmB,EAAE,GAAG,SAAS;cAiB7D,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAIrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa3D,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,QAAQ;YAWF,aAAa;IAI3B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW;YAUL,YAAY;IA+B1B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,kBAAkB;IAc1B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,gCAAgC,GAAG,WAAW;IAW7E,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,uBAAuB,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAA;KAAE,GAAG,WAAW,EAAE;IA+E3H,OAAO,CAAC,4BAA4B;IA8CpC,OAAO,CAAC,4BAA4B;CAwCvC"}
1
+ {"version":3,"file":"scanner-theia.d.ts","sourceRoot":"","sources":["../../../../src/hosted/node/scanners/scanner-theia.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ const errors_1 = require("../../../common/errors");
36
36
  const jsoncparser = require("jsonc-parser");
37
37
  const objects_1 = require("@theia/core/lib/common/objects");
38
38
  const preference_schema_1 = require("@theia/core/lib/common/preferences/preference-schema");
39
+ const icon_utilities_1 = require("@theia/core/lib/common/markdown-rendering/icon-utilities");
39
40
  const plugin_uri_factory_1 = require("./plugin-uri-factory");
40
41
  var nls;
41
42
  (function (nls) {
@@ -50,6 +51,11 @@ const INTERNAL_CONSOLE_OPTIONS_SCHEMA = {
50
51
  description: nls.localize('internalConsoleOptions', 'Controls when the internal debug console should open.')
51
52
  };
52
53
  const colorIdPattern = '^\\w+[.\\w+]*$';
54
+ const iconIdPattern = `^${icon_utilities_1.CSSIcon.iconNameSegment}(-${icon_utilities_1.CSSIcon.iconNameSegment})+$`;
55
+ function getFileExtension(filePath) {
56
+ const index = filePath.lastIndexOf('.');
57
+ return index === -1 ? '' : filePath.substring(index + 1);
58
+ }
53
59
  let TheiaPluginScanner = class TheiaPluginScanner {
54
60
  constructor() {
55
61
  this._apiType = 'theiaPlugin';
@@ -274,6 +280,12 @@ let TheiaPluginScanner = class TheiaPluginScanner {
274
280
  catch (err) {
275
281
  console.error(`Could not read '${rawPlugin.name}' contribution 'themes'.`, rawPlugin.contributes.themes, err);
276
282
  }
283
+ try {
284
+ contributions.icons = this.readIcons(rawPlugin);
285
+ }
286
+ catch (err) {
287
+ console.error(`Could not read '${rawPlugin.name}' contribution 'icons'.`, rawPlugin.contributes.icons, err);
288
+ }
277
289
  try {
278
290
  contributions.iconThemes = this.readIconThemes(rawPlugin);
279
291
  }
@@ -292,17 +304,16 @@ let TheiaPluginScanner = class TheiaPluginScanner {
292
304
  catch (err) {
293
305
  console.error(`Could not read '${rawPlugin.name}' contribution 'terminals'.`, rawPlugin.contributes.terminal, err);
294
306
  }
295
- const [localizationsResult, languagesResult, grammarsResult] = await Promise.allSettled([
296
- this.readLocalizations(rawPlugin),
307
+ try {
308
+ contributions.localizations = this.readLocalizations(rawPlugin);
309
+ }
310
+ catch (err) {
311
+ console.error(`Could not read '${rawPlugin.name}' contribution 'localizations'.`, rawPlugin.contributes.localizations, err);
312
+ }
313
+ const [languagesResult, grammarsResult] = await Promise.allSettled([
297
314
  rawPlugin.contributes.languages ? this.readLanguages(rawPlugin.contributes.languages, rawPlugin.packagePath) : undefined,
298
315
  rawPlugin.contributes.grammars ? this.grammarsReader.readGrammars(rawPlugin.contributes.grammars, rawPlugin.packagePath) : undefined
299
316
  ]);
300
- if (localizationsResult.status === 'fulfilled') {
301
- contributions.localizations = localizationsResult.value;
302
- }
303
- else {
304
- console.error(`Could not read '${rawPlugin.name}' contribution 'localizations'.`, rawPlugin.contributes.localizations, localizationsResult.reason);
305
- }
306
317
  if (rawPlugin.contributes.languages) {
307
318
  if (languagesResult.status === 'fulfilled') {
308
319
  contributions.languages = languagesResult.value;
@@ -328,29 +339,27 @@ let TheiaPluginScanner = class TheiaPluginScanner {
328
339
  }
329
340
  return pck.contributes.terminal.profiles.filter(profile => profile.id && profile.title);
330
341
  }
331
- async readLocalizations(pck) {
342
+ readLocalizations(pck) {
332
343
  if (!pck.contributes || !pck.contributes.localizations) {
333
344
  return undefined;
334
345
  }
335
- return Promise.all(pck.contributes.localizations.map(e => this.readLocalization(e, pck.packagePath)));
346
+ return pck.contributes.localizations.map(e => this.readLocalization(e, pck.packagePath));
336
347
  }
337
- async readLocalization({ languageId, languageName, localizedLanguageName, translations }, pluginPath) {
348
+ readLocalization({ languageId, languageName, localizedLanguageName, translations }, pluginPath) {
338
349
  const local = {
339
350
  languageId,
340
351
  languageName,
341
352
  localizedLanguageName,
342
353
  translations: []
343
354
  };
344
- local.translations = await Promise.all(translations.map(e => this.readTranslation(e, pluginPath)));
355
+ local.translations = translations.map(e => this.readTranslation(e, pluginPath));
345
356
  return local;
346
357
  }
347
- async readTranslation(packageTranslation, pluginPath) {
348
- const translation = await this.readJson(path.resolve(pluginPath, packageTranslation.path));
349
- if (!translation) {
350
- throw new Error(`Could not read json file '${packageTranslation.path}'.`);
351
- }
352
- translation.id = packageTranslation.id;
353
- translation.path = packageTranslation.path;
358
+ readTranslation(packageTranslation, pluginPath) {
359
+ const translation = {
360
+ id: packageTranslation.id,
361
+ path: packageTranslation.path
362
+ };
354
363
  return translation;
355
364
  }
356
365
  readCommand({ command, title, original, category, icon, enablement }, pck) {
@@ -458,6 +467,57 @@ let TheiaPluginScanner = class TheiaPluginScanner {
458
467
  }
459
468
  return result;
460
469
  }
470
+ readIcons(pck) {
471
+ if (!pck.contributes || !pck.contributes.icons) {
472
+ return undefined;
473
+ }
474
+ const result = [];
475
+ const iconEntries = pck.contributes.icons;
476
+ for (const id in iconEntries) {
477
+ if (pck.contributes.icons.hasOwnProperty(id)) {
478
+ if (!id.match(iconIdPattern)) {
479
+ console.error("'configuration.icons' keys represent the icon id and can only contain letter, digits and minuses. " +
480
+ 'They need to consist of at least two segments in the form `component-iconname`.', 'extension: ', pck.name, 'icon id: ', id);
481
+ return;
482
+ }
483
+ const iconContribution = iconEntries[id];
484
+ if (typeof iconContribution.description !== 'string' || iconContribution.description['length'] === 0) {
485
+ console.error('configuration.icons.description must be defined and can not be empty, ', 'extension: ', pck.name, 'icon id: ', id);
486
+ return;
487
+ }
488
+ const defaultIcon = iconContribution.default;
489
+ if (typeof defaultIcon === 'string') {
490
+ result.push({
491
+ id,
492
+ extensionId: pck.publisher + '.' + pck.name,
493
+ description: iconContribution.description,
494
+ defaults: { id: defaultIcon }
495
+ });
496
+ }
497
+ else if (typeof defaultIcon === 'object' && typeof defaultIcon.fontPath === 'string' && typeof defaultIcon.fontCharacter === 'string') {
498
+ const format = getFileExtension(defaultIcon.fontPath);
499
+ if (['woff', 'woff2', 'ttf'].indexOf(format) === -1) {
500
+ console.warn("Expected `contributes.icons.default.fontPath` to have file extension 'woff', woff2' or 'ttf', is '{0}'.", format);
501
+ return;
502
+ }
503
+ const iconFontLocation = this.pluginUriFactory.createUri(pck, defaultIcon.fontPath).toString();
504
+ result.push({
505
+ id,
506
+ extensionId: pck.publisher + '.' + pck.name,
507
+ description: iconContribution.description,
508
+ defaults: {
509
+ fontCharacter: defaultIcon.fontCharacter,
510
+ location: iconFontLocation
511
+ }
512
+ });
513
+ }
514
+ else {
515
+ console.error("'configuration.icons.default' must be either a reference to the id of an other theme icon (string) or a icon definition (object) with ", 'properties `fontPath` and `fontCharacter`.');
516
+ }
517
+ }
518
+ }
519
+ return result;
520
+ }
461
521
  readSnippets(pck) {
462
522
  if (!pck.contributes || !pck.contributes.snippets) {
463
523
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"scanner-theia.js","sourceRoot":"","sources":["../../../../src/hosted/node/scanners/scanner-theia.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner-theia.js","sourceRoot":"","sources":["../../../../src/hosted/node/scanners/scanner-theia.ts"],"names":[],"mappings":"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"}