@theia/plugin-ext 1.48.3 → 1.49.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 (85) hide show
  1. package/lib/common/plugin-api-rpc-model.d.ts +2 -2
  2. package/lib/common/plugin-api-rpc-model.d.ts.map +1 -1
  3. package/lib/common/plugin-protocol.d.ts +2 -0
  4. package/lib/common/plugin-protocol.d.ts.map +1 -1
  5. package/lib/common/plugin-protocol.js.map +1 -1
  6. package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
  7. package/lib/hosted/browser/hosted-plugin.js +1 -0
  8. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  9. package/lib/hosted/node/scanners/scanner-theia.d.ts +1 -1
  10. package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
  11. package/lib/hosted/node/scanners/scanner-theia.js +2 -2
  12. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  13. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.d.ts +4 -8
  14. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.d.ts.map +1 -1
  15. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js +18 -33
  16. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js.map +1 -1
  17. package/lib/main/browser/menus/plugin-menu-command-adapter.d.ts +1 -0
  18. package/lib/main/browser/menus/plugin-menu-command-adapter.d.ts.map +1 -1
  19. package/lib/main/browser/menus/plugin-menu-command-adapter.js +38 -0
  20. package/lib/main/browser/menus/plugin-menu-command-adapter.js.map +1 -1
  21. package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts +2 -2
  22. package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts.map +1 -1
  23. package/lib/main/browser/menus/vscode-theia-menu-mappings.js +3 -0
  24. package/lib/main/browser/menus/vscode-theia-menu-mappings.js.map +1 -1
  25. package/lib/main/browser/notebooks/notebook-dto.js +1 -1
  26. package/lib/main/browser/notebooks/notebook-dto.js.map +1 -1
  27. package/lib/main/browser/notebooks/notebook-kernels-main.d.ts.map +1 -1
  28. package/lib/main/browser/notebooks/notebook-kernels-main.js +8 -1
  29. package/lib/main/browser/notebooks/notebook-kernels-main.js.map +1 -1
  30. package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts.map +1 -1
  31. package/lib/main/browser/notebooks/renderers/cell-output-webview.js +14 -1
  32. package/lib/main/browser/notebooks/renderers/cell-output-webview.js.map +1 -1
  33. package/lib/main/browser/notebooks/renderers/output-webview-internal.js +5 -5
  34. package/lib/main/browser/notebooks/renderers/output-webview-internal.js.map +1 -1
  35. package/lib/main/browser/plugin-contribution-handler.js +4 -4
  36. package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
  37. package/lib/main/browser/view/plugin-view-registry.d.ts +6 -0
  38. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  39. package/lib/main/browser/view/plugin-view-registry.js +44 -27
  40. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  41. package/lib/main/node/plugin-deployer-impl.d.ts.map +1 -1
  42. package/lib/main/node/plugin-deployer-impl.js +22 -9
  43. package/lib/main/node/plugin-deployer-impl.js.map +1 -1
  44. package/lib/plugin/notebook/notebook-document.d.ts +1 -3
  45. package/lib/plugin/notebook/notebook-document.d.ts.map +1 -1
  46. package/lib/plugin/notebook/notebook-document.js +2 -16
  47. package/lib/plugin/notebook/notebook-document.js.map +1 -1
  48. package/lib/plugin/notebook/notebooks.d.ts.map +1 -1
  49. package/lib/plugin/notebook/notebooks.js +12 -10
  50. package/lib/plugin/notebook/notebooks.js.map +1 -1
  51. package/lib/plugin/plugin-context.d.ts.map +1 -1
  52. package/lib/plugin/plugin-context.js +8 -1
  53. package/lib/plugin/plugin-context.js.map +1 -1
  54. package/lib/plugin/tests.d.ts +4 -0
  55. package/lib/plugin/tests.d.ts.map +1 -1
  56. package/lib/plugin/tests.js +4 -0
  57. package/lib/plugin/tests.js.map +1 -1
  58. package/lib/plugin/type-converters.js +3 -2
  59. package/lib/plugin/type-converters.js.map +1 -1
  60. package/lib/plugin/types-impl.d.ts +65 -7
  61. package/lib/plugin/types-impl.d.ts.map +1 -1
  62. package/lib/plugin/types-impl.js +120 -6
  63. package/lib/plugin/types-impl.js.map +1 -1
  64. package/package.json +29 -29
  65. package/src/common/plugin-api-rpc-model.ts +2 -2
  66. package/src/common/plugin-protocol.ts +2 -0
  67. package/src/hosted/browser/hosted-plugin.ts +1 -0
  68. package/src/hosted/node/scanners/scanner-theia.ts +2 -2
  69. package/src/main/browser/custom-editors/plugin-custom-editor-registry.ts +14 -36
  70. package/src/main/browser/menus/plugin-menu-command-adapter.ts +39 -0
  71. package/src/main/browser/menus/vscode-theia-menu-mappings.ts +3 -0
  72. package/src/main/browser/notebooks/notebook-dto.ts +1 -1
  73. package/src/main/browser/notebooks/notebook-kernels-main.ts +9 -2
  74. package/src/main/browser/notebooks/renderers/cell-output-webview.tsx +14 -1
  75. package/src/main/browser/notebooks/renderers/output-webview-internal.ts +5 -5
  76. package/src/main/browser/plugin-contribution-handler.ts +4 -4
  77. package/src/main/browser/view/plugin-view-registry.ts +52 -27
  78. package/src/main/browser/webview/pre/host.js +1 -1
  79. package/src/main/node/plugin-deployer-impl.ts +20 -9
  80. package/src/plugin/notebook/notebook-document.ts +2 -17
  81. package/src/plugin/notebook/notebooks.ts +16 -12
  82. package/src/plugin/plugin-context.ts +16 -2
  83. package/src/plugin/tests.ts +5 -0
  84. package/src/plugin/type-converters.ts +5 -5
  85. package/src/plugin/types-impl.ts +114 -14
