@theia/plugin-ext 1.39.0 → 1.40.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/lib/common/plugin-api-rpc-model.d.ts +3 -0
  2. package/lib/common/plugin-api-rpc-model.d.ts.map +1 -1
  3. package/lib/common/plugin-api-rpc-model.js.map +1 -1
  4. package/lib/common/plugin-api-rpc.d.ts +10 -2
  5. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  6. package/lib/common/plugin-api-rpc.js.map +1 -1
  7. package/lib/main/browser/authentication-main.d.ts +1 -1
  8. package/lib/main/browser/authentication-main.d.ts.map +1 -1
  9. package/lib/main/browser/authentication-main.js +19 -5
  10. package/lib/main/browser/authentication-main.js.map +1 -1
  11. package/lib/main/browser/languages-main.d.ts +3 -3
  12. package/lib/main/browser/languages-main.d.ts.map +1 -1
  13. package/lib/main/browser/languages-main.js +12 -3
  14. package/lib/main/browser/languages-main.js.map +1 -1
  15. package/lib/main/browser/view/tree-view-widget.d.ts +3 -1
  16. package/lib/main/browser/view/tree-view-widget.d.ts.map +1 -1
  17. package/lib/main/browser/view/tree-view-widget.js +23 -1
  18. package/lib/main/browser/view/tree-view-widget.js.map +1 -1
  19. package/lib/main/browser/workspace-main.d.ts +6 -0
  20. package/lib/main/browser/workspace-main.d.ts.map +1 -1
  21. package/lib/main/browser/workspace-main.js +27 -0
  22. package/lib/main/browser/workspace-main.js.map +1 -1
  23. package/lib/main/node/paths/plugin-paths-service.d.ts +2 -0
  24. package/lib/main/node/paths/plugin-paths-service.d.ts.map +1 -1
  25. package/lib/main/node/paths/plugin-paths-service.js +6 -10
  26. package/lib/main/node/paths/plugin-paths-service.js.map +1 -1
  27. package/lib/main/node/plugins-key-value-storage.d.ts.map +1 -1
  28. package/lib/main/node/plugins-key-value-storage.js +3 -6
  29. package/lib/main/node/plugins-key-value-storage.js.map +1 -1
  30. package/lib/main/node/plugins-key-value-storage.spec.js +4 -0
  31. package/lib/main/node/plugins-key-value-storage.spec.js.map +1 -1
  32. package/lib/plugin/authentication-ext.d.ts +2 -6
  33. package/lib/plugin/authentication-ext.d.ts.map +1 -1
  34. package/lib/plugin/languages/completion.d.ts.map +1 -1
  35. package/lib/plugin/languages/completion.js +4 -1
  36. package/lib/plugin/languages/completion.js.map +1 -1
  37. package/lib/plugin/languages.d.ts +1 -1
  38. package/lib/plugin/languages.d.ts.map +1 -1
  39. package/lib/plugin/languages.js +2 -2
  40. package/lib/plugin/languages.js.map +1 -1
  41. package/lib/plugin/plugin-context.d.ts.map +1 -1
  42. package/lib/plugin/plugin-context.js +11 -3
  43. package/lib/plugin/plugin-context.js.map +1 -1
  44. package/lib/plugin/plugin-manager.d.ts.map +1 -1
  45. package/lib/plugin/plugin-manager.js +1 -0
  46. package/lib/plugin/plugin-manager.js.map +1 -1
  47. package/lib/plugin/types-impl.d.ts +7 -1
  48. package/lib/plugin/types-impl.d.ts.map +1 -1
  49. package/lib/plugin/types-impl.js +4 -2
  50. package/lib/plugin/types-impl.js.map +1 -1
  51. package/lib/plugin/workspace.d.ts +5 -0
  52. package/lib/plugin/workspace.d.ts.map +1 -1
  53. package/lib/plugin/workspace.js +33 -0
  54. package/lib/plugin/workspace.js.map +1 -1
  55. package/package.json +27 -27
  56. package/src/common/plugin-api-rpc-model.ts +4 -0
  57. package/src/common/plugin-api-rpc.ts +11 -2
  58. package/src/main/browser/authentication-main.ts +23 -6
  59. package/src/main/browser/languages-main.ts +17 -4
  60. package/src/main/browser/view/tree-view-widget.tsx +26 -2
  61. package/src/main/browser/workspace-main.ts +35 -2
  62. package/src/main/node/paths/plugin-paths-service.ts +9 -11
  63. package/src/main/node/plugins-key-value-storage.spec.ts +4 -0
  64. package/src/main/node/plugins-key-value-storage.ts +3 -6
  65. package/src/plugin/authentication-ext.ts +2 -2
  66. package/src/plugin/languages/completion.ts +5 -1
  67. package/src/plugin/languages.ts +6 -2
  68. package/src/plugin/plugin-context.ts +11 -3
  69. package/src/plugin/plugin-manager.ts +1 -0
  70. package/src/plugin/types-impl.ts +13 -1
  71. package/src/plugin/workspace.ts +39 -1
@@ -32,6 +32,7 @@ const paths_util_1 = require("../common/paths-util");
32
32
  const uri_components_1 = require("../common/uri-components");
33
33
  const type_converters_1 = require("./type-converters");
34
34
  const Converter = require("./type-converters");
