@codingame/monaco-vscode-api 1.83.8 → 1.83.9

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 (294) hide show
  1. package/extensions.js +5 -5
  2. package/lifecycle.js +21 -1
  3. package/missing-services.js +187 -24
  4. package/monaco-editor-treemending.patch +955 -955
  5. package/package.json +12 -6
  6. package/services.d.ts +2 -4
  7. package/services.js +28 -27
  8. package/vscode/src/vs/base/common/uriIpc.js +22 -1
  9. package/vscode/src/vs/base/parts/request/common/request.js +7 -1
  10. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +116 -1
  11. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +117 -2
  12. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.js +10 -0
  13. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +42 -0
  14. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +12 -1
  15. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +306 -1
  16. package/vscode/src/vs/platform/log/common/log.d.ts +27 -2
  17. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.d.ts +9 -1
  18. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.js +2 -1
  19. package/vscode/src/vs/platform/request/common/request.js +38 -1
  20. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +2 -1
  21. package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +50 -1
  22. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileIpc.js +63 -0
  23. package/vscode/src/vs/platform/userDataSync/common/ignoredExtensions.js +65 -0
  24. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +2 -1
  25. package/vscode/src/vs/platform/userDataSync/common/userDataSyncAccount.js +3 -0
  26. package/vscode/src/vs/platform/workspace/common/workspace.d.ts +16 -1
  27. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +6 -2
  28. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +1 -1
  29. package/vscode/src/vs/workbench/common/theme.js +3 -3
  30. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.css.js +4 -0
  31. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +248 -0
  32. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +3291 -0
  33. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +16 -16
  34. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +4 -0
  35. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +45 -1
  36. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +67 -0
  37. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +396 -0
  38. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +23 -3
  39. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +4 -1
  40. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.js +4 -0
  41. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +255 -0
  42. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +44 -0
  43. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +1 -1
  44. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +1 -1
  45. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +2 -1
  46. package/vscode/src/vs/workbench/services/localization/common/locale.js +4 -0
  47. package/vscode/src/vs/workbench/services/log/common/logConstants.js +2 -1
  48. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +68 -0
  49. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +172 -1
  50. package/vscode/src/vs/workbench/services/userDataProfile/common/remoteUserDataProfiles.js +150 -0
  51. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +3 -1
  52. package/vscode.proposed.d.ts +4787 -0
  53. package/workbench.js +0 -1
  54. package/service-override/bulkEdit.js +0 -9
  55. package/service-override/environment.js +0 -21
  56. package/service-override/extensions.js +0 -465
  57. package/service-override/files.js +0 -471
  58. package/service-override/keybindings.js +0 -99
  59. package/service-override/layout.js +0 -229
  60. package/service-override/output.js +0 -23
  61. package/service-override/quickaccess.js +0 -98
  62. package/vscode/src/vs/base/common/console.js +0 -58
  63. package/vscode/src/vs/base/common/keybindingParser.js +0 -87
  64. package/vscode/src/vs/base/common/prefixTree.js +0 -130
  65. package/vscode/src/vs/base/common/tfIdf.js +0 -137
  66. package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +0 -23
  67. package/vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js +0 -404
  68. package/vscode/src/vs/platform/files/common/fileService.js +0 -957
  69. package/vscode/src/vs/platform/files/common/files.js +0 -81
  70. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +0 -220
  71. package/vscode/src/vs/platform/files/common/io.js +0 -75
  72. package/vscode/src/vs/platform/files/common/watcher.js +0 -69
  73. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +0 -48
  74. package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.js +0 -23
  75. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +0 -25
  76. package/vscode/src/vs/platform/log/common/fileLog.js +0 -105
  77. package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +0 -331
  78. package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +0 -65
  79. package/vscode/src/vs/platform/remote/common/managedSocket.js +0 -96
  80. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +0 -29
  81. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +0 -33
  82. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +0 -328
  83. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +0 -66
  84. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +0 -172
  85. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents.js +0 -50
  86. package/vscode/src/vs/workbench/api/browser/mainThreadChatProvider.js +0 -59
  87. package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +0 -47
  88. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +0 -29
  89. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +0 -22
  90. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +0 -105
  91. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +0 -92
  92. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +0 -539
  93. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +0 -78
  94. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +0 -33
  95. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +0 -576
  96. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +0 -385
  97. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +0 -100
  98. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +0 -67
  99. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +0 -66
  100. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +0 -73
  101. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +0 -247
  102. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +0 -368
  103. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +0 -20
  104. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +0 -39
  105. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +0 -409
  106. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +0 -473
  107. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +0 -225
  108. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +0 -22
  109. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +0 -315
  110. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +0 -278
  111. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +0 -281
  112. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +0 -66
  113. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +0 -26
  114. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +0 -31
  115. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +0 -25
  116. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +0 -945
  117. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +0 -76
  118. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +0 -33
  119. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +0 -76
  120. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +0 -91
  121. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +0 -116
  122. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +0 -156
  123. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +0 -121
  124. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +0 -186
  125. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +0 -127
  126. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +0 -129
  127. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +0 -339
  128. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +0 -23
  129. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +0 -46
  130. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +0 -74
  131. package/vscode/src/vs/workbench/api/browser/mainThreadProfilContentHandlers.js +0 -36
  132. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +0 -66
  133. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +0 -47
  134. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +0 -183
  135. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +0 -28
  136. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +0 -461
  137. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +0 -47
  138. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +0 -146
  139. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +0 -68
  140. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +0 -48
  141. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +0 -51
  142. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +0 -70
  143. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +0 -729
  144. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +0 -51
  145. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +0 -410
  146. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +0 -180
  147. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +0 -22
  148. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +0 -53
  149. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +0 -311
  150. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +0 -221
  151. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +0 -108
  152. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +0 -59
  153. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +0 -27
  154. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +0 -281
  155. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +0 -98
  156. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +0 -133
  157. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +0 -55
  158. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +0 -271
  159. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +0 -33
  160. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +0 -230
  161. package/vscode/src/vs/workbench/browser/contextkeys.js +0 -249
  162. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +0 -358
  163. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +0 -362
  164. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +0 -265
  165. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +0 -2
  166. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +0 -215
  167. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +0 -86
  168. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +0 -55
  169. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +0 -49
  170. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +0 -90
  171. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +0 -646
  172. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +0 -295
  173. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +0 -60
  174. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +0 -247
  175. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +0 -107
  176. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadRangeDecorator.js +0 -107
  177. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +0 -329
  178. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +0 -378
  179. package/vscode/src/vs/workbench/contrib/comments/browser/comments.js +0 -3
  180. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +0 -1194
  181. package/vscode/src/vs/workbench/contrib/comments/browser/commentsFilterOptions.js +0 -17
  182. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +0 -332
  183. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +0 -541
  184. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +0 -176
  185. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +0 -4
  186. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +0 -4
  187. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +0 -99
  188. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +0 -55
  189. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +0 -143
  190. package/vscode/src/vs/workbench/contrib/comments/common/commentsConfiguration.js +0 -2
  191. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +0 -71
  192. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +0 -81
  193. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +0 -177
  194. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveHistoryService.js +0 -3
  195. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +0 -28
  196. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +0 -142
  197. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +0 -480
  198. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +0 -5
  199. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +0 -83
  200. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +0 -54
  201. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +0 -108
  202. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +0 -258
  203. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +0 -614
  204. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +0 -307
  205. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +0 -36
  206. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +0 -165
  207. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +0 -78
  208. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +0 -68
  209. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +0 -2
  210. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +0 -106
  211. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +0 -487
  212. package/vscode/src/vs/workbench/contrib/output/browser/outputLinkProvider.js +0 -76
  213. package/vscode/src/vs/workbench/contrib/output/browser/outputServices.js +0 -166
  214. package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +0 -234
  215. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +0 -287
  216. package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +0 -167
  217. package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +0 -263
  218. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +0 -504
  219. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +0 -130
  220. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +0 -101
  221. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +0 -26
  222. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +0 -23
  223. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +0 -334
  224. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +0 -45
  225. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +0 -1286
  226. package/vscode/src/vs/workbench/services/commands/common/commandService.js +0 -77
  227. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +0 -141
  228. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +0 -271
  229. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +0 -50
  230. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +0 -1091
  231. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +0 -40
  232. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +0 -23
  233. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +0 -641
  234. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +0 -272
  235. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +0 -56
  236. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +0 -78
  237. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +0 -47
  238. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +0 -218
  239. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +0 -917
  240. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +0 -498
  241. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js +0 -13
  242. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +0 -162
  243. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +0 -162
  244. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +0 -125
  245. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +0 -180
  246. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +0 -162
  247. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +0 -162
  248. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +0 -125
  249. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +0 -162
  250. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +0 -125
  251. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +0 -162
  252. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +0 -125
  253. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +0 -162
  254. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +0 -125
  255. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +0 -162
  256. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +0 -133
  257. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +0 -182
  258. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +0 -167
  259. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +0 -162
  260. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +0 -125
  261. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +0 -180
  262. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +0 -162
  263. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +0 -125
  264. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +0 -180
  265. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +0 -162
  266. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +0 -162
  267. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +0 -125
  268. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +0 -162
  269. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +0 -125
  270. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +0 -125
  271. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +0 -125
  272. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +0 -17
  273. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +0 -6
  274. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +0 -23
  275. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +0 -162
  276. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +0 -125
  277. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +0 -162
  278. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +0 -162
  279. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +0 -125
  280. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +0 -162
  281. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +0 -125
  282. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +0 -180
  283. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +0 -162
  284. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +0 -164
  285. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +0 -162
  286. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +0 -162
  287. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +0 -125
  288. package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.js +0 -72
  289. package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.js +0 -108
  290. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +0 -886
  291. package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +0 -350
  292. package/vscode/src/vs/workbench/services/quickinput/browser/quickInputService.js +0 -67
  293. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +0 -4
  294. 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 };