@@ -1643,15 +1643,11 @@ export class DocumentLink {
1643
1643
 
1644
1644
  @es5ClassCompat
1645
1645
  export class DocumentDropEdit {
1646
-
1647
- id?: string;
1648
-
1649
- priority?: number;
1650
-
1651
- label?: string;
1652
-
1646
+ title?: string;
1647
+ kind: DocumentPasteEditKind;
1648
+ handledMimeType?: string;
1649
+ yieldTo?: ReadonlyArray<DocumentPasteEditKind>;
1653
1650
  insertText: string | SnippetString;
1654
-
1655
1651
  additionalEdit?: WorkspaceEdit;
1656
1652
 
1657
1653
  constructor(insertText: string | SnippetString) {
@@ -3330,6 +3326,72 @@ export class TestMessage implements theia.TestMessage {
3330
3326
  constructor(public message: string | theia.MarkdownString) { }
3331
3327
  }
3332
3328
 
3329
+ @es5ClassCompat
3330
+ export class TestCoverageCount {
3331
+ constructor( public covered: number, public total: number) { }
3332
+ }
3333
+
3334
+ @es5ClassCompat
3335
+ export class FileCoverage {
3336
+
3337
+ detailedCoverage?: theia.FileCoverageDetail[];
3338
+
3339
+ static fromDetails(uri: theia.Uri, details: theia.FileCoverageDetail[]): FileCoverage {
3340
+ const statements = new TestCoverageCount(0, 0);
3341
+ const branches = new TestCoverageCount(0, 0);
3342
+ const decl = new TestCoverageCount(0, 0);
3343
+
3344
+ for (const detail of details) {
3345
+ if (detail instanceof StatementCoverage) {
3346
+ statements.total += 1;
3347
+ statements.covered += detail.executed ? 1 : 0;
3348
+
3349
+ for (const branch of detail.branches) {
3350
+ branches.total += 1;
3351
+ branches.covered += branch.executed ? 1 : 0;
3352
+ }
3353
+ } else {
3354
+ decl.total += 1;
3355
+ decl.covered += detail.executed ? 1 : 0;
3356
+ }
3357
+ }
3358
+
3359
+ const coverage = new FileCoverage(
3360
+ uri,
3361
+ statements,
3362
+ branches.total > 0 ? branches : undefined,
3363
+ decl.total > 0 ? decl : undefined,
3364
+ );
3365
+
3366
+ coverage.detailedCoverage = details;
3367
+
3368
+ return coverage;
3369
+ }
3370
+
3371
+ constructor(
3372
+ public uri: theia.Uri,
3373
+ public statementCoverage: TestCoverageCount,
3374
+ public branchCoverage?: TestCoverageCount,
3375
+ public declarationCoverage?: TestCoverageCount,
3376
+ ) { }
3377
+ }
3378
+
3379
+ @es5ClassCompat
3380
+ export class StatementCoverage implements theia.StatementCoverage {
3381
+ constructor(public executed: number | boolean, public location: Position | Range, public branches: BranchCoverage[] = []) { }
3382
+ }
3383
+
3384
+ export class BranchCoverage implements theia.BranchCoverage {
3385
+ constructor(public executed: number | boolean, public location?: Position | Range, public label?: string) { }
3386
+ }
3387
+
3388
+ @es5ClassCompat
3389
+ export class DeclarationCoverage implements theia.DeclarationCoverage {
3390
+ constructor(public name: string, public executed: number | boolean, public location: Position | Range) { }
3391
+ }
3392
+
3393
+ export type FileCoverageDetail = StatementCoverage | DeclarationCoverage;
3394
+
3333
3395
  @es5ClassCompat
3334
3396
  export class TimelineItem {
3335
3397
  timestamp: number;
@@ -3674,19 +3736,57 @@ export class InteractiveWindowInput {
3674
3736
  // #endregion
3675
3737
 
3676
3738
  // #region DocumentPaste
3739
+ export class DocumentPasteEditKind {
3740
+ static Empty: DocumentPasteEditKind;
3741
+
3742
+ constructor(public readonly value: string) { }
3743
+
3744
+ /** @stubbed */
3745
+ append(...parts: string[]): CodeActionKind {
3746
+ return CodeActionKind.Empty;
3747
+ };
3748
+
3749
+ /** @stubbed */
3750
+ intersects(other: CodeActionKind): boolean {
3751
+ return false;
3752
+ }
3753
+
3754
+ /** @stubbed */
3755
+ contains(other: CodeActionKind): boolean {
3756
+ return false;
3757
+ }
3758
+ }
3759
+ DocumentPasteEditKind.Empty = new DocumentPasteEditKind('');
3760
+
3677
3761
  @es5ClassCompat
3678
3762
  export class DocumentPasteEdit {
3679
- constructor(insertText: string | SnippetString, id: string, label: string) {
3763
+ constructor(insertText: string | SnippetString, title: string, kind: DocumentPasteEditKind) {
3680
3764
  this.insertText = insertText;
3681
- this.id = id;
3682
- this.label = label;
3765
+ this.title = title;
3766
+ this.kind = kind;
3683
3767
  }
3768
+ title: string;
3769
+ kind: DocumentPasteEditKind;
3684
3770
  insertText: string | SnippetString;
3685
3771
  additionalEdit?: WorkspaceEdit;
3686
- id: string;
3687
- label: string;
3688
- priority?: number;
3772
+ yieldTo?: readonly DocumentPasteEditKind[];
3773
+ }
3774
+
3775
+ /**
3776
+ * The reason why paste edits were requested.
3777
+ */
3778
+ export enum DocumentPasteTriggerKind {
3779
+ /**
3780
+ * Pasting was requested as part of a normal paste operation.
3781
+ */
3782
+ Automatic = 0,
3783
+
3784
+ /**
3785
+ * Pasting was requested by the user with the `paste as` command.
3786
+ */
3787
+ PasteAs = 1,
3689
3788
  }
3789
+
3690
3790
  // #endregion
3691
3791
 
3692
3792
  // #region DocumentPaste