35
+ const types_1 = require("../common/types");
35
36
  class WorkspaceExtImpl {
36
37
  constructor(rpc, editorsAndDocuments, messageService) {
37
38
  this.editorsAndDocuments = editorsAndDocuments;
@@ -44,6 +45,7 @@ class WorkspaceExtImpl {
44
45
  this._trusted = undefined;
45
46
  this.didGrantWorkspaceTrustEmitter = new event_1.Emitter();
46
47
  this.onDidGrantWorkspaceTrust = this.didGrantWorkspaceTrustEmitter.event;
48
+ this.canonicalUriProviders = new Map();
47
49
  this.proxy = rpc.getProxy(plugin_api_rpc_1.PLUGIN_RPC_CONTEXT.WORKSPACE_MAIN);
48
50
  }
49
51
  get rootPath() {
@@ -370,6 +372,37 @@ class WorkspaceExtImpl {
370
372
  this.didGrantWorkspaceTrustEmitter.fire();
371
373
  }
372
374
  }
375
+ registerCanonicalUriProvider(scheme, provider) {
376
+ if (this.canonicalUriProviders.has(scheme)) {
377
+ throw new Error(`Canonical URI provider for scheme: '${scheme}' already exists locally`);
378
+ }
379
+ this.canonicalUriProviders.set(scheme, provider);
380
+ this.proxy.$registerCanonicalUriProvider(scheme).catch(e => {
381
+ console.error(`Canonical URI provider for scheme: '${scheme}' already exists globally`);
382
+ this.canonicalUriProviders.delete(scheme);
383
+ });
384
+ const result = types_impl_1.Disposable.create(() => { this.proxy.$unregisterCanonicalUriProvider(scheme); });
385
+ return result;
386
+ }
387
+ $disposeCanonicalUriProvider(scheme) {
388
+ if (!this.canonicalUriProviders.delete(scheme)) {
389
+ console.warn(`No canonical uri provider registered for '${scheme}'`);
390
+ }
391
+ }
392
+ async getCanonicalUri(uri, options, token) {
393
+ const canonicalUri = await this.proxy.$getCanonicalUri(uri.toString(), options.targetScheme, token);
394
+ return (0, types_1.isUndefined)(canonicalUri) ? undefined : types_impl_1.URI.parse(canonicalUri);
395
+ }
396
+ async $provideCanonicalUri(uri, targetScheme, token) {
397
+ const parsed = types_impl_1.URI.parse(uri);
398
+ const provider = this.canonicalUriProviders.get(parsed.scheme);
399
+ if (!provider) {
400
+ console.warn(`No canonical uri provider registered for '${parsed.scheme}'`);
401
+ return undefined;
402
+ }
403
+ const result = await provider.provideCanonicalUri(parsed, { targetScheme: targetScheme }, token);
404
+ return (0, types_1.isUndefinedOrNull)(result) ? undefined : result.toString();
405
+ }
373
406
  /** @stubbed */
374
407
  $registerEditSessionIdentityProvider(scheme, provider) {
375
408
  return types_impl_1.Disposable.NULL;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/plugin/workspace.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;AAChF;;;gGAGgG;AAChG,+IAA+I;;;AAE/I,8BAA8B;AAE9B,wDAA8D;AAC9D,sEAAwE;AACxE,6DAMkC;AAClC,sDAAmD;AAInD,6CAA+C;AAC/C,wDAAyD;AACzD,qDAAgD;AAChD,6DAAmD;AACnD,uDAAsD;AAEtD,+CAA+C;AAG/C,MAAa,gBAAgB;IAiBzB,YAAY,GAAgB,EAChB,mBAA+C,EAC/C,cAAkC;QADlC,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,mBAAc,GAAd,cAAc,CAAoB;QAftC,mCAA8B,GAAG,IAAI,eAAO,EAAqC,CAAC;QAC1E,gCAA2B,GAA6C,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC;QAI1H,6BAAwB,GAAG,IAAI,GAAG,EAA6C,CAAC;QAChF,6BAAwB,GAAmE,IAAI,eAAO,EAAyD,CAAC;QAC9J,4BAAuB,GAAW,CAAC,CAAC;QAEtC,aAAQ,GAAa,SAAS,CAAC;QAC/B,kCAA6B,GAAG,IAAI,eAAO,EAAQ,CAAC;QAC5C,6BAAwB,GAAgB,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;QAK7F,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,mCAAG,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;IACvC,CAAC;IAED,IAAI,gBAAgB;QAChB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3C,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACJ,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3D,OAAO,IAAI,WAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;SAC3D;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,0BAA0B,CAAC,KAAgC;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE1D,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAE1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,2BAA2B,CAAC,IAA0B;QAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,mBAAmB,CAAC,eAAuB,EAAE,IAAa,EAAE,MAAgC;QACxF,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACtB,MAAM,KAAK,GAAU;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM;oBACvC,aAAa,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC;oBAC5B,WAAW,EAAE,IAAI,CAAC,SAAS;oBAC3B,eAAe,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC;iBACjC,CAAC;gBACF,MAAM,MAAM,GAAgB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,YAAY,GAA0B;oBACxC,GAAG,EAAE,gBAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC9B,OAAO,EAAE;wBACL,IAAI,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;wBAC5E,OAAO,EAAE,MAAM;qBAClB;oBACD,MAAM,EAAE,MAAM;iBACjB,CAAC;gBACF,OAAO,YAAY,CAAC;YACxB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;SACvG;aAAM,IAAI,IAAI,EAAE;YACb,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;SACrE;IACL,CAAC;IAEO,YAAY,CAAC,iBAA0C,EAAE,EAAE,aAAsC,EAAE;QAIvG,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAC7D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAEO,WAAW,CAAC,UAAmC,EAAE,EAAE,UAAmC,EAAE;QAC5F,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE7D,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,KAAa;QACjD,MAAM,GAAG,GAAG,gBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO;YACH,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,KAAK;SACf,CAAC;IACN,CAAC;IAED,mBAAmB,CAAC,OAA0C;QAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,WAAW,GAAmC;gBAChD,WAAW,EAAE,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAC7E,cAAc,EAAE,OAAO,IAAI,OAAO,CAAC,cAAc;aACpD,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACtD,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,OAA0B,EAAE,OAAkC,EAAE,UAAmB,EACzF,QAA2B,gCAAiB,CAAC,IAAI;QACjD,IAAI,cAAsB,CAAC;QAC3B,IAAI,gBAAoC,CAAC;QACzC,IAAI,OAAO,EAAE;YACT,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC7B,cAAc,GAAG,OAAO,CAAC;aAC5B;iBAAM;gBACH,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;gBACjC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;aACjD;SACJ;aAAM;YACH,cAAc,GAAG,EAAE,CAAC;SACvB;QAED,IAAI,iCAAiD,CAAC;QACtD,IAAI,OAAO,KAAK,SAAS,EAAE;YACvB,iCAAiC,GAAG,EAAE,CAAC,CAAC,mBAAmB;SAC9D;aAAM,IAAI,OAAO,EAAE;YAChB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC7B,iCAAiC,GAAG,OAAO,CAAC;aAC/C;iBAAM;gBACH,iCAAiC,GAAG,OAAO,CAAC,OAAO,CAAC;aACvD;SACJ;aAAM;YACH,iCAAiC,GAAG,KAAK,CAAC,CAAC,cAAc;SAC5D;QAED,IAAI,KAAK,IAAI,KAAK,CAAC,uBAAuB,EAAE;YACxC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC9B;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,UAAU,EAAE,KAAK,CAAC;aACrH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,eAAe,CAAC,KAA4B,EAAE,iBAA4F,EACtI,eAAgF,EAAE,KAAyB;QAC3G,IAAI,OAAqC,CAAC;QAC1C,IAAI,QAAkD,CAAC;QAEvD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;YACvC,OAAO,GAAG,iBAAiB,CAAC;YAC5B,QAAQ,GAAG,eAA2D,CAAC;SAC1E;aAAM;YACH,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,iBAAiB,CAAC;YAC7B,KAAK,GAAG,eAAoC,CAAC;SAChD;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,uBAAuB,GAAG,YAAY,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YAClE,IAAI,YAAY,CAAC,QAAQ,KAAK,YAAY,EAAE;gBACxC,IAAI,YAAY,CAAC,MAAM,EAAE;oBACrB,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;iBACjC;qBAAM;oBACH,UAAU,CAAC,OAAO,EAAE,CAAC;iBACxB;aACJ;QACL,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE;gBAC/B,UAAU,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;SACN;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAClF,CAAC;IAED,mCAAmC,CAAC,MAAc,EAAE,QAA2C;QAC3F,kFAAkF;QAClF,mCAAmC;QACnC,gEAAgE;QAChE,IAAI,MAAM,KAAK,wBAAO,CAAC,IAAI,IAAI,MAAM,KAAK,wBAAO,CAAC,QAAQ,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,8CAA8C,MAAM,yBAAyB,CAAC,CAAC;SAClG;aAAM,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAClD,kIAAkI;YAClI,OAAO,CAAC,IAAI,CAAC,kEAAkE,MAAM,uCAAuC,CAAC,CAAC;YAC9H,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;SACjC;QAED,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,MAAM,CAAC,CAAC;QAExD,IAAI,uBAAyC,CAAC;QAC9C,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,UAAU,EAAE;YAC5C,uBAAuB,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBACvD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE;oBAC/E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACvE,IAAI,OAAO,EAAE;wBACT,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;qBACpE;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,OAAO;YACH,OAAO;gBACH,IAAI,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;oBAClD,QAAQ,CAAC,KAAK,CAAC,sCAAsC,CAAC,MAAM,CAAC,CAAC;iBACjE;gBAED,IAAI,uBAAuB,EAAE;oBACzB,uBAAuB,CAAC,OAAO,EAAE,CAAC;iBACrC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,WAAmB;QACjD,MAAM,GAAG,GAAG,gBAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,QAAQ,EAAE;YACV,OAAO,QAAQ,CAAC,0BAA0B,CAAC,GAAG,EAAE,gCAAiB,CAAC,IAAI,CAAC,CAAC;SAC3E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,GAAc,EAAE,aAAuB;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACvC,OAAO,SAAS,CAAC;SACpB;QAED,SAAS,OAAO,CAAC,QAAa;YAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE;gBAC5B,OAAO,gBAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;aACnD;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;aACrC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACtC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;SACtB;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAEpC,IAAI,eAAkD,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAEzC,IAAI,YAAY,KAAK,UAAU,EAAE;gBAC7B,OAAO,IAAA,mCAAiB,EAAC,MAAM,CAAC,CAAC;aACpC;YAED,IAAI,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC;mBAChC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG;mBACvC,CAAC,CAAC,eAAe,IAAI,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;gBACpF,eAAe,GAAG,MAAM,CAAC;aAC5B;SACJ;QACD,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,SAAS,CAAC,GAAQ;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,eAAe,CAAC,SAA6B,EAAE,gBAA0B;QACrE,IAAI,IAAwB,CAAC;QAC7B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YAC/B,IAAI,GAAG,SAAS,CAAC;SACpB;aAAM,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;YACzC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;SAC3B;QAED,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,IAAI,CAAC;SACf;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAClC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/D,IAAI,CACkB,CAAC;QAE3B,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,IAAI,CAAC;SACf;QAED,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;YACzC,gBAAgB,GAAG,IAAI,CAAC,OAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/C;QAED,IAAI,MAAM,GAAG,IAAA,qBAAQ,EAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,gBAAgB,EAAE;YAClB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;SACvC;QACD,OAAO,IAAA,iBAAS,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,sBAAsB,CAAC,KAAa,EAAE,WAAmB,EAAE,GAAG,qBAA0D;QACpH,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YACtC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACxC,MAAM,GAAG,GAAG,gBAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACrE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBAC7B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACvB;YACL,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAChE,OAAO,KAAK,CAAC,CAAC,mBAAmB;SACpC;QAED,IAAI,WAAW,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC,CAAC,2BAA2B;SAC5C;QAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAC5D,IAAI,KAAK,GAAG,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE;YACtD,OAAO,KAAK,CAAC,CAAC,kCAAkC;SACnD;QAED,+EAA+E;QAC/E,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7D,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAU,EAAE,KAAK,EAAE,SAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9I,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACvH,OAAO,KAAK,CAAC,CAAC,4CAA4C;aAC7D;SACJ;QAED,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;QAC3F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC,CAAC,2BAA2B;SAC5C;QAED,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAC1F,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gCAAe,CAAC,KAAK,EAAE,uCAAuC,KAAK,EAAE,CAAC,CACzG,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEO,eAAe,CAAC,SAA+B;QACnD,4DAA4D;QAC5D,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAG,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpE;IACL,CAAC;IAED,IAAI,OAAO;QACP,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAChC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,qBAAqB,CAAC,OAA4C;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,wBAAwB,CAAC,KAA0B;QAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;YACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;SAC7C;IACL,CAAC;IAED,eAAe;IACf,oCAAoC,CAAC,MAAc,EAAE,QAA2C;QAC5F,OAAO,uBAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;CAEJ;AA3ZD,4CA2ZC"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/plugin/workspace.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;AAChF;;;gGAGgG;AAChG,+IAA+I;;;AAE/I,8BAA8B;AAE9B,wDAA8D;AAC9D,sEAAwE;AACxE,6DAMkC;AAClC,sDAAmD;AAInD,6CAA+C;AAC/C,wDAAyD;AACzD,qDAAgD;AAChD,6DAAmD;AACnD,uDAAsD;AAEtD,+CAA+C;AAE/C,2CAAiE;AAEjE,MAAa,gBAAgB;IAmBzB,YAAY,GAAgB,EAChB,mBAA+C,EAC/C,cAAkC;QADlC,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,mBAAc,GAAd,cAAc,CAAoB;QAjBtC,mCAA8B,GAAG,IAAI,eAAO,EAAqC,CAAC;QAC1E,gCAA2B,GAA6C,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC;QAI1H,6BAAwB,GAAG,IAAI,GAAG,EAA6C,CAAC;QAChF,6BAAwB,GAAmE,IAAI,eAAO,EAAyD,CAAC;QAC9J,4BAAuB,GAAW,CAAC,CAAC;QAEtC,aAAQ,GAAa,SAAS,CAAC;QAC/B,kCAA6B,GAAG,IAAI,eAAO,EAAQ,CAAC;QAC5C,6BAAwB,GAAgB,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;QAEzF,0BAAqB,GAAG,IAAI,GAAG,EAAsC,CAAC;QAK1E,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,mCAAG,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;IACvC,CAAC;IAED,IAAI,gBAAgB;QAChB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3C,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACJ,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3D,OAAO,IAAI,WAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;SAC3D;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,0BAA0B,CAAC,KAAgC;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE1D,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAE1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,2BAA2B,CAAC,IAA0B;QAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,mBAAmB,CAAC,eAAuB,EAAE,IAAa,EAAE,MAAgC;QACxF,IAAI,MAAM,EAAE;YACR,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACtB,MAAM,KAAK,GAAU;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM;oBACvC,aAAa,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC;oBAC5B,WAAW,EAAE,IAAI,CAAC,SAAS;oBAC3B,eAAe,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC;iBACjC,CAAC;gBACF,MAAM,MAAM,GAAgB,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,YAAY,GAA0B;oBACxC,GAAG,EAAE,gBAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC9B,OAAO,EAAE;wBACL,IAAI,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;wBAC5E,OAAO,EAAE,MAAM;qBAClB;oBACD,MAAM,EAAE,MAAM;iBACjB,CAAC;gBACF,OAAO,YAAY,CAAC;YACxB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;SACvG;aAAM,IAAI,IAAI,EAAE;YACb,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;SACrE;IACL,CAAC;IAEO,YAAY,CAAC,iBAA0C,EAAE,EAAE,aAAsC,EAAE;QAIvG,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAC7D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;IAEO,WAAW,CAAC,UAAmC,EAAE,EAAE,UAAmC,EAAE;QAC5F,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE7D,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,KAAa;QACjD,MAAM,GAAG,GAAG,gBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO;YACH,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,KAAK;SACf,CAAC;IACN,CAAC;IAED,mBAAmB,CAAC,OAA0C;QAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,WAAW,GAAmC;gBAChD,WAAW,EAAE,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAC7E,cAAc,EAAE,OAAO,IAAI,OAAO,CAAC,cAAc;aACpD,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACtD,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,OAA0B,EAAE,OAAkC,EAAE,UAAmB,EACzF,QAA2B,gCAAiB,CAAC,IAAI;QACjD,IAAI,cAAsB,CAAC;QAC3B,IAAI,gBAAoC,CAAC;QACzC,IAAI,OAAO,EAAE;YACT,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC7B,cAAc,GAAG,OAAO,CAAC;aAC5B;iBAAM;gBACH,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;gBACjC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;aACjD;SACJ;aAAM;YACH,cAAc,GAAG,EAAE,CAAC;SACvB;QAED,IAAI,iCAAiD,CAAC;QACtD,IAAI,OAAO,KAAK,SAAS,EAAE;YACvB,iCAAiC,GAAG,EAAE,CAAC,CAAC,mBAAmB;SAC9D;aAAM,IAAI,OAAO,EAAE;YAChB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC7B,iCAAiC,GAAG,OAAO,CAAC;aAC/C;iBAAM;gBACH,iCAAiC,GAAG,OAAO,CAAC,OAAO,CAAC;aACvD;SACJ;aAAM;YACH,iCAAiC,GAAG,KAAK,CAAC,CAAC,cAAc;SAC5D;QAED,IAAI,KAAK,IAAI,KAAK,CAAC,uBAAuB,EAAE;YACxC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC9B;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,UAAU,EAAE,KAAK,CAAC;aACrH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,eAAe,CAAC,KAA4B,EAAE,iBAA4F,EACtI,eAAgF,EAAE,KAAyB;QAC3G,IAAI,OAAqC,CAAC;QAC1C,IAAI,QAAkD,CAAC;QAEvD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;YACvC,OAAO,GAAG,iBAAiB,CAAC;YAC5B,QAAQ,GAAG,eAA2D,CAAC;SAC1E;aAAM;YACH,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,GAAG,iBAAiB,CAAC;YAC7B,KAAK,GAAG,eAAoC,CAAC;SAChD;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,uBAAuB,GAAG,YAAY,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YAClE,IAAI,YAAY,CAAC,QAAQ,KAAK,YAAY,EAAE;gBACxC,IAAI,YAAY,CAAC,MAAM,EAAE;oBACrB,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;iBACjC;qBAAM;oBACH,UAAU,CAAC,OAAO,EAAE,CAAC;iBACxB;aACJ;QACL,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,EAAE;YACP,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE;gBAC/B,UAAU,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;SACN;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAClF,CAAC;IAED,mCAAmC,CAAC,MAAc,EAAE,QAA2C;QAC3F,kFAAkF;QAClF,mCAAmC;QACnC,gEAAgE;QAChE,IAAI,MAAM,KAAK,wBAAO,CAAC,IAAI,IAAI,MAAM,KAAK,wBAAO,CAAC,QAAQ,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,8CAA8C,MAAM,yBAAyB,CAAC,CAAC;SAClG;aAAM,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAClD,kIAAkI;YAClI,OAAO,CAAC,IAAI,CAAC,kEAAkE,MAAM,uCAAuC,CAAC,CAAC;YAC9H,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;SACjC;QAED,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,MAAM,CAAC,CAAC;QAExD,IAAI,uBAAyC,CAAC;QAC9C,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,UAAU,EAAE;YAC5C,uBAAuB,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBACvD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE;oBAC/E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACvE,IAAI,OAAO,EAAE;wBACT,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;qBACpE;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,OAAO;YACH,OAAO;gBACH,IAAI,QAAQ,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;oBAClD,QAAQ,CAAC,KAAK,CAAC,sCAAsC,CAAC,MAAM,CAAC,CAAC;iBACjE;gBAED,IAAI,uBAAuB,EAAE;oBACzB,uBAAuB,CAAC,OAAO,EAAE,CAAC;iBACrC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,WAAmB;QACjD,MAAM,GAAG,GAAG,gBAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,QAAQ,EAAE;YACV,OAAO,QAAQ,CAAC,0BAA0B,CAAC,GAAG,EAAE,gCAAiB,CAAC,IAAI,CAAC,CAAC;SAC3E;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,GAAc,EAAE,aAAuB;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACvC,OAAO,SAAS,CAAC;SACpB;QAED,SAAS,OAAO,CAAC,QAAa;YAC1B,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE;gBAC5B,OAAO,gBAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;aACnD;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;aACrC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACtC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;SACtB;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAEpC,IAAI,eAAkD,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAEzC,IAAI,YAAY,KAAK,UAAU,EAAE;gBAC7B,OAAO,IAAA,mCAAiB,EAAC,MAAM,CAAC,CAAC;aACpC;YAED,IAAI,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC;mBAChC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG;mBACvC,CAAC,CAAC,eAAe,IAAI,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;gBACpF,eAAe,GAAG,MAAM,CAAC;aAC5B;SACJ;QACD,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEO,SAAS,CAAC,GAAQ;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,eAAe,CAAC,SAA6B,EAAE,gBAA0B;QACrE,IAAI,IAAwB,CAAC;QAC7B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YAC/B,IAAI,GAAG,SAAS,CAAC;SACpB;aAAM,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;YACzC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;SAC3B;QAED,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,IAAI,CAAC;SACf;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAClC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/D,IAAI,CACkB,CAAC;QAE3B,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,IAAI,CAAC;SACf;QAED,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;YACzC,gBAAgB,GAAG,IAAI,CAAC,OAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/C;QAED,IAAI,MAAM,GAAG,IAAA,qBAAQ,EAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,gBAAgB,EAAE;YAClB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;SACvC;QACD,OAAO,IAAA,iBAAS,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,sBAAsB,CAAC,KAAa,EAAE,WAAmB,EAAE,GAAG,qBAA0D;QACpH,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YACtC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACxC,MAAM,GAAG,GAAG,gBAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACrE,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBAC7B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBACvB;YACL,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAChE,OAAO,KAAK,CAAC,CAAC,mBAAmB;SACpC;QAED,IAAI,WAAW,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC,CAAC,2BAA2B;SAC5C;QAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAC5D,IAAI,KAAK,GAAG,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE;YACtD,OAAO,KAAK,CAAC,CAAC,kCAAkC;SACnD;QAED,+EAA+E;QAC/E,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7D,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAU,EAAE,KAAK,EAAE,SAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9I,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACvH,OAAO,KAAK,CAAC,CAAC,4CAA4C;aAC7D;SACJ;QAED,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;QAC3F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC,CAAC,2BAA2B;SAC5C;QAED,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAC1F,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,gCAAe,CAAC,KAAK,EAAE,uCAAuC,KAAK,EAAE,CAAC,CACzG,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEO,eAAe,CAAC,SAA+B;QACnD,4DAA4D;QAC5D,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACrC,IAAI,CAAC,gBAAgB,GAAG,gBAAG,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpE;IACL,CAAC;IAED,IAAI,OAAO;QACP,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAChC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,qBAAqB,CAAC,OAA4C;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,wBAAwB,CAAC,KAA0B;QAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;YACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,CAAC;SAC7C;IACL,CAAC;IAED,4BAA4B,CAAC,MAAc,EAAE,QAAoC;QAC7E,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,0BAA0B,CAAC,CAAC;SAC5F;QAED,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACvD,OAAO,CAAC,KAAK,CAAC,uCAAuC,MAAM,2BAA2B,CAAC,CAAC;YACxF,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,uBAAU,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,4BAA4B,CAAC,MAAc;QACvC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC5C,OAAO,CAAC,IAAI,CAAC,6CAA6C,MAAM,GAAG,CAAC,CAAC;SACxE;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAc,EAAE,OAAyC,EAAE,KAA8B;QAC3G,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACpG,OAAO,IAAA,mBAAW,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,GAAW,EAAE,YAAoB,EAAE,KAAwB;QAClF,MAAM,MAAM,GAAG,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,CAAC,IAAI,CAAC,6CAA6C,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;QACjG,OAAO,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrE,CAAC;IAED,eAAe;IACf,oCAAoC,CAAC,MAAc,EAAE,QAA2C;QAC5F,OAAO,uBAAU,CAAC,IAAI,CAAC;IAC3B,CAAC;CACJ;AAhcD,4CAgcC"}
package/package.json CHANGED
@@ -1,35 +1,35 @@
1
1
  {
2
2
  "name": "@theia/plugin-ext",
3
- "version": "1.39.0",
3
+ "version": "1.40.1",
4
4
  "description": "Theia - Plugin Extension",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
7
7
  "dependencies": {
8
- "@theia/bulk-edit": "1.39.0",
9
- "@theia/callhierarchy": "1.39.0",
10
- "@theia/console": "1.39.0",
11
- "@theia/core": "1.39.0",
12
- "@theia/debug": "1.39.0",
13
- "@theia/editor": "1.39.0",
14
- "@theia/editor-preview": "1.39.0",
15
- "@theia/file-search": "1.39.0",
16
- "@theia/filesystem": "1.39.0",
17
- "@theia/markers": "1.39.0",
18
- "@theia/messages": "1.39.0",
19
- "@theia/monaco": "1.39.0",
8
+ "@theia/bulk-edit": "1.40.1",
9
+ "@theia/callhierarchy": "1.40.1",
10
+ "@theia/console": "1.40.1",
11
+ "@theia/core": "1.40.1",
12
+ "@theia/debug": "1.40.1",
13
+ "@theia/editor": "1.40.1",
14
+ "@theia/editor-preview": "1.40.1",
15
+ "@theia/file-search": "1.40.1",
16
+ "@theia/filesystem": "1.40.1",
17
+ "@theia/markers": "1.40.1",
18
+ "@theia/messages": "1.40.1",
19
+ "@theia/monaco": "1.40.1",
20
20
  "@theia/monaco-editor-core": "1.72.3",
21
- "@theia/navigator": "1.39.0",
22
- "@theia/output": "1.39.0",
23
- "@theia/plugin": "1.39.0",
24
- "@theia/preferences": "1.39.0",
25
- "@theia/scm": "1.39.0",
26
- "@theia/search-in-workspace": "1.39.0",
27
- "@theia/task": "1.39.0",
28
- "@theia/terminal": "1.39.0",
29
- "@theia/timeline": "1.39.0",
30
- "@theia/typehierarchy": "1.39.0",
31
- "@theia/variable-resolver": "1.39.0",
32
- "@theia/workspace": "1.39.0",
21
+ "@theia/navigator": "1.40.1",
22
+ "@theia/output": "1.40.1",
23
+ "@theia/plugin": "1.40.1",
24
+ "@theia/preferences": "1.40.1",
25
+ "@theia/scm": "1.40.1",
26
+ "@theia/search-in-workspace": "1.40.1",
27
+ "@theia/task": "1.40.1",
28
+ "@theia/terminal": "1.40.1",
29
+ "@theia/timeline": "1.40.1",
30
+ "@theia/typehierarchy": "1.40.1",
31
+ "@theia/variable-resolver": "1.40.1",
32
+ "@theia/workspace": "1.40.1",
33
33
  "@types/mime": "^2.0.1",
34
34
  "@vscode/debugprotocol": "^1.51.0",
35
35
  "@vscode/proxy-agent": "^0.13.2",
@@ -85,7 +85,7 @@
85
85
  "watch": "theiaext watch"
86
86
  },
87
87
  "devDependencies": {
88
- "@theia/ext-scripts": "1.39.0",
88
+ "@theia/ext-scripts": "1.40.1",
89
89
  "@types/decompress": "^4.2.2",
90
90
  "@types/escape-html": "^0.0.20",
91
91
  "@types/lodash.clonedeep": "^4.5.3",
@@ -94,5 +94,5 @@
94
94
  "nyc": {
95
95
  "extends": "../../configs/nyc.json"
96
96
  },
97
- "gitHead": "2d69fc210d6a9f6566f8f0abcf472628156c0362"
97
+ "gitHead": "0e8c43e9249c76520503b39003e7ad9c721bcd3e"
98
98
  }
@@ -329,6 +329,10 @@ export interface DocumentDropEdit {
329
329
  additionalEdit?: WorkspaceEdit;
330
330
  }
331
331
 
332
+ export interface DocumentDropEditProviderMetadata {
333
+ readonly dropMimeTypes: readonly string[];
334
+ }
335
+
332
336
  export interface DataTransferFileDTO {
333
337
  readonly name: string;
334
338
  readonly uri?: UriComponents;
@@ -87,7 +87,8 @@ import {
87
87
  InlineCompletions,
88
88
  InlineCompletionContext,
89
89
  DocumentDropEdit,
90
- DataTransferDTO
90
+ DataTransferDTO,
91
+ DocumentDropEditProviderMetadata
91
92
  } from './plugin-api-rpc-model';
92
93
  import { ExtPluginApi } from './plugin-ext-api-contribution';
93
94
  import { KeysToAnyValues, KeysToKeysToAnyValue } from './types';
@@ -694,6 +695,9 @@ export interface WorkspaceMain {
694
695
  $getWorkspace(): Promise<files.FileStat | undefined>;
695
696
  $requestWorkspaceTrust(options?: theia.WorkspaceTrustRequestOptions): Promise<boolean | undefined>;
696
697
  $resolveProxy(url: string): Promise<string | undefined>;
698
+ $registerCanonicalUriProvider(scheme: string): Promise<void | undefined>;
699
+ $unregisterCanonicalUriProvider(scheme: string): void;
700
+ $getCanonicalUri(uri: string, targetScheme: string, token: theia.CancellationToken): Promise<string | undefined>;
697
701
  }
698
702
 
699
703
  export interface WorkspaceExt {
@@ -703,6 +707,10 @@ export interface WorkspaceExt {
703
707
  $onTextSearchResult(searchRequestId: number, done: boolean, result?: SearchInWorkspaceResult): void;
704
708
  $onWorkspaceTrustChanged(trust: boolean | undefined): void;
705
709
  $registerEditSessionIdentityProvider(scheme: string, provider: theia.EditSessionIdentityProvider): theia.Disposable;
710
+ registerCanonicalUriProvider(scheme: string, provider: theia.CanonicalUriProvider): theia.Disposable;
711
+ $disposeCanonicalUriProvider(scheme: string): void;
712
+ getCanonicalUri(uri: theia.Uri, options: theia.CanonicalUriRequestOptions, token: CancellationToken): theia.ProviderResult<theia.Uri>;
713
+ $provideCanonicalUri(uri: string, targetScheme: string, token: CancellationToken): Promise<string | undefined>;
706
714
  }
707
715
 
708
716
  export interface TimelineExt {
@@ -1510,6 +1518,7 @@ export interface TaskPresentationOptionsDTO {
1510
1518
  panel?: number;
1511
1519
  showReuseMessage?: boolean;
1512
1520
  clear?: boolean;
1521
+ close?: boolean;
1513
1522
  }
1514
1523
 
1515
1524
  export interface TaskExecutionDto {
@@ -1657,7 +1666,7 @@ export interface LanguagesMain {
1657
1666
  $clearDiagnostics(id: string): void;
1658
1667
  $changeDiagnostics(id: string, delta: [string, MarkerData[]][]): void;
1659
1668
  $registerDocumentFormattingSupport(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
1660
- $registerDocumentDropEditProvider(handle: number, selector: SerializedDocumentFilter[]): void
1669
+ $registerDocumentDropEditProvider(handle: number, selector: SerializedDocumentFilter[], metadata?: DocumentDropEditProviderMetadata): void
1661
1670
  $registerRangeFormattingSupport(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
1662
1671
  $registerOnTypeFormattingProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[], autoFormatTriggerCharacters: string[]): void;
1663
1672
  $registerDocumentLinkProvider(handle: number, pluginInfo: PluginInfo, selector: SerializedDocumentFilter[]): void;
@@ -24,7 +24,7 @@ import { interfaces } from '@theia/core/shared/inversify';
24
24
  import { AuthenticationExt, AuthenticationMain, MAIN_RPC_CONTEXT } from '../../common/plugin-api-rpc';
25
25
  import { RPCProtocol } from '../../common/rpc-protocol';
26
26
  import { MessageService } from '@theia/core/lib/common/message-service';
27
- import { Dialog, StorageService } from '@theia/core/lib/browser';
27
+ import { ConfirmDialog, Dialog, StorageService } from '@theia/core/lib/browser';
28
28
  import {
29
29
  AuthenticationProvider,
30
30
  AuthenticationService,
@@ -34,6 +34,7 @@ import { QuickPickService } from '@theia/core/lib/common/quick-pick-service';
34
34
  import * as theia from '@theia/plugin';
35
35
  import { QuickPickValue } from '@theia/core/lib/browser/quick-input/quick-input-service';
36
36
  import { nls } from '@theia/core/lib/common/nls';
37
+ import { isObject } from '@theia/core';
37
38
 
38
39
  export function getAuthenticationProviderActivationEvent(id: string): string { return `onAuthenticationRequest:${id}`; }
39
40
 
@@ -117,7 +118,7 @@ export class AuthenticationMainImpl implements AuthenticationMain {
117
118
  // We may need to prompt because we don't have a valid session modal flows
118
119
  if (options.createIfNone || options.forceNewSession) {
119
120
  const providerName = this.authenticationService.getLabel(providerId);
120
- const detail = (typeof options.forceNewSession === 'object') ? options.forceNewSession!.detail : undefined;
121
+ const detail = isAuthenticationForceNewSessionOptions(options.forceNewSession) ? options.forceNewSession!.detail : undefined;
121
122
  const isAllowed = await this.loginPrompt(providerName, extensionName, !!options.forceNewSession, detail);
122
123
  if (!isAllowed) {
123
124
  throw new Error('User did not consent to login.');
@@ -197,12 +198,24 @@ export class AuthenticationMainImpl implements AuthenticationMain {
197
198
  return allow;
198
199
  }
199
200
 
200
- protected async loginPrompt(providerName: string, extensionName: string, recreatingSession: boolean, _detail?: string): Promise<boolean> {
201
- const message = recreatingSession
201
+ protected async loginPrompt(providerName: string, extensionName: string, recreatingSession: boolean, detail?: string): Promise<boolean> {
202
+ const msg = document.createElement('span');
203
+ msg.textContent = recreatingSession
202
204
  ? nls.localizeByDefault("The extension '{0}' wants you to sign in again using {1}.", extensionName, providerName)
203
205
  : nls.localizeByDefault("The extension '{0}' wants to sign in using {1}.", extensionName, providerName);
204
- const choice = await this.messageService.info(message, 'Allow', 'Cancel');
205
- return choice === 'Allow';
206
+
207
+ if (detail) {
208
+ const detailElement = document.createElement('p');
209
+ detailElement.textContent = detail;
210
+ msg.appendChild(detailElement);
211
+ }
212
+
213
+ return !!await new ConfirmDialog({
214
+ title: nls.localize('theia/plugin-ext/authentication-main/loginTitle', 'Login'),
215
+ msg,
216
+ ok: nls.localizeByDefault('Allow'),
217
+ cancel: Dialog.CANCEL
218
+ }).open();
206
219
  }
207
220
 
208
221
  protected async isAccessAllowed(providerId: string, accountName: string, extensionId: string): Promise<boolean> {
@@ -224,6 +237,10 @@ export class AuthenticationMainImpl implements AuthenticationMain {
224
237
  }
225
238
  }
226
239
 
240
+ function isAuthenticationForceNewSessionOptions(arg: unknown): arg is theia.AuthenticationForceNewSessionOptions {
241
+ return isObject<theia.AuthenticationForceNewSessionOptions>(arg) && typeof arg.detail === 'string';
242
+ }
243
+
227
244
  async function addAccountUsage(storageService: StorageService, providerId: string, accountName: string, extensionId: string, extensionName: string): Promise<void> {
228
245
  const accountKey = `authentication-${providerId}-${accountName}-usages`;
229
246
  const usages = await readAccountUsages(storageService, providerId, accountName);
@@ -40,7 +40,8 @@ import {
40
40
  import { injectable, inject } from '@theia/core/shared/inversify';
41
41
  import {
42
42
  SerializedDocumentFilter, MarkerData, Range, RelatedInformation,
43
- MarkerSeverity, DocumentLink, WorkspaceSymbolParams, CodeAction, CompletionDto, CodeActionProviderDocumentation, InlayHint, InlayHintLabelPart, CodeActionContext
43
+ MarkerSeverity, DocumentLink, WorkspaceSymbolParams, CodeAction, CompletionDto,
44
+ CodeActionProviderDocumentation, InlayHint, InlayHintLabelPart, CodeActionContext, DocumentDropEditProviderMetadata
44
45
  } from '../../common/plugin-api-rpc-model';
45
46
  import { RPCProtocol } from '../../common/rpc-protocol';
46
47
  import { MonacoLanguages, WorkspaceSymbolProvider } from '@theia/monaco/lib/browser/monaco-languages';
@@ -726,12 +727,20 @@ export class LanguagesMainImpl implements LanguagesMain, Disposable {
726
727
  return this.proxy.$provideOnTypeFormattingEdits(handle, model.uri, position, ch, options, token);
727
728
  }
728
729
 
729
- $registerDocumentDropEditProvider(handle: number, selector: SerializedDocumentFilter[]): void {
730
- this.register(handle, (StandaloneServices.get(ILanguageFeaturesService).documentOnDropEditProvider.register(selector, this.createDocumentDropEditProvider(handle))));
730
+ $registerDocumentDropEditProvider(handle: number, selector: SerializedDocumentFilter[], metadata?: DocumentDropEditProviderMetadata): void {
731
+ this.register(
732
+ handle,
733
+ StandaloneServices
734
+ .get(ILanguageFeaturesService)
735
+ .documentOnDropEditProvider
736
+ .register(selector, this.createDocumentDropEditProvider(handle, metadata))
737
+ );
731
738
  }
732
739
 
733
- createDocumentDropEditProvider(handle: number): DocumentOnDropEditProvider {
740
+ createDocumentDropEditProvider(handle: number, _metadata?: DocumentDropEditProviderMetadata): DocumentOnDropEditProvider {
734
741
  return {
742
+ // @monaco-uplift dropMimeTypes should be supported by the monaco drop editor provider after 1.79.0
743
+ // dropMimeTypes: metadata?.dropMimeTypes ?? ['*/*'],
735
744
  provideDocumentOnDropEdits: async (model, position, dataTransfer, token) => this.provideDocumentDropEdits(handle, model, position, dataTransfer, token)
736
745
  };
737
746
  }
@@ -742,6 +751,10 @@ export class LanguagesMainImpl implements LanguagesMain, Disposable {
742
751
  const edit = await this.proxy.$provideDocumentDropEdits(handle, model.uri, position, await DataTransfer.toDataTransferDTO(dataTransfer), token);
743
752
  if (edit) {
744
753
  return {
754
+ // @monaco-uplift id, priority and label should be supported by monaco after 1.79.0. The implementation relies on a copy of the plugin data
755
+ // id: edit.id ? plugin.identifier.value + '.' + edit.id : plugin.identifier.value,
756
+ // label: edit.label ?? nls.localizeByDefault("Drop using '{0}' extension", plugin.displayName || plugin.name),
757
+ // priority: edit.priority ?? 0,
745
758
  insertText: edit.insertText instanceof SnippetString ? { snippet: edit.insertText.value } : edit.insertText,
746
759
  additionalEdit: toMonacoWorkspaceEdit(edit?.additionalEdit)
747
760
  };
@@ -32,7 +32,8 @@ import {
32
32
  TooltipAttributes,
33
33
  TreeSelection,
34
34
  HoverService,
35
- ApplicationShell
35
+ ApplicationShell,
36
+ KeybindingRegistry
36
37
  } from '@theia/core/lib/browser';
37
38
  import { MenuPath, MenuModelRegistry, ActionMenuNode } from '@theia/core/lib/common/menu';
38
39
  import * as React from '@theia/core/shared/react';
@@ -404,6 +405,9 @@ export class TreeViewWidget extends TreeViewWelcomeWidget {
404
405
  @inject(MenuModelRegistry)
405
406
  protected readonly menus: MenuModelRegistry;
406
407
 
408
+ @inject(KeybindingRegistry)
409
+ protected readonly keybindings: KeybindingRegistry;
410
+
407
411
  @inject(ContextKeyService)
408
412
  protected readonly contextKeys: ContextKeyService;
409
413
 
@@ -441,6 +445,7 @@ export class TreeViewWidget extends TreeViewWelcomeWidget {
441
445
  this.toDispose.push(this.model.onDidChangeWelcomeState(this.update, this));
442
446
  this.toDispose.push(this.onDidChangeVisibilityEmitter);
443
447
  this.toDispose.push(this.contextKeyService.onDidChange(() => this.update()));
448
+ this.toDispose.push(this.keybindings.onKeybindingsChanged(() => this.update()));
444
449
  this.treeDragType = `application/vnd.code.tree.${this.id.toLowerCase()}`;
445
450
  }
446
451
 
@@ -731,6 +736,23 @@ export class TreeViewWidget extends TreeViewWelcomeWidget {
731
736
  return { viewId: this.id, itemId: treeNode.id };
732
737
  }
733
738
 
739
+ protected resolveKeybindingForCommand(command: string | undefined): string {
740
+ let result = '';
741
+ if (command) {
742
+ const bindings = this.keybindings.getKeybindingsForCommand(command);
743
+ let found = false;
744
+ if (bindings && bindings.length > 0) {
745
+ bindings.forEach(binding => {
746
+ if (!found && this.keybindings.isEnabledInScope(binding, this.node)) {
747
+ found = true;
748
+ result = ` (${this.keybindings.acceleratorFor(binding, '+')})`;
749
+ }
750
+ });
751
+ }
752
+ }
753
+ return result;
754
+ }
755
+
734
756
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
735
757
  protected renderInlineCommand(actionMenuNode: ActionMenuNode, index: number, tabbable: boolean, args: any[]): React.ReactNode {
736
758
  if (!actionMenuNode.icon || !this.commands.isVisible(actionMenuNode.command, ...args) || !actionMenuNode.when || !this.contextKeys.match(actionMenuNode.when)) {
@@ -738,7 +760,9 @@ export class TreeViewWidget extends TreeViewWelcomeWidget {
738
760
  }
739
761
  const className = [TREE_NODE_SEGMENT_CLASS, TREE_NODE_TAIL_CLASS, actionMenuNode.icon, ACTION_ITEM, 'theia-tree-view-inline-action'].join(' ');
740
762
  const tabIndex = tabbable ? 0 : undefined;
741
- return <div key={index} className={className} title={actionMenuNode.label} tabIndex={tabIndex} onClick={e => {
763
+ const titleString = actionMenuNode.label + this.resolveKeybindingForCommand(actionMenuNode.command);
764
+
765
+ return <div key={index} className={className} title={titleString} tabIndex={tabIndex} onClick={e => {
742
766
  e.stopPropagation();
743
767
  this.commands.executeCommand(actionMenuNode.command, ...args);
744
768
  }} />;
@@ -22,10 +22,10 @@ import { URI as Uri } from '@theia/core/shared/vscode-uri';
22
22
  import { UriComponents } from '../../common/uri-components';
23
23
  import { FileSearchService } from '@theia/file-search/lib/common/file-search-service';
24
24
  import URI from '@theia/core/lib/common/uri';
25
- import { WorkspaceService, WorkspaceTrustService } from '@theia/workspace/lib/browser';
25
+ import { WorkspaceService, WorkspaceTrustService, CanonicalUriService } from '@theia/workspace/lib/browser';
26
26
  import { Resource } from '@theia/core/lib/common/resource';
27
27
  import { Disposable, DisposableCollection } from '@theia/core/lib/common/disposable';
28
- import { Emitter, Event, ResourceResolver, CancellationToken } from '@theia/core';
28
+ import { Emitter, Event, ResourceResolver, CancellationToken, isUndefined } from '@theia/core';
29
29
  import { PluginServer } from '../../common/plugin-protocol';
30
30
  import { FileSystemPreferences } from '@theia/filesystem/lib/browser';
31
31
  import { SearchInWorkspaceService } from '@theia/search-in-workspace/lib/browser/search-in-workspace-service';
@@ -55,6 +55,8 @@ export class WorkspaceMainImpl implements WorkspaceMain, Disposable {
55
55
 
56
56
  private workspaceService: WorkspaceService;
57
57
 
58
+ protected readonly canonicalUriService: CanonicalUriService;
59
+
58
60
  private workspaceTrustService: WorkspaceTrustService;
59
61
 
60
62
  private fsPreferences: FileSystemPreferences;
@@ -63,6 +65,8 @@ export class WorkspaceMainImpl implements WorkspaceMain, Disposable {
63
65
 
64
66
  protected workspaceSearch: Set<number> = new Set<number>();
65
67
 
68
+ protected readonly canonicalUriProviders = new Map<string, Disposable>();
69
+
66
70
  constructor(rpc: RPCProtocol, container: interfaces.Container) {
67
71
  this.proxy = rpc.getProxy(MAIN_RPC_CONTEXT.WORKSPACE_EXT);
68
72
  this.storageProxy = rpc.getProxy(MAIN_RPC_CONTEXT.STORAGE_EXT);
@@ -73,6 +77,7 @@ export class WorkspaceMainImpl implements WorkspaceMain, Disposable {
73
77
  this.pluginServer = container.get(PluginServer);
74
78
  this.requestService = container.get(RequestService);
75
79
  this.workspaceService = container.get(WorkspaceService);
80
+ this.canonicalUriService = container.get(CanonicalUriService);
76
81
  this.workspaceTrustService = container.get(WorkspaceTrustService);
77
82
  this.fsPreferences = container.get(FileSystemPreferences);
78
83
 
@@ -285,6 +290,34 @@ export class WorkspaceMainImpl implements WorkspaceMain, Disposable {
285
290
  async $requestWorkspaceTrust(_options?: theia.WorkspaceTrustRequestOptions): Promise<boolean | undefined> {
286
291
  return this.workspaceTrustService.requestWorkspaceTrust();
287
292
  }
293
+
294
+ async $registerCanonicalUriProvider(scheme: string): Promise<void | undefined> {
295
+ this.canonicalUriProviders.set(scheme,
296
+ this.canonicalUriService.registerCanonicalUriProvider(scheme, {
297
+ provideCanonicalUri: async (uri, targetScheme, token) => {
298
+ const canonicalUri = await this.proxy.$provideCanonicalUri(uri.toString(), targetScheme, CancellationToken.None);
299
+ return isUndefined(uri) ? undefined : new URI(canonicalUri);
300
+ },
301
+ dispose: () => {
302
+ this.proxy.$disposeCanonicalUriProvider(scheme);
303
+ },
304
+ }));
305
+ }
306
+
307
+ $unregisterCanonicalUriProvider(scheme: string): void {
308
+ const disposable = this.canonicalUriProviders.get(scheme);
309
+ if (disposable) {
310
+ this.canonicalUriProviders.delete(scheme);
311
+ disposable.dispose();
312
+ } else {
313
+ console.warn(`No canonical uri provider registered for '${scheme}'`);
314
+ }
315
+ }
316
+
317
+ async $getCanonicalUri(uri: string, targetScheme: string, token: theia.CancellationToken): Promise<string | undefined> {
318
+ const canonicalUri = await this.canonicalUriService.provideCanonicalUri(new URI(uri), targetScheme, token);
319
+ return isUndefined(canonicalUri) ? undefined : canonicalUri.toString();
320
+ }
288
321
  }
289
322
 
290
323
  /**
@@ -24,7 +24,7 @@ import { ILogger } from '@theia/core';
24
24
  import { FileUri } from '@theia/core/lib/node';
25
25
  import { PluginPaths } from './const';
26
26
  import { PluginPathsService } from '../../common/plugin-paths-protocol';
27
- import { THEIA_EXT, VSCODE_EXT, getTemporaryWorkspaceFileUri } from '@theia/workspace/lib/common';
27
+ import { UntitledWorkspaceService } from '@theia/workspace/lib/common';
28
28
  import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
29
29
  import { PluginCliContribution } from '../plugin-cli-contribution';
30
30
 
@@ -43,6 +43,9 @@ export class PluginPathsServiceImpl implements PluginPathsService {
43
43
  @inject(PluginCliContribution)
44
44
  protected readonly cliContribution: PluginCliContribution;
45
45
 
46
+ @inject(UntitledWorkspaceService)
47
+ protected readonly untitledWorkspaceService: UntitledWorkspaceService;
48
+
46
49
  async getHostLogPath(): Promise<string> {
47
50
  const parentLogsDir = await this.getLogsDirPath();
48
51
 
@@ -78,7 +81,11 @@ export class PluginPathsServiceImpl implements PluginPathsService {
78
81
  }
79
82
 
80
83
  protected async buildWorkspaceId(workspaceUri: string, rootUris: string[]): Promise<string> {
81
- const untitledWorkspace = await getTemporaryWorkspaceFileUri(this.envServer);
84
+ const configDirUri = await this.envServer.getConfigDirUri();
85
+ const untitledWorkspace = await this.untitledWorkspaceService.getUntitledWorkspaceUri(
86
+ new URI(configDirUri),
87
+ async uri => !await fs.pathExists(uri.path.fsPath())
88
+ );
82
89
 
83
90
  if (untitledWorkspace.toString() === workspaceUri) {
84
91
  // if workspace is temporary
@@ -86,15 +93,6 @@ export class PluginPathsServiceImpl implements PluginPathsService {
86
93
  const rootsStr = rootUris.sort().join(',');
87
94
  return this.createHash(rootsStr);
88
95
  } else {
89
- let stat;
90
- try {
91
- stat = await fs.stat(FileUri.fsPath(workspaceUri));
92
- } catch { /* no-op */ }
93
- let displayName = new URI(workspaceUri).displayName;
94
- if ((!stat || !stat.isDirectory()) && (displayName.endsWith(`.${THEIA_EXT}`) || displayName.endsWith(`.${VSCODE_EXT}`))) {
95
- displayName = displayName.slice(0, displayName.lastIndexOf('.'));
96
- }
97
-
98
96
  return this.createHash(workspaceUri);
99
97
  }
100
98
  }
@@ -27,6 +27,8 @@ import { MockLogger } from '@theia/core/lib/common/test/mock-logger';
27
27
  import { MockEnvVariablesServerImpl } from '@theia/core/lib/browser/test/mock-env-variables-server';
28
28
  import { FileSystemLocking, FileUri } from '@theia/core/lib/node';
29
29
  import { FileSystemLockingImpl } from '@theia/core/lib/node/filesystem-locking';
30
+ import { WorkspaceFileService } from '@theia/workspace/lib/common';
31
+ import { UntitledWorkspaceService } from '@theia/workspace/lib/common/untitled-workspace-service';
30
32
  import * as temp from 'temp';
31
33
 
32
34
  const GlobalStorageKind = undefined;
@@ -39,6 +41,8 @@ describe('Plugins Key Value Storage', () => {
39
41
  container = new Container();
40
42
  container.bind(PluginsKeyValueStorage).toSelf().inSingletonScope();
41
43
  container.bind(PluginCliContribution).toSelf().inSingletonScope();
44
+ container.bind(UntitledWorkspaceService).toSelf().inSingletonScope();
45
+ container.bind(WorkspaceFileService).toSelf().inSingletonScope();
42
46
  container.bind(FileSystemLocking).to(FileSystemLockingImpl).inSingletonScope();
43
47
  container.bind(EnvVariablesServer).toConstantValue(new MockEnvVariablesServerImpl(FileUri.create(temp.track().mkdirSync())));
44
48
  container.bind(PluginPathsService).to(PluginPathsServiceImpl).inSingletonScope();
@@ -14,7 +14,6 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { deepmerge } from '@theia/core/shared/@theia/application-package';
18
17
  import { injectable, inject, postConstruct } from '@theia/core/shared/inversify';
19
18
  import { FileSystemLocking } from '@theia/core/lib/node';
20
19
  import * as fs from '@theia/core/shared/fs-extra';
@@ -111,11 +110,9 @@ export class PluginsKeyValueStorage {
111
110
 
112
111
  private syncStores(): void {
113
112
  this.syncStoresTimeout = setTimeout(async () => {
114
- await Promise.all(Array.from(this.storesToSync, async store => {
115
- await this.fsLocking.lockPath(store.fsPath, async storePath => {
116
- const valuesOnDisk = await this.readFromFile(storePath);
117
- store.values = deepmerge(valuesOnDisk, store.values);
118
- await this.writeToFile(storePath, store.values);
113
+ await Promise.all(Array.from(this.storesToSync, async ({ fsPath, values }) => {
114
+ await this.fsLocking.lockPath(fsPath, async storePath => {
115
+ await this.writeToFile(storePath, values);
119
116
  });
120
117
  }));
121
118
  this.storesToSync.clear();
@@ -42,12 +42,12 @@ export class AuthenticationExtImpl implements AuthenticationExt {
42
42
  }
43
43
 
44
44
  async getSession(requestingExtension: InternalPlugin, providerId: string, scopes: readonly string[],
45
- options: theia.AuthenticationGetSessionOptions & ({ createIfNone: true } | { forceNewSession: true } | { forceNewSession: { detail: string } })):
45
+ options: theia.AuthenticationGetSessionOptions & ({ createIfNone: true } | { forceNewSession: true } | { forceNewSession: theia.AuthenticationForceNewSessionOptions })):
46
46
  Promise<theia.AuthenticationSession>;
47
47
  async getSession(requestingExtension: InternalPlugin, providerId: string, scopes: readonly string[],
48
48
  options: theia.AuthenticationGetSessionOptions & { forceNewSession: true }): Promise<theia.AuthenticationSession>;
49
49
  async getSession(requestingExtension: InternalPlugin, providerId: string, scopes: readonly string[],
50
- options: theia.AuthenticationGetSessionOptions & { forceNewSession: { detail: string } }): Promise<theia.AuthenticationSession>;
50
+ options: theia.AuthenticationGetSessionOptions & { forceNewSession: theia.AuthenticationForceNewSessionOptions }): Promise<theia.AuthenticationSession>;
51
51
  async getSession(requestingExtension: InternalPlugin, providerId: string, scopes: readonly string[],
52
52
  options: theia.AuthenticationGetSessionOptions): Promise<theia.AuthenticationSession | undefined>;
53
53
  async getSession(requestingExtension: InternalPlugin, providerId: string, scopes: readonly string[],
@@ -153,13 +153,17 @@ export class CompletionAdapter {
153
153
  ? [CompletionItemTag.Deprecated]
154
154
  : undefined;
155
155
 
156
+ const documentation = typeof item.documentation !== 'undefined'
157
+ ? Converter.fromMarkdown(item.documentation)
158
+ : undefined;
159
+
156
160
  return {
157
161
  id,
158
162
  parentId,
159
163
  label: item.label,
160
164
  kind: Converter.fromCompletionItemKind(item.kind),
161
165
  detail: item.detail,
162
- documentation: item.documentation,
166
+ documentation,
163
167
  filterText: item.filterText,
164
168
  sortText: item.sortText,
165
169
  preselect: item.preselect,