@codingame/monaco-vscode-api 1.83.5 → 1.83.7

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 (213) hide show
  1. package/assets.js +3 -14
  2. package/lifecycle.js +3 -1
  3. package/missing-services.js +32 -28
  4. package/monaco-editor-treemending.patch +26330 -3867
  5. package/monaco.js +4 -0
  6. package/package.json +1 -1
  7. package/service-override/extensions.js +5 -5
  8. package/service-override/files.js +37 -13
  9. package/service-override/keybindings.js +10 -4
  10. package/service-override/layout.js +1 -3
  11. package/services.d.ts +13 -2
  12. package/services.js +35 -5
  13. package/vscode/src/vs/base/browser/broadcast.js +52 -0
  14. package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
  15. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +6 -1
  16. package/vscode/src/vs/base/common/date.js +244 -54
  17. package/vscode/src/vs/base/common/jsonErrorMessages.js +45 -9
  18. package/vscode/src/vs/editor/common/services/textResourceConfiguration.d.ts +65 -0
  19. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +33 -5
  20. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +165 -32
  21. package/vscode/src/vs/platform/dialogs/common/dialogs.js +30 -9
  22. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +0 -3
  23. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +6 -1
  24. package/vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js +404 -0
  25. package/vscode/src/vs/platform/files/common/fileService.js +13 -2
  26. package/vscode/src/vs/platform/files/common/files.js +25 -5
  27. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +15 -3
  28. package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +38 -7
  29. package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +7 -1
  30. package/vscode/src/vs/platform/request/common/request.js +1 -1
  31. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +210 -42
  32. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +73 -13
  33. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +5 -1
  34. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +11 -2
  35. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +5 -3
  36. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +70 -35
  37. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +108 -20
  38. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +17 -4
  39. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +5 -3
  40. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +5 -5
  41. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +5 -3
  42. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +7 -1
  43. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +14 -2
  44. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +12 -14
  45. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +6 -1
  46. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +32 -5
  47. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +0 -60
  48. package/vscode/src/vs/workbench/api/common/extHostChat.js +11 -2
  49. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +6 -1
  50. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +12 -2
  51. package/vscode/src/vs/workbench/api/common/extHostLogService.js +9 -1
  52. package/vscode/src/vs/workbench/api/common/extHostProgress.js +6 -1
  53. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +11 -2
  54. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +6 -1
  55. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +6 -1
  56. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +10 -2
  57. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +7 -1
  58. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +49 -9
  59. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +397 -274
  60. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +30 -6
  61. package/vscode/src/vs/workbench/browser/actions/windowActions.js +85 -31
  62. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +56 -102
  63. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +5 -1
  64. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  65. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +55 -11
  66. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +63 -11
  67. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +7 -1
  68. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +15 -3
  69. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +205 -41
  70. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +617 -139
  71. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +578 -114
  72. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +96 -20
  73. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +30 -6
  74. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +46 -9
  75. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +30 -5
  76. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +309 -59
  77. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +5 -1
  78. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +5 -1
  79. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +16 -3
  80. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
  81. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +35 -7
  82. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +185 -33
  83. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +90 -57
  84. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +5 -1
  85. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +16 -3
  86. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +26 -6
  87. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +35 -6
  88. package/vscode/src/vs/workbench/browser/quickaccess.js +6 -6
  89. package/vscode/src/vs/workbench/browser/workbench.contribution.js +918 -185
  90. package/vscode/src/vs/workbench/common/configuration.js +25 -11
  91. package/vscode/src/vs/workbench/common/contextkeys.js +244 -228
  92. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +7 -1
  93. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.d.ts +44 -0
  94. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +7 -1
  95. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +6 -1
  96. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.d.ts +23 -0
  97. package/vscode/src/vs/workbench/common/editor.d.ts +26 -1
  98. package/vscode/src/vs/workbench/common/editor.js +26 -5
  99. package/vscode/src/vs/workbench/common/theme.js +676 -136
  100. package/vscode/src/vs/workbench/common/views.js +8 -3
  101. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +71 -14
  102. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +21 -2
  103. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +133 -21
  104. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +36 -8
  105. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +96 -17
  106. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +0 -2
  107. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +22 -4
  108. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +22 -4
  109. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +41 -8
  110. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +25 -5
  111. package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +30 -6
  112. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +34 -6
  113. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +44 -0
  114. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +10 -2
  115. package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +320 -63
  116. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +12 -4
  117. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +15 -3
  118. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +30 -6
  119. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +25 -4
  120. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +10 -2
  121. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +20 -4
  122. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +10 -2
  123. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +10 -2
  124. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +25 -9
  125. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +30 -6
  126. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +25 -5
  127. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +16 -3
  128. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +8 -4
  129. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +23 -3
  130. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +15 -9
  131. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +18 -3
  132. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +142 -26
  133. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +33 -5
  134. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +45 -7
  135. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +63 -10
  136. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +45 -9
  137. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +16 -8
  138. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +41 -21
  139. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +5 -1
  140. package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +5 -1
  141. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +60 -12
  142. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +275 -55
  143. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +7 -1
  144. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +255 -94
  145. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +120 -24
  146. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +22 -4
  147. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +21 -4
  148. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +39 -51
  149. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +394 -75
  150. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +17 -6
  151. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +190 -32
  152. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +5 -1
  153. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +21 -4
  154. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +26 -5
  155. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +81 -14
  156. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +26 -5
  157. package/vscode/src/vs/workbench/contrib/files/common/files.js +70 -26
  158. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +11 -3
  159. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +5 -1
  160. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +20 -4
  161. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +75 -111
  162. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +5 -1
  163. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +6 -1
  164. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +151 -29
  165. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +10 -2
  166. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +0 -42
  167. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +115 -23
  168. package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +17 -3
  169. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +49 -9
  170. package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +66 -13
  171. package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +52 -10
  172. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +10 -2
  173. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +110 -26
  174. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +21 -3
  175. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +15 -3
  176. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +56 -9
  177. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +25 -5
  178. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +16 -26
  179. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +7 -8
  180. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +20 -4
  181. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +35 -7
  182. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +106 -21
  183. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +81 -21
  184. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +6 -1
  185. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +6 -2
  186. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +592 -112
  187. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +5 -1
  188. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +6 -32
  189. package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +5 -1
  190. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +5 -1
  191. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +5 -1
  192. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +15 -3
  193. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +58 -10
  194. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +5 -1
  195. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +392 -80
  196. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +28 -5
  197. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +10 -2
  198. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +129 -24
  199. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +10 -2
  200. package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +20 -10
  201. package/vscode/src/vs/workbench/services/language/common/languageService.js +122 -22
  202. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +28 -9
  203. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +6 -1
  204. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +48 -9
  205. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +5 -1
  206. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +7 -1
  207. package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +6 -1
  208. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +81 -16
  209. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +1 -50
  210. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +126 -25
  211. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +6 -5
  212. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +6 -14
  213. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +6 -1
