@codingame/monaco-vscode-api 1.83.8 → 1.83.10-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 (297) hide show
  1. package/assets/defaultIcon.png +0 -0
  2. package/extensions.d.ts +1 -0
  3. package/extensions.js +5 -5
  4. package/lifecycle.js +21 -1
  5. package/missing-services.js +187 -24
  6. package/monaco-editor-treemending.patch +3366 -3366
  7. package/monaco.js +79 -15
  8. package/package.json +12 -6
  9. package/services.d.ts +2 -4
  10. package/services.js +28 -27
  11. package/vscode/src/vs/base/common/uriIpc.js +22 -1
  12. package/vscode/src/vs/base/parts/request/common/request.js +7 -1
  13. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +116 -1
  14. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +117 -2
  15. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.js +10 -0
  16. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +42 -0
  17. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +12 -1
  18. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +306 -1
  19. package/vscode/src/vs/platform/log/common/log.d.ts +27 -2
  20. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.d.ts +9 -1
  21. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.js +2 -1
  22. package/vscode/src/vs/platform/request/common/request.js +38 -1
  23. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +2 -1
  24. package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +50 -1
  25. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileIpc.js +63 -0
  26. package/vscode/src/vs/platform/userDataSync/common/ignoredExtensions.js +65 -0
  27. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +2 -1
  28. package/vscode/src/vs/platform/userDataSync/common/userDataSyncAccount.js +3 -0
  29. package/vscode/src/vs/platform/workspace/common/workspace.d.ts +16 -1
  30. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +6 -2
  31. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +1 -1
  32. package/vscode/src/vs/workbench/common/theme.js +3 -3
  33. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.css.js +4 -0
  34. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +248 -0
  35. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +3291 -0
  36. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +16 -16
  37. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +4 -0
  38. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +45 -1
  39. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +67 -0
  40. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +396 -0
  41. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +23 -3
  42. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +4 -1
  43. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.js +4 -0
  44. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +255 -0
  45. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +44 -0
  46. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +1 -1
  47. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +1 -1
  48. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +2 -1
  49. package/vscode/src/vs/workbench/services/localization/common/locale.js +4 -0
  50. package/vscode/src/vs/workbench/services/log/common/logConstants.js +2 -1
  51. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +68 -0
  52. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +172 -1
  53. package/vscode/src/vs/workbench/services/userDataProfile/common/remoteUserDataProfiles.js +150 -0
  54. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +3 -1
  55. package/vscode.proposed.d.ts +4787 -0
  56. package/workbench.js +0 -1
  57. package/service-override/bulkEdit.js +0 -9
  58. package/service-override/environment.js +0 -21
  59. package/service-override/extensions.js +0 -465
  60. package/service-override/files.js +0 -471
  61. package/service-override/keybindings.js +0 -99
  62. package/service-override/layout.js +0 -229
  63. package/service-override/output.js +0 -23
  64. package/service-override/quickaccess.js +0 -98
  65. package/vscode/src/vs/base/common/console.js +0 -58
  66. package/vscode/src/vs/base/common/keybindingParser.js +0 -87
  67. package/vscode/src/vs/base/common/prefixTree.js +0 -130
  68. package/vscode/src/vs/base/common/tfIdf.js +0 -137
  69. package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +0 -23
  70. package/vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js +0 -404
  71. package/vscode/src/vs/platform/files/common/fileService.js +0 -957
  72. package/vscode/src/vs/platform/files/common/files.js +0 -81
  73. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +0 -220
  74. package/vscode/src/vs/platform/files/common/io.js +0 -75
  75. package/vscode/src/vs/platform/files/common/watcher.js +0 -69
  76. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +0 -48
  77. package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.js +0 -23
  78. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +0 -25
  79. package/vscode/src/vs/platform/log/common/fileLog.js +0 -105
  80. package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +0 -331
  81. package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +0 -65
  82. package/vscode/src/vs/platform/remote/common/managedSocket.js +0 -96
  83. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +0 -29
  84. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +0 -33
  85. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +0 -328
  86. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +0 -66
  87. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +0 -172
  88. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents.js +0 -50
  89. package/vscode/src/vs/workbench/api/browser/mainThreadChatProvider.js +0 -59
  90. package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +0 -47
  91. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +0 -29
  92. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +0 -22
  93. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +0 -105
  94. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +0 -92
  95. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +0 -539
  96. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +0 -78
  97. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +0 -33
  98. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +0 -576
  99. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +0 -385
  100. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +0 -100
  101. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +0 -67
  102. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +0 -66
  103. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +0 -73
  104. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +0 -247
  105. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +0 -368
  106. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +0 -20
  107. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +0 -39
  108. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +0 -409
  109. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +0 -473
  110. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +0 -225
  111. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +0 -22
  112. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +0 -315
  113. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +0 -278
  114. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +0 -281
  115. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +0 -66
  116. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +0 -26
  117. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +0 -31
  118. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +0 -25
  119. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +0 -945
  120. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +0 -76
  121. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +0 -33
  122. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +0 -76
  123. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +0 -91
  124. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +0 -116
  125. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +0 -156
  126. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +0 -121
  127. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +0 -186
  128. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +0 -127
  129. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +0 -129
  130. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +0 -339
  131. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +0 -23
  132. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +0 -46
  133. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +0 -74
  134. package/vscode/src/vs/workbench/api/browser/mainThreadProfilContentHandlers.js +0 -36
  135. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +0 -66
  136. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +0 -47
  137. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +0 -183
  138. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +0 -28
  139. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +0 -461
  140. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +0 -47
  141. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +0 -146
  142. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +0 -68
  143. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +0 -48
  144. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +0 -51
  145. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +0 -70
  146. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +0 -729
  147. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +0 -51
  148. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +0 -410
  149. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +0 -180
  150. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +0 -22
  151. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +0 -53
  152. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +0 -311
  153. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +0 -221
  154. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +0 -108
  155. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +0 -59
  156. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +0 -27
  157. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +0 -281
  158. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +0 -98
  159. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +0 -133
  160. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +0 -55
  161. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +0 -271
  162. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +0 -33
  163. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +0 -230
  164. package/vscode/src/vs/workbench/browser/contextkeys.js +0 -249
  165. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +0 -358
  166. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +0 -362
  167. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +0 -265
  168. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +0 -2
  169. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +0 -215
  170. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +0 -86
  171. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +0 -55
  172. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +0 -49
  173. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +0 -90
  174. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +0 -646
  175. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +0 -295
  176. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +0 -60
  177. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +0 -247
  178. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +0 -107
  179. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadRangeDecorator.js +0 -107
  180. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +0 -329
  181. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +0 -378
  182. package/vscode/src/vs/workbench/contrib/comments/browser/comments.js +0 -3
  183. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +0 -1194
  184. package/vscode/src/vs/workbench/contrib/comments/browser/commentsFilterOptions.js +0 -17
  185. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +0 -332
  186. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +0 -541
  187. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +0 -176
  188. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +0 -4
  189. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +0 -4
  190. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +0 -99
  191. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +0 -55
  192. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +0 -143
  193. package/vscode/src/vs/workbench/contrib/comments/common/commentsConfiguration.js +0 -2
  194. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +0 -71
  195. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +0 -81
  196. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +0 -177
  197. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveHistoryService.js +0 -3
  198. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +0 -28
  199. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +0 -142
  200. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +0 -480
  201. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +0 -5
  202. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +0 -83
  203. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +0 -54
  204. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +0 -108
  205. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +0 -258
  206. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +0 -614
  207. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +0 -307
  208. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +0 -36
  209. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +0 -165
  210. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +0 -78
  211. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +0 -68
  212. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +0 -2
  213. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +0 -106
  214. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +0 -487
  215. package/vscode/src/vs/workbench/contrib/output/browser/outputLinkProvider.js +0 -76
  216. package/vscode/src/vs/workbench/contrib/output/browser/outputServices.js +0 -166
  217. package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +0 -234
  218. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +0 -287
  219. package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +0 -167
  220. package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +0 -263
  221. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +0 -504
  222. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +0 -130
  223. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +0 -101
  224. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +0 -26
  225. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +0 -23
  226. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +0 -334
  227. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +0 -45
  228. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +0 -1286
  229. package/vscode/src/vs/workbench/services/commands/common/commandService.js +0 -77
  230. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +0 -141
  231. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +0 -271
  232. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +0 -50
  233. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +0 -1091
  234. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +0 -40
  235. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +0 -23
  236. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +0 -641
  237. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +0 -272
  238. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +0 -56
  239. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +0 -78
  240. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +0 -47
  241. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +0 -218
  242. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +0 -917
  243. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +0 -498
  244. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js +0 -13
  245. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +0 -162
  246. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +0 -162
  247. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +0 -125
  248. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +0 -180
  249. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +0 -162
  250. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +0 -162
  251. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +0 -125
  252. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +0 -162
  253. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +0 -125
  254. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +0 -162
  255. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +0 -125
  256. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +0 -162
  257. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +0 -125
  258. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +0 -162
  259. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +0 -133
  260. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +0 -182
  261. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +0 -167
  262. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +0 -162
  263. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +0 -125
  264. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +0 -180
  265. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +0 -162
  266. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +0 -125
  267. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +0 -180
  268. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +0 -162
  269. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +0 -162
  270. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +0 -125
  271. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +0 -162
  272. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +0 -125
  273. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +0 -125
  274. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +0 -125
  275. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +0 -17
  276. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +0 -6
  277. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +0 -23
  278. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +0 -162
  279. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +0 -125
  280. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +0 -162
  281. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +0 -162
  282. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +0 -125
  283. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +0 -162
  284. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +0 -125
  285. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +0 -180
  286. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +0 -162
  287. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +0 -164
  288. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +0 -162
  289. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +0 -162
  290. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +0 -125
  291. package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.js +0 -72
  292. package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.js +0 -108
  293. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +0 -886
  294. package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +0 -350
  295. package/vscode/src/vs/workbench/services/quickinput/browser/quickInputService.js +0 -67
  296. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +0 -4
  297. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +0 -77
