@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,576 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { multibyteAwareBtoa } from 'monaco-editor/esm/vs/base/browser/dom.js';
3
- import { createCancelablePromise } from 'monaco-editor/esm/vs/base/common/async.js';
4
- import { CancellationToken } from 'monaco-editor/esm/vs/base/common/cancellation.js';
5
- import { onUnexpectedError, isCancellationError } from 'monaco-editor/esm/vs/base/common/errors.js';
6
- import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
7
- import { Disposable, DisposableMap, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
8
- import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
9
- import { basename } from 'monaco-editor/esm/vs/base/common/path.js';
10
- import { isEqualOrParent, isEqual, toLocalResource } from 'monaco-editor/esm/vs/base/common/resources.js';
11
- import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
12
- import { generateUuid } from 'monaco-editor/esm/vs/base/common/uuid.js';
13
- import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
14
- import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
15
- import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
16
- import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
17
- import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
18
- import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
19
- import { IUndoRedoService } from 'monaco-editor/esm/vs/platform/undoRedo/common/undoRedo.js';
20
- import { reviveWebviewExtension } from './mainThreadWebviews.js';
21
- import { ExtHostContext } from '../common/extHost.protocol.js';
22
- import { CustomEditorInput } from '../../contrib/customEditor/browser/customEditorInput.js';
23
- import { ICustomEditorService } from '../../contrib/customEditor/common/customEditor.js';
24
- import { CustomTextEditorModel } from '../../contrib/customEditor/common/customTextEditorModel.js';
25
- import { ExtensionKeyedWebviewOriginStore } from '../../contrib/webview/browser/webview.js';
26
- import { IWebviewWorkbenchService } from '../../contrib/webviewPanel/browser/webviewWorkbenchService.js';
27
- import { editorGroupToColumn } from '../../services/editor/common/editorGroupColumn.js';
28
- import { IEditorGroupsService } from '../../services/editor/common/editorGroupsService.js';
29
- import { IEditorService } from '../../services/editor/common/editorService.js';
30
- import { IWorkbenchEnvironmentService } from '../../services/environment/common/environmentService.js';
31
- import { IExtensionService } from '../../services/extensions/common/extensions.js';
32
- import { IPathService } from '../../services/path/common/pathService.js';
33
- import { ResourceWorkingCopy } from '../../services/workingCopy/common/resourceWorkingCopy.js';
34
- import { NO_TYPE_ID } from '../../services/workingCopy/common/workingCopy.js';
35
- import { IWorkingCopyFileService } from '../../services/workingCopy/common/workingCopyFileService.js';
36
- import { IWorkingCopyService } from '../../services/workingCopy/common/workingCopyService.js';
37
- import { IFileDialogService } from '../../../platform/dialogs/common/dialogs.js';
38
- var MainThreadCustomEditorModel_1;
39
- let MainThreadCustomEditors = class MainThreadCustomEditors extends Disposable {
40
- constructor(context, mainThreadWebview, mainThreadWebviewPanels, extensionService, storageService, workingCopyService, workingCopyFileService, _customEditorService, _editorGroupService, _editorService, _instantiationService, _webviewWorkbenchService) {
41
- super();
42
- this.mainThreadWebview = mainThreadWebview;
43
- this.mainThreadWebviewPanels = mainThreadWebviewPanels;
44
- this._customEditorService = _customEditorService;
45
- this._editorGroupService = _editorGroupService;
46
- this._editorService = _editorService;
47
- this._instantiationService = _instantiationService;
48
- this._webviewWorkbenchService = _webviewWorkbenchService;
49
- this._editorProviders = this._register(( new DisposableMap()));
50
- this._editorRenameBackups = ( new Map());
51
- this._webviewOriginStore = ( new ExtensionKeyedWebviewOriginStore('mainThreadCustomEditors.origins', storageService));
52
- this._proxyCustomEditors = ( context.getProxy(ExtHostContext.ExtHostCustomEditors));
53
- this._register(workingCopyFileService.registerWorkingCopyProvider((editorResource) => {
54
- const matchedWorkingCopies = [];
55
- for (const workingCopy of workingCopyService.workingCopies) {
56
- if (workingCopy instanceof MainThreadCustomEditorModel) {
57
- if (isEqualOrParent(editorResource, workingCopy.editorResource)) {
58
- matchedWorkingCopies.push(workingCopy);
59
- }
60
- }
61
- }
62
- return matchedWorkingCopies;
63
- }));
64
- this._register(_webviewWorkbenchService.registerResolver({
65
- canResolve: (webview) => {
66
- if (webview instanceof CustomEditorInput) {
67
- extensionService.activateByEvent(`onCustomEditor:${webview.viewType}`);
68
- }
69
- return false;
70
- },
71
- resolveWebview: () => { throw new Error('not implemented'); }
72
- }));
73
- this._register(workingCopyFileService.onWillRunWorkingCopyFileOperation(async (e) => this.onWillRunWorkingCopyFileOperation(e)));
74
- }
75
- $registerTextEditorProvider(extensionData, viewType, options, capabilities, serializeBuffersForPostMessage) {
76
- this.registerEditorProvider(1 , reviveWebviewExtension(extensionData), viewType, options, capabilities, true, serializeBuffersForPostMessage);
77
- }
78
- $registerCustomEditorProvider(extensionData, viewType, options, supportsMultipleEditorsPerDocument, serializeBuffersForPostMessage) {
79
- this.registerEditorProvider(0 , reviveWebviewExtension(extensionData), viewType, options, {}, supportsMultipleEditorsPerDocument, serializeBuffersForPostMessage);
80
- }
81
- registerEditorProvider(modelType, extension, viewType, options, capabilities, supportsMultipleEditorsPerDocument, serializeBuffersForPostMessage) {
82
- if (( this._editorProviders.has(viewType))) {
83
- throw new Error(`Provider for ${viewType} already registered`);
84
- }
85
- const disposables = ( new DisposableStore());
86
- disposables.add(this._customEditorService.registerCustomEditorCapabilities(viewType, {
87
- supportsMultipleEditorsPerDocument
88
- }));
89
- disposables.add(this._webviewWorkbenchService.registerResolver({
90
- canResolve: (webviewInput) => {
91
- return webviewInput instanceof CustomEditorInput && webviewInput.viewType === viewType;
92
- },
93
- resolveWebview: async (webviewInput, cancellation) => {
94
- const handle = generateUuid();
95
- const resource = webviewInput.resource;
96
- webviewInput.webview.origin = this._webviewOriginStore.getOrigin(viewType, extension.id);
97
- this.mainThreadWebviewPanels.addWebviewInput(handle, webviewInput, { serializeBuffersForPostMessage });
98
- webviewInput.webview.options = options;
99
- webviewInput.webview.extension = extension;
100
- let backupId = webviewInput.backupId;
101
- if (webviewInput.oldResource && !webviewInput.backupId) {
102
- const backup = this._editorRenameBackups.get(( webviewInput.oldResource.toString()));
103
- backupId = backup?.backupId;
104
- this._editorRenameBackups.delete(( webviewInput.oldResource.toString()));
105
- }
106
- let modelRef;
107
- try {
108
- modelRef = await this.getOrCreateCustomEditorModel(modelType, resource, viewType, { backupId }, cancellation);
109
- }
110
- catch (error) {
111
- onUnexpectedError(error);
112
- webviewInput.webview.setHtml(this.mainThreadWebview.getWebviewResolvedFailedContent(viewType));
113
- return;
114
- }
115
- if (cancellation.isCancellationRequested) {
116
- modelRef.dispose();
117
- return;
118
- }
119
- webviewInput.webview.onDidDispose(() => {
120
- if (modelRef.object.isDirty()) {
121
- const sub = modelRef.object.onDidChangeDirty(() => {
122
- if (!modelRef.object.isDirty()) {
123
- sub.dispose();
124
- modelRef.dispose();
125
- }
126
- });
127
- return;
128
- }
129
- modelRef.dispose();
130
- });
131
- if (capabilities.supportsMove) {
132
- webviewInput.onMove(async (newResource) => {
133
- const oldModel = modelRef;
134
- modelRef = await this.getOrCreateCustomEditorModel(modelType, newResource, viewType, {}, CancellationToken.None);
135
- this._proxyCustomEditors.$onMoveCustomEditor(handle, newResource, viewType);
136
- oldModel.dispose();
137
- });
138
- }
139
- try {
140
- await this._proxyCustomEditors.$resolveCustomEditor(resource, handle, viewType, {
141
- title: webviewInput.getTitle(),
142
- contentOptions: webviewInput.webview.contentOptions,
143
- options: webviewInput.webview.options,
144
- active: webviewInput === this._editorService.activeEditor,
145
- }, editorGroupToColumn(this._editorGroupService, webviewInput.group || 0), cancellation);
146
- }
147
- catch (error) {
148
- onUnexpectedError(error);
149
- webviewInput.webview.setHtml(this.mainThreadWebview.getWebviewResolvedFailedContent(viewType));
150
- modelRef.dispose();
151
- return;
152
- }
153
- }
154
- }));
155
- this._editorProviders.set(viewType, disposables);
156
- }
157
- $unregisterEditorProvider(viewType) {
158
- if (!( this._editorProviders.has(viewType))) {
159
- throw new Error(`No provider for ${viewType} registered`);
160
- }
161
- this._editorProviders.deleteAndDispose(viewType);
162
- this._customEditorService.models.disposeAllModelsForView(viewType);
163
- }
164
- async getOrCreateCustomEditorModel(modelType, resource, viewType, options, cancellation) {
165
- const existingModel = this._customEditorService.models.tryRetain(resource, viewType);
166
- if (existingModel) {
167
- return existingModel;
168
- }
169
- switch (modelType) {
170
- case 1 :
171
- {
172
- const model = CustomTextEditorModel.create(this._instantiationService, viewType, resource);
173
- return this._customEditorService.models.add(resource, viewType, model);
174
- }
175
- case 0 :
176
- {
177
- const model = MainThreadCustomEditorModel.create(this._instantiationService, this._proxyCustomEditors, viewType, resource, options, () => {
178
- return Array.from(this.mainThreadWebviewPanels.webviewInputs)
179
- .filter(editor => editor instanceof CustomEditorInput && isEqual(editor.resource, resource));
180
- }, cancellation);
181
- return this._customEditorService.models.add(resource, viewType, model);
182
- }
183
- }
184
- }
185
- async $onDidEdit(resourceComponents, viewType, editId, label) {
186
- const model = await this.getCustomEditorModel(resourceComponents, viewType);
187
- model.pushEdit(editId, label);
188
- }
189
- async $onContentChange(resourceComponents, viewType) {
190
- const model = await this.getCustomEditorModel(resourceComponents, viewType);
191
- model.changeContent();
192
- }
193
- async getCustomEditorModel(resourceComponents, viewType) {
194
- const resource = URI.revive(resourceComponents);
195
- const model = await this._customEditorService.models.get(resource, viewType);
196
- if (!model || !(model instanceof MainThreadCustomEditorModel)) {
197
- throw new Error('Could not find model for webview editor');
198
- }
199
- return model;
200
- }
201
- async onWillRunWorkingCopyFileOperation(e) {
202
- if (e.operation !== 2 ) {
203
- return;
204
- }
205
- e.waitUntil((async () => {
206
- const models = [];
207
- for (const file of e.files) {
208
- if (file.source) {
209
- models.push(...(await this._customEditorService.models.getAllModels(file.source)));
210
- }
211
- }
212
- for (const model of models) {
213
- if (model instanceof MainThreadCustomEditorModel && model.isDirty()) {
214
- const workingCopy = await model.backup(CancellationToken.None);
215
- if (workingCopy.meta) {
216
- this._editorRenameBackups.set(( model.editorResource.toString()), workingCopy.meta);
217
- }
218
- }
219
- }
220
- })());
221
- }
222
- };
223
- MainThreadCustomEditors = ( __decorate([
224
- ( __param(3, IExtensionService)),
225
- ( __param(4, IStorageService)),
226
- ( __param(5, IWorkingCopyService)),
227
- ( __param(6, IWorkingCopyFileService)),
228
- ( __param(7, ICustomEditorService)),
229
- ( __param(8, IEditorGroupsService)),
230
- ( __param(9, IEditorService)),
231
- ( __param(10, IInstantiationService)),
232
- ( __param(11, IWebviewWorkbenchService))
233
- ], MainThreadCustomEditors));
234
- var HotExitState;
235
- ( (function(HotExitState) {
236
- ( (function(Type) {
237
- Type[Type["Allowed"] = 0] = "Allowed";
238
- Type[Type["NotAllowed"] = 1] = "NotAllowed";
239
- Type[Type["Pending"] = 2] = "Pending";
240
- })(HotExitState.Type || (HotExitState.Type = {})));
241
- HotExitState.Allowed = ( Object.freeze({ type: 0 }));
242
- HotExitState.NotAllowed = ( Object.freeze({ type: 1 }));
243
- class Pending {
244
- constructor(operation) {
245
- this.operation = operation;
246
- this.type = 2 ;
247
- }
248
- }
249
- HotExitState.Pending = Pending;
250
- })(HotExitState || (HotExitState = {})));
251
- let MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = class MainThreadCustomEditorModel extends ResourceWorkingCopy {
252
- static async create(instantiationService, proxy, viewType, resource, options, getEditors, cancellation) {
253
- const editors = getEditors();
254
- let untitledDocumentData;
255
- if (editors.length !== 0) {
256
- untitledDocumentData = editors[0].untitledDocumentData;
257
- }
258
- const { editable } = await proxy.$createCustomDocument(resource, viewType, options.backupId, untitledDocumentData, cancellation);
259
- return instantiationService.createInstance(MainThreadCustomEditorModel_1, proxy, viewType, resource, !!options.backupId, editable, !!untitledDocumentData, getEditors);
260
- }
261
- constructor(_proxy, _viewType, _editorResource, fromBackup, _editable, startDirty, _getEditors, _fileDialogService, fileService, _labelService, _undoService, _environmentService, workingCopyService, _pathService, extensionService) {
262
- super(MainThreadCustomEditorModel_1.toWorkingCopyResource(_viewType, _editorResource), fileService);
263
- this._proxy = _proxy;
264
- this._viewType = _viewType;
265
- this._editorResource = _editorResource;
266
- this._editable = _editable;
267
- this._getEditors = _getEditors;
268
- this._fileDialogService = _fileDialogService;
269
- this._labelService = _labelService;
270
- this._undoService = _undoService;
271
- this._environmentService = _environmentService;
272
- this._pathService = _pathService;
273
- this._fromBackup = false;
274
- this._hotExitState = HotExitState.Allowed;
275
- this._currentEditIndex = -1;
276
- this._savePoint = -1;
277
- this._edits = [];
278
- this._isDirtyFromContentChange = false;
279
- this.typeId = NO_TYPE_ID;
280
- this._onDidChangeDirty = this._register(( new Emitter()));
281
- this.onDidChangeDirty = this._onDidChangeDirty.event;
282
- this._onDidChangeContent = this._register(( new Emitter()));
283
- this.onDidChangeContent = this._onDidChangeContent.event;
284
- this._onDidSave = this._register(( new Emitter()));
285
- this.onDidSave = this._onDidSave.event;
286
- this.onDidChangeReadonly = Event.None;
287
- this._fromBackup = fromBackup;
288
- if (_editable) {
289
- this._register(workingCopyService.registerWorkingCopy(this));
290
- this._register(extensionService.onWillStop(e => {
291
- if (!this.isDirty()) {
292
- return;
293
- }
294
- e.veto((async () => {
295
- const didSave = await this.save();
296
- if (!didSave) {
297
- return true;
298
- }
299
- return false;
300
- })(), ( localizeWithPath(
301
- 'vs/workbench/api/browser/mainThreadCustomEditors',
302
- 'vetoExtHostRestart',
303
- "Custom editor '{0}' could not be saved.",
304
- this.name
305
- )));
306
- }));
307
- }
308
- if (startDirty) {
309
- this._isDirtyFromContentChange = true;
310
- }
311
- }
312
- get editorResource() {
313
- return this._editorResource;
314
- }
315
- dispose() {
316
- if (this._editable) {
317
- this._undoService.removeElements(this._editorResource);
318
- }
319
- this._proxy.$disposeCustomDocument(this._editorResource, this._viewType);
320
- super.dispose();
321
- }
322
- static toWorkingCopyResource(viewType, resource) {
323
- const authority = viewType.replace(/[^a-z0-9\-_]/gi, '-');
324
- const path = `/${multibyteAwareBtoa(( resource.with({ query: null, fragment: null }).toString(true)))}`;
325
- return ( URI.from({
326
- scheme: Schemas.vscodeCustomEditor,
327
- authority: authority,
328
- path: path,
329
- query: JSON.stringify(resource.toJSON()),
330
- }));
331
- }
332
- get name() {
333
- return basename(this._labelService.getUriLabel(this._editorResource));
334
- }
335
- get capabilities() {
336
- return this.isUntitled() ? 2 : 0 ;
337
- }
338
- isDirty() {
339
- if (this._isDirtyFromContentChange) {
340
- return true;
341
- }
342
- if (this._edits.length > 0) {
343
- return this._savePoint !== this._currentEditIndex;
344
- }
345
- return this._fromBackup;
346
- }
347
- isUntitled() {
348
- return this._editorResource.scheme === Schemas.untitled;
349
- }
350
- isReadonly() {
351
- return !this._editable;
352
- }
353
- get viewType() {
354
- return this._viewType;
355
- }
356
- get backupId() {
357
- return this._backupId;
358
- }
359
- pushEdit(editId, label) {
360
- if (!this._editable) {
361
- throw new Error('Document is not editable');
362
- }
363
- this.change(() => {
364
- this.spliceEdits(editId);
365
- this._currentEditIndex = this._edits.length - 1;
366
- });
367
- this._undoService.pushElement({
368
- type: 0 ,
369
- resource: this._editorResource,
370
- label: label ?? ( localizeWithPath(
371
- 'vs/workbench/api/browser/mainThreadCustomEditors',
372
- 'defaultEditLabel',
373
- "Edit"
374
- )),
375
- code: 'undoredo.customEditorEdit',
376
- undo: () => this.undo(),
377
- redo: () => this.redo(),
378
- });
379
- }
380
- changeContent() {
381
- this.change(() => {
382
- this._isDirtyFromContentChange = true;
383
- });
384
- }
385
- async undo() {
386
- if (!this._editable) {
387
- return;
388
- }
389
- if (this._currentEditIndex < 0) {
390
- return;
391
- }
392
- const undoneEdit = this._edits[this._currentEditIndex];
393
- this.change(() => {
394
- --this._currentEditIndex;
395
- });
396
- await this._proxy.$undo(this._editorResource, this.viewType, undoneEdit, this.isDirty());
397
- }
398
- async redo() {
399
- if (!this._editable) {
400
- return;
401
- }
402
- if (this._currentEditIndex >= this._edits.length - 1) {
403
- return;
404
- }
405
- const redoneEdit = this._edits[this._currentEditIndex + 1];
406
- this.change(() => {
407
- ++this._currentEditIndex;
408
- });
409
- await this._proxy.$redo(this._editorResource, this.viewType, redoneEdit, this.isDirty());
410
- }
411
- spliceEdits(editToInsert) {
412
- const start = this._currentEditIndex + 1;
413
- const toRemove = this._edits.length - this._currentEditIndex;
414
- const removedEdits = typeof editToInsert === 'number'
415
- ? this._edits.splice(start, toRemove, editToInsert)
416
- : this._edits.splice(start, toRemove);
417
- if (removedEdits.length) {
418
- this._proxy.$disposeEdits(this._editorResource, this._viewType, removedEdits);
419
- }
420
- }
421
- change(makeEdit) {
422
- const wasDirty = this.isDirty();
423
- makeEdit();
424
- this._onDidChangeContent.fire();
425
- if (this.isDirty() !== wasDirty) {
426
- this._onDidChangeDirty.fire();
427
- }
428
- }
429
- async revert(options) {
430
- if (!this._editable) {
431
- return;
432
- }
433
- if (this._currentEditIndex === this._savePoint && !this._isDirtyFromContentChange && !this._fromBackup) {
434
- return;
435
- }
436
- if (!options?.soft) {
437
- this._proxy.$revert(this._editorResource, this.viewType, CancellationToken.None);
438
- }
439
- this.change(() => {
440
- this._isDirtyFromContentChange = false;
441
- this._fromBackup = false;
442
- this._currentEditIndex = this._savePoint;
443
- this.spliceEdits();
444
- });
445
- }
446
- async save(options) {
447
- const result = !!(await this.saveCustomEditor(options));
448
- if (result) {
449
- this._onDidSave.fire({ reason: options?.reason, source: options?.source });
450
- }
451
- return result;
452
- }
453
- async saveCustomEditor(options) {
454
- if (!this._editable) {
455
- return undefined;
456
- }
457
- if (this.isUntitled()) {
458
- const targetUri = await this.suggestUntitledSavePath(options);
459
- if (!targetUri) {
460
- return undefined;
461
- }
462
- await this.saveCustomEditorAs(this._editorResource, targetUri, options);
463
- return targetUri;
464
- }
465
- const savePromise = createCancelablePromise(token => this._proxy.$onSave(this._editorResource, this.viewType, token));
466
- this._ongoingSave?.cancel();
467
- this._ongoingSave = savePromise;
468
- try {
469
- await savePromise;
470
- if (this._ongoingSave === savePromise) {
471
- this.change(() => {
472
- this._isDirtyFromContentChange = false;
473
- this._savePoint = this._currentEditIndex;
474
- this._fromBackup = false;
475
- });
476
- }
477
- }
478
- finally {
479
- if (this._ongoingSave === savePromise) {
480
- this._ongoingSave = undefined;
481
- }
482
- }
483
- return this._editorResource;
484
- }
485
- suggestUntitledSavePath(options) {
486
- if (!this.isUntitled()) {
487
- throw new Error('Resource is not untitled');
488
- }
489
- const remoteAuthority = this._environmentService.remoteAuthority;
490
- const localResource = toLocalResource(this._editorResource, remoteAuthority, this._pathService.defaultUriScheme);
491
- return this._fileDialogService.pickFileToSave(localResource, options?.availableFileSystems);
492
- }
493
- async saveCustomEditorAs(resource, targetResource, _options) {
494
- if (this._editable) {
495
- await createCancelablePromise(token => this._proxy.$onSaveAs(this._editorResource, this.viewType, targetResource, token));
496
- this.change(() => {
497
- this._savePoint = this._currentEditIndex;
498
- });
499
- return true;
500
- }
501
- else {
502
- await this.fileService.copy(resource, targetResource, false );
503
- return true;
504
- }
505
- }
506
- async backup(token) {
507
- const editors = this._getEditors();
508
- if (!editors.length) {
509
- throw new Error('No editors found for resource, cannot back up');
510
- }
511
- const primaryEditor = editors[0];
512
- const backupMeta = {
513
- viewType: this.viewType,
514
- editorResource: this._editorResource,
515
- backupId: '',
516
- extension: primaryEditor.extension ? {
517
- id: primaryEditor.extension.id.value,
518
- location: primaryEditor.extension.location,
519
- } : undefined,
520
- webview: {
521
- origin: primaryEditor.webview.origin,
522
- options: primaryEditor.webview.options,
523
- state: primaryEditor.webview.state,
524
- }
525
- };
526
- const backupData = {
527
- meta: backupMeta
528
- };
529
- if (!this._editable) {
530
- return backupData;
531
- }
532
- if (this._hotExitState.type === 2 ) {
533
- this._hotExitState.operation.cancel();
534
- }
535
- const pendingState = new HotExitState.Pending(createCancelablePromise(token => this._proxy.$backup(this._editorResource.toJSON(), this.viewType, token)));
536
- this._hotExitState = pendingState;
537
- token.onCancellationRequested(() => {
538
- pendingState.operation.cancel();
539
- });
540
- let errorMessage = '';
541
- try {
542
- const backupId = await pendingState.operation;
543
- if (this._hotExitState === pendingState) {
544
- this._hotExitState = HotExitState.Allowed;
545
- backupData.meta.backupId = backupId;
546
- this._backupId = backupId;
547
- }
548
- }
549
- catch (e) {
550
- if (isCancellationError(e)) {
551
- throw e;
552
- }
553
- if (this._hotExitState === pendingState) {
554
- this._hotExitState = HotExitState.NotAllowed;
555
- }
556
- if (e.message) {
557
- errorMessage = e.message;
558
- }
559
- }
560
- if (this._hotExitState === HotExitState.Allowed) {
561
- return backupData;
562
- }
563
- throw new Error(`Cannot back up in this state: ${errorMessage}`);
564
- }
565
- };
566
- MainThreadCustomEditorModel = MainThreadCustomEditorModel_1 = ( __decorate([
567
- ( __param(7, IFileDialogService)),
568
- ( __param(8, IFileService)),
569
- ( __param(9, ILabelService)),
570
- ( __param(10, IUndoRedoService)),
571
- ( __param(11, IWorkbenchEnvironmentService)),
572
- ( __param(12, IWorkingCopyService)),
573
- ( __param(13, IPathService)),
574
- ( __param(14, IExtensionService))
575
- ], MainThreadCustomEditorModel));
576
- export { MainThreadCustomEditors };