@codingame/monaco-vscode-api 1.83.14 → 1.83.15

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 (130) 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 +966 -955
  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/scm/browser/dirtydiffDecorator.js +564 -11
  21. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +9 -1
  22. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +1 -0
  23. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +594 -2
  24. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +307 -1
  25. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.d.ts +10 -0
  26. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +2 -37
  27. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +2 -73
  28. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +1 -5
  29. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +6 -2
  30. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +174 -0
  31. package/vscode-dts/vscode.proposed.aiRelatedInformation.d.ts +49 -0
  32. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +62 -0
  33. package/vscode-dts/vscode.proposed.authSession.d.ts +13 -0
  34. package/vscode-dts/vscode.proposed.canonicalUriProvider.d.ts +47 -0
  35. package/vscode-dts/vscode.proposed.chat.d.ts +25 -0
  36. package/vscode-dts/vscode.proposed.chatAgents.d.ts +39 -0
  37. package/vscode-dts/vscode.proposed.chatProvider.d.ts +38 -0
  38. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +47 -0
  39. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +47 -0
  40. package/vscode-dts/vscode.proposed.chatVariables.d.ts +35 -0
  41. package/vscode-dts/vscode.proposed.codiconDecoration.d.ts +48 -0
  42. package/vscode-dts/vscode.proposed.commentsDraftState.d.ts +18 -0
  43. package/vscode-dts/vscode.proposed.contribCommentEditorActionsMenu.d.ts +6 -0
  44. package/vscode-dts/vscode.proposed.contribCommentPeekContext.d.ts +10 -0
  45. package/vscode-dts/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts +8 -0
  46. package/vscode-dts/vscode.proposed.contribEditSessions.d.ts +8 -0
  47. package/vscode-dts/vscode.proposed.contribEditorContentMenu.d.ts +6 -0
  48. package/vscode-dts/vscode.proposed.contribLabelFormatterWorkspaceTooltip.d.ts +6 -0
  49. package/vscode-dts/vscode.proposed.contribMenuBarHome.d.ts +6 -0
  50. package/vscode-dts/vscode.proposed.contribMergeEditorMenus.d.ts +6 -0
  51. package/vscode-dts/vscode.proposed.contribNotebookStaticPreloads.d.ts +6 -0
  52. package/vscode-dts/vscode.proposed.contribRemoteHelp.d.ts +6 -0
  53. package/vscode-dts/vscode.proposed.contribShareMenu.d.ts +7 -0
  54. package/vscode-dts/vscode.proposed.contribStatusBarItems.d.ts +8 -0
  55. package/vscode-dts/vscode.proposed.contribViewsRemote.d.ts +6 -0
  56. package/vscode-dts/vscode.proposed.contribViewsWelcome.d.ts +6 -0
  57. package/vscode-dts/vscode.proposed.customEditorMove.d.ts +29 -0
  58. package/vscode-dts/vscode.proposed.debugFocus.d.ts +74 -0
  59. package/vscode-dts/vscode.proposed.diffCommand.d.ts +38 -0
  60. package/vscode-dts/vscode.proposed.diffContentOptions.d.ts +16 -0
  61. package/vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts +13 -0
  62. package/vscode-dts/vscode.proposed.documentPaste.d.ts +111 -0
  63. package/vscode-dts/vscode.proposed.dropMetadata.d.ts +60 -0
  64. package/vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts +71 -0
  65. package/vscode-dts/vscode.proposed.editorInsets.d.ts +22 -0
  66. package/vscode-dts/vscode.proposed.extensionRuntime.d.ts +24 -0
  67. package/vscode-dts/vscode.proposed.extensionsAny.d.ts +40 -0
  68. package/vscode-dts/vscode.proposed.externalUriOpener.d.ts +163 -0
  69. package/vscode-dts/vscode.proposed.fileComments.d.ts +85 -0
  70. package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +67 -0
  71. package/vscode-dts/vscode.proposed.findTextInFiles.d.ts +104 -0
  72. package/vscode-dts/vscode.proposed.fsChunks.d.ts +16 -0
  73. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +31 -0
  74. package/vscode-dts/vscode.proposed.idToken.d.ts +16 -0
  75. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +71 -0
  76. package/vscode-dts/vscode.proposed.interactive.d.ts +227 -0
  77. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +70 -0
  78. package/vscode-dts/vscode.proposed.interactiveWindow.d.ts +25 -0
  79. package/vscode-dts/vscode.proposed.ipc.d.ts +37 -0
  80. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +42 -0
  81. package/vscode-dts/vscode.proposed.notebookCellExecutionState.d.ts +52 -0
  82. package/vscode-dts/vscode.proposed.notebookControllerAffinityHidden.d.ts +17 -0
  83. package/vscode-dts/vscode.proposed.notebookDeprecated.d.ts +16 -0
  84. package/vscode-dts/vscode.proposed.notebookExecution.d.ts +39 -0
  85. package/vscode-dts/vscode.proposed.notebookKernelSource.d.ts +46 -0
  86. package/vscode-dts/vscode.proposed.notebookLiveShare.d.ts +21 -0
  87. package/vscode-dts/vscode.proposed.notebookMessaging.d.ts +68 -0
  88. package/vscode-dts/vscode.proposed.notebookMime.d.ts +33 -0
  89. package/vscode-dts/vscode.proposed.portsAttributes.d.ts +100 -0
  90. package/vscode-dts/vscode.proposed.profileContentHandlers.d.ts +19 -0
  91. package/vscode-dts/vscode.proposed.quickDiffProvider.d.ts +17 -0
  92. package/vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts +16 -0
  93. package/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts +16 -0
  94. package/vscode-dts/vscode.proposed.readonlyMessage.d.ts +14 -0
  95. package/vscode-dts/vscode.proposed.resolvers.d.ts +371 -0
  96. package/vscode-dts/vscode.proposed.saveEditor.d.ts +35 -0
  97. package/vscode-dts/vscode.proposed.scmActionButton.d.ts +19 -0
  98. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +77 -0
  99. package/vscode-dts/vscode.proposed.scmSelectedProvider.d.ts +22 -0
  100. package/vscode-dts/vscode.proposed.scmTextDocument.d.ts +19 -0
  101. package/vscode-dts/vscode.proposed.scmValidation.d.ts +60 -0
  102. package/vscode-dts/vscode.proposed.shareProvider.d.ts +74 -0
  103. package/vscode-dts/vscode.proposed.showLocal.d.ts +19 -0
  104. package/vscode-dts/vscode.proposed.tabInputTextMerge.d.ts +25 -0
  105. package/vscode-dts/vscode.proposed.taskPresentationGroup.d.ts +16 -0
  106. package/vscode-dts/vscode.proposed.telemetry.d.ts +36 -0
  107. package/vscode-dts/vscode.proposed.terminalDataWriteEvent.d.ts +32 -0
  108. package/vscode-dts/vscode.proposed.terminalDimensions.d.ts +39 -0
  109. package/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts +46 -0
  110. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +83 -0
  111. package/vscode-dts/vscode.proposed.terminalSelection.d.ts +16 -0
  112. package/vscode-dts/vscode.proposed.testCoverage.d.ts +198 -0
  113. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +45 -0
  114. package/vscode-dts/vscode.proposed.testObserver.d.ts +184 -0
  115. package/vscode-dts/vscode.proposed.textSearchProvider.d.ts +281 -0
  116. package/vscode-dts/vscode.proposed.timeline.d.ts +163 -0
  117. package/vscode-dts/vscode.proposed.tokenInformation.d.ts +26 -0
  118. package/vscode-dts/vscode.proposed.treeViewActiveItem.d.ts +30 -0
  119. package/vscode-dts/vscode.proposed.treeViewMarkdownMessage.d.ts +28 -0
  120. package/vscode-dts/vscode.proposed.treeViewReveal.d.ts +13 -0
  121. package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +44 -0
  122. package/vscode-dts/vscode.proposed.tunnels.d.ts +64 -0
  123. package/vscode-dts/vscode.proposed.windowActivity.d.ts +17 -0
  124. package/vscode-dts/vscode.proposed.workspaceTrust.d.ts +30 -0
  125. package/vscode/src/vs/base/common/ternarySearchTree.d.ts +0 -46
  126. package/vscode/src/vs/base/common/uriIpc.d.ts +0 -10
  127. package/vscode/src/vs/platform/workspace/common/editSessions.d.ts +0 -7
  128. package/vscode/src/vs/workbench/services/extensions/common/proxyIdentifier.d.ts +0 -44
  129. package/vscode/src/vs/workbench/services/search/common/search.d.ts +0 -52
  130. package/vscode.proposed.d.ts +0 -4787
