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