@codingame/monaco-vscode-api 1.83.14 → 1.83.15-next.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 (125) hide show
  1. package/api.js +1 -1
  2. package/contributions.js +36 -0
  3. package/extensions.d.ts +83 -4
  4. package/extensions.js +9 -14
  5. package/lifecycle.js +4 -1
  6. package/localExtensionHost.js +207 -0
  7. package/missing-services.js +15 -3
  8. package/monaco-editor-treemending.patch +3376 -3365
  9. package/monaco.js +4 -36
  10. package/package.json +10 -6
  11. package/service-override/tools/editor.d.ts +6 -6
  12. package/services.d.ts +18 -18
  13. package/services.js +1 -0
  14. package/vscode/src/vs/base/common/errors.d.ts +1 -8
  15. package/vscode/src/vs/base/common/uri.d.ts +1 -7
  16. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +2 -27
  17. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +39 -1
  18. package/vscode/src/vs/platform/workspace/common/workspace.d.ts +1 -44
  19. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +160 -2
  20. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +1 -0
  21. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.d.ts +10 -0
  22. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +2 -37
  23. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +2 -73
  24. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +1 -5
  25. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +174 -0
  26. package/vscode-dts/vscode.proposed.aiRelatedInformation.d.ts +49 -0
  27. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +62 -0
  28. package/vscode-dts/vscode.proposed.authSession.d.ts +13 -0
  29. package/vscode-dts/vscode.proposed.canonicalUriProvider.d.ts +47 -0
  30. package/vscode-dts/vscode.proposed.chat.d.ts +25 -0
  31. package/vscode-dts/vscode.proposed.chatAgents.d.ts +39 -0
  32. package/vscode-dts/vscode.proposed.chatProvider.d.ts +38 -0
  33. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +47 -0
  34. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +47 -0
  35. package/vscode-dts/vscode.proposed.chatVariables.d.ts +35 -0
  36. package/vscode-dts/vscode.proposed.codiconDecoration.d.ts +48 -0
  37. package/vscode-dts/vscode.proposed.commentsDraftState.d.ts +18 -0
  38. package/vscode-dts/vscode.proposed.contribCommentEditorActionsMenu.d.ts +6 -0
  39. package/vscode-dts/vscode.proposed.contribCommentPeekContext.d.ts +10 -0
  40. package/vscode-dts/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts +8 -0
  41. package/vscode-dts/vscode.proposed.contribEditSessions.d.ts +8 -0
  42. package/vscode-dts/vscode.proposed.contribEditorContentMenu.d.ts +6 -0
  43. package/vscode-dts/vscode.proposed.contribLabelFormatterWorkspaceTooltip.d.ts +6 -0
  44. package/vscode-dts/vscode.proposed.contribMenuBarHome.d.ts +6 -0
  45. package/vscode-dts/vscode.proposed.contribMergeEditorMenus.d.ts +6 -0
  46. package/vscode-dts/vscode.proposed.contribNotebookStaticPreloads.d.ts +6 -0
  47. package/vscode-dts/vscode.proposed.contribRemoteHelp.d.ts +6 -0
  48. package/vscode-dts/vscode.proposed.contribShareMenu.d.ts +7 -0
  49. package/vscode-dts/vscode.proposed.contribStatusBarItems.d.ts +8 -0
  50. package/vscode-dts/vscode.proposed.contribViewsRemote.d.ts +6 -0
  51. package/vscode-dts/vscode.proposed.contribViewsWelcome.d.ts +6 -0
  52. package/vscode-dts/vscode.proposed.customEditorMove.d.ts +29 -0
  53. package/vscode-dts/vscode.proposed.debugFocus.d.ts +74 -0
  54. package/vscode-dts/vscode.proposed.diffCommand.d.ts +38 -0
  55. package/vscode-dts/vscode.proposed.diffContentOptions.d.ts +16 -0
  56. package/vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts +13 -0
  57. package/vscode-dts/vscode.proposed.documentPaste.d.ts +111 -0
  58. package/vscode-dts/vscode.proposed.dropMetadata.d.ts +60 -0
  59. package/vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts +71 -0
  60. package/vscode-dts/vscode.proposed.editorInsets.d.ts +22 -0
  61. package/vscode-dts/vscode.proposed.extensionRuntime.d.ts +24 -0
  62. package/vscode-dts/vscode.proposed.extensionsAny.d.ts +40 -0
  63. package/vscode-dts/vscode.proposed.externalUriOpener.d.ts +163 -0
  64. package/vscode-dts/vscode.proposed.fileComments.d.ts +85 -0
  65. package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +67 -0
  66. package/vscode-dts/vscode.proposed.findTextInFiles.d.ts +104 -0
  67. package/vscode-dts/vscode.proposed.fsChunks.d.ts +16 -0
  68. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +31 -0
  69. package/vscode-dts/vscode.proposed.idToken.d.ts +16 -0
  70. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +71 -0
  71. package/vscode-dts/vscode.proposed.interactive.d.ts +227 -0
  72. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +70 -0
  73. package/vscode-dts/vscode.proposed.interactiveWindow.d.ts +25 -0
  74. package/vscode-dts/vscode.proposed.ipc.d.ts +37 -0
  75. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +42 -0
  76. package/vscode-dts/vscode.proposed.notebookCellExecutionState.d.ts +52 -0
  77. package/vscode-dts/vscode.proposed.notebookControllerAffinityHidden.d.ts +17 -0
  78. package/vscode-dts/vscode.proposed.notebookDeprecated.d.ts +16 -0
  79. package/vscode-dts/vscode.proposed.notebookExecution.d.ts +39 -0
  80. package/vscode-dts/vscode.proposed.notebookKernelSource.d.ts +46 -0
  81. package/vscode-dts/vscode.proposed.notebookLiveShare.d.ts +21 -0
  82. package/vscode-dts/vscode.proposed.notebookMessaging.d.ts +68 -0
  83. package/vscode-dts/vscode.proposed.notebookMime.d.ts +33 -0
  84. package/vscode-dts/vscode.proposed.portsAttributes.d.ts +100 -0
  85. package/vscode-dts/vscode.proposed.profileContentHandlers.d.ts +19 -0
  86. package/vscode-dts/vscode.proposed.quickDiffProvider.d.ts +17 -0
  87. package/vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts +16 -0
  88. package/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts +16 -0
  89. package/vscode-dts/vscode.proposed.readonlyMessage.d.ts +14 -0
  90. package/vscode-dts/vscode.proposed.resolvers.d.ts +371 -0
  91. package/vscode-dts/vscode.proposed.saveEditor.d.ts +35 -0
  92. package/vscode-dts/vscode.proposed.scmActionButton.d.ts +19 -0
  93. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +77 -0
  94. package/vscode-dts/vscode.proposed.scmSelectedProvider.d.ts +22 -0
  95. package/vscode-dts/vscode.proposed.scmTextDocument.d.ts +19 -0
  96. package/vscode-dts/vscode.proposed.scmValidation.d.ts +60 -0
  97. package/vscode-dts/vscode.proposed.shareProvider.d.ts +74 -0
  98. package/vscode-dts/vscode.proposed.showLocal.d.ts +19 -0
  99. package/vscode-dts/vscode.proposed.tabInputTextMerge.d.ts +25 -0
  100. package/vscode-dts/vscode.proposed.taskPresentationGroup.d.ts +16 -0
  101. package/vscode-dts/vscode.proposed.telemetry.d.ts +36 -0
  102. package/vscode-dts/vscode.proposed.terminalDataWriteEvent.d.ts +32 -0
  103. package/vscode-dts/vscode.proposed.terminalDimensions.d.ts +39 -0
  104. package/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts +46 -0
  105. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +83 -0
  106. package/vscode-dts/vscode.proposed.terminalSelection.d.ts +16 -0
  107. package/vscode-dts/vscode.proposed.testCoverage.d.ts +198 -0
  108. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +45 -0
  109. package/vscode-dts/vscode.proposed.testObserver.d.ts +184 -0
  110. package/vscode-dts/vscode.proposed.textSearchProvider.d.ts +281 -0
  111. package/vscode-dts/vscode.proposed.timeline.d.ts +163 -0
  112. package/vscode-dts/vscode.proposed.tokenInformation.d.ts +26 -0
  113. package/vscode-dts/vscode.proposed.treeViewActiveItem.d.ts +30 -0
  114. package/vscode-dts/vscode.proposed.treeViewMarkdownMessage.d.ts +28 -0
  115. package/vscode-dts/vscode.proposed.treeViewReveal.d.ts +13 -0
  116. package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +44 -0
  117. package/vscode-dts/vscode.proposed.tunnels.d.ts +64 -0
  118. package/vscode-dts/vscode.proposed.windowActivity.d.ts +17 -0
  119. package/vscode-dts/vscode.proposed.workspaceTrust.d.ts +30 -0
  120. package/vscode/src/vs/base/common/ternarySearchTree.d.ts +0 -46
  121. package/vscode/src/vs/base/common/uriIpc.d.ts +0 -10
  122. package/vscode/src/vs/platform/workspace/common/editSessions.d.ts +0 -7
  123. package/vscode/src/vs/workbench/services/extensions/common/proxyIdentifier.d.ts +0 -44
  124. package/vscode/src/vs/workbench/services/search/common/search.d.ts +0 -52
  125. package/vscode.proposed.d.ts +0 -4787