@@ -1,137 +0,0 @@
1
- function countMapFrom(values) {
2
- const map = ( new Map());
3
- for (const value of values) {
4
- map.set(value, (map.get(value) ?? 0) + 1);
5
- }
6
- return map;
7
- }
8
- class TfIdfCalculator {
9
- constructor() {
10
- this.chunkCount = 0;
11
- this.chunkOccurrences = ( new Map());
12
- this.documents = ( new Map());
13
- }
14
- calculateScores(query, token) {
15
- const embedding = this.computeEmbedding(query);
16
- const idfCache = ( new Map());
17
- const scores = [];
18
- for (const [key, doc] of this.documents) {
19
- if (token.isCancellationRequested) {
20
- return [];
21
- }
22
- for (const chunk of doc.chunks) {
23
- const score = this.computeSimilarityScore(chunk, embedding, idfCache);
24
- if (score > 0) {
25
- scores.push({ key, score });
26
- }
27
- }
28
- }
29
- return scores;
30
- }
31
- static termFrequencies(input) {
32
- return countMapFrom(TfIdfCalculator.splitTerms(input));
33
- }
34
- static *splitTerms(input) {
35
- const normalize = (word) => word.toLowerCase();
36
- for (const [word] of input.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)) {
37
- yield normalize(word);
38
- const camelParts = word.split(/(?<=[a-z])(?=[A-Z])/g);
39
- if (camelParts.length > 1) {
40
- for (const part of camelParts) {
41
- if (part.length > 2 && /\p{Letter}{3,}/gu.test(part)) {
42
- yield normalize(part);
43
- }
44
- }
45
- }
46
- }
47
- }
48
- updateDocuments(documents) {
49
- for (const { key } of documents) {
50
- this.deleteDocument(key);
51
- }
52
- for (const doc of documents) {
53
- const chunks = [];
54
- for (const text of doc.textChunks) {
55
- const tf = TfIdfCalculator.termFrequencies(text);
56
- for (const term of ( tf.keys())) {
57
- this.chunkOccurrences.set(term, (this.chunkOccurrences.get(term) ?? 0) + 1);
58
- }
59
- chunks.push({ text, tf });
60
- }
61
- this.chunkCount += chunks.length;
62
- this.documents.set(doc.key, { chunks });
63
- }
64
- return this;
65
- }
66
- deleteDocument(key) {
67
- const doc = this.documents.get(key);
68
- if (!doc) {
69
- return;
70
- }
71
- this.documents.delete(key);
72
- this.chunkCount -= doc.chunks.length;
73
- for (const chunk of doc.chunks) {
74
- for (const term of ( chunk.tf.keys())) {
75
- const currentOccurrences = this.chunkOccurrences.get(term);
76
- if (typeof currentOccurrences === 'number') {
77
- const newOccurrences = currentOccurrences - 1;
78
- if (newOccurrences <= 0) {
79
- this.chunkOccurrences.delete(term);
80
- }
81
- else {
82
- this.chunkOccurrences.set(term, newOccurrences);
83
- }
84
- }
85
- }
86
- }
87
- }
88
- computeSimilarityScore(chunk, queryEmbedding, idfCache) {
89
- let sum = 0;
90
- for (const [term, termTfidf] of Object.entries(queryEmbedding)) {
91
- const chunkTf = chunk.tf.get(term);
92
- if (!chunkTf) {
93
- continue;
94
- }
95
- let chunkIdf = idfCache.get(term);
96
- if (typeof chunkIdf !== 'number') {
97
- chunkIdf = this.computeIdf(term);
98
- idfCache.set(term, chunkIdf);
99
- }
100
- const chunkTfidf = chunkTf * chunkIdf;
101
- sum += chunkTfidf * termTfidf;
102
- }
103
- return sum;
104
- }
105
- computeEmbedding(input) {
106
- const tf = TfIdfCalculator.termFrequencies(input);
107
- return this.computeTfidf(tf);
108
- }
109
- computeIdf(term) {
110
- const chunkOccurrences = this.chunkOccurrences.get(term) ?? 0;
111
- return chunkOccurrences > 0
112
- ? Math.log((this.chunkCount + 1) / chunkOccurrences)
113
- : 0;
114
- }
115
- computeTfidf(termFrequencies) {
116
- const embedding = Object.create(null);
117
- for (const [word, occurrences] of termFrequencies) {
118
- const idf = this.computeIdf(word);
119
- if (idf > 0) {
120
- embedding[word] = occurrences * idf;
121
- }
122
- }
123
- return embedding;
124
- }
125
- }
126
- function normalizeTfIdfScores(scores) {
127
- const result = scores.slice(0);
128
- result.sort((a, b) => b.score - a.score);
129
- const max = result[0]?.score ?? 0;
130
- if (max > 0) {
131
- for (const score of result) {
132
- score.score /= max;
133
- }
134
- }
135
- return result;
136
- }
137
- export { TfIdfCalculator, normalizeTfIdfScores };
@@ -1,23 +0,0 @@
1
- import { stripIcons } from 'monaco-editor/esm/vs/base/common/iconLabels.js';
2
- import { AbstractCommandsQuickAccessProvider } from '../../../../platform/quickinput/browser/commandsQuickAccess.js';
3
- class AbstractEditorCommandsQuickAccessProvider extends AbstractCommandsQuickAccessProvider {
4
- constructor(options, instantiationService, keybindingService, commandService, telemetryService, dialogService) {
5
- super(options, instantiationService, keybindingService, commandService, telemetryService, dialogService);
6
- }
7
- getCodeEditorCommandPicks() {
8
- const activeTextEditorControl = this.activeTextEditorControl;
9
- if (!activeTextEditorControl) {
10
- return [];
11
- }
12
- const editorCommandPicks = [];
13
- for (const editorAction of activeTextEditorControl.getSupportedActions()) {
14
- editorCommandPicks.push({
15
- commandId: editorAction.id,
16
- commandAlias: editorAction.alias,
17
- label: stripIcons(editorAction.label) || editorAction.id,
18
- });
19
- }
20
- return editorCommandPicks;
21
- }
22
- }
23
- export { AbstractEditorCommandsQuickAccessProvider };
@@ -1,404 +0,0 @@
1
- import { Throttler } from 'monaco-editor/esm/vs/base/common/async.js';
2
- import { VSBuffer } from 'monaco-editor/esm/vs/base/common/buffer.js';
3
- import { Event, Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
4
- import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
- import { ExtUri } from 'monaco-editor/esm/vs/base/common/resources.js';
6
- import { isString } from 'monaco-editor/esm/vs/base/common/types.js';
7
- import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
8
- import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
9
- import { createFileSystemProviderError, FileSystemProviderErrorCode, FileType, FileSystemProviderError } from 'monaco-editor/esm/vs/platform/files/common/files.js';
10
- import { DBClosedError } from 'monaco-editor/esm/vs/base/browser/indexedDB.js';
11
- import { BroadcastDataChannel } from '../../../base/browser/broadcast.js';
12
- const ERR_FILE_NOT_FOUND = createFileSystemProviderError(( localizeWithPath(
13
- 'vs/platform/files/browser/indexedDBFileSystemProvider',
14
- 'fileNotExists',
15
- "File does not exist"
16
- )), FileSystemProviderErrorCode.FileNotFound);
17
- const ERR_FILE_IS_DIR = createFileSystemProviderError(( localizeWithPath(
18
- 'vs/platform/files/browser/indexedDBFileSystemProvider',
19
- 'fileIsDirectory',
20
- "File is Directory"
21
- )), FileSystemProviderErrorCode.FileIsADirectory);
22
- const ERR_FILE_NOT_DIR = createFileSystemProviderError(( localizeWithPath(
23
- 'vs/platform/files/browser/indexedDBFileSystemProvider',
24
- 'fileNotDirectory',
25
- "File is not a directory"
26
- )), FileSystemProviderErrorCode.FileNotADirectory);
27
- const ERR_DIR_NOT_EMPTY = createFileSystemProviderError(( localizeWithPath(
28
- 'vs/platform/files/browser/indexedDBFileSystemProvider',
29
- 'dirIsNotEmpty',
30
- "Directory is not empty"
31
- )), FileSystemProviderErrorCode.Unknown);
32
- const ERR_FILE_EXCEEDS_STORAGE_QUOTA = createFileSystemProviderError(( localizeWithPath(
33
- 'vs/platform/files/browser/indexedDBFileSystemProvider',
34
- 'fileExceedsStorageQuota',
35
- "File exceeds available storage quota"
36
- )), FileSystemProviderErrorCode.FileExceedsStorageQuota);
37
- const ERR_UNKNOWN_INTERNAL = (message) => createFileSystemProviderError(( localizeWithPath(
38
- 'vs/platform/files/browser/indexedDBFileSystemProvider',
39
- 'internal',
40
- "Internal error occurred in IndexedDB File System Provider. ({0})",
41
- message
42
- )), FileSystemProviderErrorCode.Unknown);
43
- class IndexedDBFileSystemNode {
44
- constructor(entry) {
45
- this.entry = entry;
46
- this.type = entry.type;
47
- }
48
- read(path) {
49
- return this.doRead(path.split('/').filter(p => p.length));
50
- }
51
- doRead(pathParts) {
52
- if (pathParts.length === 0) {
53
- return this.entry;
54
- }
55
- if (this.entry.type !== FileType.Directory) {
56
- throw ERR_UNKNOWN_INTERNAL('Internal error reading from IndexedDBFSNode -- expected directory at ' + this.entry.path);
57
- }
58
- const next = this.entry.children.get(pathParts[0]);
59
- if (!next) {
60
- return undefined;
61
- }
62
- return next.doRead(pathParts.slice(1));
63
- }
64
- delete(path) {
65
- const toDelete = path.split('/').filter(p => p.length);
66
- if (toDelete.length === 0) {
67
- if (this.entry.type !== FileType.Directory) {
68
- throw ERR_UNKNOWN_INTERNAL(`Internal error deleting from IndexedDBFSNode. Expected root entry to be directory`);
69
- }
70
- this.entry.children.clear();
71
- }
72
- else {
73
- return this.doDelete(toDelete, path);
74
- }
75
- }
76
- doDelete(pathParts, originalPath) {
77
- if (pathParts.length === 0) {
78
- throw ERR_UNKNOWN_INTERNAL(`Internal error deleting from IndexedDBFSNode -- got no deletion path parts (encountered while deleting ${originalPath})`);
79
- }
80
- else if (this.entry.type !== FileType.Directory) {
81
- throw ERR_UNKNOWN_INTERNAL('Internal error deleting from IndexedDBFSNode -- expected directory at ' + this.entry.path);
82
- }
83
- else if (pathParts.length === 1) {
84
- this.entry.children.delete(pathParts[0]);
85
- }
86
- else {
87
- const next = this.entry.children.get(pathParts[0]);
88
- if (!next) {
89
- throw ERR_UNKNOWN_INTERNAL('Internal error deleting from IndexedDBFSNode -- expected entry at ' + this.entry.path + '/' + next);
90
- }
91
- next.doDelete(pathParts.slice(1), originalPath);
92
- }
93
- }
94
- add(path, entry) {
95
- this.doAdd(path.split('/').filter(p => p.length), entry, path);
96
- }
97
- doAdd(pathParts, entry, originalPath) {
98
- if (pathParts.length === 0) {
99
- throw ERR_UNKNOWN_INTERNAL(`Internal error creating IndexedDBFSNode -- adding empty path (encountered while adding ${originalPath})`);
100
- }
101
- else if (this.entry.type !== FileType.Directory) {
102
- throw ERR_UNKNOWN_INTERNAL(`Internal error creating IndexedDBFSNode -- parent is not a directory (encountered while adding ${originalPath})`);
103
- }
104
- else if (pathParts.length === 1) {
105
- const next = pathParts[0];
106
- const existing = this.entry.children.get(next);
107
- if (entry.type === 'dir') {
108
- if (existing?.entry.type === FileType.File) {
109
- throw ERR_UNKNOWN_INTERNAL(`Internal error creating IndexedDBFSNode -- overwriting file with directory: ${this.entry.path}/${next} (encountered while adding ${originalPath})`);
110
- }
111
- this.entry.children.set(next, existing ?? ( new IndexedDBFileSystemNode({
112
- type: FileType.Directory,
113
- path: this.entry.path + '/' + next,
114
- children: ( new Map()),
115
- })));
116
- }
117
- else {
118
- if (existing?.entry.type === FileType.Directory) {
119
- throw ERR_UNKNOWN_INTERNAL(`Internal error creating IndexedDBFSNode -- overwriting directory with file: ${this.entry.path}/${next} (encountered while adding ${originalPath})`);
120
- }
121
- this.entry.children.set(next, ( new IndexedDBFileSystemNode({
122
- type: FileType.File,
123
- path: this.entry.path + '/' + next,
124
- size: entry.size,
125
- })));
126
- }
127
- }
128
- else if (pathParts.length > 1) {
129
- const next = pathParts[0];
130
- let childNode = this.entry.children.get(next);
131
- if (!childNode) {
132
- childNode = ( new IndexedDBFileSystemNode({
133
- children: ( new Map()),
134
- path: this.entry.path + '/' + next,
135
- type: FileType.Directory
136
- }));
137
- this.entry.children.set(next, childNode);
138
- }
139
- else if (childNode.type === FileType.File) {
140
- throw ERR_UNKNOWN_INTERNAL(`Internal error creating IndexedDBFSNode -- overwriting file entry with directory: ${this.entry.path}/${next} (encountered while adding ${originalPath})`);
141
- }
142
- childNode.doAdd(pathParts.slice(1), entry, originalPath);
143
- }
144
- }
145
- print(indentation = '') {
146
- console.log(indentation + this.entry.path);
147
- if (this.entry.type === FileType.Directory) {
148
- this.entry.children.forEach(child => child.print(indentation + ' '));
149
- }
150
- }
151
- }
152
- class IndexedDBFileSystemProvider extends Disposable {
153
- constructor(scheme, indexedDB, store, watchCrossWindowChanges) {
154
- super();
155
- this.scheme = scheme;
156
- this.indexedDB = indexedDB;
157
- this.store = store;
158
- this.capabilities = 2
159
- | 1024 ;
160
- this.onDidChangeCapabilities = Event.None;
161
- this.extUri = ( new ExtUri(() => false)) ;
162
- this._onDidChangeFile = this._register(( new Emitter()));
163
- this.onDidChangeFile = this._onDidChangeFile.event;
164
- this._onReportError = this._register(( new Emitter()));
165
- this.onReportError = this._onReportError.event;
166
- this.mtimes = ( new Map());
167
- this.fileWriteBatch = [];
168
- this.writeManyThrottler = ( new Throttler());
169
- if (watchCrossWindowChanges) {
170
- this.changesBroadcastChannel = this._register(( new BroadcastDataChannel(`vscode.indexedDB.${scheme}.changes`)));
171
- this._register(this.changesBroadcastChannel.onDidReceiveData(changes => {
172
- this._onDidChangeFile.fire(( changes.map(c => ({ type: c.type, resource: URI.revive(c.resource) }))));
173
- }));
174
- }
175
- }
176
- watch(resource, opts) {
177
- return Disposable.None;
178
- }
179
- async mkdir(resource) {
180
- try {
181
- const resourceStat = await this.stat(resource);
182
- if (resourceStat.type === FileType.File) {
183
- throw ERR_FILE_NOT_DIR;
184
- }
185
- }
186
- catch (error) { }
187
- (await this.getFiletree()).add(resource.path, { type: 'dir' });
188
- }
189
- async stat(resource) {
190
- const entry = (await this.getFiletree()).read(resource.path);
191
- if (entry?.type === FileType.File) {
192
- return {
193
- type: FileType.File,
194
- ctime: 0,
195
- mtime: this.mtimes.get(( resource.toString())) || 0,
196
- size: entry.size ?? (await this.readFile(resource)).byteLength
197
- };
198
- }
199
- if (entry?.type === FileType.Directory) {
200
- return {
201
- type: FileType.Directory,
202
- ctime: 0,
203
- mtime: 0,
204
- size: 0
205
- };
206
- }
207
- throw ERR_FILE_NOT_FOUND;
208
- }
209
- async readdir(resource) {
210
- try {
211
- const entry = (await this.getFiletree()).read(resource.path);
212
- if (!entry) {
213
- return [];
214
- }
215
- if (entry.type !== FileType.Directory) {
216
- throw ERR_FILE_NOT_DIR;
217
- }
218
- else {
219
- return ( [...entry.children.entries()].map(([name, node]) => [name, node.type]));
220
- }
221
- }
222
- catch (error) {
223
- this.reportError('readDir', error);
224
- throw error;
225
- }
226
- }
227
- async readFile(resource) {
228
- try {
229
- const result = await this.indexedDB.runInTransaction(this.store, 'readonly', objectStore => objectStore.get(resource.path));
230
- if (result === undefined) {
231
- throw ERR_FILE_NOT_FOUND;
232
- }
233
- const buffer = result instanceof Uint8Array ? result : isString(result) ? VSBuffer.fromString(result).buffer : undefined;
234
- if (buffer === undefined) {
235
- throw ERR_UNKNOWN_INTERNAL(`IndexedDB entry at "${resource.path}" in unexpected format`);
236
- }
237
- const fileTree = await this.getFiletree();
238
- fileTree.add(resource.path, { type: 'file', size: buffer.byteLength });
239
- return buffer;
240
- }
241
- catch (error) {
242
- this.reportError('readFile', error);
243
- throw error;
244
- }
245
- }
246
- async writeFile(resource, content, opts) {
247
- try {
248
- const existing = await this.stat(resource).catch(() => undefined);
249
- if (existing?.type === FileType.Directory) {
250
- throw ERR_FILE_IS_DIR;
251
- }
252
- await this.bulkWrite([[resource, content]]);
253
- }
254
- catch (error) {
255
- this.reportError('writeFile', error);
256
- throw error;
257
- }
258
- }
259
- async rename(from, to, opts) {
260
- const fileTree = await this.getFiletree();
261
- const fromEntry = fileTree.read(from.path);
262
- if (!fromEntry) {
263
- throw ERR_FILE_NOT_FOUND;
264
- }
265
- const toEntry = fileTree.read(to.path);
266
- if (toEntry) {
267
- if (!opts.overwrite) {
268
- throw createFileSystemProviderError('file exists already', FileSystemProviderErrorCode.FileExists);
269
- }
270
- if (toEntry.type !== fromEntry.type) {
271
- throw createFileSystemProviderError('Cannot rename files with different types', FileSystemProviderErrorCode.Unknown);
272
- }
273
- await this.delete(to, { recursive: true, useTrash: false, atomic: false });
274
- }
275
- const toTargetResource = (path) => this.extUri.joinPath(to, this.extUri.relativePath(from, from.with({ path })) || '');
276
- const sourceEntries = await this.tree(from);
277
- const sourceFiles = [];
278
- for (const sourceEntry of sourceEntries) {
279
- if (sourceEntry[1] === FileType.File) {
280
- sourceFiles.push(sourceEntry);
281
- }
282
- else if (sourceEntry[1] === FileType.Directory) {
283
- fileTree.add(toTargetResource(sourceEntry[0]).path, { type: 'dir' });
284
- }
285
- }
286
- if (sourceFiles.length) {
287
- const targetFiles = [];
288
- const sourceFilesContents = await this.indexedDB.runInTransaction(this.store, 'readonly', objectStore => ( sourceFiles.map(([path]) => objectStore.get(path))));
289
- for (let index = 0; index < sourceFiles.length; index++) {
290
- const content = sourceFilesContents[index] instanceof Uint8Array ? sourceFilesContents[index] : isString(sourceFilesContents[index]) ? VSBuffer.fromString(sourceFilesContents[index]).buffer : undefined;
291
- if (content) {
292
- targetFiles.push([toTargetResource(sourceFiles[index][0]), content]);
293
- }
294
- }
295
- await this.bulkWrite(targetFiles);
296
- }
297
- await this.delete(from, { recursive: true, useTrash: false, atomic: false });
298
- }
299
- async delete(resource, opts) {
300
- let stat;
301
- try {
302
- stat = await this.stat(resource);
303
- }
304
- catch (e) {
305
- if (e.code === FileSystemProviderErrorCode.FileNotFound) {
306
- return;
307
- }
308
- throw e;
309
- }
310
- let toDelete;
311
- if (opts.recursive) {
312
- const tree = await this.tree(resource);
313
- toDelete = ( tree.map(([path]) => path));
314
- }
315
- else {
316
- if (stat.type === FileType.Directory && (await this.readdir(resource)).length) {
317
- throw ERR_DIR_NOT_EMPTY;
318
- }
319
- toDelete = [resource.path];
320
- }
321
- await this.deleteKeys(toDelete);
322
- (await this.getFiletree()).delete(resource.path);
323
- toDelete.forEach(key => this.mtimes.delete(key));
324
- this.triggerChanges(( toDelete.map(
325
- path => ({ resource: resource.with({ path }), type: 2 })
326
- )));
327
- }
328
- async tree(resource) {
329
- const stat = await this.stat(resource);
330
- const allEntries = [[resource.path, stat.type]];
331
- if (stat.type === FileType.Directory) {
332
- const dirEntries = await this.readdir(resource);
333
- for (const [key, type] of dirEntries) {
334
- const childResource = this.extUri.joinPath(resource, key);
335
- allEntries.push([childResource.path, type]);
336
- if (type === FileType.Directory) {
337
- const childEntries = await this.tree(childResource);
338
- allEntries.push(...childEntries);
339
- }
340
- }
341
- }
342
- return allEntries;
343
- }
344
- triggerChanges(changes) {
345
- if (changes.length) {
346
- this._onDidChangeFile.fire(changes);
347
- this.changesBroadcastChannel?.postData(changes);
348
- }
349
- }
350
- getFiletree() {
351
- if (!this.cachedFiletree) {
352
- this.cachedFiletree = (async () => {
353
- const rootNode = ( new IndexedDBFileSystemNode({
354
- children: ( new Map()),
355
- path: '',
356
- type: FileType.Directory
357
- }));
358
- const result = await this.indexedDB.runInTransaction(this.store, 'readonly', objectStore => objectStore.getAllKeys());
359
- const keys = ( result.map(key => ( key.toString())));
360
- keys.forEach(key => rootNode.add(key, { type: 'file' }));
361
- return rootNode;
362
- })();
363
- }
364
- return this.cachedFiletree;
365
- }
366
- async bulkWrite(files) {
367
- files.forEach(([resource, content]) => this.fileWriteBatch.push({ content, resource }));
368
- await this.writeManyThrottler.queue(() => this.writeMany());
369
- const fileTree = await this.getFiletree();
370
- for (const [resource, content] of files) {
371
- fileTree.add(resource.path, { type: 'file', size: content.byteLength });
372
- this.mtimes.set(( resource.toString()), Date.now());
373
- }
374
- this.triggerChanges(( files.map(([resource]) => ({ resource, type: 0 }))));
375
- }
376
- async writeMany() {
377
- if (this.fileWriteBatch.length) {
378
- const fileBatch = this.fileWriteBatch.splice(0, this.fileWriteBatch.length);
379
- try {
380
- await this.indexedDB.runInTransaction(this.store, 'readwrite', objectStore => ( fileBatch.map(entry => {
381
- return objectStore.put(entry.content, entry.resource.path);
382
- })));
383
- }
384
- catch (ex) {
385
- if (ex instanceof DOMException && ex.name === 'QuotaExceededError') {
386
- throw ERR_FILE_EXCEEDS_STORAGE_QUOTA;
387
- }
388
- throw ex;
389
- }
390
- }
391
- }
392
- async deleteKeys(keys) {
393
- if (keys.length) {
394
- await this.indexedDB.runInTransaction(this.store, 'readwrite', objectStore => ( keys.map(key => objectStore.delete(key))));
395
- }
396
- }
397
- async reset() {
398
- await this.indexedDB.runInTransaction(this.store, 'readwrite', objectStore => objectStore.clear());
399
- }
400
- reportError(operation, error) {
401
- this._onReportError.fire({ scheme: this.scheme, operation, code: error instanceof FileSystemProviderError || error instanceof DBClosedError ? error.code : 'unknown' });
402
- }
403
- }
404
- export { IndexedDBFileSystemProvider };