package/monaco.js CHANGED
@@ -9,22 +9,18 @@ export { errorHandler } from 'monaco-editor/esm/vs/base/common/errors.js';
9
9
  export { FoldingModel, setCollapseStateForMatchingLines } from 'monaco-editor/esm/vs/editor/contrib/folding/browser/foldingModel.js';
10
10
  export { FoldingController } from 'monaco-editor/esm/vs/editor/contrib/folding/browser/folding.js';
11
11
  export { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
12
- import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
13
12
  export { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
14
- import { Extensions as Extensions$2 } from 'monaco-editor/esm/vs/platform/jsonschemas/common/jsonContributionRegistry.js';
13
+ import { Extensions as Extensions$1 } from 'monaco-editor/esm/vs/platform/jsonschemas/common/jsonContributionRegistry.js';
15
14
  import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
16
15
  export { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
17
16
  export { MenuId, MenuRegistry } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
18
17
  export { KeybindingsRegistry } from 'monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js';
19
- import { Extensions as Extensions$3 } from 'monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js';
18
+ import { Extensions as Extensions$2 } from 'monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js';
20
19
  import { EditorOptionsUtil } from './vscode/src/vs/editor/browser/config/editorConfiguration.js';
21
20
  export { registerColor } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
22
21
  import { ITextModelService } from 'monaco-editor/esm/vs/editor/common/services/resolverService.js';
23
22
  import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
24
23
  import { VSBuffer } from 'monaco-editor/esm/vs/base/common/buffer.js';
25
- import { JSONValidationExtensionPoint } from './vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js';
26
- import { Extensions as Extensions$1 } from './vscode/src/vs/workbench/common/contributions.js';
27
- import { ColorExtensionPoint } from './vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js';
28
24
  import { ServiceCollection } from 'monaco-editor/esm/vs/platform/instantiation/common/serviceCollection.js';
29
25
  import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
30
26
  import { StandaloneQuickInputService } from 'monaco-editor/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js';
@@ -38,34 +34,6 @@ import { ICodeEditorService } from 'monaco-editor/esm/vs/editor/browser/services
38
34
  import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
39
35
  import { Emitter } from 'monaco-editor';
40
36
  import { createInjectedClass } from './tools/injection.js';
41
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js';
42
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/menuPreventer.js';
43
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js';
44
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js';
45
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js';
46
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js';
47
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js';
48
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js';
49
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js';
50
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js';
51
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js';
52
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js';
53
- import './vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js';
54
- import './vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js';
55
- import './vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js';
56
- import './vscode/src/vs/workbench/contrib/list/browser/list.contribution.js';
57
- import './vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js';
58
- let ExtensionPoints = class ExtensionPoints {
59
- constructor(instantiationService) {
60
- this.instantiationService = instantiationService;
61
- this.instantiationService.createInstance(JSONValidationExtensionPoint);
62
- this.instantiationService.createInstance(ColorExtensionPoint);
63
- }
64
- };
65
- ExtensionPoints = __decorate([
66
- ( __param(0, IInstantiationService))
67
- ], ExtensionPoints);
68
- ( Registry.as(Extensions$1.Workbench)).registerWorkbenchContribution(ExtensionPoints, 1 );
69
37
  function computeConfiguration(configuration, overrides) {
70
38
  const editorConfiguration = isObject(configuration.editor) ? deepClone(configuration.editor) : Object.create(null);
71
39
  Object.assign(editorConfiguration, deepClone(overrides));
@@ -261,7 +229,7 @@ const createConfiguredDiffEditor = (domElement, options, override) => {
261
229
  return getStandaloneEditorInstantiationService().createInstance(ConfiguredStandaloneDiffEditor, domElement, options);
262
230
  };
263
231
  const Extensions = {
264
- ...Extensions$2,
265
- ...Extensions$3
232
+ ...Extensions$1,
233
+ ...Extensions$2
266
234
  };
267
235
  export { Extensions, createConfiguredDiffEditor, createConfiguredEditor, createModelReference, deleteFile, writeFile };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-api",
3
- "version": "1.83.14",
3
+ "version": "1.83.15",
4
4
  "description": "VSCode public API plugged on the monaco editor",
5
5
  "keywords": [],
6
6
  "author": {
@@ -25,6 +25,10 @@
25
25
  "types": "./services.d.ts",
26
26
  "default": "./services.js"
27
27
  },
28
+ "./localExtensionHost": {
29
+ "types": "./localExtensionHost.d.ts",
30
+ "default": "./localExtensionHost.js"
31
+ },
28
32
  "./extensions": {
29
33
  "types": "./extensions.d.ts",
30
34
  "default": "./extensions.js"
@@ -96,10 +100,10 @@
96
100
  "dependencies": {
97
101
  "monaco-editor": "0.44.0",
98
102
  "vscode-semver": "npm:semver@=5.5.0",
99
- "@codingame/monaco-vscode-extensions-service-override": "1.83.14",
100
- "@codingame/monaco-vscode-files-service-override": "1.83.14",
101
- "@codingame/monaco-vscode-layout-service-override": "1.83.14",
102
- "@codingame/monaco-vscode-environment-service-override": "1.83.14",
103
- "@codingame/monaco-vscode-quickaccess-service-override": "1.83.14"
103
+ "@codingame/monaco-vscode-files-service-override": "1.83.15",
104
+ "@codingame/monaco-vscode-layout-service-override": "1.83.15",
105
+ "@codingame/monaco-vscode-environment-service-override": "1.83.15",
106
+ "@codingame/monaco-vscode-extensions-service-override": "1.83.15",
107
+ "@codingame/monaco-vscode-quickaccess-service-override": "1.83.15"
104
108
  }
105
109
  }
@@ -1,17 +1,17 @@
1
1
  import { IEditorPane, IUntypedEditorInput, IUntitledTextResourceEditorInput, IResourceDiffEditorInput, ITextDiffEditorPane } from '../../vscode/src/vs/workbench/common/editor.js';
2
- import { IConfigurationService } from '../../vscode/src/vs/platform/configuration/common/configuration.js';
3
- import { IResolvedTextEditorModel, ITextModelService } from '../../vscode/src/vs/editor/common/services/resolverService.js';
2
+ import { ICodeEditor, IDiffEditor } from '../../vscode/src/vs/editor/browser/editorBrowser.js';
4
3
  import { IInstantiationService } from '../../vscode/src/vs/platform/instantiation/common/instantiation.js';
5
4
  import { IReference } from '../../vscode/src/vs/base/common/lifecycle.js';
5
+ import { IConfigurationService } from '../../vscode/src/vs/platform/configuration/common/configuration.js';
6
+ import { IEditorOptions, IResourceEditorInput, ITextResourceEditorInput } from '../../vscode/src/vs/platform/editor/common/editor.js';
6
7
  import { IFileService } from '../../vscode/src/vs/platform/files/common/files.js';
7
8
  import { IWorkspaceContextService } from '../../vscode/src/vs/platform/workspace/common/workspace.js';
8
9
  import { IUriIdentityService } from '../../vscode/src/vs/platform/uriIdentity/common/uriIdentity.js';
9
- import { ICodeEditor, IDiffEditor } from '../../vscode/src/vs/editor/browser/editorBrowser.js';
10
- import { IEditorOptions, IResourceEditorInput, ITextResourceEditorInput } from '../../vscode/src/vs/platform/editor/common/editor.js';
10
+ import { IResolvedTextEditorModel, ITextModelService } from '../../vscode/src/vs/editor/common/services/resolverService.js';
11
+ import { PreferredGroup } from '../../vscode/src/vs/workbench/services/editor/common/editorService.js';
12
+ import { EditorInput } from '../../vscode/src/vs/workbench/common/editor/editorInput.js';
11
13
  import { IHostService } from '../../vscode/src/vs/workbench/services/host/browser/host.js';
12
14
  import { IEditorGroupsService } from '../../vscode/src/vs/workbench/services/editor/common/editorGroupsService.js';
13
- import { EditorInput } from '../../vscode/src/vs/workbench/common/editor/editorInput.js';
14
- import { PreferredGroup } from '../../vscode/src/vs/workbench/services/editor/common/editorService.js';
15
15
  import { IEditorResolverService } from '../../vscode/src/vs/workbench/services/editor/common/editorResolverService.js';
16
16
  import { ITextEditorService } from '../../vscode/src/vs/workbench/services/textfile/common/textEditorService.js';
17
17
  import { IWorkspaceTrustRequestService } from '../../vscode/src/vs/platform/workspace/common/workspaceTrust.js';
package/services.d.ts CHANGED
@@ -1,38 +1,42 @@
1
+ import { IDisposable } from './vscode/src/vs/base/common/lifecycle.js';
2
+ export { IMarkdownString, MarkdownStringTrustedOptions } from './vscode/src/vs/base/common/htmlContent.js';
3
+ import { ServiceIdentifier, GetLeadingNonServiceArgs, ServicesAccessor } from './vscode/src/vs/platform/instantiation/common/instantiation.js';
4
+ export { IInstantiationService } from './vscode/src/vs/platform/instantiation/common/instantiation.js';
5
+ export { IContextKeyService } from './vscode/src/vs/platform/contextkey/common/contextkey.js';
6
+ export { IDimension } from './vscode/src/vs/editor/common/core/dimension.js';
1
7
  export { default as Severity } from './vscode/src/vs/base/common/severity.js';
2
- export { IConfigurationChangeEvent, IConfigurationService } from './vscode/src/vs/platform/configuration/common/configuration.js';
3
- export { ITextModelContentProvider, ITextModelService } from './vscode/src/vs/editor/common/services/resolverService.js';
8
+ export { IMarkerService } from './vscode/src/vs/platform/markers/common/markers.js';
9
+ export { ILanguageService } from './vscode/src/vs/editor/common/languages/language.js';
10
+ export { ILanguageConfigurationService } from './vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js';
4
11
  export { IColorTheme, IThemeService } from './vscode/src/vs/platform/theme/common/themeService.js';
12
+ export { ICodeEditorService } from './vscode/src/vs/editor/browser/services/codeEditorService.js';
13
+ export { IConfigurationChangeEvent, IConfigurationService } from './vscode/src/vs/platform/configuration/common/configuration.js';
14
+ export { INeverShowAgainOptions, INotification, INotificationActions, INotificationHandle, INotificationProgress, INotificationProgressProperties, INotificationProperties, INotificationService, IPromptChoice, IPromptChoiceWithMenu, IPromptOptions, IStatusMessageOptions, NeverShowAgainScope, NoOpNotification, NoOpProgress, NotificationMessage, NotificationPriority, NotificationsFilter } from './vscode/src/vs/platform/notification/common/notification.js';
5
15
  export { IStorageService, StorageScope, StorageTarget } from './vscode/src/vs/platform/storage/common/storage.js';
16
+ export { ITextModelContentProvider, ITextModelService } from './vscode/src/vs/editor/common/services/resolverService.js';
17
+ export { CloseDirection, EditorInputWithOptions, EditorsOrder, GroupIdentifier, IActiveEditorChangeEvent, IEditorCloseEvent, IEditorControl, IEditorPane, IEditorPartOptions, IEditorPartOptionsChangeEvent, IEditorWillMoveEvent, IEditorWillOpenEvent, IFindEditorOptions, IMatchEditorOptions, IUntypedEditorInput, IVisibleEditorPane } from './vscode/src/vs/workbench/common/editor.js';
18
+ export { ITextFileService } from './vscode/src/vs/workbench/services/textfile/common/textfiles.js';
19
+ export { IAction } from './vscode/src/vs/base/common/actions.js';
20
+ export { ICommandService } from './vscode/src/vs/platform/commands/common/commands.js';
21
+ export { IAudioCueService } from './vscode/src/vs/platform/audioCues/browser/audioCueService.js';
6
22
  import { IEditorOverrideServices } from './vscode/src/vs/editor/standalone/browser/standaloneServices.js';
7
23
  export { StandaloneServices } from './vscode/src/vs/editor/standalone/browser/standaloneServices.js';
8
- import { ServiceIdentifier, GetLeadingNonServiceArgs, ServicesAccessor } from './vscode/src/vs/platform/instantiation/common/instantiation.js';
9
- export { IInstantiationService } from './vscode/src/vs/platform/instantiation/common/instantiation.js';
10
- export { IAction } from './vscode/src/vs/base/common/actions.js';
11
24
  export { IProductService } from './vscode/src/vs/platform/product/common/productService.js';
12
- import { IDisposable } from './vscode/src/vs/base/common/lifecycle.js';
13
25
  import { IWorkbenchConstructionOptions } from './vscode/src/vs/workbench/browser/web.api.js';
14
26
  export { SyncDescriptor } from './vscode/src/vs/platform/instantiation/common/descriptors.js';
15
- export { ICommandService } from './vscode/src/vs/platform/commands/common/commands.js';
16
- export { INeverShowAgainOptions, INotification, INotificationActions, INotificationHandle, INotificationProgress, INotificationProgressProperties, INotificationProperties, INotificationService, IPromptChoice, IPromptChoiceWithMenu, IPromptOptions, IStatusMessageOptions, NeverShowAgainScope, NoOpNotification, NoOpProgress, NotificationMessage, NotificationPriority, NotificationsFilter } from './vscode/src/vs/platform/notification/common/notification.js';
17
27
  export { IBulkEditService } from './vscode/src/vs/editor/browser/services/bulkEditService.js';
18
- export { ICodeEditorService } from './vscode/src/vs/editor/browser/services/codeEditorService.js';
19
- export { ILanguageService } from './vscode/src/vs/editor/common/languages/language.js';
20
- export { ILanguageConfigurationService } from './vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js';
21
28
  export { IEditorWorkerService } from './vscode/src/vs/editor/common/services/editorWorker.js';
22
29
  export { ILanguageFeaturesService } from './vscode/src/vs/editor/common/services/languageFeatures.js';
23
30
  export { IModelService } from './vscode/src/vs/editor/common/services/model.js';
24
31
  export { IClipboardService } from './vscode/src/vs/platform/clipboard/common/clipboardService.js';
25
32
  export { DialogType, IBaseDialogOptions, ICheckbox, ICheckboxResult, IConfirmDialogArgs, IConfirmation, IConfirmationResult, ICustomDialogMarkdown, ICustomDialogOptions, IDialogArgs, IDialogHandler, IDialogResult, IDialogService, IFileDialogService, IInput, IInputDialogArgs, IInputElement, IInputResult, IPrompt, IPromptBaseButton, IPromptButton, IPromptCancelButton, IPromptDialogArgs, IPromptResult, IPromptResultWithCancel, IPromptWithCustomCancel, IPromptWithDefaultCancel } from './vscode/src/vs/platform/dialogs/common/dialogs.js';
26
33
  export { IFileService } from './vscode/src/vs/platform/files/common/files.js';
27
- export { IMarkerService } from './vscode/src/vs/platform/markers/common/markers.js';
28
34
  export { IOpenerService } from './vscode/src/vs/platform/opener/common/opener.js';
29
35
  export { IQuickInputService } from './vscode/src/vs/platform/quickinput/common/quickInput.js';
30
36
  export { ITelemetryService } from './vscode/src/vs/platform/telemetry/common/telemetry.js';
31
37
  export { IUriIdentityService } from './vscode/src/vs/platform/uriIdentity/common/uriIdentity.js';
32
38
  export { IBreadcrumbsService } from './vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js';
33
39
  export { EditorGroupLayout, GroupDirection, GroupLayoutArgument, GroupLocation, GroupOrientation, GroupsArrangement, GroupsOrder, ICloseAllEditorsOptions, ICloseEditorOptions, ICloseEditorsFilter, IEditorGroup, IEditorGroupsService, IEditorReplacement, IEditorSideGroup, IFindGroupScope, IMergeGroupOptions, MergeGroupMode } from './vscode/src/vs/workbench/services/editor/common/editorGroupsService.js';
34
- export { CloseDirection, EditorInputWithOptions, EditorsOrder, GroupIdentifier, IActiveEditorChangeEvent, IEditorCloseEvent, IEditorControl, IEditorPane, IEditorPartOptions, IEditorPartOptionsChangeEvent, IEditorWillMoveEvent, IEditorWillOpenEvent, IFindEditorOptions, IMatchEditorOptions, IUntypedEditorInput, IVisibleEditorPane } from './vscode/src/vs/workbench/common/editor.js';
35
- export { IDimension } from './vscode/src/vs/editor/common/core/dimension.js';
36
40
  export { IEditorOptions, IResourceEditorInput, ITextEditorOptions } from './vscode/src/vs/platform/editor/common/editor.js';
37
41
  export { EditorInput } from './vscode/src/vs/workbench/common/editor/editorInput.js';
38
42
  export { IGroupModelChangeEvent } from './vscode/src/vs/workbench/common/editor/editorGroupModel.js';
@@ -44,12 +48,9 @@ export { IHostService } from './vscode/src/vs/workbench/services/host/browser/ho
44
48
  export { ILanguageStatusService } from './vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.js';
45
49
  export { IPaneCompositePartService } from './vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.js';
46
50
  export { IPathService } from './vscode/src/vs/workbench/services/path/common/pathService.js';
47
- export { ITextFileService } from './vscode/src/vs/workbench/services/textfile/common/textfiles.js';
48
51
  export { IWorkingCopyFileService } from './vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.js';
49
- export { IContextKeyService } from './vscode/src/vs/platform/contextkey/common/contextkey.js';
50
52
  export { ISnippetsService } from './vscode/src/vs/workbench/contrib/snippets/browser/snippets.js';
51
53
  export { IWorkspaceContextService } from './vscode/src/vs/platform/workspace/common/workspace.js';
52
- export { IAudioCueService } from './vscode/src/vs/platform/audioCues/browser/audioCueService.js';
53
54
  export { IDebugService } from './vscode/src/vs/workbench/contrib/debug/common/debug.js';
54
55
  export { ILogService, ILoggerService, LogLevel } from './vscode/src/vs/platform/log/common/log.js';
55
56
  export { IViewDescriptorService, IViewsService } from './vscode/src/vs/workbench/common/views.js';
@@ -65,7 +66,6 @@ export { IRemoteSocketFactoryService } from './vscode/src/vs/platform/remote/com
65
66
  export { ITerminalInstanceService, ITerminalService } from './vscode/src/vs/workbench/contrib/terminal/browser/terminal.js';
66
67
  export { IFilesConfigurationService } from './vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js';
67
68
  export { ILabelService } from './vscode/src/vs/platform/label/common/label.js';
68
- export { IMarkdownString, MarkdownStringTrustedOptions } from './vscode/src/vs/base/common/htmlContent.js';
69
69
  export { IActivityService, IBadge } from './vscode/src/vs/workbench/services/activity/common/activity.js';
70
70
  export { IHoverService } from './vscode/src/vs/workbench/services/hover/browser/hover.js';
71
71
  export { IExplorerService } from './vscode/src/vs/workbench/contrib/files/browser/files.js';
package/services.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import './missing-services.js';
2
+ import './contributions.js';
2
3
  export { default as Severity } from 'monaco-editor/esm/vs/base/common/severity.js';
3
4
  export { StorageScope, StorageTarget } from './vscode/src/vs/platform/storage/common/storage.js';
4
5
  import { StandaloneServices } from 'monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js';
@@ -17,12 +17,5 @@ declare class ErrorHandler {
17
17
  onUnexpectedExternalError(e: any): void;
18
18
  }
19
19
  declare const errorHandler: ErrorHandler;
20
- interface SerializedError {
21
- readonly $isError: true;
22
- readonly name: string;
23
- readonly message: string;
24
- readonly stack: string;
25
- readonly noTelemetry: boolean;
26
- }
27
20
 
28
- export { ErrorHandler, type ErrorListenerCallback, type ErrorListenerUnbind, type SerializedError, errorHandler };
21
+ export { ErrorHandler, type ErrorListenerCallback, type ErrorListenerUnbind, errorHandler };
@@ -158,11 +158,5 @@ interface UriComponents {
158
158
  query?: string;
159
159
  fragment?: string;
160
160
  }
161
- /**
162
- * Mapped-type that replaces all occurrences of URI with UriComponents
163
- */
164
- type UriDto<T> = {
165
- [K in keyof T]: T[K] extends URI ? UriComponents : UriDto<T[K]>;
166
- };
167
161
 
168
- export { URI, type UriComponents, type UriDto };
162
+ export { URI, type UriComponents };
@@ -1,7 +1,7 @@
1
1
  import { ServiceIdentifier } from '../../instantiation/common/instantiation.js';
2
2
  import { Event } from '../../../base/common/event.js';
3
3
  import { OperatingSystem, IProcessEnvironment } from '../../../base/common/platform.js';
4
- import { URI, UriComponents } from '../../../base/common/uri.js';
4
+ import { URI } from '../../../base/common/uri.js';
5
5
  import { ISerializedCommandDetectionCapability, ITerminalCapabilityStore } from './capabilities/capabilities.js';
6
6
  import { IProcessDetails } from './terminalProcess.js';
7
7
  import { ThemeIcon } from '../../../base/common/themables.js';
@@ -259,19 +259,6 @@ interface IShellLaunchConfig {
259
259
  ignoreShellIntegration?: boolean;
260
260
  }
261
261
  type WaitOnExitValue = boolean | string | ((exitCode: number) => string);
262
- interface ICreateContributedTerminalProfileOptions {
263
- icon?: URI | string | {
264
- light: URI;
265
- dark: URI;
266
- };
267
- color?: string;
268
- location?: TerminalLocation | {
269
- viewColumn: number;
270
- preserveState?: boolean;
271
- } | {
272
- splitActiveTerminal: boolean;
273
- };
274
- }
275
262
  declare enum TerminalLocation {
276
263
  Panel = 1,
277
264
  Editor = 2
@@ -284,18 +271,6 @@ type TerminalIcon = ThemeIcon | URI | {
284
271
  light: URI;
285
272
  dark: URI;
286
273
  };
287
- interface IShellLaunchConfigDto {
288
- name?: string;
289
- executable?: string;
290
- args?: string[] | string;
291
- cwd?: string | UriComponents;
292
- env?: ITerminalEnvironment;
293
- useShellEnvironment?: boolean;
294
- hideFromUser?: boolean;
295
- reconnectionProperties?: IReconnectionProperties;
296
- type?: 'Task' | 'Local';
297
- isFeatureTerminal?: boolean;
298
- }
299
274
  /**
300
275
  * A set of options for the terminal process. These differ from the shell launch config in that they
301
276
  * are set internally to the terminal component, not from the outside.
@@ -612,4 +587,4 @@ interface ITerminalLogService extends ILogService {
612
587
  readonly _logBrand: undefined;
613
588
  }
614
589
 
615
- export { type IBaseUnresolvedTerminalProfile, type ICreateContributedTerminalProfileOptions, type IExtensionTerminalProfile, type IFixedTerminalDimensions, type IProcessDataEvent, type IProcessProperty, type IProcessPropertyMap, type IProcessReadyEvent, type IProcessReadyWindowsPty, type IPtyHostAttachTarget, type IPtyHostLatencyMeasurement, type IRawTerminalInstanceLayoutInfo, type IRawTerminalTabLayoutInfo, type IRawTerminalsLayoutInfo, type IReconnectionProperties, type IShellIntegration, type IShellLaunchConfig, type IShellLaunchConfigDto, type ITerminalBackend, type ITerminalChildProcess, type ITerminalDimensions, type ITerminalDimensionsOverride, type ITerminalEnvironment, type ITerminalExecutable, type ITerminalLaunchError, ITerminalLogService, type ITerminalOutputMatch, type ITerminalOutputMatcher, type ITerminalProcessOptions, type ITerminalProfile, type ITerminalProfileContribution, type ITerminalProfileObject, type ITerminalProfileSource, type ITerminalTabLayoutInfoById, type ITerminalUnsafePath, type ITerminalsLayoutInfo, type ITerminalsLayoutInfoById, PosixShellType, ProcessPropertyType, ProfileSource, ShellIntegrationStatus, TerminalExitReason, type TerminalIcon, TerminalLocation, TerminalLocationString, type TerminalShellType, type TerminalType, TitleEventSource, type WaitOnExitValue, WindowsShellType };
590
+ export { type IBaseUnresolvedTerminalProfile, type IExtensionTerminalProfile, type IFixedTerminalDimensions, type IProcessDataEvent, type IProcessProperty, type IProcessPropertyMap, type IProcessReadyEvent, type IProcessReadyWindowsPty, type IPtyHostAttachTarget, type IPtyHostLatencyMeasurement, type IRawTerminalInstanceLayoutInfo, type IRawTerminalTabLayoutInfo, type IRawTerminalsLayoutInfo, type IReconnectionProperties, type IShellIntegration, type IShellLaunchConfig, type ITerminalBackend, type ITerminalChildProcess, type ITerminalDimensions, type ITerminalDimensionsOverride, type ITerminalEnvironment, type ITerminalExecutable, type ITerminalLaunchError, ITerminalLogService, type ITerminalOutputMatch, type ITerminalOutputMatcher, type ITerminalProcessOptions, type ITerminalProfile, type ITerminalProfileContribution, type ITerminalProfileObject, type ITerminalProfileSource, type ITerminalTabLayoutInfoById, type ITerminalUnsafePath, type ITerminalsLayoutInfo, type ITerminalsLayoutInfoById, PosixShellType, ProcessPropertyType, ProfileSource, ShellIntegrationStatus, TerminalExitReason, type TerminalIcon, TerminalLocation, TerminalLocationString, type TerminalShellType, type TerminalType, TitleEventSource, type WaitOnExitValue, WindowsShellType };
@@ -1,4 +1,7 @@
1
+ import { ServiceIdentifier } from '../../instantiation/common/instantiation.js';
2
+ import { Event } from '../../../base/common/event.js';
1
3
  import { URI } from '../../../base/common/uri.js';
4
+ import { IAnyWorkspaceIdentifier } from '../../workspace/common/workspace.js';
2
5
 
3
6
  declare const enum ProfileResourceType {
4
7
  Settings = "settings",
@@ -31,5 +34,40 @@ interface IUserDataProfile {
31
34
  readonly useDefaultFlags?: UseDefaultProfileFlags;
32
35
  readonly isTransient?: boolean;
33
36
  }
37
+ type DidChangeProfilesEvent = {
38
+ readonly added: readonly IUserDataProfile[];
39
+ readonly removed: readonly IUserDataProfile[];
40
+ readonly updated: readonly IUserDataProfile[];
41
+ readonly all: readonly IUserDataProfile[];
42
+ };
43
+ interface IUserDataProfileOptions {
44
+ readonly shortName?: string;
45
+ readonly icon?: string;
46
+ readonly useDefaultFlags?: UseDefaultProfileFlags;
47
+ readonly transient?: boolean;
48
+ }
49
+ interface IUserDataProfileUpdateOptions extends Omit<IUserDataProfileOptions, 'icon'> {
50
+ readonly name?: string;
51
+ readonly icon?: string | null;
52
+ }
53
+ declare const IUserDataProfilesService: ServiceIdentifier<IUserDataProfilesService>;
54
+ interface IUserDataProfilesService {
55
+ readonly _serviceBrand: undefined;
56
+ readonly profilesHome: URI;
57
+ readonly defaultProfile: IUserDataProfile;
58
+ readonly onDidChangeProfiles: Event<DidChangeProfilesEvent>;
59
+ readonly profiles: readonly IUserDataProfile[];
60
+ readonly onDidResetWorkspaces: Event<void>;
61
+ isEnabled(): boolean;
62
+ createNamedProfile(name: string, options?: IUserDataProfileOptions, workspaceIdentifier?: IAnyWorkspaceIdentifier): Promise<IUserDataProfile>;
63
+ createTransientProfile(workspaceIdentifier?: IAnyWorkspaceIdentifier): Promise<IUserDataProfile>;
64
+ createProfile(id: string, name: string, options?: IUserDataProfileOptions, workspaceIdentifier?: IAnyWorkspaceIdentifier): Promise<IUserDataProfile>;
65
+ updateProfile(profile: IUserDataProfile, options?: IUserDataProfileUpdateOptions): Promise<IUserDataProfile>;
66
+ removeProfile(profile: IUserDataProfile): Promise<void>;
67
+ setProfileForWorkspace(workspaceIdentifier: IAnyWorkspaceIdentifier, profile: IUserDataProfile): Promise<void>;
68
+ resetWorkspaces(): Promise<void>;
69
+ cleanUp(): Promise<void>;
70
+ cleanUpTransientProfiles(): Promise<void>;
71
+ }
34
72
 
35
- export { type IUserDataProfile, ProfileResourceType, type UseDefaultProfileFlags };
73
+ export { type DidChangeProfilesEvent, type IUserDataProfile, type IUserDataProfileOptions, type IUserDataProfileUpdateOptions, IUserDataProfilesService, ProfileResourceType, type UseDefaultProfileFlags };
@@ -152,25 +152,6 @@ interface IWorkspaceFolder extends IWorkspaceFolderData {
152
152
  */
153
153
  toResource: (relativePath: string) => URI;
154
154
  }
155
- declare class Workspace implements IWorkspace {
156
- private _id;
157
- private _transient;
158
- private _configuration;
159
- private _ignorePathCasing;
160
- private _foldersMap;
161
- private _folders;
162
- constructor(_id: string, folders: WorkspaceFolder[], _transient: boolean, _configuration: URI | null, _ignorePathCasing: (key: URI) => boolean);
163
- update(workspace: Workspace): void;
164
- get folders(): WorkspaceFolder[];
165
- set folders(folders: WorkspaceFolder[]);
166
- get id(): string;
167
- get transient(): boolean;
168
- get configuration(): URI | null;
169
- set configuration(configuration: URI | null);
170
- getFolder(resource: URI): IWorkspaceFolder | null;
171
- private updateFoldersMap;
172
- toJSON(): IWorkspace;
173
- }
174
155
  interface IRawFileWorkspaceFolder {
175
156
  readonly path: string;
176
157
  name?: string;
@@ -179,29 +160,5 @@ interface IRawUriWorkspaceFolder {
179
160
  readonly uri: string;
180
161
  name?: string;
181
162
  }
182
- declare class WorkspaceFolder implements IWorkspaceFolder {
183
- /**
184
- * Provides access to the original metadata for this workspace
185
- * folder. This can be different from the metadata provided in
186
- * this class:
187
- * - raw paths can be relative
188
- * - raw paths are not normalized
189
- */
190
- readonly raw?: IRawFileWorkspaceFolder | IRawUriWorkspaceFolder | undefined;
191
- readonly uri: URI;
192
- readonly name: string;
193
- readonly index: number;
194
- constructor(data: IWorkspaceFolderData,
195
- /**
196
- * Provides access to the original metadata for this workspace
197
- * folder. This can be different from the metadata provided in
198
- * this class:
199
- * - raw paths can be relative
200
- * - raw paths are not normalized
201
- */
202
- raw?: IRawFileWorkspaceFolder | IRawUriWorkspaceFolder | undefined);
203
- toResource(relativePath: string): URI;
204
- toJSON(): IWorkspaceFolderData;
205
- }
206
163
 
207
- export { type IAnyWorkspaceIdentifier, type IBaseWorkspace, type IBaseWorkspaceIdentifier, type IEmptyWorkspaceIdentifier, type IRawFileWorkspaceFolder, type IRawUriWorkspaceFolder, type ISingleFolderWorkspaceIdentifier, type IWorkspace, IWorkspaceContextService, type IWorkspaceFolder, type IWorkspaceFolderData, type IWorkspaceFoldersChangeEvent, type IWorkspaceFoldersWillChangeEvent, type IWorkspaceIdentifier, WorkbenchState, Workspace, WorkspaceFolder };
164
+ export { type IAnyWorkspaceIdentifier, type IBaseWorkspace, type IBaseWorkspaceIdentifier, type IEmptyWorkspaceIdentifier, type IRawFileWorkspaceFolder, type IRawUriWorkspaceFolder, type ISingleFolderWorkspaceIdentifier, type IWorkspace, IWorkspaceContextService, type IWorkspaceFolder, type IWorkspaceFolderData, type IWorkspaceFoldersChangeEvent, type IWorkspaceFoldersWillChangeEvent, type IWorkspaceIdentifier, WorkbenchState };
@@ -1,11 +1,18 @@
1
1
  import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
2
+ import { toDisposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
3
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
3
4
  import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
5
+ import { isProposedApiEnabled } from '../../services/extensions/common/extensions.js';
6
+ import { ExtensionsRegistry } from '../../services/extensions/common/extensionsRegistry.js';
4
7
  import { IStatusbarService } from '../../services/statusbar/browser/statusbar.js';
8
+ import { isAccessibilityInformation } from 'monaco-editor/esm/vs/platform/accessibility/common/accessibility.js';
5
9
  import { getCodiconAriaLabel } from 'monaco-editor/esm/vs/base/common/iconLabels.js';
6
10
  import { hash } from 'monaco-editor/esm/vs/base/common/hash.js';
7
11
  import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
8
12
  import { registerSingleton } from 'monaco-editor/esm/vs/platform/instantiation/common/extensions.js';
13
+ import { Iterable } from 'monaco-editor/esm/vs/base/common/iterator.js';
14
+ import { ExtensionIdentifier } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
15
+ import { asStatusBarItemIdentifier } from '../common/extHostTypes.js';
9
16
  import { STATUS_BAR_WARNING_ITEM_BACKGROUND, STATUS_BAR_ERROR_ITEM_BACKGROUND } from '../../common/theme.js';
10
17
  const IExtensionStatusBarItemService = ( createDecorator('IExtensionStatusBarItemService'));
11
18
  let ExtensionStatusBarItemService = class ExtensionStatusBarItemService {
@@ -93,4 +100,155 @@ ExtensionStatusBarItemService = ( __decorate([
93
100
  ( __param(0, IStatusbarService))
94
101
  ], ExtensionStatusBarItemService));
95
102
  registerSingleton(IExtensionStatusBarItemService, ExtensionStatusBarItemService, 1 );
96
- export { ExtensionStatusBarItemService, IExtensionStatusBarItemService };
103
+ function isUserFriendlyStatusItemEntry(candidate) {
104
+ const obj = candidate;
105
+ return (typeof obj.id === 'string' && obj.id.length > 0)
106
+ && typeof obj.name === 'string'
107
+ && typeof obj.text === 'string'
108
+ && (obj.alignment === 'left' || obj.alignment === 'right')
109
+ && (obj.command === undefined || typeof obj.command === 'string')
110
+ && (obj.tooltip === undefined || typeof obj.tooltip === 'string')
111
+ && (obj.priority === undefined || typeof obj.priority === 'number')
112
+ && (obj.accessibilityInformation === undefined || isAccessibilityInformation(obj.accessibilityInformation));
113
+ }
114
+ const statusBarItemSchema = {
115
+ type: 'object',
116
+ required: ['id', 'text', 'alignment', 'name'],
117
+ properties: {
118
+ id: {
119
+ type: 'string',
120
+ markdownDescription: ( localizeWithPath(
121
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
122
+ 'id',
123
+ 'The identifier of the status bar entry. Must be unique within the extension. The same value must be used when calling the `vscode.window.createStatusBarItem(id, ...)`-API'
124
+ ))
125
+ },
126
+ name: {
127
+ type: 'string',
128
+ description: ( localizeWithPath(
129
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
130
+ 'name',
131
+ 'The name of the entry, like \'Python Language Indicator\', \'Git Status\' etc. Try to keep the length of the name short, yet descriptive enough that users can understand what the status bar item is about.'
132
+ ))
133
+ },
134
+ text: {
135
+ type: 'string',
136
+ description: ( localizeWithPath(
137
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
138
+ 'text',
139
+ 'The text to show for the entry. You can embed icons in the text by leveraging the `$(<name>)`-syntax, like \'Hello $(globe)!\''
140
+ ))
141
+ },
142
+ tooltip: {
143
+ type: 'string',
144
+ description: ( localizeWithPath(
145
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
146
+ 'tooltip',
147
+ 'The tooltip text for the entry.'
148
+ ))
149
+ },
150
+ command: {
151
+ type: 'string',
152
+ description: ( localizeWithPath(
153
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
154
+ 'command',
155
+ 'The command to execute when the status bar entry is clicked.'
156
+ ))
157
+ },
158
+ alignment: {
159
+ type: 'string',
160
+ enum: ['left', 'right'],
161
+ description: ( localizeWithPath(
162
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
163
+ 'alignment',
164
+ 'The alignment of the status bar entry.'
165
+ ))
166
+ },
167
+ priority: {
168
+ type: 'number',
169
+ description: ( localizeWithPath(
170
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
171
+ 'priority',
172
+ 'The priority of the status bar entry. Higher value means the item should be shown more to the left.'
173
+ ))
174
+ },
175
+ accessibilityInformation: {
176
+ type: 'object',
177
+ description: ( localizeWithPath(
178
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
179
+ 'accessibilityInformation',
180
+ 'Defines the role and aria label to be used when the status bar entry is focused.'
181
+ )),
182
+ properties: {
183
+ role: {
184
+ type: 'string',
185
+ description: ( localizeWithPath(
186
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
187
+ 'accessibilityInformation.role',
188
+ 'The role of the status bar entry which defines how a screen reader interacts with it. More about aria roles can be found here https://w3c.github.io/aria/#widget_roles'
189
+ ))
190
+ },
191
+ label: {
192
+ type: 'string',
193
+ description: ( localizeWithPath(
194
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
195
+ 'accessibilityInformation.label',
196
+ 'The aria label of the status bar entry. Defaults to the entry\'s text.'
197
+ ))
198
+ }
199
+ }
200
+ }
201
+ }
202
+ };
203
+ const statusBarItemsSchema = {
204
+ description: ( localizeWithPath(
205
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
206
+ 'vscode.extension.contributes.statusBarItems',
207
+ "Contributes items to the status bar."
208
+ )),
209
+ oneOf: [
210
+ statusBarItemSchema,
211
+ {
212
+ type: 'array',
213
+ items: statusBarItemSchema
214
+ }
215
+ ]
216
+ };
217
+ const statusBarItemsExtensionPoint = ( ExtensionsRegistry.registerExtensionPoint({
218
+ extensionPoint: 'statusBarItems',
219
+ jsonSchema: statusBarItemsSchema,
220
+ }));
221
+ let StatusBarItemsExtensionPoint = class StatusBarItemsExtensionPoint {
222
+ constructor(statusBarItemsService) {
223
+ const contributions = ( new DisposableStore());
224
+ statusBarItemsExtensionPoint.setHandler((extensions) => {
225
+ contributions.clear();
226
+ for (const entry of extensions) {
227
+ if (!isProposedApiEnabled(entry.description, 'contribStatusBarItems')) {
228
+ entry.collector.error(`The ${statusBarItemsExtensionPoint.name} is proposed API`);
229
+ continue;
230
+ }
231
+ const { value, collector } = entry;
232
+ for (const candidate of Iterable.wrap(value)) {
233
+ if (!isUserFriendlyStatusItemEntry(candidate)) {
234
+ collector.error(( localizeWithPath(
235
+ 'vs/workbench/api/browser/statusBarExtensionPoint',
236
+ 'invalid',
237
+ "Invalid status bar item contribution."
238
+ )));
239
+ continue;
240
+ }
241
+ const fullItemId = asStatusBarItemIdentifier(entry.description.identifier, candidate.id);
242
+ const kind = statusBarItemsService.setOrUpdateEntry(fullItemId, fullItemId, ExtensionIdentifier.toKey(entry.description.identifier), candidate.name ?? entry.description.displayName ?? entry.description.name, candidate.text, candidate.tooltip, candidate.command ? { id: candidate.command, title: candidate.name } : undefined, undefined, undefined, candidate.alignment === 'left', candidate.priority, candidate.accessibilityInformation);
243
+ if (kind === 0 ) {
244
+ contributions.add(toDisposable(() => statusBarItemsService.unsetEntry(fullItemId)));
245
+ }
246
+ }
247
+ }
248
+ });
249
+ }
250
+ };
251
+ StatusBarItemsExtensionPoint = ( __decorate([
252
+ ( __param(0, IExtensionStatusBarItemService))
253
+ ], StatusBarItemsExtensionPoint));
254
+ export { ExtensionStatusBarItemService, IExtensionStatusBarItemService, StatusBarItemsExtensionPoint };