package/monaco.js CHANGED
@@ -53,6 +53,7 @@ import './vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.j
53
53
  import './vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js';
54
54
  import './vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js';
55
55
  import './vscode/src/vs/workbench/contrib/list/browser/list.contribution.js';
56
+ import './vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js';
56
57
  let ExtensionPoints = class ExtensionPoints {
57
58
  constructor(instantiationService) {
58
59
  this.instantiationService = instantiationService;
@@ -151,6 +152,9 @@ let DelegateStandaloneKeybindingService = class DelegateStandaloneKeybindingServ
151
152
  resolveKeyboardEvent(keyboardEvent) {
152
153
  return this.delegate.resolveKeyboardEvent(keyboardEvent);
153
154
  }
155
+ resolveKeybinding(keybinding) {
156
+ return this.delegate.resolveKeybinding(keybinding);
157
+ }
154
158
  };
155
159
  DelegateStandaloneKeybindingService = __decorate([
156
160
  ( __param(1, IContextKeyService)),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-api",
3
- "version": "1.83.5",
3
+ "version": "1.83.7",
4
4
  "description": "VSCode public API plugged on the monaco editor",
5
5
  "keywords": [],
6
6
  "author": {
@@ -47,10 +47,10 @@ import getServiceOverride$1 from './output.js';
47
47
  import { changeUrlDomain } from './tools/url.js';
48
48
  import { registerAssets } from '../assets.js';
49
49
  import { unsupported } from '../tools.js';
50
- import '../vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js';
51
50
  import '../vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js';
52
51
  import '../vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js';
53
- import '../vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js';
52
+ import '../vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js';
53
+ import '../vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js';
54
54
  import '../vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js';
55
55
  import '../vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js';
56
56
  import '../vscode/src/vs/workbench/api/browser/mainThreadLocalization.js';
@@ -396,14 +396,14 @@ let SimpleExtensionService = class SimpleExtensionService extends AbstractExtens
396
396
  }
397
397
  async deltaExtensions(toAdd, toRemove) {
398
398
  const extHostPicker = this._extensionHostKindPicker;
399
+ for (const extension of toRemove) {
400
+ extHostPicker.removeForcedExtensionHostKind(extension.identifier.id);
401
+ }
399
402
  for (const extension of toAdd) {
400
403
  if (extension.extHostKind != null) {
401
404
  extHostPicker.setForcedExtensionHostKind(extension.identifier.id, extension.extHostKind);
402
405
  }
403
406
  }
404
- for (const extension of toRemove) {
405
- extHostPicker.removeForcedExtensionHostKind(extension.identifier.id);
406
- }
407
407
  await this._handleDeltaExtensions(new DeltaExtensionsQueueItem(toAdd, toRemove));
408
408
  }
409
409
  async _resolveExtensions() {
@@ -16,6 +16,8 @@ export { HTMLFileSystemProvider } from 'monaco-editor/esm/vs/platform/files/brow
16
16
  import * as path from 'monaco-editor/esm/vs/base/common/path.js';
17
17
  import '../vscode/src/vs/workbench/contrib/files/browser/files.contribution.js';
18
18
  import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
19
+ export { IndexedDBFileSystemProvider } from '../vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js';
20
+ export { IndexedDB } from 'monaco-editor/esm/vs/base/browser/indexedDB.js';
19
21
  class RegisteredFile {
20
22
  constructor(uri, readonly) {
21
23
  this.uri = uri;
@@ -389,21 +391,27 @@ class DelegateFileSystemProvider {
389
391
  const fileSystemProvider = new OverlayFileSystemProvider();
390
392
  fileSystemProvider.register(0, new MkdirpOnWriteInMemoryFileSystemProvider());
391
393
  const extensionFileSystemProvider = new RegisteredFileSystemProvider(true);
394
+ const userDataFileSystemProvider = new InMemoryFileSystemProvider();
395
+ void userDataFileSystemProvider.mkdir(( URI.from({ scheme: Schemas.vscodeUserData, path: '/User/' })));
396
+ const providers = {
397
+ extension: extensionFileSystemProvider,
398
+ logs: new InMemoryFileSystemProvider(),
399
+ [Schemas.vscodeUserData]: userDataFileSystemProvider,
400
+ [Schemas.tmp]: new InMemoryFileSystemProvider(),
401
+ file: fileSystemProvider
402
+ };
392
403
  let MemoryFileService = class MemoryFileService extends FileService {
393
404
  constructor(logService) {
394
405
  super(logService);
395
- const userMemoryFileSystem = new InMemoryFileSystemProvider();
396
- this.registerProvider('user', userMemoryFileSystem);
397
- this.registerProvider('extension', extensionFileSystemProvider);
398
- this.registerProvider('cache', new InMemoryFileSystemProvider());
399
- this.registerProvider('logs', new InMemoryFileSystemProvider());
400
- this.registerProvider(Schemas.vscodeUserData, new InMemoryFileSystemProvider());
401
- this.registerProvider(Schemas.tmp, new InMemoryFileSystemProvider());
402
- let fileSystemProviderDisposable = this.registerProvider('file', fileSystemProvider);
403
- fileSystemProvider.onDidChangeOverlays(() => {
404
- fileSystemProviderDisposable.dispose();
405
- fileSystemProviderDisposable = this.registerProvider('file', fileSystemProvider);
406
- });
406
+ for (const [scheme, provider] of Object.entries(providers)) {
407
+ let disposable = this.registerProvider(scheme, provider);
408
+ if (provider instanceof OverlayFileSystemProvider) {
409
+ provider.onDidChangeOverlays(() => {
410
+ disposable.dispose();
411
+ disposable = this.registerProvider(scheme, fileSystemProvider);
412
+ });
413
+ }
414
+ }
407
415
  }
408
416
  };
409
417
  MemoryFileService = __decorate([
@@ -414,10 +422,26 @@ function getServiceOverride() {
414
422
  [( IFileService.toString())]: new SyncDescriptor(MemoryFileService, [], true)
415
423
  };
416
424
  }
425
+ function registerCustomProvider(scheme, provider) {
426
+ providers[scheme] = provider;
427
+ }
417
428
  function registerExtensionFile(extensionLocation, filePath, getContent) {
418
429
  return extensionFileSystemProvider.registerFile(new RegisteredReadOnlyFile(joinPath(extensionLocation, filePath), getContent));
419
430
  }
431
+ async function initFile(scheme, file, content, options) {
432
+ const provider = providers[scheme];
433
+ if (provider == null || provider.writeFile == null) {
434
+ throw new Error(`${scheme} provider doesn't exist or doesn't support writing files`);
435
+ }
436
+ await provider.writeFile(file, content instanceof Uint8Array ? content : encoder.encode(content), {
437
+ atomic: false,
438
+ create: true,
439
+ overwrite: false,
440
+ unlock: false,
441
+ ...options
442
+ });
443
+ }
420
444
  function registerFileSystemOverlay(priority, provider) {
421
445
  return fileSystemProvider.register(priority, provider);
422
446
  }
423
- export { DelegateFileSystemProvider, FilePermission, FileType, InMemoryFileSystemProvider, RegisteredFile, RegisteredFileSystemProvider, RegisteredMemoryFile, RegisteredReadOnlyFile, getServiceOverride as default, registerExtensionFile, registerFileSystemOverlay };
447
+ export { DelegateFileSystemProvider, FilePermission, FileType, InMemoryFileSystemProvider, RegisteredFile, RegisteredFileSystemProvider, RegisteredMemoryFile, RegisteredReadOnlyFile, getServiceOverride as default, initFile, registerCustomProvider, registerExtensionFile, registerFileSystemOverlay };
@@ -20,12 +20,18 @@ import { IHostService } from '../vscode/src/vs/workbench/services/host/browser/h
20
20
  import { IExtensionService } from '../vscode/src/vs/workbench/services/extensions/common/extensions.js';
21
21
  import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
22
22
  import { WorkbenchContextKeysHandler } from '../vscode/src/vs/workbench/browser/contextkeys.js';
23
- import getServiceOverride$1 from './files.js';
24
- import '../vscode/src/vs/workbench/browser/workbench.contribution.js';
25
- import '../vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js';
23
+ import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
24
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
25
+ import getServiceOverride$1, { initFile } from './files.js';
26
26
  import { onRenderWorkbench } from '../lifecycle.js';
27
27
  import '../services.js';
28
+ import '../vscode/src/vs/workbench/browser/workbench.contribution.js';
29
+ import '../vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js';
28
30
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
31
+ const defaultUserKeybindindsFile = ( URI.from({ scheme: Schemas.vscodeUserData, path: '/User/keybindings.json' }));
32
+ async function initUserKeybindings(configurationJson, options, file = defaultUserKeybindindsFile) {
33
+ await initFile(defaultUserKeybindindsFile.scheme, file, configurationJson, options);
34
+ }
29
35
  async function updateUserKeybindings(keybindingsJson) {
30
36
  const userDataProfilesService = StandaloneServices.get(IUserDataProfilesService);
31
37
  await StandaloneServices.get(IFileService).writeFile(userDataProfilesService.defaultProfile.keybindingsResource, VSBuffer.fromString(keybindingsJson));
@@ -84,4 +90,4 @@ function getServiceOverride({ shouldUseGlobalKeybindings = () => false } = {}) {
84
90
  [( ICommandService.toString())]: new SyncDescriptor(CommandService, [], true)
85
91
  };
86
92
  }
87
- export { getServiceOverride as default, updateUserKeybindings };
93
+ export { getServiceOverride as default, defaultUserKeybindindsFile, initUserKeybindings, updateUserKeybindings };
@@ -178,10 +178,8 @@ class LayoutService {
178
178
  void this.paneCompositeService.openPaneComposite(panelToOpen, location, true);
179
179
  }
180
180
  }
181
- if (this.paneCompositeService.getPartByLocation != null) {
182
- this.paneCompositeService.getPartByLocation(location).setVisible(!hidden);
183
- }
184
181
  }
182
+ this.getPart(part).setVisible(!hidden);
185
183
  }
186
184
  isVisible(part) {
187
185
  return !( this.hiddenParts.has(part));
package/services.d.ts CHANGED
@@ -5,9 +5,10 @@ export { IColorTheme, IThemeService } from './vscode/src/vs/platform/theme/commo
5
5
  export { IStorageService, StorageScope, StorageTarget } from './vscode/src/vs/platform/storage/common/storage.js';
6
6
  import { IEditorOverrideServices } from './vscode/src/vs/editor/standalone/browser/standaloneServices.js';
7
7
  export { StandaloneServices } from './vscode/src/vs/editor/standalone/browser/standaloneServices.js';
8
- import { ServiceIdentifier } from './vscode/src/vs/platform/instantiation/common/instantiation.js';
8
+ import { ServiceIdentifier, GetLeadingNonServiceArgs, ServicesAccessor } from './vscode/src/vs/platform/instantiation/common/instantiation.js';
9
9
  export { IInstantiationService } from './vscode/src/vs/platform/instantiation/common/instantiation.js';
10
10
  export { IAction } from './vscode/src/vs/base/common/actions.js';
11
+ import { IDisposable } from './vscode/src/vs/base/common/lifecycle.js';
11
12
  export { SyncDescriptor } from './vscode/src/vs/platform/instantiation/common/descriptors.js';
12
13
  export { ICommandService } from './vscode/src/vs/platform/commands/common/commands.js';
13
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';
@@ -61,6 +62,8 @@ export { IRemoteAgentService } from './vscode/src/vs/workbench/services/remote/c
61
62
  export { IRemoteAuthorityResolverService } from './vscode/src/vs/platform/remote/common/remoteAuthorityResolver.js';
62
63
  export { IRemoteSocketFactoryService } from './vscode/src/vs/platform/remote/common/remoteSocketFactoryService.js';
63
64
  export { ITerminalInstanceService, ITerminalService } from './vscode/src/vs/workbench/contrib/terminal/browser/terminal.js';
65
+ export { IFilesConfigurationService } from './vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js';
66
+ export { ILabelService } from './vscode/src/vs/platform/label/common/label.js';
64
67
  export { IMarkdownString, MarkdownStringTrustedOptions } from './vscode/src/vs/base/common/htmlContent.js';
65
68
  export { IActivityService, IBadge } from './vscode/src/vs/workbench/services/activity/common/activity.js';
66
69
  export { IHoverService } from './vscode/src/vs/workbench/services/hover/browser/hover.js';
@@ -71,6 +74,14 @@ export { IBannerService } from './vscode/src/vs/workbench/services/banner/browse
71
74
  export { IWorkspaceTrustEnablementService, IWorkspaceTrustManagementService, IWorkspaceTrustRequestService, IWorkspaceTrustUriInfo } from './vscode/src/vs/platform/workspace/common/workspaceTrust.js';
72
75
 
73
76
  declare function initialize(overrides: IEditorOverrideServices, container?: HTMLElement): Promise<void>;
77
+ declare function waitServicesReady(): Promise<void>;
78
+ declare function checkServicesReady(): void;
74
79
  declare function getService<T>(identifier: ServiceIdentifier<T>): Promise<T>;
80
+ declare function createInstance<Ctor extends new (...args: any[]) => any, R extends InstanceType<Ctor>>(ctor: Ctor, ...args: GetLeadingNonServiceArgs<ConstructorParameters<Ctor>>): Promise<R>;
81
+ declare function createInstanceSync<Ctor extends new (...args: any[]) => any, R extends InstanceType<Ctor>>(ctor: Ctor, ...args: GetLeadingNonServiceArgs<ConstructorParameters<Ctor>>): R;
82
+ /**
83
+ * Equivalent to `StandaloneServices.withServices` except the callback is called when the services are ready, not just initialized
84
+ */
85
+ declare function withReadyServices(callback: (serviceAccessor: ServicesAccessor) => IDisposable): IDisposable;
75
86
 
76
- export { getService, initialize };
87
+ export { checkServicesReady, createInstance, createInstanceSync, getService, initialize, waitServicesReady, withReadyServices };
package/services.js CHANGED
@@ -3,13 +3,15 @@ export { default as Severity } from 'monaco-editor/esm/vs/base/common/severity.j
3
3
  export { StorageScope, StorageTarget } from './vscode/src/vs/platform/storage/common/storage.js';
4
4
  import { StandaloneServices } from 'monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js';
5
5
  export { StandaloneServices } from 'monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js';
6
- import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
6
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
7
+ export { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
8
+ import { Disposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
7
9
  import getServiceOverride from './service-override/layout.js';
8
10
  import getServiceOverride$1 from './service-override/environment.js';
9
11
  import getServiceOverride$2 from './service-override/extensions.js';
10
12
  import getServiceOverride$3 from './service-override/files.js';
11
13
  import getServiceOverride$4 from './service-override/quickaccess.js';
12
- import { startup, serviceInitializedBarrier } from './lifecycle.js';
14
+ import { startup, serviceInitializedBarrier, serviceInitializedEmitter } from './lifecycle.js';
13
15
  export { SyncDescriptor } from 'monaco-editor/esm/vs/platform/instantiation/common/descriptors.js';
14
16
  export { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
15
17
  export { INotificationService, NeverShowAgainScope, NoOpNotification, NoOpProgress, NotificationPriority, NotificationsFilter } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
@@ -24,7 +26,6 @@ export { ITextModelService } from 'monaco-editor/esm/vs/editor/common/services/r
24
26
  export { IClipboardService } from 'monaco-editor/esm/vs/platform/clipboard/common/clipboardService.js';
25
27
  import './override/vs/platform/dialogs/common/dialogs.js';
26
28
  export { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
27
- export { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
28
29
  export { IMarkerService } from 'monaco-editor/esm/vs/platform/markers/common/markers.js';
29
30
  export { IOpenerService } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
30
31
  export { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
@@ -65,6 +66,8 @@ export { IRemoteAgentService } from './vscode/src/vs/workbench/services/remote/c
65
66
  export { IRemoteAuthorityResolverService } from './vscode/src/vs/platform/remote/common/remoteAuthorityResolver.js';
66
67
  export { IRemoteSocketFactoryService } from './vscode/src/vs/platform/remote/common/remoteSocketFactoryService.js';
67
68
  export { ITerminalInstanceService, ITerminalService } from './vscode/src/vs/workbench/contrib/terminal/browser/terminal.js';
69
+ export { IFilesConfigurationService } from './vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js';
70
+ export { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
68
71
  export { IActivityService } from './vscode/src/vs/workbench/services/activity/common/activity.js';
69
72
  export { IHoverService } from './vscode/src/vs/workbench/services/hover/browser/hover.js';
70
73
  export { IExplorerService } from './vscode/src/vs/workbench/contrib/files/browser/files.js';
@@ -92,8 +95,35 @@ async function initialize(overrides, container) {
92
95
  });
93
96
  await startup(instantiationService);
94
97
  }
95
- async function getService(identifier) {
98
+ async function waitServicesReady() {
96
99
  await serviceInitializedBarrier.wait();
100
+ }
101
+ function checkServicesReady() {
102
+ if (!serviceInitializedBarrier.isOpen()) {
103
+ throw new Error('Services are not ready yet');
104
+ }
105
+ }
106
+ async function getService(identifier) {
107
+ await waitServicesReady();
97
108
  return StandaloneServices.get(identifier);
98
109
  }
99
- export { getService, initialize };
110
+ async function createInstance(ctor, ...args) {
111
+ await waitServicesReady();
112
+ return StandaloneServices.get(IInstantiationService).createInstance(ctor, ...args);
113
+ }
114
+ function createInstanceSync(ctor, ...args) {
115
+ checkServicesReady();
116
+ return StandaloneServices.get(IInstantiationService).createInstance(ctor, ...args);
117
+ }
118
+ function withReadyServices(callback) {
119
+ if (serviceInitializedBarrier.isOpen()) {
120
+ return StandaloneServices.get(IInstantiationService).invokeFunction(callback);
121
+ }
122
+ const disposable = new DisposableStore();
123
+ const listener = disposable.add(serviceInitializedEmitter.event(() => {
124
+ listener.dispose();
125
+ disposable.add(StandaloneServices.get(IInstantiationService).invokeFunction(callback));
126
+ }));
127
+ return disposable;
128
+ }
129
+ export { checkServicesReady, createInstance, createInstanceSync, getService, initialize, waitServicesReady, withReadyServices };
@@ -0,0 +1,52 @@
1
+ import { getErrorMessage } from 'monaco-editor/esm/vs/base/common/errors.js';
2
+ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
3
+ import { Disposable, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
4
+ class BroadcastDataChannel extends Disposable {
5
+ constructor(channelName) {
6
+ super();
7
+ this.channelName = channelName;
8
+ this._onDidReceiveData = this._register(( new Emitter()));
9
+ this.onDidReceiveData = this._onDidReceiveData.event;
10
+ if ('BroadcastChannel' in window) {
11
+ try {
12
+ this.broadcastChannel = ( new BroadcastChannel(channelName));
13
+ const listener = (event) => {
14
+ this._onDidReceiveData.fire(event.data);
15
+ };
16
+ this.broadcastChannel.addEventListener('message', listener);
17
+ this._register(toDisposable(() => {
18
+ if (this.broadcastChannel) {
19
+ this.broadcastChannel.removeEventListener('message', listener);
20
+ this.broadcastChannel.close();
21
+ }
22
+ }));
23
+ }
24
+ catch (error) {
25
+ console.warn('Error while creating broadcast channel. Falling back to localStorage.', getErrorMessage(error));
26
+ }
27
+ }
28
+ if (!this.broadcastChannel) {
29
+ this.channelName = `BroadcastDataChannel.${channelName}`;
30
+ this.createBroadcastChannel();
31
+ }
32
+ }
33
+ createBroadcastChannel() {
34
+ const listener = (event) => {
35
+ if (event.key === this.channelName && event.newValue) {
36
+ this._onDidReceiveData.fire(JSON.parse(event.newValue));
37
+ }
38
+ };
39
+ window.addEventListener('storage', listener);
40
+ this._register(toDisposable(() => window.removeEventListener('storage', listener)));
41
+ }
42
+ postData(data) {
43
+ if (this.broadcastChannel) {
44
+ this.broadcastChannel.postMessage(data);
45
+ }
46
+ else {
47
+ window.localStorage.removeItem(this.channelName);
48
+ window.localStorage.setItem(this.channelName, JSON.stringify(data));
49
+ }
50
+ }
51
+ }
52
+ export { BroadcastDataChannel };
@@ -216,7 +216,7 @@ class MenuBar extends Disposable {
216
216
  });
217
217
  }
218
218
  createOverflowMenu() {
219
- const label = this.isCompact ? nls.localizeWithPath('vs/base/browser/ui/menu/menubar', 'mAppMenu', 'Application Menu') : nls.localizeWithPath('vs/base/browser/ui/menu/menubar', 'mMore', 'More');
219
+ const label = this.isCompact ? ( nls.localizeWithPath('vs/base/browser/ui/menu/menubar', 'mAppMenu', 'Application Menu')) : ( nls.localizeWithPath('vs/base/browser/ui/menu/menubar', 'mMore', 'More'));
220
220
  const buttonElement = $('div.menubar-menu-button', { 'role': 'menuitem', 'tabindex': this.isCompact ? 0 : -1, 'aria-label': label, 'aria-haspopup': true });
221
221
  const titleElement = $('div.menubar-menu-title.toolbar-toggle-more' + ThemeIcon.asCSSSelector(Codicon.menuBarMore), { 'role': 'none', 'aria-hidden': true });
222
222
  buttonElement.appendChild(titleElement);
@@ -77,7 +77,12 @@ class Pane extends Disposable {
77
77
  this.orthogonalSize = 0;
78
78
  this._expanded = typeof options.expanded === 'undefined' ? true : !!options.expanded;
79
79
  this._orientation = typeof options.orientation === 'undefined' ? 0 : options.orientation;
80
- this._ariaHeaderLabel = localizeWithPath('vs/base/browser/ui/splitview/paneview', 'viewSection', "{0} Section", options.title);
80
+ this._ariaHeaderLabel = ( localizeWithPath(
81
+ 'vs/base/browser/ui/splitview/paneview',
82
+ 'viewSection',
83
+ "{0} Section",
84
+ options.title
85
+ ));
81
86
  this._minimumBodySize = typeof options.minimumBodySize === 'number' ? options.minimumBodySize : this._orientation === 1 ? 200 : 120;
82
87
  this._maximumBodySize = typeof options.maximumBodySize === 'number' ? options.maximumBodySize : Number.POSITIVE_INFINITY;
83
88
  this.element = $('.pane');