package/api.js CHANGED
@@ -22,7 +22,7 @@ function createProxy(key) {
22
22
  return new Proxy({}, {
23
23
  get(target, p) {
24
24
  if (defaultApi == null) {
25
- throw new Error('Default api is not ready yet, do not forget to call `initialize` from \'vscode/extensions\'');
25
+ throw new Error('Default api is not ready yet, do not forget to import \'vscode/localExtensionHost\' and wait for services initialization');
26
26
  }
27
27
  return defaultApi[key][p];
28
28
  }
@@ -0,0 +1,36 @@
1
+ import { __decorate, __param } from './external/tslib/tslib.es6.js';
2
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
3
+ import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
4
+ import { JSONValidationExtensionPoint } from './vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js';
5
+ import { Extensions } from './vscode/src/vs/workbench/common/contributions.js';
6
+ import { ColorExtensionPoint } from './vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js';
7
+ import { IconExtensionPoint } from './vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js';
8
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js';
9
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/menuPreventer.js';
10
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js';
11
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js';
12
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js';
13
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js';
14
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js';
15
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js';
16
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js';
17
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js';
18
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js';
19
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js';
20
+ import './vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js';
21
+ import './vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js';
22
+ import './vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js';
23
+ import './vscode/src/vs/workbench/contrib/list/browser/list.contribution.js';
24
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js';
25
+ let ExtensionPoints = class ExtensionPoints {
26
+ constructor(instantiationService) {
27
+ this.instantiationService = instantiationService;
28
+ this.instantiationService.createInstance(JSONValidationExtensionPoint);
29
+ this.instantiationService.createInstance(ColorExtensionPoint);
30
+ this.instantiationService.createInstance(IconExtensionPoint);
31
+ }
32
+ };
33
+ ExtensionPoints = __decorate([
34
+ ( __param(0, IInstantiationService))
35
+ ], ExtensionPoints);
36
+ ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(ExtensionPoints, 1 );
package/extensions.d.ts CHANGED
@@ -1,4 +1,83 @@
1
- /// <reference path="vscode.proposed.d.ts" />
1
+ /// <reference path="./vscode-dts/vscode.proposed.aiRelatedInformation.d.ts" />
2
+ /// <reference path="./vscode-dts/vscode.proposed.authGetSessions.d.ts" />
3
+ /// <reference path="./vscode-dts/vscode.proposed.authSession.d.ts" />
4
+ /// <reference path="./vscode-dts/vscode.proposed.canonicalUriProvider.d.ts" />
5
+ /// <reference path="./vscode-dts/vscode.proposed.chat.d.ts" />
6
+ /// <reference path="./vscode-dts/vscode.proposed.chatAgents.d.ts" />
7
+ /// <reference path="./vscode-dts/vscode.proposed.chatProvider.d.ts" />
8
+ /// <reference path="./vscode-dts/vscode.proposed.chatRequestAccess.d.ts" />
9
+ /// <reference path="./vscode-dts/vscode.proposed.chatSlashCommands.d.ts" />
10
+ /// <reference path="./vscode-dts/vscode.proposed.chatVariables.d.ts" />
11
+ /// <reference path="./vscode-dts/vscode.proposed.codiconDecoration.d.ts" />
12
+ /// <reference path="./vscode-dts/vscode.proposed.commentsDraftState.d.ts" />
13
+ /// <reference path="./vscode-dts/vscode.proposed.customEditorMove.d.ts" />
14
+ /// <reference path="./vscode-dts/vscode.proposed.debugFocus.d.ts" />
15
+ /// <reference path="./vscode-dts/vscode.proposed.diffCommand.d.ts" />
16
+ /// <reference path="./vscode-dts/vscode.proposed.diffContentOptions.d.ts" />
17
+ /// <reference path="./vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts" />
18
+ /// <reference path="./vscode-dts/vscode.proposed.documentPaste.d.ts" />
19
+ /// <reference path="./vscode-dts/vscode.proposed.dropMetadata.d.ts" />
20
+ /// <reference path="./vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts" />
21
+ /// <reference path="./vscode-dts/vscode.proposed.editorInsets.d.ts" />
22
+ /// <reference path="./vscode-dts/vscode.proposed.extensionRuntime.d.ts" />
23
+ /// <reference path="./vscode-dts/vscode.proposed.extensionsAny.d.ts" />
24
+ /// <reference path="./vscode-dts/vscode.proposed.externalUriOpener.d.ts" />
25
+ /// <reference path="./vscode-dts/vscode.proposed.fileComments.d.ts" />
26
+ /// <reference path="./vscode-dts/vscode.proposed.fileSearchProvider.d.ts" />
27
+ /// <reference path="./vscode-dts/vscode.proposed.findTextInFiles.d.ts" />
28
+ /// <reference path="./vscode-dts/vscode.proposed.fsChunks.d.ts" />
29
+ /// <reference path="./vscode-dts/vscode.proposed.handleIssueUri.d.ts" />
30
+ /// <reference path="./vscode-dts/vscode.proposed.idToken.d.ts" />
31
+ /// <reference path="./vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts" />
32
+ /// <reference path="./vscode-dts/vscode.proposed.interactive.d.ts" />
33
+ /// <reference path="./vscode-dts/vscode.proposed.interactiveUserActions.d.ts" />
34
+ /// <reference path="./vscode-dts/vscode.proposed.interactiveWindow.d.ts" />
35
+ /// <reference path="./vscode-dts/vscode.proposed.ipc.d.ts" />
36
+ /// <reference path="./vscode-dts/vscode.proposed.mappedEditsProvider.d.ts" />
37
+ /// <reference path="./vscode-dts/vscode.proposed.notebookCellExecutionState.d.ts" />
38
+ /// <reference path="./vscode-dts/vscode.proposed.notebookControllerAffinityHidden.d.ts" />
39
+ /// <reference path="./vscode-dts/vscode.proposed.notebookDeprecated.d.ts" />
40
+ /// <reference path="./vscode-dts/vscode.proposed.notebookExecution.d.ts" />
41
+ /// <reference path="./vscode-dts/vscode.proposed.notebookKernelSource.d.ts" />
42
+ /// <reference path="./vscode-dts/vscode.proposed.notebookLiveShare.d.ts" />
43
+ /// <reference path="./vscode-dts/vscode.proposed.notebookMessaging.d.ts" />
44
+ /// <reference path="./vscode-dts/vscode.proposed.notebookMime.d.ts" />
45
+ /// <reference path="./vscode-dts/vscode.proposed.portsAttributes.d.ts" />
46
+ /// <reference path="./vscode-dts/vscode.proposed.profileContentHandlers.d.ts" />
47
+ /// <reference path="./vscode-dts/vscode.proposed.quickDiffProvider.d.ts" />
48
+ /// <reference path="./vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts" />
49
+ /// <reference path="./vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts" />
50
+ /// <reference path="./vscode-dts/vscode.proposed.readonlyMessage.d.ts" />
51
+ /// <reference path="./vscode-dts/vscode.proposed.resolvers.d.ts" />
52
+ /// <reference path="./vscode-dts/vscode.proposed.saveEditor.d.ts" />
53
+ /// <reference path="./vscode-dts/vscode.proposed.scmActionButton.d.ts" />
54
+ /// <reference path="./vscode-dts/vscode.proposed.scmHistoryProvider.d.ts" />
55
+ /// <reference path="./vscode-dts/vscode.proposed.scmSelectedProvider.d.ts" />
56
+ /// <reference path="./vscode-dts/vscode.proposed.scmTextDocument.d.ts" />
57
+ /// <reference path="./vscode-dts/vscode.proposed.scmValidation.d.ts" />
58
+ /// <reference path="./vscode-dts/vscode.proposed.shareProvider.d.ts" />
59
+ /// <reference path="./vscode-dts/vscode.proposed.showLocal.d.ts" />
60
+ /// <reference path="./vscode-dts/vscode.proposed.tabInputTextMerge.d.ts" />
61
+ /// <reference path="./vscode-dts/vscode.proposed.taskPresentationGroup.d.ts" />
62
+ /// <reference path="./vscode-dts/vscode.proposed.telemetry.d.ts" />
63
+ /// <reference path="./vscode-dts/vscode.proposed.terminalDataWriteEvent.d.ts" />
64
+ /// <reference path="./vscode-dts/vscode.proposed.terminalDimensions.d.ts" />
65
+ /// <reference path="./vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts" />
66
+ /// <reference path="./vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts" />
67
+ /// <reference path="./vscode-dts/vscode.proposed.terminalSelection.d.ts" />
68
+ /// <reference path="./vscode-dts/vscode.proposed.testCoverage.d.ts" />
69
+ /// <reference path="./vscode-dts/vscode.proposed.testMessageContextValue.d.ts" />
70
+ /// <reference path="./vscode-dts/vscode.proposed.testObserver.d.ts" />
71
+ /// <reference path="./vscode-dts/vscode.proposed.textSearchProvider.d.ts" />
72
+ /// <reference path="./vscode-dts/vscode.proposed.timeline.d.ts" />
73
+ /// <reference path="./vscode-dts/vscode.proposed.tokenInformation.d.ts" />
74
+ /// <reference path="./vscode-dts/vscode.proposed.treeViewActiveItem.d.ts" />
75
+ /// <reference path="./vscode-dts/vscode.proposed.treeViewMarkdownMessage.d.ts" />
76
+ /// <reference path="./vscode-dts/vscode.proposed.treeViewReveal.d.ts" />
77
+ /// <reference path="./vscode-dts/vscode.proposed.tunnelFactory.d.ts" />
78
+ /// <reference path="./vscode-dts/vscode.proposed.tunnels.d.ts" />
79
+ /// <reference path="./vscode-dts/vscode.proposed.windowActivity.d.ts" />
80
+ /// <reference path="./vscode-dts/vscode.proposed.workspaceTrust.d.ts" />
2
81
  import * as vscode from 'vscode';
3
82
  import { IExtensionManifest } from './vscode/src/vs/platform/extensions/common/extensions.js';
4
83
  export { IExtensionContributions } from './vscode/src/vs/platform/extensions/common/extensions.js';
@@ -6,7 +85,8 @@ import { IDisposable } from './vscode/src/vs/base/common/lifecycle.js';
6
85
  export { ITranslations } from './vscode/src/vs/platform/extensionManagement/common/extensionNls.js';
7
86
  import { ExtensionHostKind } from './vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js';
8
87
 
9
- declare function initialize(): Promise<void>;
88
+ type ApiFactory = (extensionId?: string) => Promise<typeof vscode>;
89
+ declare function registerLocalApiFactory(_apiFactory: ApiFactory): void;
10
90
  interface RegisterExtensionParams {
11
91
  builtin?: boolean;
12
92
  path?: string;
@@ -33,6 +113,5 @@ declare function registerExtension(manifest: IExtensionManifest, extHostKind: Ex
33
113
  declare function registerExtension(manifest: IExtensionManifest, extHostKind: ExtensionHostKind.LocalWebWorker, params?: RegisterExtensionParams): RegisterLocalExtensionResult;
34
114
  declare function registerExtension(manifest: IExtensionManifest, extHostKind: ExtensionHostKind.Remote, params?: RegisterRemoteExtensionParams): RegisterRemoteExtensionResult;
35
115
  declare function registerExtension(manifest: IExtensionManifest, extHostKind?: ExtensionHostKind, params?: RegisterExtensionParams): RegisterExtensionResult;
36
- declare function onExtHostInitialized(fct: () => void): void;
37
116
 
38
- export { ExtensionHostKind, IExtensionManifest, initialize, onExtHostInitialized, registerExtension, registerRemoteExtension };
117
+ export { type ApiFactory, ExtensionHostKind, IExtensionManifest, registerExtension, registerLocalApiFactory, registerRemoteExtension };
package/extensions.js CHANGED
@@ -4,24 +4,19 @@ import { getExtensionId } from './vscode/src/vs/platform/extensionManagement/com
4
4
  import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
5
  import { joinPath } from 'monaco-editor/esm/vs/base/common/resources.js';
6
6
  import { Schemas, FileAccess } from 'monaco-editor/esm/vs/base/common/network.js';
7
- import { Barrier } from 'monaco-editor/esm/vs/base/common/async.js';
8
7
  export { ExtensionHostKind } from './vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js';
9
8
  import { IWorkbenchEnvironmentService } from './vscode/src/vs/workbench/services/environment/common/environmentService.js';
10
9
  import { parse } from 'monaco-editor/esm/vs/base/common/json.js';
11
10
  import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
12
11
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
13
- import { getLocalExtHostExtensionService } from '@codingame/monaco-vscode-extensions-service-override';
14
12
  import { CustomSchemas, registerExtensionFile } from '@codingame/monaco-vscode-files-service-override';
15
- import { setDefaultApi } from './api.js';
16
13
  import { getService } from './services.js';
17
14
  import { ExtensionManifestTranslator } from './tools/l10n.js';
18
15
  import { throttle } from './tools.js';
19
- const defaultApiInitializeBarrier = new Barrier();
20
- async function initialize() {
21
- await getLocalExtHostExtensionService().then(async (extHostExtensionService) => {
22
- setDefaultApi(await extHostExtensionService.getApi());
23
- defaultApiInitializeBarrier.open();
24
- });
16
+ import { setDefaultApi } from './api.js';
17
+ let apiFactory;
18
+ function registerLocalApiFactory(_apiFactory) {
19
+ apiFactory = _apiFactory;
25
20
  }
26
21
  function registerExtensionFileUrl(extensionLocation, filePath, url, mimeType) {
27
22
  const fileDisposable = new DisposableStore();
@@ -104,7 +99,10 @@ function registerExtension(manifest, extHostKind, { builtin = manifest.publisher
104
99
  if (extHostKind === 1 ) {
105
100
  async function getApi() {
106
101
  await addExtensionPromise;
107
- return (await getLocalExtHostExtensionService()).getApi(id);
102
+ if (apiFactory == null) {
103
+ throw new Error('The local api can\'t be used without registering the local extension host by importing `vscode/localExtensionHost`');
104
+ }
105
+ return apiFactory(id);
108
106
  }
109
107
  api = {
110
108
  ...api,
@@ -116,7 +114,4 @@ function registerExtension(manifest, extHostKind, { builtin = manifest.publisher
116
114
  }
117
115
  return api;
118
116
  }
119
- function onExtHostInitialized(fct) {
120
- void defaultApiInitializeBarrier.wait().then(fct);
121
- }
122
- export { initialize, onExtHostInitialized, registerExtension, registerRemoteExtension };
117
+ export { registerExtension, registerLocalApiFactory, registerRemoteExtension };
package/lifecycle.js CHANGED
@@ -19,6 +19,9 @@ function registerServiceInitializePreParticipant(participant) {
19
19
  function registerServiceInitializeParticipant(participant) {
20
20
  serviceInitializeParticipants.push(participant);
21
21
  }
22
+ function registerServiceInitializePostParticipant(participant) {
23
+ serviceInitializePostParticipants.push(participant);
24
+ }
22
25
  async function startup(instantiationService) {
23
26
  await instantiationService.invokeFunction(async (accessor) => {
24
27
  await Promise.all(( serviceInitializePreParticipants.map(participant => participant(accessor))));
@@ -65,4 +68,4 @@ function checkServicesNotInitialized() {
65
68
  throw new Error('Services are already initialized');
66
69
  }
67
70
  }
68
- export { checkServicesNotInitialized, checkServicesReady, onRenderWorkbench, registerServiceInitializeParticipant, registerServiceInitializePreParticipant, serviceInitializedBarrier, serviceInitializedEmitter, startup, waitServicesReady };
71
+ export { checkServicesNotInitialized, checkServicesReady, onRenderWorkbench, registerServiceInitializeParticipant, registerServiceInitializePostParticipant, registerServiceInitializePreParticipant, serviceInitializedBarrier, serviceInitializedEmitter, startup, waitServicesReady };
@@ -0,0 +1,207 @@
1
+ import { __decorate, __param } from './external/tslib/tslib.es6.js';
2
+ import './missing-services.js';
3
+ import './vscode/src/vs/workbench/api/common/extHost.common.services.js';
4
+ import { ExtensionHostMain } from './vscode/src/vs/workbench/api/common/extensionHostMain.js';
5
+ import { BufferedEmitter } from './vscode/src/vs/base/parts/ipc/common/ipc.net.js';
6
+ import { isLoggingOnly } from './vscode/src/vs/platform/telemetry/common/telemetryUtils.js';
7
+ import { joinPath } from 'monaco-editor/esm/vs/base/common/resources.js';
8
+ import { UIKind } from './vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.js';
9
+ import * as platform from 'monaco-editor/esm/vs/base/common/platform.js';
10
+ import { IExtHostExtensionService } from './vscode/src/vs/workbench/api/common/extHostExtensionService.js';
11
+ import { nullExtensionDescription } from './vscode/src/vs/workbench/services/extensions/common/extensions.js';
12
+ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
13
+ import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
14
+ import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
15
+ import { ILogService, ILoggerService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
16
+ import { IBrowserWorkbenchEnvironmentService } from './vscode/src/vs/workbench/services/environment/browser/environmentService.js';
17
+ import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
18
+ import { IUserDataProfilesService } from 'monaco-editor/esm/vs/platform/userDataProfile/common/userDataProfile.js';
19
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
20
+ import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
21
+ import { registerSingleton } from 'monaco-editor/esm/vs/platform/instantiation/common/extensions.js';
22
+ import { IExtensionStoragePaths, ExtensionStoragePaths } from './vscode/src/vs/workbench/api/common/extHostStoragePaths.js';
23
+ import { ExtHostExtensionService } from './vscode/src/vs/workbench/api/worker/extHostExtensionService.js';
24
+ import { ExtensionIdentifierMap } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
25
+ import { DeferredPromise } from 'monaco-editor/esm/vs/base/common/async.js';
26
+ import { setLocalExtensionHost } from '@codingame/monaco-vscode-extensions-service-override';
27
+ import { unsupported } from './tools.js';
28
+ import { registerLocalApiFactory } from './extensions.js';
29
+ import { setDefaultApi } from './api.js';
30
+ import { registerServiceInitializePostParticipant } from './lifecycle.js';
31
+ const apiFactoryDeferred = new DeferredPromise();
32
+ class LocalExtHostExtensionService extends ExtHostExtensionService {
33
+ constructor() {
34
+ super(...arguments);
35
+ this._extApiImpl = new ExtensionIdentifierMap();
36
+ }
37
+ async getApi(extensionId) {
38
+ const [myRegistry, configProvider] = await Promise.all([
39
+ this.getExtensionRegistry(),
40
+ this._extHostConfiguration.getConfigProvider()
41
+ ]);
42
+ const extensionRegistry = { mine: myRegistry, all: this._globalRegistry };
43
+ const ext = extensionId != null ? myRegistry.getExtensionDescription(extensionId) : undefined;
44
+ if (ext != null) {
45
+ let apiImpl = this._extApiImpl.get(ext.identifier);
46
+ if (apiImpl == null) {
47
+ apiImpl = this._apiFactory(ext, extensionRegistry, configProvider);
48
+ this._extApiImpl.set(ext.identifier, apiImpl);
49
+ }
50
+ return apiImpl;
51
+ }
52
+ if (this._defaultApiImpl == null) {
53
+ this._defaultApiImpl = this._apiFactory(nullExtensionDescription, extensionRegistry, configProvider);
54
+ }
55
+ return this._defaultApiImpl;
56
+ }
57
+ }
58
+ registerSingleton(IExtHostExtensionService, LocalExtHostExtensionService, 0 );
59
+ registerSingleton(IExtensionStoragePaths, ExtensionStoragePaths, 0 );
60
+ function createMessagePassingProtocolPair() {
61
+ const emitterA = new BufferedEmitter();
62
+ const emitterB = new BufferedEmitter();
63
+ class SimpleMessagePassingProtocol {
64
+ constructor(emitterIn, emitterOut) {
65
+ this.emitterIn = emitterIn;
66
+ this.emitterOut = emitterOut;
67
+ this.onMessage = this.emitterIn.event;
68
+ }
69
+ send(buffer) {
70
+ this.emitterOut.fire(buffer);
71
+ }
72
+ }
73
+ return [new SimpleMessagePassingProtocol(emitterA, emitterB), new SimpleMessagePassingProtocol(emitterB, emitterA)];
74
+ }
75
+ const hostUtil = new class {
76
+ constructor() {
77
+ this.pid = undefined;
78
+ this.exit = unsupported;
79
+ }
80
+ async exists(_path) {
81
+ return true;
82
+ }
83
+ async realpath(path) {
84
+ return path;
85
+ }
86
+ }();
87
+ let LocalExtensionHost = class LocalExtensionHost {
88
+ constructor(runningLocation, startup, _initDataProvider, _telemetryService, _contextService, _labelService, _logService, _loggerService, _environmentService, _productService, _userDataProfilesService) {
89
+ this.runningLocation = runningLocation;
90
+ this.startup = startup;
91
+ this._initDataProvider = _initDataProvider;
92
+ this._telemetryService = _telemetryService;
93
+ this._contextService = _contextService;
94
+ this._labelService = _labelService;
95
+ this._logService = _logService;
96
+ this._loggerService = _loggerService;
97
+ this._environmentService = _environmentService;
98
+ this._productService = _productService;
99
+ this._userDataProfilesService = _userDataProfilesService;
100
+ this.remoteAuthority = null;
101
+ this.extensions = null;
102
+ this.onExit = Event.None;
103
+ this._protocolPromise = null;
104
+ this._extensionHostLogsLocation = joinPath(this._environmentService.extHostLogsPath, 'local');
105
+ }
106
+ async start() {
107
+ if (this._protocolPromise == null) {
108
+ this._protocolPromise = this._start();
109
+ }
110
+ return this._protocolPromise;
111
+ }
112
+ async _start() {
113
+ const [mainThreadMessagePassingProtocol, extHostMessagePassingProtocol] = createMessagePassingProtocolPair();
114
+ const initData = await this._createExtHostInitData();
115
+ const hostMain = new ExtensionHostMain(extHostMessagePassingProtocol, initData, hostUtil, null);
116
+ const localExtHostExtensionService = hostMain.getExtHostExtensionService();
117
+ await apiFactoryDeferred.complete((extensionId) => localExtHostExtensionService.getApi(extensionId));
118
+ return mainThreadMessagePassingProtocol;
119
+ }
120
+ async _createExtHostInitData() {
121
+ const initData = await this._initDataProvider.getInitData();
122
+ this.extensions = initData.extensions;
123
+ const workspace = this._contextService.getWorkspace();
124
+ const nlsBaseUrl = this._productService.extensionsGallery?.nlsBaseUrl;
125
+ let nlsUrlWithDetails;
126
+ if (nlsBaseUrl != null && this._productService.commit != null && !platform.Language.isDefaultVariant()) {
127
+ nlsUrlWithDetails = URI.joinPath(( URI.parse(nlsBaseUrl)), this._productService.commit, this._productService.version, platform.Language.value());
128
+ }
129
+ return {
130
+ commit: this._productService.commit,
131
+ version: this._productService.version,
132
+ quality: this._productService.quality,
133
+ parentPid: 0,
134
+ environment: {
135
+ isExtensionDevelopmentDebug: this._environmentService.debugRenderer,
136
+ appName: this._productService.nameLong,
137
+ appHost: this._productService.embedderIdentifier ?? (platform.isWeb ? 'web' : 'desktop'),
138
+ appUriScheme: this._productService.urlProtocol,
139
+ appLanguage: platform.language,
140
+ extensionTelemetryLogResource: this._environmentService.extHostTelemetryLogFile,
141
+ isExtensionTelemetryLoggingOnly: isLoggingOnly(this._productService, this._environmentService),
142
+ extensionDevelopmentLocationURI: this._environmentService.extensionDevelopmentLocationURI,
143
+ extensionTestsLocationURI: this._environmentService.extensionTestsLocationURI,
144
+ globalStorageHome: this._userDataProfilesService.defaultProfile.globalStorageHome,
145
+ workspaceStorageHome: this._environmentService.workspaceStorageHome,
146
+ extensionLogLevel: this._environmentService.extensionLogLevel
147
+ },
148
+ workspace: this._contextService.getWorkbenchState() === 1
149
+ ? undefined
150
+ : {
151
+ configuration: workspace.configuration ?? undefined,
152
+ id: workspace.id,
153
+ name: this._labelService.getWorkspaceLabel(workspace),
154
+ transient: workspace.transient
155
+ },
156
+ consoleForward: {
157
+ includeStack: false,
158
+ logNative: this._environmentService.debugRenderer
159
+ },
160
+ extensions: initData.extensions.toSnapshot(),
161
+ nlsBaseUrl: nlsUrlWithDetails,
162
+ telemetryInfo: {
163
+ sessionId: this._telemetryService.sessionId,
164
+ machineId: this._telemetryService.machineId,
165
+ firstSessionDate: this._telemetryService.firstSessionDate,
166
+ msftInternal: this._telemetryService.msftInternal
167
+ },
168
+ logLevel: this._logService.getLevel(),
169
+ loggers: [...this._loggerService.getRegisteredLoggers()],
170
+ logsLocation: this._extensionHostLogsLocation,
171
+ autoStart: ((this.startup === 1) ),
172
+ remote: {
173
+ authority: this._environmentService.remoteAuthority,
174
+ connectionData: null,
175
+ isRemote: false
176
+ },
177
+ uiKind: platform.isWeb ? UIKind.Web : UIKind.Desktop
178
+ };
179
+ }
180
+ getInspectPort() {
181
+ return undefined;
182
+ }
183
+ enableInspectPort() {
184
+ return Promise.resolve(false);
185
+ }
186
+ dispose() {
187
+ }
188
+ };
189
+ LocalExtensionHost = __decorate([
190
+ ( __param(3, ITelemetryService)),
191
+ ( __param(4, IWorkspaceContextService)),
192
+ ( __param(5, ILabelService)),
193
+ ( __param(6, ILogService)),
194
+ ( __param(7, ILoggerService)),
195
+ ( __param(8, IBrowserWorkbenchEnvironmentService)),
196
+ ( __param(9, IProductService)),
197
+ ( __param(10, IUserDataProfilesService))
198
+ ], LocalExtensionHost);
199
+ async function createLocalApi(extensionId) {
200
+ const apiFactory = await apiFactoryDeferred.p;
201
+ return apiFactory(extensionId);
202
+ }
203
+ setLocalExtensionHost(LocalExtensionHost);
204
+ registerLocalApiFactory(createLocalApi);
205
+ registerServiceInitializePostParticipant(async () => {
206
+ setDefaultApi(await createLocalApi());
207
+ });
@@ -113,7 +113,7 @@ import { IWorkingCopyEditorService, WorkingCopyEditorService } from './vscode/sr
113
113
  import { IUserActivityService, UserActivityService } from './vscode/src/vs/workbench/services/userActivity/common/userActivityService.js';
114
114
  import { CanonicalUriService } from './vscode/src/vs/workbench/services/workspaces/common/canonicalUriService.js';
115
115
  import { ICanonicalUriService } from './vscode/src/vs/platform/workspace/common/canonicalUri.js';
116
- import { IExtensionStatusBarItemService, ExtensionStatusBarItemService } from './vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js';
116
+ import { IExtensionStatusBarItemService } from './vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js';
117
117
  import { IWorkbenchAssignmentService } from './vscode/src/vs/workbench/services/assignment/common/assignmentService.js';
118
118
  import { IChatService } from './vscode/src/vs/workbench/contrib/chat/common/chatService.js';
119
119
  import { IEmbedderTerminalService } from './vscode/src/vs/workbench/services/terminal/common/embedderTerminalService.js';
@@ -176,8 +176,8 @@ import { IWorkspaceExtensionsConfigService } from './vscode/src/vs/workbench/ser
176
176
  import { IRemoteUserDataProfilesService } from './vscode/src/vs/workbench/services/userDataProfile/common/remoteUserDataProfiles.js';
177
177
  import { IExtensionBisectService } from './vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js';
178
178
  import { IUserDataSyncAccountService } from './vscode/src/vs/platform/userDataSync/common/userDataSyncAccount.js';
179
- import { getBuiltInExtensionTranslationsUris } from './l10n.js';
180
179
  import { unsupported } from './tools.js';
180
+ import { getBuiltInExtensionTranslationsUris } from './l10n.js';
181
181
  import { IFileDialogService } from './vscode/src/vs/platform/dialogs/common/dialogs.js';
182
182
  var _a;
183
183
  class NullLoggerService extends AbstractLoggerService {
@@ -1669,7 +1669,19 @@ registerSingleton(INotebookEditorModelResolverService, class NotebookEditorModel
1669
1669
  registerSingleton(IWorkingCopyEditorService, WorkingCopyEditorService, 1 );
1670
1670
  registerSingleton(IUserActivityService, UserActivityService, 1 );
1671
1671
  registerSingleton(ICanonicalUriService, CanonicalUriService, 1 );
1672
- registerSingleton(IExtensionStatusBarItemService, ExtensionStatusBarItemService, 1 );
1672
+ registerSingleton(IExtensionStatusBarItemService, class ExtensionStatusBarItemService {
1673
+ constructor() {
1674
+ this.onDidChange = Event.None;
1675
+ }
1676
+ setOrUpdateEntry() {
1677
+ return 1 ;
1678
+ }
1679
+ unsetEntry() {
1680
+ }
1681
+ getEntries() {
1682
+ return [];
1683
+ }
1684
+ }, 1 );
1673
1685
  registerSingleton(IWorkbenchAssignmentService, class WorkbenchAssignmentService {
1674
1686
  constructor() {
1675
1687
  this.getCurrentExperiments = async () => [];