@codingame/monaco-vscode-api 4.1.0 → 4.1.2

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 (902) hide show
  1. package/missing-services.js +11 -2
  2. package/package.json +8 -8
  3. package/vscode/src/vs/base/common/objects.js +1 -1
  4. package/vscode/src/vs/editor/browser/coreCommands.js +1 -1
  5. package/vscode/src/vs/platform/telemetry/common/telemetry.js +1 -2
  6. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +3 -7
  7. package/vscode/src/vs/workbench/common/editor.js +1 -5
  8. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +1 -2
  9. package/vscode/src/vs/workbench/contrib/logs/common/logsActions.js +6 -12
  10. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +1 -1
  11. package/vscode/src/vs/workbench/services/issue/browser/issueTroubleshoot.js +418 -0
  12. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +2 -7
  13. package/override/vs/platform/userDataSync/common/extensionsSync.js +0 -4
  14. package/override/vs/platform/userDataSync/common/globalStateSync.js +0 -5
  15. package/vscode/src/vs/base/browser/hash.js +0 -15
  16. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.css.js +0 -4
  17. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +0 -246
  18. package/vscode/src/vs/base/common/amd.js +0 -101
  19. package/vscode/src/vs/base/common/console.js +0 -60
  20. package/vscode/src/vs/base/common/paging.js +0 -116
  21. package/vscode/src/vs/base/common/parsers.js +0 -43
  22. package/vscode/src/vs/base/common/processes.js +0 -25
  23. package/vscode/src/vs/base/parts/request/browser/request.js +0 -60
  24. package/vscode/src/vs/editor/common/services/modelUndoRedoParticipant.js +0 -56
  25. package/vscode/src/vs/editor/common/services/textResourceConfigurationService.js +0 -116
  26. package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +0 -23
  27. package/vscode/src/vs/platform/debug/common/extensionHostDebugIpc.js +0 -71
  28. package/vscode/src/vs/platform/download/common/downloadIpc.js +0 -16
  29. package/vscode/src/vs/platform/download/common/downloadService.js +0 -31
  30. package/vscode/src/vs/platform/extensionManagement/common/abstractExtensionManagementService.js +0 -748
  31. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryService.js +0 -852
  32. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +0 -495
  33. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementIpc.js +0 -120
  34. package/vscode/src/vs/platform/extensionManagement/common/extensionTipsService.js +0 -65
  35. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +0 -56
  36. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +0 -42
  37. package/vscode/src/vs/platform/externalServices/common/marketplace.js +0 -15
  38. package/vscode/src/vs/platform/externalTerminal/common/externalTerminal.js +0 -3
  39. package/vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js +0 -404
  40. package/vscode/src/vs/platform/files/common/fileService.js +0 -986
  41. package/vscode/src/vs/platform/files/common/io.js +0 -75
  42. package/vscode/src/vs/platform/issue/common/issueReporterUtil.js +0 -15
  43. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +0 -48
  44. package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.js +0 -23
  45. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +0 -25
  46. package/vscode/src/vs/platform/log/common/fileLog.js +0 -105
  47. package/vscode/src/vs/platform/log/common/logIpc.js +0 -26
  48. package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +0 -355
  49. package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +0 -65
  50. package/vscode/src/vs/platform/remote/browser/remoteAuthorityResolverService.js +0 -108
  51. package/vscode/src/vs/platform/remote/common/managedSocket.js +0 -96
  52. package/vscode/src/vs/platform/request/browser/requestService.js +0 -28
  53. package/vscode/src/vs/platform/request/common/requestIpc.js +0 -18
  54. package/vscode/src/vs/platform/telemetry/common/commonProperties.js +0 -11
  55. package/vscode/src/vs/platform/terminal/common/capabilities/naiveCwdDetectionCapability.js +0 -22
  56. package/vscode/src/vs/platform/terminal/common/environmentVariable.js +0 -7
  57. package/vscode/src/vs/platform/terminal/common/environmentVariableCollection.js +0 -196
  58. package/vscode/src/vs/platform/terminal/common/terminalLogService.js +0 -49
  59. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +0 -518
  60. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +0 -111
  61. package/vscode/src/vs/platform/terminal/common/terminalRecorder.js +0 -66
  62. package/vscode/src/vs/platform/update/common/update.config.contribution.js +0 -98
  63. package/vscode/src/vs/platform/url/common/urlService.js +0 -20
  64. package/vscode/src/vs/platform/userDataProfile/browser/userDataProfile.js +0 -93
  65. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.js +0 -8
  66. package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +0 -256
  67. package/vscode/src/vs/platform/userDataSync/common/globalStateSync.js +0 -120
  68. package/vscode/src/vs/platform/userDataSync/common/keybindingsMerge.js +0 -275
  69. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +0 -316
  70. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +0 -314
  71. package/vscode/src/vs/platform/userDataSync/common/snippetsMerge.js +0 -125
  72. package/vscode/src/vs/platform/userDataSync/common/snippetsSync.js +0 -474
  73. package/vscode/src/vs/platform/userDataSync/common/tasksSync.js +0 -242
  74. package/vscode/src/vs/platform/userDataSync/common/userDataAutoSyncService.js +0 -464
  75. package/vscode/src/vs/platform/userDataSync/common/userDataProfilesManifestMerge.js +0 -90
  76. package/vscode/src/vs/platform/userDataSync/common/userDataProfilesManifestSync.js +0 -257
  77. package/vscode/src/vs/platform/userDataSync/common/userDataSyncEnablementService.js +0 -75
  78. package/vscode/src/vs/platform/userDataSync/common/userDataSyncLocalStoreService.js +0 -148
  79. package/vscode/src/vs/platform/userDataSync/common/userDataSyncLog.js +0 -39
  80. package/vscode/src/vs/platform/userDataSync/common/userDataSyncResourceProvider.js +0 -447
  81. package/vscode/src/vs/platform/userDataSync/common/userDataSyncService.js +0 -781
  82. package/vscode/src/vs/workbench/api/browser/extensionHost.contribution.js +0 -103
  83. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +0 -29
  84. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +0 -33
  85. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +0 -252
  86. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +0 -66
  87. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +0 -102
  88. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +0 -68
  89. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +0 -205
  90. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +0 -39
  91. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +0 -22
  92. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +0 -106
  93. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +0 -96
  94. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +0 -558
  95. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +0 -78
  96. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +0 -33
  97. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +0 -577
  98. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +0 -433
  99. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +0 -100
  100. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +0 -67
  101. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +0 -66
  102. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +0 -77
  103. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +0 -251
  104. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +0 -368
  105. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +0 -20
  106. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +0 -39
  107. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +0 -412
  108. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +0 -499
  109. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +0 -225
  110. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +0 -22
  111. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +0 -315
  112. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +0 -206
  113. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +0 -367
  114. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +0 -70
  115. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +0 -26
  116. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +0 -48
  117. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +0 -25
  118. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +0 -1014
  119. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +0 -183
  120. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +0 -76
  121. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +0 -33
  122. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +0 -76
  123. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +0 -91
  124. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +0 -135
  125. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +0 -192
  126. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +0 -121
  127. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +0 -186
  128. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +0 -127
  129. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +0 -129
  130. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +0 -372
  131. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +0 -23
  132. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +0 -46
  133. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +0 -74
  134. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +0 -36
  135. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +0 -66
  136. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +0 -40
  137. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +0 -183
  138. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +0 -28
  139. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +0 -491
  140. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +0 -47
  141. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +0 -166
  142. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +0 -68
  143. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +0 -48
  144. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +0 -97
  145. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +0 -51
  146. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +0 -70
  147. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +0 -729
  148. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +0 -51
  149. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +0 -407
  150. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +0 -49
  151. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +0 -217
  152. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +0 -22
  153. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +0 -53
  154. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +0 -310
  155. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +0 -221
  156. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +0 -108
  157. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +0 -59
  158. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +0 -27
  159. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +0 -281
  160. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +0 -98
  161. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +0 -133
  162. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +0 -55
  163. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +0 -266
  164. package/vscode/src/vs/workbench/api/common/configurationExtensionPoint.js +0 -594
  165. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +0 -33
  166. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +0 -227
  167. package/vscode/src/vs/workbench/browser/layout.js +0 -2059
  168. package/vscode/src/vs/workbench/browser/parts/banner/bannerPart.js +0 -233
  169. package/vscode/src/vs/workbench/browser/parts/banner/media/bannerpart.css.js +0 -4
  170. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +0 -74
  171. package/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandler.js +0 -132
  172. package/vscode/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +0 -4
  173. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarActions.js +0 -119
  174. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarItem.js +0 -250
  175. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarModel.js +0 -249
  176. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.js +0 -610
  177. package/vscode/src/vs/workbench/browser/parts/titlebar/commandCenterControl.js +0 -220
  178. package/vscode/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css.js +0 -4
  179. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +0 -259
  180. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.js +0 -582
  181. package/vscode/src/vs/workbench/common/dialogs.js +0 -36
  182. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.js +0 -23
  183. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityStatus.js +0 -112
  184. package/vscode/src/vs/workbench/contrib/accessibility/browser/openDiffEditorAnnouncement.js +0 -50
  185. package/vscode/src/vs/workbench/contrib/accessibility/browser/saveAccessibilitySignal.js +0 -18
  186. package/vscode/src/vs/workbench/contrib/accessibility/browser/unfocusedViewDimmingContribution.js +0 -66
  187. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +0 -358
  188. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +0 -362
  189. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +0 -265
  190. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/conflicts.js +0 -78
  191. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.contribution.js +0 -364
  192. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.css.js +0 -4
  193. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.js +0 -340
  194. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPreview.js +0 -361
  195. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditTree.js +0 -655
  196. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +0 -15
  197. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +0 -113
  198. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +0 -501
  199. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +0 -80
  200. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +0 -75
  201. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +0 -108
  202. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +0 -169
  203. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +0 -269
  204. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +0 -316
  205. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +0 -58
  206. package/vscode/src/vs/workbench/contrib/chat/browser/chatContributionServiceImpl.js +0 -421
  207. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +0 -96
  208. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +0 -283
  209. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +0 -88
  210. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +0 -183
  211. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatHistoryVariables.js +0 -25
  212. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +0 -617
  213. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +0 -598
  214. package/vscode/src/vs/workbench/contrib/chat/common/voiceChat.js +0 -139
  215. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.css.js +0 -4
  216. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.js +0 -39
  217. package/vscode/src/vs/workbench/contrib/codeEditor/browser/emptyTextEditorHint/emptyTextEditorHint.css.js +0 -4
  218. package/vscode/src/vs/workbench/contrib/codeEditor/browser/emptyTextEditorHint/emptyTextEditorHint.js +0 -389
  219. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsOutline.js +0 -370
  220. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.css.js +0 -4
  221. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.js +0 -290
  222. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +0 -86
  223. package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.js +0 -145
  224. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +0 -231
  225. package/vscode/src/vs/workbench/contrib/comments/browser/commentsEditorContribution.js +0 -282
  226. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +0 -74
  227. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +0 -1024
  228. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +0 -1003
  229. package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +0 -345
  230. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +0 -335
  231. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +0 -430
  232. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +0 -1037
  233. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +0 -647
  234. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +0 -62
  235. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +0 -634
  236. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +0 -738
  237. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +0 -406
  238. package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +0 -204
  239. package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +0 -78
  240. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +0 -167
  241. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +0 -1269
  242. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +0 -1328
  243. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +0 -113
  244. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +0 -75
  245. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +0 -305
  246. package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +0 -29
  247. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +0 -385
  248. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +0 -265
  249. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +0 -815
  250. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +0 -129
  251. package/vscode/src/vs/workbench/contrib/debug/browser/extensionHostDebugService.js +0 -140
  252. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +0 -260
  253. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +0 -667
  254. package/vscode/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +0 -4
  255. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugHover.css.js +0 -4
  256. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css.js +0 -4
  257. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +0 -4
  258. package/vscode/src/vs/workbench/contrib/debug/browser/media/exceptionWidget.css.js +0 -4
  259. package/vscode/src/vs/workbench/contrib/debug/browser/media/repl.css.js +0 -4
  260. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +0 -707
  261. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +0 -1000
  262. package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +0 -46
  263. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +0 -350
  264. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +0 -127
  265. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +0 -732
  266. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +0 -499
  267. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +0 -160
  268. package/vscode/src/vs/workbench/contrib/debug/common/breakpoints.js +0 -19
  269. package/vscode/src/vs/workbench/contrib/debug/common/debugCompoundRoot.js +0 -15
  270. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +0 -108
  271. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +0 -60
  272. package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +0 -458
  273. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +0 -164
  274. package/vscode/src/vs/workbench/contrib/debug/common/debugTelemetry.js +0 -34
  275. package/vscode/src/vs/workbench/contrib/debug/common/debugViewModel.js +0 -148
  276. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +0 -287
  277. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +0 -85
  278. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessions.contribution.js +0 -1197
  279. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.js +0 -55
  280. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.js +0 -455
  281. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsViews.js +0 -337
  282. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsLogService.js +0 -39
  283. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsStorageClient.js +0 -4
  284. package/vscode/src/vs/workbench/contrib/editSessions/common/workspaceStateSync.js +0 -140
  285. package/vscode/src/vs/workbench/contrib/emmet/browser/actions/expandAbbreviation.js +0 -41
  286. package/vscode/src/vs/workbench/contrib/emmet/browser/emmetActions.js +0 -88
  287. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +0 -539
  288. package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.js +0 -26
  289. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +0 -76
  290. package/vscode/src/vs/workbench/contrib/extensions/browser/deprecatedExtensionsChecker.js +0 -88
  291. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +0 -58
  292. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +0 -1171
  293. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +0 -50
  294. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +0 -543
  295. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +0 -464
  296. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.js +0 -15
  297. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +0 -233
  298. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +0 -2182
  299. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +0 -12
  300. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +0 -44
  301. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +0 -63
  302. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +0 -96
  303. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +0 -219
  304. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +0 -119
  305. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +0 -293
  306. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +0 -934
  307. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +0 -1349
  308. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +0 -858
  309. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +0 -2349
  310. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +0 -328
  311. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +0 -26
  312. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +0 -26
  313. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extension.css.js +0 -4
  314. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css.js +0 -4
  315. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css.js +0 -4
  316. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsWidgets.css.js +0 -4
  317. package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css.js +0 -4
  318. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +0 -27
  319. package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +0 -24
  320. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +0 -36
  321. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +0 -160
  322. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +0 -56
  323. package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +0 -29
  324. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +0 -49
  325. package/vscode/src/vs/workbench/contrib/externalTerminal/browser/externalTerminal.contribution.js +0 -152
  326. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +0 -81
  327. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +0 -430
  328. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +0 -786
  329. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +0 -510
  330. package/vscode/src/vs/workbench/contrib/files/browser/files.explorer.contribution.js +0 -460
  331. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +0 -39
  332. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +0 -39
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +0 -70
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.js +0 -234
  335. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChatServiceImpl.js +0 -31
  336. package/vscode/src/vs/workbench/contrib/interactive/browser/interactive.contribution.js +0 -737
  337. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +0 -6
  338. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditor.css.js +0 -4
  339. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditor.js +0 -600
  340. package/vscode/src/vs/workbench/contrib/interactive/browser/media/interactive.css.js +0 -4
  341. package/vscode/src/vs/workbench/contrib/issue/browser/issue.contribution.js +0 -27
  342. package/vscode/src/vs/workbench/contrib/issue/common/issue.contribution.js +0 -102
  343. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +0 -28
  344. package/vscode/src/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +0 -156
  345. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistory.contribution.js +0 -4
  346. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistory.js +0 -35
  347. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryCommands.js +0 -635
  348. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryFileSystemProvider.js +0 -87
  349. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryTimeline.js +0 -136
  350. package/vscode/src/vs/workbench/contrib/logs/common/logs.contribution.js +0 -225
  351. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownSettingRenderer.js +0 -307
  352. package/vscode/src/vs/workbench/contrib/markers/browser/markers.contribution.js +0 -759
  353. package/vscode/src/vs/workbench/contrib/markers/browser/markersFileDecorations.js +0 -127
  354. package/vscode/src/vs/workbench/contrib/markers/browser/markersFilterOptions.js +0 -75
  355. package/vscode/src/vs/workbench/contrib/markers/browser/markersModel.js +0 -200
  356. package/vscode/src/vs/workbench/contrib/markers/browser/markersTable.js +0 -475
  357. package/vscode/src/vs/workbench/contrib/markers/browser/markersTreeViewer.js +0 -691
  358. package/vscode/src/vs/workbench/contrib/markers/browser/markersView.js +0 -900
  359. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.css.js +0 -4
  360. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.js +0 -132
  361. package/vscode/src/vs/workbench/contrib/markers/browser/media/markers.css.js +0 -4
  362. package/vscode/src/vs/workbench/contrib/markers/browser/messages.js +0 -301
  363. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/actions.js +0 -108
  364. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.contribution.js +0 -39
  365. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.js +0 -117
  366. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +0 -146
  367. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.js +0 -107
  368. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/statusBarProviders.js +0 -172
  369. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/clipboard/notebookClipboard.js +0 -542
  370. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookBreakpoints.js +0 -105
  371. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookCellPausing.js +0 -66
  372. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookDebugDecorations.js +0 -163
  373. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorHint/emptyCellEditorHint.js +0 -65
  374. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorStatusBar/editorStatusBar.js +0 -318
  375. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/execute/executionEditorProgress.js +0 -70
  376. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/media/notebookFind.css.js +0 -4
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFind.js +0 -167
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/format/formatting.js +0 -207
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/gettingStarted/notebookGettingStarted.js +0 -82
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/kernelDetection/notebookKernelDetection.js +0 -81
  381. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/layout/layoutActions.js +0 -65
  382. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/marker/markerProvider.js +0 -100
  383. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/navigation/arrow.js +0 -391
  384. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +0 -62
  385. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableContextKeys.js +0 -3
  386. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariables.js +0 -95
  387. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesDataSource.js +0 -118
  388. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesTree.js +0 -58
  389. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesView.js +0 -148
  390. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/outline/notebookOutline.js +0 -654
  391. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/profile/notebookProfile.js +0 -75
  392. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/saveParticipants/saveParticipants.js +0 -515
  393. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/troubleshoot/layout.js +0 -157
  394. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/undoRedo/notebookUndoRedo.js +0 -55
  395. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/viewportWarmup/viewportWarmup.js +0 -93
  396. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/apiActions.js +0 -50
  397. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +0 -651
  398. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/executeActions.js +0 -719
  399. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +0 -349
  400. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/layoutActions.js +0 -314
  401. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/sectionActions.js +0 -197
  402. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +0 -46
  403. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +0 -1295
  404. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +0 -282
  405. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +0 -561
  406. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +0 -113
  407. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +0 -37
  408. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css.js +0 -4
  409. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffActions.js +0 -312
  410. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +0 -909
  411. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +0 -11
  412. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +0 -393
  413. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +0 -183
  414. package/vscode/src/vs/workbench/contrib/notebook/browser/notebook.contribution.js +0 -1185
  415. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibility.js +0 -157
  416. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookExtensionPoint.js +0 -449
  417. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js +0 -190
  418. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionServiceImpl.js +0 -104
  419. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionStateServiceImpl.js +0 -508
  420. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelHistoryServiceImpl.js +0 -128
  421. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelServiceImpl.js +0 -339
  422. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKeymapServiceImpl.js +0 -109
  423. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookLoggingServiceImpl.js +0 -26
  424. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookRendererMessagingServiceImpl.js +0 -63
  425. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookServiceImpl.js +0 -639
  426. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js +0 -198
  427. package/vscode/src/vs/workbench/contrib/notebook/common/model/cellEdit.js +0 -89
  428. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.js +0 -1000
  429. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +0 -101
  430. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverServiceImpl.js +0 -201
  431. package/vscode/src/vs/workbench/contrib/notebook/common/notebookOutputRenderer.js +0 -78
  432. package/vscode/src/vs/workbench/contrib/notebook/common/notebookProvider.js +0 -96
  433. package/vscode/src/vs/workbench/contrib/outline/browser/outline.contribution.js +0 -367
  434. package/vscode/src/vs/workbench/contrib/outline/browser/outlineActions.js +0 -172
  435. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.css.js +0 -4
  436. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.js +0 -316
  437. package/vscode/src/vs/workbench/contrib/outline/browser/outlineViewState.js +0 -66
  438. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +0 -613
  439. package/vscode/src/vs/workbench/contrib/output/browser/output.css.js +0 -4
  440. package/vscode/src/vs/workbench/contrib/output/browser/outputLinkProvider.js +0 -76
  441. package/vscode/src/vs/workbench/contrib/output/browser/outputServices.js +0 -200
  442. package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +0 -224
  443. package/vscode/src/vs/workbench/contrib/performance/browser/inputLatencyContrib.js +0 -43
  444. package/vscode/src/vs/workbench/contrib/performance/browser/performance.contribution.js +0 -116
  445. package/vscode/src/vs/workbench/contrib/performance/browser/performance.web.contribution.js +0 -5
  446. package/vscode/src/vs/workbench/contrib/performance/browser/perfviewEditor.js +0 -340
  447. package/vscode/src/vs/workbench/contrib/performance/browser/startupTimings.js +0 -114
  448. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.js +0 -1237
  449. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js +0 -248
  450. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindingsEditor.css.js +0 -4
  451. package/vscode/src/vs/workbench/contrib/preferences/browser/media/preferences.css.js +0 -4
  452. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsEditor2.css.js +0 -4
  453. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsWidgets.css.js +0 -4
  454. package/vscode/src/vs/workbench/contrib/preferences/browser/preferences.contribution.js +0 -1374
  455. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesActions.js +0 -104
  456. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesEditor.js +0 -47
  457. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesRenderers.js +0 -784
  458. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesSearch.js +0 -461
  459. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditor2.js +0 -1578
  460. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditorSettingIndicators.js +0 -624
  461. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsSearchMenu.js +0 -135
  462. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTree.js +0 -2122
  463. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsWidgets.js +0 -1158
  464. package/vscode/src/vs/workbench/contrib/preferences/browser/tocTree.js +0 -217
  465. package/vscode/src/vs/workbench/contrib/preferences/common/preferencesContribution.js +0 -160
  466. package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.js +0 -124
  467. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +0 -293
  468. package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +0 -167
  469. package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +0 -264
  470. package/vscode/src/vs/workbench/contrib/relauncher/browser/relauncher.contribution.js +0 -206
  471. package/vscode/src/vs/workbench/contrib/remote/browser/explorerViewItems.js +0 -133
  472. package/vscode/src/vs/workbench/contrib/remote/browser/media/remoteViewlet.css.js +0 -4
  473. package/vscode/src/vs/workbench/contrib/remote/browser/remote.contribution.js +0 -18
  474. package/vscode/src/vs/workbench/contrib/remote/browser/remote.js +0 -829
  475. package/vscode/src/vs/workbench/contrib/remote/browser/remoteConnectionHealth.js +0 -164
  476. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIndicator.js +0 -800
  477. package/vscode/src/vs/workbench/contrib/remote/browser/remoteStartEntry.contribution.js +0 -5
  478. package/vscode/src/vs/workbench/contrib/remote/browser/remoteStartEntry.js +0 -95
  479. package/vscode/src/vs/workbench/contrib/remote/browser/showCandidate.js +0 -33
  480. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelFactory.js +0 -108
  481. package/vscode/src/vs/workbench/contrib/remote/common/remote.contribution.js +0 -513
  482. package/vscode/src/vs/workbench/contrib/scm/browser/activity.js +0 -306
  483. package/vscode/src/vs/workbench/contrib/scm/browser/media/scm.css.js +0 -4
  484. package/vscode/src/vs/workbench/contrib/scm/browser/menus.js +0 -278
  485. package/vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js +0 -701
  486. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.js +0 -172
  487. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.js +0 -134
  488. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.js +0 -3365
  489. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.js +0 -52
  490. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js +0 -303
  491. package/vscode/src/vs/workbench/contrib/scm/browser/util.js +0 -119
  492. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +0 -74
  493. package/vscode/src/vs/workbench/contrib/scm/common/scmService.js +0 -310
  494. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +0 -794
  495. package/vscode/src/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +0 -4
  496. package/vscode/src/vs/workbench/contrib/search/browser/media/searchview.css.js +0 -4
  497. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +0 -232
  498. package/vscode/src/vs/workbench/contrib/search/browser/quickTextSearch/textSearchQuickAccess.js +0 -339
  499. package/vscode/src/vs/workbench/contrib/search/browser/replaceContributions.js +0 -7
  500. package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +0 -230
  501. package/vscode/src/vs/workbench/contrib/search/browser/search.contribution.js +0 -646
  502. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsCopy.js +0 -207
  503. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsNav.js +0 -510
  504. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsRemoveReplace.js +0 -372
  505. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsSymbol.js +0 -42
  506. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTextQuickAccess.js +0 -43
  507. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +0 -322
  508. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +0 -101
  509. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +0 -104
  510. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +0 -64
  511. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +0 -435
  512. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +0 -2175
  513. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +0 -672
  514. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +0 -232
  515. package/vscode/src/vs/workbench/contrib/search/common/cacheState.js +0 -85
  516. package/vscode/src/vs/workbench/contrib/searchEditor/browser/media/searchEditor.css.js +0 -4
  517. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.js +0 -585
  518. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.js +0 -758
  519. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +0 -187
  520. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +0 -318
  521. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorModel.js +0 -136
  522. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +0 -291
  523. package/vscode/src/vs/workbench/contrib/share/browser/share.contribution.js +0 -167
  524. package/vscode/src/vs/workbench/contrib/share/browser/share.css.js +0 -4
  525. package/vscode/src/vs/workbench/contrib/share/browser/shareService.js +0 -70
  526. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/configureSnippets.js +0 -331
  527. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/insertSnippet.js +0 -127
  528. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/surroundWithSnippet.js +0 -57
  529. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCodeActionProvider.js +0 -154
  530. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetPicker.js +0 -111
  531. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.contribution.js +0 -141
  532. package/vscode/src/vs/workbench/contrib/speech/browser/speechService.js +0 -271
  533. package/vscode/src/vs/workbench/contrib/surveys/browser/ces.contribution.js +0 -137
  534. package/vscode/src/vs/workbench/contrib/surveys/browser/languageSurveys.contribution.js +0 -50
  535. package/vscode/src/vs/workbench/contrib/surveys/browser/nps.contribution.js +0 -92
  536. package/vscode/src/vs/workbench/contrib/tasks/browser/abstractTaskService.js +0 -3857
  537. package/vscode/src/vs/workbench/contrib/tasks/browser/runAutomaticTasks.js +0 -183
  538. package/vscode/src/vs/workbench/contrib/tasks/browser/task.contribution.js +0 -682
  539. package/vscode/src/vs/workbench/contrib/tasks/browser/taskQuickPick.js +0 -450
  540. package/vscode/src/vs/workbench/contrib/tasks/browser/taskService.js +0 -36
  541. package/vscode/src/vs/workbench/contrib/tasks/browser/taskTerminalStatus.js +0 -189
  542. package/vscode/src/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +0 -119
  543. package/vscode/src/vs/workbench/contrib/tasks/browser/terminalTaskSystem.js +0 -1711
  544. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchemaCommon.js +0 -437
  545. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchema_v1.js +0 -123
  546. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.js +0 -899
  547. package/vscode/src/vs/workbench/contrib/tasks/common/problemCollectors.js +0 -463
  548. package/vscode/src/vs/workbench/contrib/tasks/common/problemMatcher.js +0 -1794
  549. package/vscode/src/vs/workbench/contrib/tasks/common/taskConfiguration.js +0 -1579
  550. package/vscode/src/vs/workbench/contrib/tasks/common/taskSystem.js +0 -14
  551. package/vscode/src/vs/workbench/contrib/tasks/common/taskTemplates.js +0 -143
  552. package/vscode/src/vs/workbench/contrib/terminal/browser/baseTerminalBackend.js +0 -114
  553. package/vscode/src/vs/workbench/contrib/terminal/browser/environmentVariableInfo.js +0 -133
  554. package/vscode/src/vs/workbench/contrib/terminal/browser/media/scrollbar.css.js +0 -4
  555. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminal.css.js +0 -4
  556. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminalVoice.css.js +0 -4
  557. package/vscode/src/vs/workbench/contrib/terminal/browser/media/widgets.css.js +0 -4
  558. package/vscode/src/vs/workbench/contrib/terminal/browser/media/xterm.css.js +0 -4
  559. package/vscode/src/vs/workbench/contrib/terminal/browser/remotePty.js +0 -91
  560. package/vscode/src/vs/workbench/contrib/terminal/browser/remoteTerminalBackend.js +0 -312
  561. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.contribution.js +0 -267
  562. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.web.contribution.js +0 -11
  563. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +0 -2070
  564. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalCommands.js +0 -22
  565. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.js +0 -221
  566. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalContextMenu.js +0 -40
  567. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditor.js +0 -193
  568. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorSerializer.js +0 -40
  569. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorService.js +0 -239
  570. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEscapeSequences.js +0 -12
  571. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroup.js +0 -501
  572. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroupService.js +0 -368
  573. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.js +0 -2180
  574. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstanceService.js +0 -81
  575. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMainContribution.js +0 -94
  576. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +0 -840
  577. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.js +0 -619
  578. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileQuickpick.js +0 -312
  579. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileResolverService.js +0 -285
  580. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileService.js +0 -225
  581. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalQuickAccess.js +0 -155
  582. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalRunRecentQuickPick.js +0 -335
  583. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalService.js +0 -1156
  584. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalStatusList.js +0 -121
  585. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.js +0 -439
  586. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +0 -690
  587. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.js +0 -84
  588. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalUri.js +0 -39
  589. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalView.js +0 -628
  590. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalVoice.js +0 -199
  591. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/terminalHoverWidget.js +0 -91
  592. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/lineDataEventAddon.js +0 -56
  593. package/vscode/src/vs/workbench/contrib/terminal/common/basePty.js +0 -91
  594. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariableService.js +0 -96
  595. package/vscode/src/vs/workbench/contrib/terminal/common/history.js +0 -375
  596. package/vscode/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.js +0 -253
  597. package/vscode/src/vs/workbench/contrib/terminal/common/terminalClipboard.js +0 -98
  598. package/vscode/src/vs/workbench/contrib/terminal/common/terminalConfiguration.js +0 -1351
  599. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +0 -282
  600. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +0 -145
  601. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/bufferContentTracker.js +0 -112
  602. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.js +0 -389
  603. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibilityHelp.js +0 -190
  604. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.js +0 -102
  605. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/textAreaSyncAddon.js +0 -106
  606. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css.js +0 -4
  607. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +0 -9
  608. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +0 -84
  609. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +0 -125
  610. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +0 -31
  611. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +0 -344
  612. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +0 -335
  613. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +0 -154
  614. package/vscode/src/vs/workbench/contrib/terminalContrib/developer/browser/media/developer.css.js +0 -4
  615. package/vscode/src/vs/workbench/contrib/terminalContrib/developer/browser/terminal.developer.contribution.js +0 -237
  616. package/vscode/src/vs/workbench/contrib/terminalContrib/environmentChanges/browser/terminal.environmentChanges.contribution.js +0 -114
  617. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/terminal.find.contribution.js +0 -264
  618. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/terminalFindWidget.js +0 -165
  619. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/textInputContextMenu.js +0 -61
  620. package/vscode/src/vs/workbench/contrib/terminalContrib/highlight/browser/terminal.highlight.contribution.js +0 -36
  621. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminal.links.contribution.js +0 -132
  622. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalExternalLinkDetector.js +0 -38
  623. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLink.js +0 -120
  624. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkDetectorAdapter.js +0 -108
  625. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkHelpers.js +0 -175
  626. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkManager.js +0 -394
  627. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkOpeners.js +0 -240
  628. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkParsing.js +0 -206
  629. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkQuickpick.js +0 -264
  630. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkResolver.js +0 -141
  631. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLocalLinkDetector.js +0 -220
  632. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalMultiLineLinkDetector.js +0 -182
  633. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalUriLinkDetector.js +0 -119
  634. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalWordLinkDetector.js +0 -94
  635. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/media/terminalQuickFix.css.js +0 -4
  636. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFixAddon.js +0 -451
  637. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminal.quickFix.contribution.js +0 -61
  638. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixBuiltinActions.js +0 -323
  639. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixService.js +0 -168
  640. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/media/stickyScroll.css.js +0 -4
  641. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminal.stickyScroll.contribution.js +0 -5
  642. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollColorRegistry.js +0 -35
  643. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollContribution.js +0 -91
  644. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.js +0 -379
  645. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminal.suggest.contribution.js +0 -181
  646. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalSuggestAddon.js +0 -406
  647. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/browser/terminal.typeAhead.contribution.js +0 -54
  648. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/browser/terminalTypeAheadAddon.js +0 -1047
  649. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/browser/terminal.zoom.contribution.js +0 -130
  650. package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDecorations.js +0 -589
  651. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/display.js +0 -2
  652. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/index.js +0 -81
  653. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/listProjection.js +0 -184
  654. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testItemContextOverlay.js +0 -16
  655. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingObjectTree.js +0 -44
  656. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingViewState.js +0 -15
  657. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/treeProjection.js +0 -222
  658. package/vscode/src/vs/workbench/contrib/testing/browser/icons.js +0 -182
  659. package/vscode/src/vs/workbench/contrib/testing/browser/media/testMessageColorizer.css.js +0 -4
  660. package/vscode/src/vs/workbench/contrib/testing/browser/media/testing.css.js +0 -4
  661. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.js +0 -238
  662. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.js +0 -562
  663. package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.js +0 -1671
  664. package/vscode/src/vs/workbench/contrib/testing/browser/testMessageColorizer.js +0 -71
  665. package/vscode/src/vs/workbench/contrib/testing/browser/testing.contribution.js +0 -224
  666. package/vscode/src/vs/workbench/contrib/testing/browser/testingConfigurationUi.js +0 -119
  667. package/vscode/src/vs/workbench/contrib/testing/browser/testingDecorations.js +0 -968
  668. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerFilter.js +0 -234
  669. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerView.js +0 -1239
  670. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.css.js +0 -4
  671. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.js +0 -2108
  672. package/vscode/src/vs/workbench/contrib/testing/browser/testingProgressUiService.js +0 -140
  673. package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.js +0 -45
  674. package/vscode/src/vs/workbench/contrib/testing/browser/theme.js +0 -335
  675. package/vscode/src/vs/workbench/contrib/testing/common/configuration.js +0 -274
  676. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +0 -57
  677. package/vscode/src/vs/workbench/contrib/testing/common/mainThreadTestCollection.js +0 -127
  678. package/vscode/src/vs/workbench/contrib/testing/common/observableUtils.js +0 -19
  679. package/vscode/src/vs/workbench/contrib/testing/common/testExclusions.js +0 -46
  680. package/vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.js +0 -294
  681. package/vscode/src/vs/workbench/contrib/testing/common/testingContentProvider.js +0 -123
  682. package/vscode/src/vs/workbench/contrib/testing/common/testingUri.js +0 -65
  683. package/vscode/src/vs/workbench/contrib/themes/browser/themes.contribution.js +0 -955
  684. package/vscode/src/vs/workbench/contrib/timeline/browser/media/timelinePane.css.js +0 -4
  685. package/vscode/src/vs/workbench/contrib/timeline/browser/timeline.contribution.js +0 -118
  686. package/vscode/src/vs/workbench/contrib/timeline/browser/timelinePane.js +0 -1161
  687. package/vscode/src/vs/workbench/contrib/timeline/common/timelineService.js +0 -106
  688. package/vscode/src/vs/workbench/contrib/update/browser/media/releasenoteseditor.css.js +0 -4
  689. package/vscode/src/vs/workbench/contrib/update/browser/releaseNotesEditor.js +0 -411
  690. package/vscode/src/vs/workbench/contrib/update/browser/update.contribution.js +0 -252
  691. package/vscode/src/vs/workbench/contrib/update/browser/update.js +0 -676
  692. package/vscode/src/vs/workbench/contrib/url/browser/externalUriResolver.js +0 -26
  693. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +0 -198
  694. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.js +0 -135
  695. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.js +0 -203
  696. package/vscode/src/vs/workbench/contrib/url/browser/url.contribution.js +0 -66
  697. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.contribution.js +0 -110
  698. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.js +0 -1466
  699. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncConflictsView.js +0 -223
  700. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncTrigger.js +0 -59
  701. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncViews.js +0 -858
  702. package/vscode/src/vs/workbench/contrib/welcomeBanner/browser/welcomeBanner.contribution.js +0 -45
  703. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/media/welcomeWidget.css.js +0 -4
  704. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/welcomeDialog.contribution.js +0 -102
  705. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/welcomeWidget.js +0 -187
  706. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +0 -380
  707. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +0 -1526
  708. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +0 -47
  709. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.js +0 -261
  710. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +0 -14
  711. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +0 -51
  712. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedList.js +0 -95
  713. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css.js +0 -4
  714. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +0 -216
  715. package/vscode/src/vs/workbench/contrib/welcomeViews/common/newFile.contribution.js +0 -237
  716. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcome.contribution.js +0 -18
  717. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcomeContribution.js +0 -73
  718. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcomeExtensionPoint.js +0 -97
  719. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +0 -61
  720. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/media/walkThroughPart.css.js +0 -4
  721. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +0 -38
  722. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughActions.js +0 -57
  723. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.js +0 -113
  724. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +0 -429
  725. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughContentProvider.js +0 -74
  726. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +0 -18
  727. package/vscode/src/vs/workbench/contrib/workspace/browser/media/workspaceTrustEditor.css.js +0 -4
  728. package/vscode/src/vs/workbench/contrib/workspace/browser/workspace.contribution.js +0 -976
  729. package/vscode/src/vs/workbench/contrib/workspace/browser/workspaceTrustEditor.js +0 -1243
  730. package/vscode/src/vs/workbench/contrib/workspaces/browser/workspaces.contribution.js +0 -132
  731. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +0 -1595
  732. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformationService.js +0 -82
  733. package/vscode/src/vs/workbench/services/authentication/browser/authenticationExtensionsService.js +0 -369
  734. package/vscode/src/vs/workbench/services/commands/common/commandService.js +0 -77
  735. package/vscode/src/vs/workbench/services/configuration/browser/configuration.js +0 -850
  736. package/vscode/src/vs/workbench/services/configuration/browser/configurationService.js +0 -1199
  737. package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.js +0 -666
  738. package/vscode/src/vs/workbench/services/configuration/common/configurationModels.js +0 -119
  739. package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +0 -120
  740. package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +0 -309
  741. package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +0 -27
  742. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +0 -330
  743. package/vscode/src/vs/workbench/services/dialogs/browser/abstractFileDialogService.js +0 -377
  744. package/vscode/src/vs/workbench/services/dialogs/browser/simpleFileDialog.js +0 -1037
  745. package/vscode/src/vs/workbench/services/dialogs/common/dialogService.js +0 -70
  746. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +0 -638
  747. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionsProfileScannerService.js +0 -22
  748. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +0 -892
  749. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeaturesManagemetService.js +0 -232
  750. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementChannelClient.js +0 -107
  751. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +0 -61
  752. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +0 -1043
  753. package/vscode/src/vs/workbench/services/extensionManagement/common/remoteExtensionManagementService.js +0 -56
  754. package/vscode/src/vs/workbench/services/extensionManagement/common/webExtensionManagementService.js +0 -279
  755. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionIgnoredRecommendationsService.js +0 -82
  756. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +0 -283
  757. package/vscode/src/vs/workbench/services/extensions/browser/extensionsScannerService.js +0 -31
  758. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +0 -274
  759. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +0 -50
  760. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +0 -1147
  761. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +0 -40
  762. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +0 -23
  763. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +0 -510
  764. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +0 -272
  765. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +0 -56
  766. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +0 -78
  767. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +0 -62
  768. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +0 -159
  769. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +0 -47
  770. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +0 -220
  771. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +0 -428
  772. package/vscode/src/vs/workbench/services/issue/browser/issueService.js +0 -97
  773. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +0 -945
  774. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +0 -500
  775. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js +0 -13
  776. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +0 -162
  777. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +0 -162
  778. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +0 -125
  779. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +0 -180
  780. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +0 -162
  781. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +0 -162
  782. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +0 -125
  783. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +0 -162
  784. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +0 -125
  785. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +0 -162
  786. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +0 -125
  787. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +0 -162
  788. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +0 -125
  789. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +0 -162
  790. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +0 -133
  791. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +0 -182
  792. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +0 -167
  793. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +0 -162
  794. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +0 -125
  795. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +0 -180
  796. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +0 -162
  797. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +0 -125
  798. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +0 -180
  799. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +0 -162
  800. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +0 -162
  801. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +0 -125
  802. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +0 -162
  803. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +0 -125
  804. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +0 -125
  805. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +0 -125
  806. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +0 -17
  807. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +0 -6
  808. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +0 -23
  809. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +0 -162
  810. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +0 -125
  811. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +0 -162
  812. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +0 -162
  813. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +0 -125
  814. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +0 -162
  815. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +0 -125
  816. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +0 -180
  817. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +0 -162
  818. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +0 -164
  819. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +0 -162
  820. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +0 -162
  821. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +0 -125
  822. package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.js +0 -72
  823. package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.js +0 -108
  824. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +0 -886
  825. package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +0 -350
  826. package/vscode/src/vs/workbench/services/label/common/labelService.js +0 -435
  827. package/vscode/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +0 -259
  828. package/vscode/src/vs/workbench/services/lifecycle/browser/lifecycleService.js +0 -135
  829. package/vscode/src/vs/workbench/services/notification/common/notificationService.js +0 -251
  830. package/vscode/src/vs/workbench/services/preferences/browser/preferencesService.js +0 -551
  831. package/vscode/src/vs/workbench/services/quickinput/browser/quickInputService.js +0 -37
  832. package/vscode/src/vs/workbench/services/remote/browser/browserRemoteResourceHandler.js +0 -47
  833. package/vscode/src/vs/workbench/services/remote/browser/remoteAgentService.js +0 -76
  834. package/vscode/src/vs/workbench/services/remote/common/abstractRemoteAgentService.js +0 -177
  835. package/vscode/src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.js +0 -52
  836. package/vscode/src/vs/workbench/services/remote/common/remoteExtensionsScanner.js +0 -71
  837. package/vscode/src/vs/workbench/services/request/browser/requestService.js +0 -48
  838. package/vscode/src/vs/workbench/services/search/common/searchService.js +0 -414
  839. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +0 -290
  840. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +0 -4
  841. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +0 -9
  842. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +0 -97
  843. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +0 -428
  844. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +0 -83
  845. package/vscode/src/vs/workbench/services/textMate/browser/arrayOperation.js +0 -62
  846. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/textMateWorkerTokenizerController.js +0 -160
  847. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.js +0 -200
  848. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +0 -482
  849. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/textMateTokenizationSupport.js +0 -72
  850. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/tokenizationSupportWithLineLimit.js +0 -39
  851. package/vscode/src/vs/workbench/services/textMate/common/TMGrammarFactory.js +0 -118
  852. package/vscode/src/vs/workbench/services/textMate/common/TMScopeRegistry.js +0 -15
  853. package/vscode/src/vs/workbench/services/textfile/browser/browserTextFileService.js +0 -57
  854. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +0 -652
  855. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +0 -402
  856. package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +0 -62
  857. package/vscode/src/vs/workbench/services/textmodelResolver/common/textModelResolverService.js +0 -191
  858. package/vscode/src/vs/workbench/services/textresourceProperties/common/textResourcePropertiesService.js +0 -44
  859. package/vscode/src/vs/workbench/services/themes/browser/fileIconThemeData.js +0 -372
  860. package/vscode/src/vs/workbench/services/themes/browser/productIconThemeData.js +0 -305
  861. package/vscode/src/vs/workbench/services/themes/browser/workbenchThemeService.js +0 -768
  862. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +0 -886
  863. package/vscode/src/vs/workbench/services/themes/common/colorThemeSchema.js +0 -309
  864. package/vscode/src/vs/workbench/services/themes/common/fileIconThemeSchema.js +0 -432
  865. package/vscode/src/vs/workbench/services/themes/common/plistParser.js +0 -439
  866. package/vscode/src/vs/workbench/services/themes/common/productIconThemeSchema.js +0 -114
  867. package/vscode/src/vs/workbench/services/themes/common/textMateScopeMatcher.js +0 -120
  868. package/vscode/src/vs/workbench/services/themes/common/themeCompatibility.js +0 -76
  869. package/vscode/src/vs/workbench/services/themes/common/themeConfiguration.js +0 -469
  870. package/vscode/src/vs/workbench/services/themes/common/themeExtensionPoints.js +0 -340
  871. package/vscode/src/vs/workbench/services/tunnel/browser/tunnelService.js +0 -34
  872. package/vscode/src/vs/workbench/services/url/browser/urlService.js +0 -48
  873. package/vscode/src/vs/workbench/services/userDataProfile/browser/extensionsResource.js +0 -340
  874. package/vscode/src/vs/workbench/services/userDataProfile/browser/globalStateResource.js +0 -145
  875. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +0 -96
  876. package/vscode/src/vs/workbench/services/userDataProfile/browser/keybindingsResource.js +0 -117
  877. package/vscode/src/vs/workbench/services/userDataProfile/browser/media/userDataProfileView.css.js +0 -4
  878. package/vscode/src/vs/workbench/services/userDataProfile/browser/settingsResource.js +0 -138
  879. package/vscode/src/vs/workbench/services/userDataProfile/browser/snippetsResource.js +0 -153
  880. package/vscode/src/vs/workbench/services/userDataProfile/browser/tasksResource.js +0 -116
  881. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.js +0 -1752
  882. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileInit.js +0 -148
  883. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js +0 -188
  884. package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncInit.js +0 -445
  885. package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncWorkbenchService.js +0 -786
  886. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.js +0 -46
  887. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyBackupService.js +0 -23
  888. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyBackupTracker.js +0 -43
  889. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyHistoryService.js +0 -28
  890. package/vscode/src/vs/workbench/services/workingCopy/common/abstractFileWorkingCopyManager.js +0 -87
  891. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopyManager.js +0 -384
  892. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopyManager.js +0 -406
  893. package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopy.js +0 -142
  894. package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopyManager.js +0 -127
  895. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +0 -452
  896. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupTracker.js +0 -253
  897. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistoryService.js +0 -616
  898. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistoryTracker.js +0 -162
  899. package/vscode/src/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +0 -335
  900. package/vscode/src/vs/workbench/services/workspaces/browser/workspaceTrustEditorInput.js +0 -41
  901. package/vscode/src/vs/workbench/services/workspaces/browser/workspacesService.js +0 -151
  902. package/vscode/src/vs/workbench/services/workspaces/common/editSessionIdentityService.js +0 -60
@@ -1,3365 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import './media/scm.css.js';
3
- import { Event, Emitter } from '../../../../base/common/event.js';
4
- import { basename, dirname } from '../../../../base/common/resources.js';
5
- import { Disposable, DisposableStore, toDisposable, combinedDisposable, MutableDisposable, DisposableMap, dispose } from '../../../../base/common/lifecycle.js';
6
- import { ViewPane, ViewAction } from '../../../browser/parts/views/viewPane.js';
7
- import { append, $, asCSSUrl, prepend, Dimension, trackFocus, clearNode } from '../../../../base/browser/dom.js';
8
- import { VIEW_PANE_ID, SCMInputChangeReason, ISCMViewService, ISCMService } from '../common/scm.js';
9
- import { ResourceLabels } from '../../../browser/labels.js';
10
- import { CountBadge } from '../../../../base/browser/ui/countBadge/countBadge.js';
11
- import { IEditorService } from '../../../services/editor/common/editorService.js';
12
- import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
13
- import { IContextMenuService, IContextViewService } from '../../../../platform/contextview/browser/contextView.js';
14
- import { ContextKeyExpr, RawContextKey, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
15
- import { ICommandService } from '../../../../platform/commands/common/commands.js';
16
- import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
17
- import { MenuId, MenuRegistry, registerAction2, MenuItemAction, IMenuService, Action2 } from '../../../../platform/actions/common/actions.js';
18
- import { Action, ActionRunner, Separator } from '../../../../base/common/actions.js';
19
- import { ActionBar } from '../../../../base/browser/ui/actionbar/actionbar.js';
20
- import { IThemeService } from '../../../../platform/theme/common/themeService.js';
21
- import { connectPrimaryMenuToInlineActionBar, connectPrimaryMenu, getActionViewItemProvider, isSCMRepository, isSCMResourceGroup, isSCMResourceNode, isSCMHistoryItemChangeNode, isSCMInput, isSCMActionButton, isSCMResource, isSCMHistoryItemGroupTreeElement, isSCMHistoryItemTreeElement, isSCMHistoryItemChangeTreeElement, toDiffEditorArguments, collectContextMenuActions, isSCMViewService, isSCMViewSeparator } from './util.js';
22
- import { WorkbenchCompressibleAsyncDataTree } from '../../../../platform/list/browser/listService.js';
23
- import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
24
- import { disposableTimeout, ThrottledDelayer, Sequencer, Throttler } from '../../../../base/common/async.js';
25
- import { ResourceTree } from '../../../../base/common/resourceTree.js';
26
- import { Iterable } from '../../../../base/common/iterator.js';
27
- import { URI } from '../../../../base/common/uri.js';
28
- import { FileKind } from '../../../../platform/files/common/files.js';
29
- import { comparePaths, compareFileNames } from '../../../../base/common/comparers.js';
30
- import { createMatches } from '../../../../base/common/filters.js';
31
- import { IViewDescriptorService } from '../../../common/views.js';
32
- import { localizeWithPath } from '../../../../nls.js';
33
- import { flatten } from '../../../../base/common/arrays.js';
34
- import { IStorageService } from '../../../../platform/storage/common/storage.js';
35
- import { EditorResourceAccessor, SideBySideEditor } from '../../../common/editor.js';
36
- import { PANEL_BACKGROUND, SIDE_BAR_BACKGROUND } from '../../../common/theme.js';
37
- import { CodeEditorWidget } from '../../../../editor/browser/widget/codeEditor/codeEditorWidget.js';
38
- import { getSimpleEditorOptions } from '../../codeEditor/browser/simpleEditorOptions.js';
39
- import { IModelService } from '../../../../editor/common/services/model.js';
40
- import { EditorExtensionsRegistry } from '../../../../editor/browser/editorExtensions.js';
41
- import { MenuPreventer } from '../../codeEditor/browser/menuPreventer.js';
42
- import { SelectionClipboardContributionID } from '../../codeEditor/browser/selectionClipboard.js';
43
- import { EditorDictation } from '../../codeEditor/browser/dictation/editorDictation.js';
44
- import { ContextMenuController } from '../../../../editor/contrib/contextmenu/browser/contextmenu.js';
45
- import { isMacintosh } from '../../../../base/common/platform.js';
46
- import { format, compare } from '../../../../base/common/strings.js';
47
- import { SuggestController } from '../../../../editor/contrib/suggest/browser/suggestController.js';
48
- import { SnippetController2 } from '../../../../editor/contrib/snippet/browser/snippetController2.js';
49
- import { ServiceCollection } from '../../../../platform/instantiation/common/serviceCollection.js';
50
- import { HoverController } from '../../../../editor/contrib/hover/browser/hover.js';
51
- import { ColorDetector } from '../../../../editor/contrib/colorPicker/browser/colorDetector.js';
52
- import { LinkDetector } from '../../../../editor/contrib/links/browser/links.js';
53
- import { IOpenerService } from '../../../../platform/opener/common/opener.js';
54
- import { ITelemetryService } from '../../../../platform/telemetry/common/telemetry.js';
55
- import { ILanguageService } from '../../../../editor/common/languages/language.js';
56
- import { ILabelService } from '../../../../platform/label/common/label.js';
57
- import { DEFAULT_FONT_FAMILY } from '../../../../base/browser/fonts.js';
58
- import { Codicon } from '../../../../base/common/codicons.js';
59
- import { ThemeIcon } from '../../../../base/common/themables.js';
60
- import { RepositoryRenderer, RepositoryActionRunner } from './scmRepositoryRenderer.js';
61
- import { ColorScheme } from '../../../../platform/theme/common/theme.js';
62
- import { API_OPEN_EDITOR_COMMAND_ID, API_OPEN_DIFF_EDITOR_COMMAND_ID } from '../../../browser/parts/editor/editorCommands.js';
63
- import { createActionViewItem, createAndFillInContextMenuActions, createAndFillInActionBarActions } from '../../../../platform/actions/browser/menuEntryActionViewItem.js';
64
- import { MarkdownRenderer, openLinkFromMarkdown } from '../../../../editor/browser/widget/markdownRenderer/browser/markdownRenderer.js';
65
- import { ButtonWithDropdown, Button } from '../../../../base/browser/ui/button/button.js';
66
- import { INotificationService } from '../../../../platform/notification/common/notification.js';
67
- import { RepositoryContextKeys } from './scmViewService.js';
68
- import { DragAndDropController } from '../../../../editor/contrib/dnd/browser/dnd.js';
69
- import { DropIntoEditorController } from '../../../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js';
70
- import { MessageController } from '../../../../editor/contrib/message/browser/messageController.js';
71
- import { defaultCountBadgeStyles, defaultButtonStyles } from '../../../../platform/theme/browser/defaultStyles.js';
72
- import { InlineCompletionsController } from '../../../../editor/contrib/inlineCompletions/browser/inlineCompletionsController.js';
73
- import { CodeActionController } from '../../../../editor/contrib/codeAction/browser/codeActionController.js';
74
- import { ITextModelService } from '../../../../editor/common/services/resolverService.js';
75
- import { Schemas } from '../../../../base/common/network.js';
76
- import { fillEditorsDragData } from '../../../browser/dnd.js';
77
- import { CodeDataTransfers } from '../../../../platform/dnd/browser/dnd.js';
78
- import { FormatOnType } from '../../../../editor/contrib/format/browser/formatActions.js';
79
- import { EditorOptions } from '../../../../editor/common/config/editorOptions.js';
80
- import { IUriIdentityService } from '../../../../platform/uriIdentity/common/uriIdentity.js';
81
- import { EditOperation } from '../../../../editor/common/core/editOperation.js';
82
- import { stripIcons } from '../../../../base/common/iconLabels.js';
83
- import { IconLabel } from '../../../../base/browser/ui/iconLabel/iconLabel.js';
84
- import { registerColor, transparent } from '../../../../platform/theme/common/colorUtils.js';
85
- import { foreground } from '../../../../platform/theme/common/colors/baseColors.js';
86
- import '../../../../platform/theme/common/colors/chartsColors.js';
87
- import '../../../../platform/theme/common/colors/editorColors.js';
88
- import '../../../../platform/theme/common/colors/inputColors.js';
89
- import { listActiveSelectionForeground } from '../../../../platform/theme/common/colors/listColors.js';
90
- import '../../../../platform/theme/common/colors/menuColors.js';
91
- import '../../../../platform/theme/common/colors/minimapColors.js';
92
- import '../../../../platform/theme/common/colors/miscColors.js';
93
- import '../../../../platform/theme/common/colors/quickpickColors.js';
94
- import '../../../../platform/theme/common/colors/searchColors.js';
95
- import { MenuWorkbenchToolBar, WorkbenchToolBar } from '../../../../platform/actions/browser/toolbar.js';
96
- import { CancellationTokenSource } from '../../../../base/common/cancellation.js';
97
- import { DropdownWithPrimaryActionViewItem } from '../../../../platform/actions/browser/dropdownWithPrimaryActionViewItem.js';
98
- import { clamp } from '../../../../base/common/numbers.js';
99
- import { ILogService } from '../../../../platform/log/common/log.js';
100
- var ActionButtonRenderer_1, InputRenderer_1, ResourceGroupRenderer_1, ResourceRenderer_1, HistoryItemGroupRenderer_1, HistoryItemRenderer_1, HistoryItemChangeRenderer_1, SeparatorRenderer_1, SCMInputWidget_1;
101
- registerColor('scm.historyItemAdditionsForeground', {
102
- dark: 'gitDecoration.addedResourceForeground',
103
- light: 'gitDecoration.addedResourceForeground',
104
- hcDark: 'gitDecoration.addedResourceForeground',
105
- hcLight: 'gitDecoration.addedResourceForeground'
106
- }, ( localizeWithPath(
107
- 'vs/workbench/contrib/scm/browser/scmViewPane',
108
- 'scm.historyItemAdditionsForeground',
109
- "History item additions foreground color."
110
- )));
111
- registerColor('scm.historyItemDeletionsForeground', {
112
- dark: 'gitDecoration.deletedResourceForeground',
113
- light: 'gitDecoration.deletedResourceForeground',
114
- hcDark: 'gitDecoration.deletedResourceForeground',
115
- hcLight: 'gitDecoration.deletedResourceForeground'
116
- }, ( localizeWithPath(
117
- 'vs/workbench/contrib/scm/browser/scmViewPane',
118
- 'scm.historyItemDeletionsForeground',
119
- "History item deletions foreground color."
120
- )));
121
- registerColor('scm.historyItemStatisticsBorder', {
122
- dark: ( transparent(foreground, 0.2)),
123
- light: ( transparent(foreground, 0.2)),
124
- hcDark: ( transparent(foreground, 0.2)),
125
- hcLight: ( transparent(foreground, 0.2))
126
- }, ( localizeWithPath(
127
- 'vs/workbench/contrib/scm/browser/scmViewPane',
128
- 'scm.historyItemStatisticsBorder',
129
- "History item statistics border color."
130
- )));
131
- registerColor('scm.historyItemSelectedStatisticsBorder', {
132
- dark: ( transparent(listActiveSelectionForeground, 0.2)),
133
- light: ( transparent(listActiveSelectionForeground, 0.2)),
134
- hcDark: ( transparent(listActiveSelectionForeground, 0.2)),
135
- hcLight: ( transparent(listActiveSelectionForeground, 0.2))
136
- }, ( localizeWithPath(
137
- 'vs/workbench/contrib/scm/browser/scmViewPane',
138
- 'scm.historyItemSelectedStatisticsBorder',
139
- "History item selected statistics border color."
140
- )));
141
- let ActionButtonRenderer = class ActionButtonRenderer {
142
- static { ActionButtonRenderer_1 = this; }
143
- static { this.DEFAULT_HEIGHT = 30; }
144
- static { this.TEMPLATE_ID = 'actionButton'; }
145
- get templateId() { return ActionButtonRenderer_1.TEMPLATE_ID; }
146
- constructor(commandService, contextMenuService, notificationService) {
147
- this.commandService = commandService;
148
- this.contextMenuService = contextMenuService;
149
- this.notificationService = notificationService;
150
- this.actionButtons = ( new Map());
151
- }
152
- renderTemplate(container) {
153
- container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-no-twistie');
154
- container.parentElement.parentElement.classList.add('cursor-default', 'force-no-hover');
155
- const buttonContainer = append(container, $('.button-container'));
156
- const actionButton = ( new SCMActionButton(
157
- buttonContainer,
158
- this.contextMenuService,
159
- this.commandService,
160
- this.notificationService
161
- ));
162
- return { actionButton, disposable: Disposable.None, templateDisposable: actionButton };
163
- }
164
- renderElement(node, index, templateData, height) {
165
- templateData.disposable.dispose();
166
- const disposables = ( new DisposableStore());
167
- const actionButton = node.element;
168
- templateData.actionButton.setButton(node.element.button);
169
- const renderedActionButtons = this.actionButtons.get(actionButton) ?? [];
170
- this.actionButtons.set(actionButton, [...renderedActionButtons, templateData.actionButton]);
171
- disposables.add({
172
- dispose: () => {
173
- const renderedActionButtons = this.actionButtons.get(actionButton) ?? [];
174
- const renderedWidgetIndex = renderedActionButtons.findIndex(renderedActionButton => renderedActionButton === templateData.actionButton);
175
- if (renderedWidgetIndex < 0) {
176
- throw new Error('Disposing unknown action button');
177
- }
178
- if (renderedActionButtons.length === 1) {
179
- this.actionButtons.delete(actionButton);
180
- }
181
- else {
182
- renderedActionButtons.splice(renderedWidgetIndex, 1);
183
- }
184
- }
185
- });
186
- templateData.disposable = disposables;
187
- }
188
- renderCompressedElements() {
189
- throw new Error('Should never happen since node is incompressible');
190
- }
191
- focusActionButton(actionButton) {
192
- this.actionButtons.get(actionButton)?.forEach(renderedActionButton => renderedActionButton.focus());
193
- }
194
- disposeElement(node, index, template) {
195
- template.disposable.dispose();
196
- }
197
- disposeTemplate(templateData) {
198
- templateData.disposable.dispose();
199
- templateData.templateDisposable.dispose();
200
- }
201
- };
202
- ActionButtonRenderer = ActionButtonRenderer_1 = ( __decorate([
203
- ( __param(0, ICommandService)),
204
- ( __param(1, IContextMenuService)),
205
- ( __param(2, INotificationService))
206
- ], ActionButtonRenderer));
207
- class SCMTreeDragAndDrop {
208
- constructor(instantiationService) {
209
- this.instantiationService = instantiationService;
210
- }
211
- getDragURI(element) {
212
- if (isSCMResource(element)) {
213
- return ( element.sourceUri.toString());
214
- }
215
- return null;
216
- }
217
- onDragStart(data, originalEvent) {
218
- const items = SCMTreeDragAndDrop.getResourcesFromDragAndDropData(data);
219
- if (originalEvent.dataTransfer && items?.length) {
220
- this.instantiationService.invokeFunction(accessor => fillEditorsDragData(accessor, items, originalEvent));
221
- const fileResources = ( items.filter(s => s.scheme === Schemas.file).map(r => r.fsPath));
222
- if (fileResources.length) {
223
- originalEvent.dataTransfer.setData(CodeDataTransfers.FILES, JSON.stringify(fileResources));
224
- }
225
- }
226
- }
227
- getDragLabel(elements, originalEvent) {
228
- if (elements.length === 1) {
229
- const element = elements[0];
230
- if (isSCMResource(element)) {
231
- return basename(element.sourceUri);
232
- }
233
- }
234
- return String(elements.length);
235
- }
236
- onDragOver(data, targetElement, targetIndex, targetSector, originalEvent) {
237
- return true;
238
- }
239
- drop(data, targetElement, targetIndex, targetSector, originalEvent) { }
240
- static getResourcesFromDragAndDropData(data) {
241
- const uris = [];
242
- for (const element of [...(data.context ?? []), ...data.elements]) {
243
- if (isSCMResource(element)) {
244
- uris.push(element.sourceUri);
245
- }
246
- }
247
- return uris;
248
- }
249
- dispose() { }
250
- }
251
- let InputRenderer = class InputRenderer {
252
- static { InputRenderer_1 = this; }
253
- static { this.DEFAULT_HEIGHT = 26; }
254
- static { this.TEMPLATE_ID = 'input'; }
255
- get templateId() { return InputRenderer_1.TEMPLATE_ID; }
256
- constructor(outerLayout, overflowWidgetsDomNode, updateHeight, instantiationService) {
257
- this.outerLayout = outerLayout;
258
- this.overflowWidgetsDomNode = overflowWidgetsDomNode;
259
- this.updateHeight = updateHeight;
260
- this.instantiationService = instantiationService;
261
- this.inputWidgets = ( new Map());
262
- this.contentHeights = ( new WeakMap());
263
- this.editorSelections = ( new WeakMap());
264
- }
265
- renderTemplate(container) {
266
- container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-no-twistie');
267
- container.parentElement.parentElement.classList.add('force-no-hover');
268
- const templateDisposable = ( new DisposableStore());
269
- const inputElement = append(container, $('.scm-input'));
270
- const inputWidget = this.instantiationService.createInstance(SCMInputWidget, inputElement, this.overflowWidgetsDomNode);
271
- templateDisposable.add(inputWidget);
272
- return { inputWidget, inputWidgetHeight: InputRenderer_1.DEFAULT_HEIGHT, elementDisposables: ( new DisposableStore()), templateDisposable };
273
- }
274
- renderElement(node, index, templateData) {
275
- const input = node.element;
276
- templateData.inputWidget.setInput(input);
277
- const renderedWidgets = this.inputWidgets.get(input) ?? [];
278
- this.inputWidgets.set(input, [...renderedWidgets, templateData.inputWidget]);
279
- templateData.elementDisposables.add({
280
- dispose: () => {
281
- const renderedWidgets = this.inputWidgets.get(input) ?? [];
282
- const renderedWidgetIndex = renderedWidgets.findIndex(renderedWidget => renderedWidget === templateData.inputWidget);
283
- if (renderedWidgetIndex < 0) {
284
- throw new Error('Disposing unknown input widget');
285
- }
286
- if (renderedWidgets.length === 1) {
287
- this.inputWidgets.delete(input);
288
- }
289
- else {
290
- renderedWidgets.splice(renderedWidgetIndex, 1);
291
- }
292
- }
293
- });
294
- const selections = this.editorSelections.get(input);
295
- if (selections) {
296
- templateData.inputWidget.selections = selections;
297
- }
298
- templateData.elementDisposables.add(toDisposable(() => {
299
- const selections = templateData.inputWidget.selections;
300
- if (selections) {
301
- this.editorSelections.set(input, selections);
302
- }
303
- }));
304
- templateData.inputWidgetHeight = InputRenderer_1.DEFAULT_HEIGHT;
305
- const onDidChangeContentHeight = () => {
306
- const contentHeight = templateData.inputWidget.getContentHeight();
307
- this.contentHeights.set(input, contentHeight);
308
- if (templateData.inputWidgetHeight !== contentHeight) {
309
- this.updateHeight(input, contentHeight + 10);
310
- templateData.inputWidgetHeight = contentHeight;
311
- templateData.inputWidget.layout();
312
- }
313
- };
314
- const startListeningContentHeightChange = () => {
315
- templateData.elementDisposables.add(templateData.inputWidget.onDidChangeContentHeight(onDidChangeContentHeight));
316
- onDidChangeContentHeight();
317
- };
318
- disposableTimeout(startListeningContentHeightChange, 0, templateData.elementDisposables);
319
- const layoutEditor = () => templateData.inputWidget.layout();
320
- templateData.elementDisposables.add(this.outerLayout.onDidChange(layoutEditor));
321
- layoutEditor();
322
- }
323
- renderCompressedElements() {
324
- throw new Error('Should never happen since node is incompressible');
325
- }
326
- disposeElement(group, index, template) {
327
- template.elementDisposables.clear();
328
- }
329
- disposeTemplate(templateData) {
330
- templateData.templateDisposable.dispose();
331
- }
332
- getHeight(input) {
333
- return (this.contentHeights.get(input) ?? InputRenderer_1.DEFAULT_HEIGHT) + 10;
334
- }
335
- getRenderedInputWidget(input) {
336
- return this.inputWidgets.get(input);
337
- }
338
- getFocusedInput() {
339
- for (const [input, inputWidgets] of this.inputWidgets) {
340
- for (const inputWidget of inputWidgets) {
341
- if (inputWidget.hasFocus()) {
342
- return input;
343
- }
344
- }
345
- }
346
- return undefined;
347
- }
348
- clearValidation() {
349
- for (const [, inputWidgets] of this.inputWidgets) {
350
- for (const inputWidget of inputWidgets) {
351
- inputWidget.clearValidation();
352
- }
353
- }
354
- }
355
- };
356
- InputRenderer = InputRenderer_1 = ( __decorate([
357
- ( __param(3, IInstantiationService))
358
- ], InputRenderer));
359
- let ResourceGroupRenderer = class ResourceGroupRenderer {
360
- static { ResourceGroupRenderer_1 = this; }
361
- static { this.TEMPLATE_ID = 'resource group'; }
362
- get templateId() { return ResourceGroupRenderer_1.TEMPLATE_ID; }
363
- constructor(actionViewItemProvider, scmViewService) {
364
- this.actionViewItemProvider = actionViewItemProvider;
365
- this.scmViewService = scmViewService;
366
- }
367
- renderTemplate(container) {
368
- container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-twistie');
369
- const element = append(container, $('.resource-group'));
370
- const name = append(element, $('.name'));
371
- const actionsContainer = append(element, $('.actions'));
372
- const actionBar = ( new ActionBar(actionsContainer, { actionViewItemProvider: this.actionViewItemProvider }));
373
- const countContainer = append(element, $('.count'));
374
- const count = ( new CountBadge(countContainer, {}, defaultCountBadgeStyles));
375
- const disposables = combinedDisposable(actionBar);
376
- return { name, count, actionBar, elementDisposables: ( new DisposableStore()), disposables };
377
- }
378
- renderElement(node, index, template) {
379
- const group = node.element;
380
- template.name.textContent = group.label;
381
- template.actionBar.clear();
382
- template.actionBar.context = group;
383
- template.count.setCount(group.resources.length);
384
- const menus = this.scmViewService.menus.getRepositoryMenus(group.provider);
385
- template.elementDisposables.add(connectPrimaryMenuToInlineActionBar(menus.getResourceGroupMenu(group), template.actionBar));
386
- }
387
- renderCompressedElements(node, index, templateData, height) {
388
- throw new Error('Should never happen since node is incompressible');
389
- }
390
- disposeElement(group, index, template) {
391
- template.elementDisposables.clear();
392
- }
393
- disposeTemplate(template) {
394
- template.elementDisposables.dispose();
395
- template.disposables.dispose();
396
- }
397
- };
398
- ResourceGroupRenderer = ResourceGroupRenderer_1 = ( __decorate([
399
- ( __param(1, ISCMViewService))
400
- ], ResourceGroupRenderer));
401
- class RepositoryPaneActionRunner extends ActionRunner {
402
- constructor(getSelectedResources) {
403
- super();
404
- this.getSelectedResources = getSelectedResources;
405
- }
406
- async runAction(action, context) {
407
- if (!(action instanceof MenuItemAction)) {
408
- return super.runAction(action, context);
409
- }
410
- const selection = this.getSelectedResources();
411
- const contextIsSelected = ( selection.some(s => s === context));
412
- const actualContext = contextIsSelected ? selection : [context];
413
- const args = flatten(( actualContext.map(e => ResourceTree.isResourceNode(e) ? ResourceTree.collect(e) : [e])));
414
- await action.run(...args);
415
- }
416
- }
417
- let ResourceRenderer = class ResourceRenderer {
418
- static { ResourceRenderer_1 = this; }
419
- static { this.TEMPLATE_ID = 'resource'; }
420
- get templateId() { return ResourceRenderer_1.TEMPLATE_ID; }
421
- constructor(viewMode, labels, actionViewItemProvider, actionRunner, labelService, scmViewService, themeService) {
422
- this.viewMode = viewMode;
423
- this.labels = labels;
424
- this.actionViewItemProvider = actionViewItemProvider;
425
- this.actionRunner = actionRunner;
426
- this.labelService = labelService;
427
- this.scmViewService = scmViewService;
428
- this.themeService = themeService;
429
- this.disposables = ( new DisposableStore());
430
- this.renderedResources = ( new Map());
431
- themeService.onDidColorThemeChange(this.onDidColorThemeChange, this, this.disposables);
432
- }
433
- renderTemplate(container) {
434
- const element = append(container, $('.resource'));
435
- const name = append(element, $('.name'));
436
- const fileLabel = this.labels.create(name, { supportDescriptionHighlights: true, supportHighlights: true });
437
- const actionsContainer = append(fileLabel.element, $('.actions'));
438
- const actionBar = ( new ActionBar(actionsContainer, {
439
- actionViewItemProvider: this.actionViewItemProvider,
440
- actionRunner: this.actionRunner
441
- }));
442
- const decorationIcon = append(element, $('.decoration-icon'));
443
- const actionBarMenuListener = ( new MutableDisposable());
444
- const disposables = combinedDisposable(actionBar, fileLabel, actionBarMenuListener);
445
- return { element, name, fileLabel, decorationIcon, actionBar, actionBarMenu: undefined, actionBarMenuListener, elementDisposables: ( new DisposableStore()), disposables };
446
- }
447
- renderElement(node, index, template) {
448
- const resourceOrFolder = node.element;
449
- const iconResource = ResourceTree.isResourceNode(resourceOrFolder) ? resourceOrFolder.element : resourceOrFolder;
450
- const uri = ResourceTree.isResourceNode(resourceOrFolder) ? resourceOrFolder.uri : resourceOrFolder.sourceUri;
451
- const fileKind = ResourceTree.isResourceNode(resourceOrFolder) ? FileKind.FOLDER : FileKind.FILE;
452
- const tooltip = !ResourceTree.isResourceNode(resourceOrFolder) && resourceOrFolder.decorations.tooltip || '';
453
- const hidePath = this.viewMode() === "tree" ;
454
- let matches;
455
- let descriptionMatches;
456
- let strikethrough;
457
- if (ResourceTree.isResourceNode(resourceOrFolder)) {
458
- if (resourceOrFolder.element) {
459
- const menus = this.scmViewService.menus.getRepositoryMenus(resourceOrFolder.element.resourceGroup.provider);
460
- this._renderActionBar(template, resourceOrFolder, menus.getResourceMenu(resourceOrFolder.element));
461
- template.element.classList.toggle('faded', resourceOrFolder.element.decorations.faded);
462
- strikethrough = resourceOrFolder.element.decorations.strikeThrough;
463
- }
464
- else {
465
- const menus = this.scmViewService.menus.getRepositoryMenus(resourceOrFolder.context.provider);
466
- this._renderActionBar(template, resourceOrFolder, menus.getResourceFolderMenu(resourceOrFolder.context));
467
- matches = createMatches(node.filterData);
468
- template.element.classList.remove('faded');
469
- }
470
- }
471
- else {
472
- const menus = this.scmViewService.menus.getRepositoryMenus(resourceOrFolder.resourceGroup.provider);
473
- this._renderActionBar(template, resourceOrFolder, menus.getResourceMenu(resourceOrFolder));
474
- [matches, descriptionMatches] = this._processFilterData(uri, node.filterData);
475
- template.element.classList.toggle('faded', resourceOrFolder.decorations.faded);
476
- strikethrough = resourceOrFolder.decorations.strikeThrough;
477
- }
478
- const renderedData = {
479
- tooltip, uri, fileLabelOptions: { hidePath, fileKind, matches, descriptionMatches, strikethrough }, iconResource
480
- };
481
- this.renderIcon(template, renderedData);
482
- this.renderedResources.set(template, renderedData);
483
- template.elementDisposables.add(toDisposable(() => this.renderedResources.delete(template)));
484
- template.element.setAttribute('data-tooltip', tooltip);
485
- }
486
- disposeElement(resource, index, template) {
487
- template.elementDisposables.clear();
488
- }
489
- renderCompressedElements(node, index, template, height) {
490
- const compressed = node.element;
491
- const folder = compressed.elements[compressed.elements.length - 1];
492
- const label = ( compressed.elements.map(e => e.name));
493
- const fileKind = FileKind.FOLDER;
494
- const matches = createMatches(node.filterData);
495
- template.fileLabel.setResource({ resource: folder.uri, name: label }, {
496
- fileDecorations: { colors: false, badges: true },
497
- fileKind,
498
- matches,
499
- separator: this.labelService.getSeparator(folder.uri.scheme)
500
- });
501
- const menus = this.scmViewService.menus.getRepositoryMenus(folder.context.provider);
502
- this._renderActionBar(template, folder, menus.getResourceFolderMenu(folder.context));
503
- template.name.classList.remove('strike-through');
504
- template.element.classList.remove('faded');
505
- template.decorationIcon.style.display = 'none';
506
- template.decorationIcon.style.backgroundImage = '';
507
- template.element.setAttribute('data-tooltip', '');
508
- }
509
- disposeCompressedElements(node, index, template, height) {
510
- template.elementDisposables.clear();
511
- }
512
- disposeTemplate(template) {
513
- template.elementDisposables.dispose();
514
- template.disposables.dispose();
515
- }
516
- _renderActionBar(template, resourceOrFolder, menu) {
517
- if (!template.actionBarMenu || template.actionBarMenu !== menu) {
518
- template.actionBar.clear();
519
- template.actionBarMenu = menu;
520
- template.actionBarMenuListener.value = connectPrimaryMenuToInlineActionBar(menu, template.actionBar);
521
- }
522
- template.actionBar.context = resourceOrFolder;
523
- }
524
- _processFilterData(uri, filterData) {
525
- if (!filterData) {
526
- return [undefined, undefined];
527
- }
528
- if (!filterData.label) {
529
- const matches = createMatches(filterData);
530
- return [matches, undefined];
531
- }
532
- const fileName = basename(uri);
533
- const label = filterData.label;
534
- const pathLength = label.length - fileName.length;
535
- const matches = createMatches(filterData.score);
536
- if (label === fileName) {
537
- return [matches, undefined];
538
- }
539
- const labelMatches = [];
540
- const descriptionMatches = [];
541
- for (const match of matches) {
542
- if (match.start > pathLength) {
543
- labelMatches.push({
544
- start: match.start - pathLength,
545
- end: match.end - pathLength
546
- });
547
- }
548
- else if (match.end < pathLength) {
549
- descriptionMatches.push(match);
550
- }
551
- else {
552
- labelMatches.push({
553
- start: 0,
554
- end: match.end - pathLength
555
- });
556
- descriptionMatches.push({
557
- start: match.start,
558
- end: pathLength
559
- });
560
- }
561
- }
562
- return [labelMatches, descriptionMatches];
563
- }
564
- onDidColorThemeChange() {
565
- for (const [template, data] of this.renderedResources) {
566
- this.renderIcon(template, data);
567
- }
568
- }
569
- renderIcon(template, data) {
570
- const theme = this.themeService.getColorTheme();
571
- const icon = theme.type === ColorScheme.LIGHT ? data.iconResource?.decorations.icon : data.iconResource?.decorations.iconDark;
572
- template.fileLabel.setFile(data.uri, {
573
- ...data.fileLabelOptions,
574
- fileDecorations: { colors: false, badges: !icon },
575
- });
576
- if (icon) {
577
- if (ThemeIcon.isThemeIcon(icon)) {
578
- template.decorationIcon.className = `decoration-icon ${ThemeIcon.asClassName(icon)}`;
579
- if (icon.color) {
580
- template.decorationIcon.style.color = theme.getColor(icon.color.id)?.toString() ?? '';
581
- }
582
- template.decorationIcon.style.display = '';
583
- template.decorationIcon.style.backgroundImage = '';
584
- }
585
- else {
586
- template.decorationIcon.className = 'decoration-icon';
587
- template.decorationIcon.style.color = '';
588
- template.decorationIcon.style.display = '';
589
- template.decorationIcon.style.backgroundImage = asCSSUrl(icon);
590
- }
591
- template.decorationIcon.title = data.tooltip;
592
- }
593
- else {
594
- template.decorationIcon.className = 'decoration-icon';
595
- template.decorationIcon.style.color = '';
596
- template.decorationIcon.style.display = 'none';
597
- template.decorationIcon.style.backgroundImage = '';
598
- template.decorationIcon.title = '';
599
- }
600
- }
601
- dispose() {
602
- this.disposables.dispose();
603
- }
604
- };
605
- ResourceRenderer = ResourceRenderer_1 = ( __decorate([
606
- ( __param(4, ILabelService)),
607
- ( __param(5, ISCMViewService)),
608
- ( __param(6, IThemeService))
609
- ], ResourceRenderer));
610
- class HistoryItemGroupActionRunner extends ActionRunner {
611
- runAction(action, context) {
612
- if (!(action instanceof MenuItemAction)) {
613
- return super.runAction(action, context);
614
- }
615
- return action.run(context.repository.provider, context.id);
616
- }
617
- }
618
- let HistoryItemGroupRenderer = class HistoryItemGroupRenderer {
619
- static { HistoryItemGroupRenderer_1 = this; }
620
- static { this.TEMPLATE_ID = 'history-item-group'; }
621
- get templateId() { return HistoryItemGroupRenderer_1.TEMPLATE_ID; }
622
- constructor(actionRunner, contextKeyService, contextMenuService, keybindingService, menuService, scmViewService, telemetryService) {
623
- this.actionRunner = actionRunner;
624
- this.contextKeyService = contextKeyService;
625
- this.contextMenuService = contextMenuService;
626
- this.keybindingService = keybindingService;
627
- this.menuService = menuService;
628
- this.scmViewService = scmViewService;
629
- this.telemetryService = telemetryService;
630
- }
631
- renderTemplate(container) {
632
- container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-twistie');
633
- const element = append(container, $('.history-item-group'));
634
- const label = ( new IconLabel(element, { supportIcons: true }));
635
- const iconContainer = prepend(label.element, $('.icon-container'));
636
- const templateDisposables = ( new DisposableStore());
637
- const toolBar = ( new WorkbenchToolBar(
638
- append(element, $('.actions')),
639
- { actionRunner: this.actionRunner, menuOptions: { shouldForwardArgs: true } },
640
- this.menuService,
641
- this.contextKeyService,
642
- this.contextMenuService,
643
- this.keybindingService,
644
- this.telemetryService
645
- ));
646
- templateDisposables.add(toolBar);
647
- const countContainer = append(element, $('.count'));
648
- const count = ( new CountBadge(countContainer, {}, defaultCountBadgeStyles));
649
- return { iconContainer, label, toolBar, count, elementDisposables: ( new DisposableStore()), templateDisposables };
650
- }
651
- renderElement(node, index, templateData, height) {
652
- const historyItemGroup = node.element;
653
- templateData.iconContainer.className = 'icon-container';
654
- if (historyItemGroup.icon && ThemeIcon.isThemeIcon(historyItemGroup.icon)) {
655
- templateData.iconContainer.classList.add(...ThemeIcon.asClassNameArray(historyItemGroup.icon));
656
- }
657
- templateData.label.setLabel(historyItemGroup.label, historyItemGroup.description, { title: historyItemGroup.ariaLabel });
658
- templateData.count.setCount(historyItemGroup.count ?? 0);
659
- const repositoryMenus = this.scmViewService.menus.getRepositoryMenus(historyItemGroup.repository.provider);
660
- const historyProviderMenu = repositoryMenus.historyProviderMenu;
661
- if (historyProviderMenu) {
662
- const menu = historyProviderMenu.getHistoryItemGroupMenu(historyItemGroup);
663
- const resetMenuId = historyItemGroup.direction === 'incoming' ? MenuId.SCMIncomingChanges : MenuId.SCMOutgoingChanges;
664
- templateData.elementDisposables.add(connectPrimaryMenu(menu, (primary, secondary) => {
665
- templateData.toolBar.setActions(primary, secondary, [resetMenuId]);
666
- }));
667
- templateData.toolBar.context = historyItemGroup;
668
- }
669
- else {
670
- templateData.toolBar.setActions([], []);
671
- templateData.toolBar.context = undefined;
672
- }
673
- }
674
- renderCompressedElements(node, index, templateData, height) {
675
- throw new Error('Should never happen since node is incompressible');
676
- }
677
- disposeElement(node, index, templateData, height) {
678
- templateData.elementDisposables.clear();
679
- }
680
- disposeTemplate(templateData) {
681
- templateData.elementDisposables.dispose();
682
- templateData.templateDisposables.dispose();
683
- }
684
- };
685
- HistoryItemGroupRenderer = HistoryItemGroupRenderer_1 = ( __decorate([
686
- ( __param(1, IContextKeyService)),
687
- ( __param(2, IContextMenuService)),
688
- ( __param(3, IKeybindingService)),
689
- ( __param(4, IMenuService)),
690
- ( __param(5, ISCMViewService)),
691
- ( __param(6, ITelemetryService))
692
- ], HistoryItemGroupRenderer));
693
- class HistoryItemActionRunner extends ActionRunner {
694
- async runAction(action, context) {
695
- if (!(action instanceof MenuItemAction)) {
696
- return super.runAction(action, context);
697
- }
698
- const args = [];
699
- args.push(context.historyItemGroup.repository.provider);
700
- args.push({
701
- id: context.id,
702
- parentIds: context.parentIds,
703
- label: context.label,
704
- description: context.description,
705
- icon: context.icon,
706
- timestamp: context.timestamp,
707
- statistics: context.statistics,
708
- });
709
- await action.run(...args);
710
- }
711
- }
712
- let HistoryItemRenderer = class HistoryItemRenderer {
713
- static { HistoryItemRenderer_1 = this; }
714
- static { this.TEMPLATE_ID = 'history-item'; }
715
- get templateId() { return HistoryItemRenderer_1.TEMPLATE_ID; }
716
- constructor(actionRunner, actionViewItemProvider, scmViewService) {
717
- this.actionRunner = actionRunner;
718
- this.actionViewItemProvider = actionViewItemProvider;
719
- this.scmViewService = scmViewService;
720
- }
721
- renderTemplate(container) {
722
- container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-twistie');
723
- const element = append(container, $('.history-item'));
724
- const iconLabel = ( new IconLabel(element, { supportIcons: true }));
725
- const iconContainer = prepend(iconLabel.element, $('.icon-container'));
726
- const disposables = ( new DisposableStore());
727
- const actionsContainer = append(element, $('.actions'));
728
- const actionBar = ( new ActionBar(
729
- actionsContainer,
730
- { actionRunner: this.actionRunner, actionViewItemProvider: this.actionViewItemProvider }
731
- ));
732
- disposables.add(actionBar);
733
- const statsContainer = append(element, $('.stats-container'));
734
- const filesLabel = append(statsContainer, $('.files-label'));
735
- const insertionsLabel = append(statsContainer, $('.insertions-label'));
736
- const deletionsLabel = append(statsContainer, $('.deletions-label'));
737
- return { iconContainer, label: iconLabel, actionBar, statsContainer, filesLabel, insertionsLabel, deletionsLabel, elementDisposables: ( new DisposableStore()), disposables };
738
- }
739
- renderElement(node, index, templateData, height) {
740
- const historyItem = node.element;
741
- templateData.iconContainer.className = 'icon-container';
742
- if (historyItem.icon && ThemeIcon.isThemeIcon(historyItem.icon)) {
743
- templateData.iconContainer.classList.add(...ThemeIcon.asClassNameArray(historyItem.icon));
744
- }
745
- templateData.label.setLabel(historyItem.label, historyItem.description);
746
- templateData.actionBar.clear();
747
- templateData.actionBar.context = historyItem;
748
- const menus = this.scmViewService.menus.getRepositoryMenus(historyItem.historyItemGroup.repository.provider);
749
- if (menus.historyProviderMenu) {
750
- const historyItemMenu = menus.historyProviderMenu.getHistoryItemMenu(historyItem);
751
- templateData.elementDisposables.add(connectPrimaryMenuToInlineActionBar(historyItemMenu, templateData.actionBar));
752
- }
753
- this.renderStatistics(node, index, templateData, height);
754
- }
755
- renderCompressedElements(node, index, templateData, height) {
756
- throw new Error('Should never happen since node is incompressible');
757
- }
758
- renderStatistics(node, index, templateData, height) {
759
- const historyItem = node.element;
760
- if (historyItem.statistics) {
761
- const statsAriaLabel = [
762
- historyItem.statistics.files === 1 ?
763
- ( localizeWithPath(
764
- 'vs/workbench/contrib/scm/browser/scmViewPane',
765
- 'fileChanged',
766
- "{0} file changed",
767
- historyItem.statistics.files
768
- )) :
769
- ( localizeWithPath(
770
- 'vs/workbench/contrib/scm/browser/scmViewPane',
771
- 'filesChanged',
772
- "{0} files changed",
773
- historyItem.statistics.files
774
- )),
775
- historyItem.statistics.insertions === 1 ? ( localizeWithPath(
776
- 'vs/workbench/contrib/scm/browser/scmViewPane',
777
- 'insertion',
778
- "{0} insertion{1}",
779
- historyItem.statistics.insertions,
780
- '(+)'
781
- )) :
782
- historyItem.statistics.insertions > 1 ? ( localizeWithPath(
783
- 'vs/workbench/contrib/scm/browser/scmViewPane',
784
- 'insertions',
785
- "{0} insertions{1}",
786
- historyItem.statistics.insertions,
787
- '(+)'
788
- )) : '',
789
- historyItem.statistics.deletions === 1 ? ( localizeWithPath(
790
- 'vs/workbench/contrib/scm/browser/scmViewPane',
791
- 'deletion',
792
- "{0} deletion{1}",
793
- historyItem.statistics.deletions,
794
- '(-)'
795
- )) :
796
- historyItem.statistics.deletions > 1 ? ( localizeWithPath(
797
- 'vs/workbench/contrib/scm/browser/scmViewPane',
798
- 'deletions',
799
- "{0} deletions{1}",
800
- historyItem.statistics.deletions,
801
- '(-)'
802
- )) : ''
803
- ];
804
- const statsTitle = statsAriaLabel
805
- .filter(l => l !== '').join(', ');
806
- templateData.statsContainer.title = statsTitle;
807
- templateData.statsContainer.setAttribute('aria-label', statsTitle);
808
- templateData.filesLabel.textContent = ( historyItem.statistics.files.toString());
809
- templateData.insertionsLabel.textContent = historyItem.statistics.insertions > 0 ? `+${historyItem.statistics.insertions}` : '';
810
- templateData.insertionsLabel.classList.toggle('hidden', historyItem.statistics.insertions === 0);
811
- templateData.deletionsLabel.textContent = historyItem.statistics.deletions > 0 ? `-${historyItem.statistics.deletions}` : '';
812
- templateData.deletionsLabel.classList.toggle('hidden', historyItem.statistics.deletions === 0);
813
- }
814
- templateData.statsContainer.classList.toggle('hidden', historyItem.statistics === undefined);
815
- }
816
- disposeElement(element, index, templateData, height) {
817
- templateData.elementDisposables.clear();
818
- }
819
- disposeTemplate(templateData) {
820
- templateData.disposables.dispose();
821
- }
822
- };
823
- HistoryItemRenderer = HistoryItemRenderer_1 = ( __decorate([
824
- ( __param(2, ISCMViewService))
825
- ], HistoryItemRenderer));
826
- let HistoryItemChangeRenderer = class HistoryItemChangeRenderer {
827
- static { HistoryItemChangeRenderer_1 = this; }
828
- static { this.TEMPLATE_ID = 'historyItemChange'; }
829
- get templateId() { return HistoryItemChangeRenderer_1.TEMPLATE_ID; }
830
- constructor(viewMode, labels, labelService) {
831
- this.viewMode = viewMode;
832
- this.labels = labels;
833
- this.labelService = labelService;
834
- }
835
- renderTemplate(container) {
836
- const element = append(container, $('.change'));
837
- const name = append(element, $('.name'));
838
- const fileLabel = this.labels.create(name, { supportDescriptionHighlights: true, supportHighlights: true });
839
- const decorationIcon = append(element, $('.decoration-icon'));
840
- return { element, name, fileLabel, decorationIcon, disposables: ( new DisposableStore()) };
841
- }
842
- renderElement(node, index, templateData, height) {
843
- const historyItemChangeOrFolder = node.element;
844
- const uri = ResourceTree.isResourceNode(historyItemChangeOrFolder) ? historyItemChangeOrFolder.element?.uri ?? historyItemChangeOrFolder.uri : historyItemChangeOrFolder.uri;
845
- const fileKind = ResourceTree.isResourceNode(historyItemChangeOrFolder) ? FileKind.FOLDER : FileKind.FILE;
846
- const hidePath = this.viewMode() === "tree" ;
847
- templateData.fileLabel.setFile(uri, { fileDecorations: { colors: false, badges: true }, fileKind, hidePath, });
848
- }
849
- renderCompressedElements(node, index, templateData, height) {
850
- const compressed = node.element;
851
- const folder = compressed.elements[compressed.elements.length - 1];
852
- const label = ( compressed.elements.map(e => e.name));
853
- templateData.fileLabel.setResource({ resource: folder.uri, name: label }, {
854
- fileDecorations: { colors: false, badges: true },
855
- fileKind: FileKind.FOLDER,
856
- separator: this.labelService.getSeparator(folder.uri.scheme)
857
- });
858
- }
859
- disposeTemplate(templateData) {
860
- templateData.disposables.dispose();
861
- }
862
- };
863
- HistoryItemChangeRenderer = HistoryItemChangeRenderer_1 = ( __decorate([
864
- ( __param(2, ILabelService))
865
- ], HistoryItemChangeRenderer));
866
- let SeparatorRenderer = class SeparatorRenderer {
867
- static { SeparatorRenderer_1 = this; }
868
- static { this.TEMPLATE_ID = 'separator'; }
869
- get templateId() { return SeparatorRenderer_1.TEMPLATE_ID; }
870
- constructor(contextKeyService, contextMenuService, keybindingService, menuService, telemetryService) {
871
- this.contextKeyService = contextKeyService;
872
- this.contextMenuService = contextMenuService;
873
- this.keybindingService = keybindingService;
874
- this.menuService = menuService;
875
- this.telemetryService = telemetryService;
876
- }
877
- renderTemplate(container) {
878
- container.parentElement.parentElement.querySelector('.monaco-tl-twistie').classList.add('force-no-twistie');
879
- container.parentElement.parentElement.classList.add('cursor-default', 'force-no-hover');
880
- const disposables = ( new DisposableStore());
881
- const element = append(container, $('.separator-container'));
882
- const label = ( new IconLabel(element, { supportIcons: true, }));
883
- append(element, $('.separator'));
884
- disposables.add(label);
885
- const toolBar = ( new MenuWorkbenchToolBar(
886
- append(element, $('.actions')),
887
- MenuId.SCMChangesSeparator,
888
- { moreIcon: Codicon.gear },
889
- this.menuService,
890
- this.contextKeyService,
891
- this.contextMenuService,
892
- this.keybindingService,
893
- this.telemetryService
894
- ));
895
- disposables.add(toolBar);
896
- return { label, disposables };
897
- }
898
- renderElement(element, index, templateData, height) {
899
- templateData.label.setLabel(element.element.label, undefined, { title: element.element.ariaLabel });
900
- }
901
- renderCompressedElements(node, index, templateData, height) {
902
- throw new Error('Should never happen since node is incompressible');
903
- }
904
- disposeTemplate(templateData) {
905
- templateData.disposables.dispose();
906
- }
907
- };
908
- SeparatorRenderer = SeparatorRenderer_1 = ( __decorate([
909
- ( __param(0, IContextKeyService)),
910
- ( __param(1, IContextMenuService)),
911
- ( __param(2, IKeybindingService)),
912
- ( __param(3, IMenuService)),
913
- ( __param(4, ITelemetryService))
914
- ], SeparatorRenderer));
915
- class ListDelegate {
916
- constructor(inputRenderer) {
917
- this.inputRenderer = inputRenderer;
918
- }
919
- getHeight(element) {
920
- if (isSCMInput(element)) {
921
- return this.inputRenderer.getHeight(element);
922
- }
923
- else if (isSCMActionButton(element)) {
924
- return ActionButtonRenderer.DEFAULT_HEIGHT + 10;
925
- }
926
- else {
927
- return 22;
928
- }
929
- }
930
- getTemplateId(element) {
931
- if (isSCMRepository(element)) {
932
- return RepositoryRenderer.TEMPLATE_ID;
933
- }
934
- else if (isSCMInput(element)) {
935
- return InputRenderer.TEMPLATE_ID;
936
- }
937
- else if (isSCMActionButton(element)) {
938
- return ActionButtonRenderer.TEMPLATE_ID;
939
- }
940
- else if (isSCMResourceGroup(element)) {
941
- return ResourceGroupRenderer.TEMPLATE_ID;
942
- }
943
- else if (isSCMResource(element) || isSCMResourceNode(element)) {
944
- return ResourceRenderer.TEMPLATE_ID;
945
- }
946
- else if (isSCMHistoryItemGroupTreeElement(element)) {
947
- return HistoryItemGroupRenderer.TEMPLATE_ID;
948
- }
949
- else if (isSCMHistoryItemTreeElement(element)) {
950
- return HistoryItemRenderer.TEMPLATE_ID;
951
- }
952
- else if (isSCMHistoryItemChangeTreeElement(element) || isSCMHistoryItemChangeNode(element)) {
953
- return HistoryItemChangeRenderer.TEMPLATE_ID;
954
- }
955
- else if (isSCMViewSeparator(element)) {
956
- return SeparatorRenderer.TEMPLATE_ID;
957
- }
958
- else {
959
- throw new Error('Unknown element');
960
- }
961
- }
962
- }
963
- class SCMTreeCompressionDelegate {
964
- isIncompressible(element) {
965
- if (ResourceTree.isResourceNode(element)) {
966
- return element.childrenCount === 0 || !element.parent || !element.parent.parent;
967
- }
968
- return true;
969
- }
970
- }
971
- class SCMTreeFilter {
972
- filter(element) {
973
- if (isSCMResourceGroup(element)) {
974
- return element.resources.length > 0 || !element.hideWhenEmpty;
975
- }
976
- else {
977
- return true;
978
- }
979
- }
980
- }
981
- class SCMTreeSorter {
982
- constructor(viewMode, viewSortKey) {
983
- this.viewMode = viewMode;
984
- this.viewSortKey = viewSortKey;
985
- }
986
- compare(one, other) {
987
- if (isSCMRepository(one)) {
988
- if (!isSCMRepository(other)) {
989
- throw new Error('Invalid comparison');
990
- }
991
- return 0;
992
- }
993
- if (isSCMInput(one)) {
994
- return -1;
995
- }
996
- else if (isSCMInput(other)) {
997
- return 1;
998
- }
999
- if (isSCMActionButton(one)) {
1000
- return -1;
1001
- }
1002
- else if (isSCMActionButton(other)) {
1003
- return 1;
1004
- }
1005
- if (isSCMResourceGroup(one)) {
1006
- return isSCMResourceGroup(other) ? 0 : -1;
1007
- }
1008
- if (isSCMViewSeparator(one)) {
1009
- return isSCMResourceGroup(other) ? 1 : -1;
1010
- }
1011
- if (isSCMHistoryItemGroupTreeElement(one)) {
1012
- return isSCMHistoryItemGroupTreeElement(other) ? 0 : 1;
1013
- }
1014
- if (isSCMHistoryItemTreeElement(one)) {
1015
- if (!isSCMHistoryItemTreeElement(other)) {
1016
- throw new Error('Invalid comparison');
1017
- }
1018
- return 0;
1019
- }
1020
- if (isSCMHistoryItemChangeTreeElement(one) || isSCMHistoryItemChangeNode(one)) {
1021
- if (this.viewMode() === "list" ) {
1022
- if (!isSCMHistoryItemChangeTreeElement(other)) {
1023
- throw new Error('Invalid comparison');
1024
- }
1025
- return comparePaths(one.uri.fsPath, other.uri.fsPath);
1026
- }
1027
- if (!isSCMHistoryItemChangeTreeElement(other) && !isSCMHistoryItemChangeNode(other)) {
1028
- throw new Error('Invalid comparison');
1029
- }
1030
- const oneName = isSCMHistoryItemChangeNode(one) ? one.name : basename(one.uri);
1031
- const otherName = isSCMHistoryItemChangeNode(other) ? other.name : basename(other.uri);
1032
- return compareFileNames(oneName, otherName);
1033
- }
1034
- if (this.viewMode() === "list" ) {
1035
- if (this.viewSortKey() === "name" ) {
1036
- const oneName = basename(one.sourceUri);
1037
- const otherName = basename(other.sourceUri);
1038
- return compareFileNames(oneName, otherName);
1039
- }
1040
- if (this.viewSortKey() === "status" ) {
1041
- const oneTooltip = one.decorations.tooltip ?? '';
1042
- const otherTooltip = other.decorations.tooltip ?? '';
1043
- if (oneTooltip !== otherTooltip) {
1044
- return compare(oneTooltip, otherTooltip);
1045
- }
1046
- }
1047
- const onePath = one.sourceUri.fsPath;
1048
- const otherPath = other.sourceUri.fsPath;
1049
- return comparePaths(onePath, otherPath);
1050
- }
1051
- const oneIsDirectory = ResourceTree.isResourceNode(one);
1052
- const otherIsDirectory = ResourceTree.isResourceNode(other);
1053
- if (oneIsDirectory !== otherIsDirectory) {
1054
- return oneIsDirectory ? -1 : 1;
1055
- }
1056
- const oneName = ResourceTree.isResourceNode(one) ? one.name : basename(one.sourceUri);
1057
- const otherName = ResourceTree.isResourceNode(other) ? other.name : basename(other.sourceUri);
1058
- return compareFileNames(oneName, otherName);
1059
- }
1060
- }
1061
- let SCMTreeKeyboardNavigationLabelProvider = class SCMTreeKeyboardNavigationLabelProvider {
1062
- constructor(viewMode, labelService) {
1063
- this.viewMode = viewMode;
1064
- this.labelService = labelService;
1065
- }
1066
- getKeyboardNavigationLabel(element) {
1067
- if (ResourceTree.isResourceNode(element)) {
1068
- return element.name;
1069
- }
1070
- else if (isSCMRepository(element) || isSCMInput(element) || isSCMActionButton(element)) {
1071
- return undefined;
1072
- }
1073
- else if (isSCMResourceGroup(element)) {
1074
- return element.label;
1075
- }
1076
- else if (isSCMHistoryItemGroupTreeElement(element)) {
1077
- return element.label;
1078
- }
1079
- else if (isSCMHistoryItemTreeElement(element)) {
1080
- return element.label;
1081
- }
1082
- else if (isSCMViewSeparator(element)) {
1083
- return element.label;
1084
- }
1085
- else {
1086
- if (this.viewMode() === "list" ) {
1087
- const uri = isSCMResource(element) ? element.sourceUri : element.uri;
1088
- return [basename(uri), this.labelService.getUriLabel(uri, { relative: true })];
1089
- }
1090
- else {
1091
- return basename(isSCMResource(element) ? element.sourceUri : element.uri);
1092
- }
1093
- }
1094
- }
1095
- getCompressedNodeKeyboardNavigationLabel(elements) {
1096
- const folders = elements;
1097
- return ( folders.map(e => e.name)).join('/');
1098
- }
1099
- };
1100
- SCMTreeKeyboardNavigationLabelProvider = ( __decorate([
1101
- ( __param(1, ILabelService))
1102
- ], SCMTreeKeyboardNavigationLabelProvider));
1103
- function getSCMResourceId(element) {
1104
- if (isSCMRepository(element)) {
1105
- const provider = element.provider;
1106
- return `repo:${provider.id}`;
1107
- }
1108
- else if (isSCMInput(element)) {
1109
- const provider = element.repository.provider;
1110
- return `input:${provider.id}`;
1111
- }
1112
- else if (isSCMActionButton(element)) {
1113
- const provider = element.repository.provider;
1114
- return `actionButton:${provider.id}`;
1115
- }
1116
- else if (isSCMResourceGroup(element)) {
1117
- const provider = element.provider;
1118
- return `resourceGroup:${provider.id}/${element.id}`;
1119
- }
1120
- else if (isSCMResource(element)) {
1121
- const group = element.resourceGroup;
1122
- const provider = group.provider;
1123
- return `resource:${provider.id}/${group.id}/${( element.sourceUri.toString())}`;
1124
- }
1125
- else if (isSCMResourceNode(element)) {
1126
- const group = element.context;
1127
- return `folder:${group.provider.id}/${group.id}/$FOLDER/${( element.uri.toString())}`;
1128
- }
1129
- else if (isSCMHistoryItemGroupTreeElement(element)) {
1130
- const provider = element.repository.provider;
1131
- return `historyItemGroup:${provider.id}/${element.id}`;
1132
- }
1133
- else if (isSCMHistoryItemTreeElement(element)) {
1134
- const historyItemGroup = element.historyItemGroup;
1135
- const provider = historyItemGroup.repository.provider;
1136
- return `historyItem:${provider.id}/${historyItemGroup.id}/${element.id}/${element.parentIds.join(',')}`;
1137
- }
1138
- else if (isSCMHistoryItemChangeTreeElement(element)) {
1139
- const historyItem = element.historyItem;
1140
- const historyItemGroup = historyItem.historyItemGroup;
1141
- const provider = historyItemGroup.repository.provider;
1142
- return `historyItemChange:${provider.id}/${historyItemGroup.id}/${historyItem.id}/${( element.uri.toString())}`;
1143
- }
1144
- else if (isSCMHistoryItemChangeNode(element)) {
1145
- const historyItem = element.context;
1146
- const historyItemGroup = historyItem.historyItemGroup;
1147
- const provider = historyItemGroup.repository.provider;
1148
- return `folder:${provider.id}/${historyItemGroup.id}/${historyItem.id}/$FOLDER/${( element.uri.toString())}`;
1149
- }
1150
- else if (isSCMViewSeparator(element)) {
1151
- const provider = element.repository.provider;
1152
- return `separator:${provider.id}`;
1153
- }
1154
- else {
1155
- throw new Error('Invalid tree element');
1156
- }
1157
- }
1158
- class SCMResourceIdentityProvider {
1159
- getId(element) {
1160
- return getSCMResourceId(element);
1161
- }
1162
- }
1163
- let SCMAccessibilityProvider = class SCMAccessibilityProvider {
1164
- constructor(labelService) {
1165
- this.labelService = labelService;
1166
- }
1167
- getWidgetAriaLabel() {
1168
- return ( localizeWithPath(
1169
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1170
- 'scm',
1171
- "Source Control Management"
1172
- ));
1173
- }
1174
- getAriaLabel(element) {
1175
- if (ResourceTree.isResourceNode(element)) {
1176
- return this.labelService.getUriLabel(element.uri, { relative: true, noPrefix: true }) || element.name;
1177
- }
1178
- else if (isSCMRepository(element)) {
1179
- return `${element.provider.name} ${element.provider.label}`;
1180
- }
1181
- else if (isSCMInput(element)) {
1182
- return ( localizeWithPath(
1183
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1184
- 'input',
1185
- "Source Control Input"
1186
- ));
1187
- }
1188
- else if (isSCMActionButton(element)) {
1189
- return element.button?.command.title ?? '';
1190
- }
1191
- else if (isSCMResourceGroup(element)) {
1192
- return element.label;
1193
- }
1194
- else if (isSCMHistoryItemGroupTreeElement(element)) {
1195
- return element.ariaLabel ?? `${element.label.trim()}${element.description ? `, ${element.description}` : ''}`;
1196
- }
1197
- else if (isSCMHistoryItemTreeElement(element)) {
1198
- return `${stripIcons(element.label).trim()}${element.description ? `, ${element.description}` : ''}`;
1199
- }
1200
- else if (isSCMHistoryItemChangeTreeElement(element)) {
1201
- const result = [basename(element.uri)];
1202
- const path = this.labelService.getUriLabel(dirname(element.uri), { relative: true, noPrefix: true });
1203
- if (path) {
1204
- result.push(path);
1205
- }
1206
- return result.join(', ');
1207
- }
1208
- else if (isSCMViewSeparator(element)) {
1209
- return element.ariaLabel ?? element.label;
1210
- }
1211
- else {
1212
- const result = [];
1213
- result.push(basename(element.sourceUri));
1214
- if (element.decorations.tooltip) {
1215
- result.push(element.decorations.tooltip);
1216
- }
1217
- const path = this.labelService.getUriLabel(dirname(element.sourceUri), { relative: true, noPrefix: true });
1218
- if (path) {
1219
- result.push(path);
1220
- }
1221
- return result.join(', ');
1222
- }
1223
- }
1224
- };
1225
- SCMAccessibilityProvider = ( __decorate([
1226
- ( __param(0, ILabelService))
1227
- ], SCMAccessibilityProvider));
1228
- const Menus = {
1229
- ViewSort: ( new MenuId('SCMViewSort')),
1230
- Repositories: ( new MenuId('SCMRepositories')),
1231
- ChangesSettings: ( new MenuId('SCMChangesSettings')),
1232
- };
1233
- const ContextKeys = {
1234
- SCMViewMode: ( new RawContextKey('scmViewMode', "list" )),
1235
- SCMViewSortKey: ( new RawContextKey('scmViewSortKey', "path" )),
1236
- SCMViewAreAllRepositoriesCollapsed: ( new RawContextKey('scmViewAreAllRepositoriesCollapsed', false)),
1237
- SCMViewIsAnyRepositoryCollapsible: ( new RawContextKey('scmViewIsAnyRepositoryCollapsible', false)),
1238
- SCMProvider: ( new RawContextKey('scmProvider', undefined)),
1239
- SCMProviderRootUri: ( new RawContextKey('scmProviderRootUri', undefined)),
1240
- SCMProviderHasRootUri: ( new RawContextKey('scmProviderHasRootUri', undefined)),
1241
- RepositoryCount: ( new RawContextKey('scmRepositoryCount', 0)),
1242
- RepositoryVisibilityCount: ( new RawContextKey('scmRepositoryVisibleCount', 0)),
1243
- RepositoryVisibility(repository) {
1244
- return ( new RawContextKey(`scmRepositoryVisible:${repository.provider.id}`, false));
1245
- }
1246
- };
1247
- MenuRegistry.appendMenuItem(MenuId.SCMTitle, {
1248
- title: ( localizeWithPath(
1249
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1250
- 'sortAction',
1251
- "View & Sort"
1252
- )),
1253
- submenu: Menus.ViewSort,
1254
- when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', VIEW_PANE_ID)), ( ContextKeys.RepositoryCount.notEqualsTo(0)))),
1255
- group: '0_view&sort',
1256
- order: 1
1257
- });
1258
- MenuRegistry.appendMenuItem(MenuId.SCMTitle, {
1259
- title: ( localizeWithPath(
1260
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1261
- 'scmChanges',
1262
- "Incoming & Outgoing"
1263
- )),
1264
- submenu: Menus.ChangesSettings,
1265
- when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', VIEW_PANE_ID)), ( ContextKeys.RepositoryCount.notEqualsTo(0)))),
1266
- group: '0_view&sort',
1267
- order: 2
1268
- });
1269
- MenuRegistry.appendMenuItem(Menus.ViewSort, {
1270
- title: ( localizeWithPath(
1271
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1272
- 'repositories',
1273
- "Repositories"
1274
- )),
1275
- submenu: Menus.Repositories,
1276
- when: ContextKeyExpr.greater(ContextKeys.RepositoryCount.key, 1),
1277
- group: '0_repositories'
1278
- });
1279
- class SCMChangesSettingAction extends Action2 {
1280
- constructor(settingKey, settingValue, desc) {
1281
- super({
1282
- ...desc,
1283
- f1: false,
1284
- toggled: ( ContextKeyExpr.equals(`config.${settingKey}`, settingValue)),
1285
- });
1286
- this.settingKey = settingKey;
1287
- this.settingValue = settingValue;
1288
- }
1289
- run(accessor) {
1290
- const configurationService = accessor.get(IConfigurationService);
1291
- configurationService.updateValue(this.settingKey, this.settingValue);
1292
- }
1293
- }
1294
- MenuRegistry.appendMenuItem(MenuId.SCMChangesSeparator, {
1295
- title: ( localizeWithPath(
1296
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1297
- 'incomingChanges',
1298
- "Show Incoming Changes"
1299
- )),
1300
- submenu: MenuId.SCMIncomingChangesSetting,
1301
- group: '1_incoming&outgoing',
1302
- order: 1
1303
- });
1304
- MenuRegistry.appendMenuItem(Menus.ChangesSettings, {
1305
- title: ( localizeWithPath(
1306
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1307
- 'incomingChanges',
1308
- "Show Incoming Changes"
1309
- )),
1310
- submenu: MenuId.SCMIncomingChangesSetting,
1311
- group: '1_incoming&outgoing',
1312
- order: 1
1313
- });
1314
- registerAction2(class extends SCMChangesSettingAction {
1315
- constructor() {
1316
- super('scm.showIncomingChanges', 'always', {
1317
- id: 'workbench.scm.action.showIncomingChanges.always',
1318
- title: ( localizeWithPath('vs/workbench/contrib/scm/browser/scmViewPane', 'always', "Always")),
1319
- menu: { id: MenuId.SCMIncomingChangesSetting },
1320
- });
1321
- }
1322
- });
1323
- registerAction2(class extends SCMChangesSettingAction {
1324
- constructor() {
1325
- super('scm.showIncomingChanges', 'auto', {
1326
- id: 'workbench.scm.action.showIncomingChanges.auto',
1327
- title: ( localizeWithPath('vs/workbench/contrib/scm/browser/scmViewPane', 'auto', "Auto")),
1328
- menu: {
1329
- id: MenuId.SCMIncomingChangesSetting,
1330
- }
1331
- });
1332
- }
1333
- });
1334
- registerAction2(class extends SCMChangesSettingAction {
1335
- constructor() {
1336
- super('scm.showIncomingChanges', 'never', {
1337
- id: 'workbench.scm.action.showIncomingChanges.never',
1338
- title: ( localizeWithPath('vs/workbench/contrib/scm/browser/scmViewPane', 'never', "Never")),
1339
- menu: {
1340
- id: MenuId.SCMIncomingChangesSetting,
1341
- }
1342
- });
1343
- }
1344
- });
1345
- MenuRegistry.appendMenuItem(MenuId.SCMChangesSeparator, {
1346
- title: ( localizeWithPath(
1347
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1348
- 'outgoingChanges',
1349
- "Show Outgoing Changes"
1350
- )),
1351
- submenu: MenuId.SCMOutgoingChangesSetting,
1352
- group: '1_incoming&outgoing',
1353
- order: 2
1354
- });
1355
- MenuRegistry.appendMenuItem(Menus.ChangesSettings, {
1356
- title: ( localizeWithPath(
1357
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1358
- 'outgoingChanges',
1359
- "Show Outgoing Changes"
1360
- )),
1361
- submenu: MenuId.SCMOutgoingChangesSetting,
1362
- group: '1_incoming&outgoing',
1363
- order: 2
1364
- });
1365
- registerAction2(class extends SCMChangesSettingAction {
1366
- constructor() {
1367
- super('scm.showOutgoingChanges', 'always', {
1368
- id: 'workbench.scm.action.showOutgoingChanges.always',
1369
- title: ( localizeWithPath('vs/workbench/contrib/scm/browser/scmViewPane', 'always', "Always")),
1370
- menu: {
1371
- id: MenuId.SCMOutgoingChangesSetting,
1372
- }
1373
- });
1374
- }
1375
- });
1376
- registerAction2(class extends SCMChangesSettingAction {
1377
- constructor() {
1378
- super('scm.showOutgoingChanges', 'auto', {
1379
- id: 'workbench.scm.action.showOutgoingChanges.auto',
1380
- title: ( localizeWithPath('vs/workbench/contrib/scm/browser/scmViewPane', 'auto', "Auto")),
1381
- menu: {
1382
- id: MenuId.SCMOutgoingChangesSetting,
1383
- }
1384
- });
1385
- }
1386
- });
1387
- registerAction2(class extends SCMChangesSettingAction {
1388
- constructor() {
1389
- super('scm.showOutgoingChanges', 'never', {
1390
- id: 'workbench.scm.action.showOutgoingChanges.never',
1391
- title: ( localizeWithPath('vs/workbench/contrib/scm/browser/scmViewPane', 'never', "Never")),
1392
- menu: {
1393
- id: MenuId.SCMOutgoingChangesSetting,
1394
- }
1395
- });
1396
- }
1397
- });
1398
- registerAction2(class extends Action2 {
1399
- constructor() {
1400
- super({
1401
- id: 'workbench.scm.action.scm.showChangesSummary',
1402
- title: ( localizeWithPath(
1403
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1404
- 'showChangesSummary',
1405
- "Show Changes Summary"
1406
- )),
1407
- f1: false,
1408
- toggled: ( ContextKeyExpr.equals('config.scm.showChangesSummary', true)),
1409
- menu: [
1410
- { id: MenuId.SCMChangesSeparator, order: 3 },
1411
- { id: Menus.ChangesSettings, order: 3 },
1412
- ]
1413
- });
1414
- }
1415
- run(accessor) {
1416
- const configurationService = accessor.get(IConfigurationService);
1417
- const configValue = configurationService.getValue('scm.showChangesSummary') === true;
1418
- configurationService.updateValue('scm.showChangesSummary', !configValue);
1419
- }
1420
- });
1421
- class RepositoryVisibilityAction extends Action2 {
1422
- constructor(repository) {
1423
- super({
1424
- id: `workbench.scm.action.toggleRepositoryVisibility.${repository.provider.id}`,
1425
- title: repository.provider.name,
1426
- f1: false,
1427
- precondition: ( ContextKeyExpr.or(( ContextKeys.RepositoryVisibilityCount.notEqualsTo(1)), ( ContextKeys.RepositoryVisibility(repository).isEqualTo(false)))),
1428
- toggled: ( ContextKeys.RepositoryVisibility(repository).isEqualTo(true)),
1429
- menu: { id: Menus.Repositories, group: '0_repositories' }
1430
- });
1431
- this.repository = repository;
1432
- }
1433
- run(accessor) {
1434
- const scmViewService = accessor.get(ISCMViewService);
1435
- scmViewService.toggleVisibility(this.repository);
1436
- }
1437
- }
1438
- let RepositoryVisibilityActionController = class RepositoryVisibilityActionController {
1439
- constructor(contextKeyService, scmViewService, scmService) {
1440
- this.contextKeyService = contextKeyService;
1441
- this.scmViewService = scmViewService;
1442
- this.items = ( new Map());
1443
- this.disposables = ( new DisposableStore());
1444
- this.repositoryCountContextKey = ContextKeys.RepositoryCount.bindTo(contextKeyService);
1445
- this.repositoryVisibilityCountContextKey = ContextKeys.RepositoryVisibilityCount.bindTo(contextKeyService);
1446
- scmViewService.onDidChangeVisibleRepositories(this.onDidChangeVisibleRepositories, this, this.disposables);
1447
- scmService.onDidAddRepository(this.onDidAddRepository, this, this.disposables);
1448
- scmService.onDidRemoveRepository(this.onDidRemoveRepository, this, this.disposables);
1449
- for (const repository of scmService.repositories) {
1450
- this.onDidAddRepository(repository);
1451
- }
1452
- }
1453
- onDidAddRepository(repository) {
1454
- const action = registerAction2(class extends RepositoryVisibilityAction {
1455
- constructor() {
1456
- super(repository);
1457
- }
1458
- });
1459
- const contextKey = ContextKeys.RepositoryVisibility(repository).bindTo(this.contextKeyService);
1460
- contextKey.set(this.scmViewService.isVisible(repository));
1461
- this.items.set(repository, {
1462
- contextKey,
1463
- dispose() {
1464
- contextKey.reset();
1465
- action.dispose();
1466
- }
1467
- });
1468
- this.updateRepositoryContextKeys();
1469
- }
1470
- onDidRemoveRepository(repository) {
1471
- this.items.get(repository)?.dispose();
1472
- this.items.delete(repository);
1473
- this.updateRepositoryContextKeys();
1474
- }
1475
- onDidChangeVisibleRepositories() {
1476
- let count = 0;
1477
- for (const [repository, item] of this.items) {
1478
- const isVisible = this.scmViewService.isVisible(repository);
1479
- item.contextKey.set(isVisible);
1480
- if (isVisible) {
1481
- count++;
1482
- }
1483
- }
1484
- this.repositoryCountContextKey.set(this.items.size);
1485
- this.repositoryVisibilityCountContextKey.set(count);
1486
- }
1487
- updateRepositoryContextKeys() {
1488
- this.repositoryCountContextKey.set(this.items.size);
1489
- this.repositoryVisibilityCountContextKey.set(Iterable.reduce(( this.items.keys()), (r, repository) => r + (this.scmViewService.isVisible(repository) ? 1 : 0), 0));
1490
- }
1491
- dispose() {
1492
- this.disposables.dispose();
1493
- dispose(( this.items.values()));
1494
- this.items.clear();
1495
- }
1496
- };
1497
- RepositoryVisibilityActionController = ( __decorate([
1498
- ( __param(0, IContextKeyService)),
1499
- ( __param(1, ISCMViewService)),
1500
- ( __param(2, ISCMService))
1501
- ], RepositoryVisibilityActionController));
1502
- class SetListViewModeAction extends ViewAction {
1503
- constructor(id = 'workbench.scm.action.setListViewMode', menu = {}) {
1504
- super({
1505
- id,
1506
- title: ( localizeWithPath(
1507
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1508
- 'setListViewMode',
1509
- "View as List"
1510
- )),
1511
- viewId: VIEW_PANE_ID,
1512
- f1: false,
1513
- icon: Codicon.listTree,
1514
- toggled: ( ContextKeys.SCMViewMode.isEqualTo("list" )),
1515
- menu: { id: Menus.ViewSort, group: '1_viewmode', ...menu }
1516
- });
1517
- }
1518
- async runInView(_, view) {
1519
- view.viewMode = "list" ;
1520
- }
1521
- }
1522
- class SetListViewModeNavigationAction extends SetListViewModeAction {
1523
- constructor() {
1524
- super('workbench.scm.action.setListViewModeNavigation', {
1525
- id: MenuId.SCMTitle,
1526
- when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', VIEW_PANE_ID)), ( ContextKeys.RepositoryCount.notEqualsTo(0)), ( ContextKeys.SCMViewMode.isEqualTo("tree" )))),
1527
- group: 'navigation',
1528
- order: -1000
1529
- });
1530
- }
1531
- }
1532
- class SetTreeViewModeAction extends ViewAction {
1533
- constructor(id = 'workbench.scm.action.setTreeViewMode', menu = {}) {
1534
- super({
1535
- id,
1536
- title: ( localizeWithPath(
1537
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1538
- 'setTreeViewMode',
1539
- "View as Tree"
1540
- )),
1541
- viewId: VIEW_PANE_ID,
1542
- f1: false,
1543
- icon: Codicon.listFlat,
1544
- toggled: ( ContextKeys.SCMViewMode.isEqualTo("tree" )),
1545
- menu: { id: Menus.ViewSort, group: '1_viewmode', ...menu }
1546
- });
1547
- }
1548
- async runInView(_, view) {
1549
- view.viewMode = "tree" ;
1550
- }
1551
- }
1552
- class SetTreeViewModeNavigationAction extends SetTreeViewModeAction {
1553
- constructor() {
1554
- super('workbench.scm.action.setTreeViewModeNavigation', {
1555
- id: MenuId.SCMTitle,
1556
- when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', VIEW_PANE_ID)), ( ContextKeys.RepositoryCount.notEqualsTo(0)), ( ContextKeys.SCMViewMode.isEqualTo("list" )))),
1557
- group: 'navigation',
1558
- order: -1000
1559
- });
1560
- }
1561
- }
1562
- registerAction2(SetListViewModeAction);
1563
- registerAction2(SetTreeViewModeAction);
1564
- registerAction2(SetListViewModeNavigationAction);
1565
- registerAction2(SetTreeViewModeNavigationAction);
1566
- class RepositorySortAction extends ViewAction {
1567
- constructor(sortKey, title) {
1568
- super({
1569
- id: `workbench.scm.action.repositories.setSortKey.${sortKey}`,
1570
- title,
1571
- viewId: VIEW_PANE_ID,
1572
- f1: false,
1573
- toggled: ( RepositoryContextKeys.RepositorySortKey.isEqualTo(sortKey)),
1574
- menu: [
1575
- {
1576
- id: Menus.Repositories,
1577
- group: '1_sort'
1578
- },
1579
- {
1580
- id: MenuId.SCMSourceControlTitle,
1581
- group: '1_sort',
1582
- },
1583
- ]
1584
- });
1585
- this.sortKey = sortKey;
1586
- }
1587
- runInView(accessor) {
1588
- accessor.get(ISCMViewService).toggleSortKey(this.sortKey);
1589
- }
1590
- }
1591
- class RepositorySortByDiscoveryTimeAction extends RepositorySortAction {
1592
- constructor() {
1593
- super("discoveryTime" , ( localizeWithPath(
1594
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1595
- 'repositorySortByDiscoveryTime',
1596
- "Sort by Discovery Time"
1597
- )));
1598
- }
1599
- }
1600
- class RepositorySortByNameAction extends RepositorySortAction {
1601
- constructor() {
1602
- super("name" , ( localizeWithPath(
1603
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1604
- 'repositorySortByName',
1605
- "Sort by Name"
1606
- )));
1607
- }
1608
- }
1609
- class RepositorySortByPathAction extends RepositorySortAction {
1610
- constructor() {
1611
- super("path" , ( localizeWithPath(
1612
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1613
- 'repositorySortByPath',
1614
- "Sort by Path"
1615
- )));
1616
- }
1617
- }
1618
- registerAction2(RepositorySortByDiscoveryTimeAction);
1619
- registerAction2(RepositorySortByNameAction);
1620
- registerAction2(RepositorySortByPathAction);
1621
- class SetSortKeyAction extends ViewAction {
1622
- constructor(sortKey, title) {
1623
- super({
1624
- id: `workbench.scm.action.setSortKey.${sortKey}`,
1625
- title,
1626
- viewId: VIEW_PANE_ID,
1627
- f1: false,
1628
- toggled: ( ContextKeys.SCMViewSortKey.isEqualTo(sortKey)),
1629
- precondition: ( ContextKeys.SCMViewMode.isEqualTo("list" )),
1630
- menu: { id: Menus.ViewSort, group: '2_sort' }
1631
- });
1632
- this.sortKey = sortKey;
1633
- }
1634
- async runInView(_, view) {
1635
- view.viewSortKey = this.sortKey;
1636
- }
1637
- }
1638
- class SetSortByNameAction extends SetSortKeyAction {
1639
- constructor() {
1640
- super("name" , ( localizeWithPath(
1641
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1642
- 'sortChangesByName',
1643
- "Sort Changes by Name"
1644
- )));
1645
- }
1646
- }
1647
- class SetSortByPathAction extends SetSortKeyAction {
1648
- constructor() {
1649
- super("path" , ( localizeWithPath(
1650
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1651
- 'sortChangesByPath',
1652
- "Sort Changes by Path"
1653
- )));
1654
- }
1655
- }
1656
- class SetSortByStatusAction extends SetSortKeyAction {
1657
- constructor() {
1658
- super("status" , ( localizeWithPath(
1659
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1660
- 'sortChangesByStatus',
1661
- "Sort Changes by Status"
1662
- )));
1663
- }
1664
- }
1665
- registerAction2(SetSortByNameAction);
1666
- registerAction2(SetSortByPathAction);
1667
- registerAction2(SetSortByStatusAction);
1668
- class CollapseAllRepositoriesAction extends ViewAction {
1669
- constructor() {
1670
- super({
1671
- id: `workbench.scm.action.collapseAllRepositories`,
1672
- title: ( localizeWithPath(
1673
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1674
- 'collapse all',
1675
- "Collapse All Repositories"
1676
- )),
1677
- viewId: VIEW_PANE_ID,
1678
- f1: false,
1679
- icon: Codicon.collapseAll,
1680
- menu: {
1681
- id: MenuId.SCMTitle,
1682
- group: 'navigation',
1683
- when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', VIEW_PANE_ID)), ( ContextKeys.SCMViewIsAnyRepositoryCollapsible.isEqualTo(true)), ( ContextKeys.SCMViewAreAllRepositoriesCollapsed.isEqualTo(false))))
1684
- }
1685
- });
1686
- }
1687
- async runInView(_, view) {
1688
- view.collapseAllRepositories();
1689
- }
1690
- }
1691
- class ExpandAllRepositoriesAction extends ViewAction {
1692
- constructor() {
1693
- super({
1694
- id: `workbench.scm.action.expandAllRepositories`,
1695
- title: ( localizeWithPath(
1696
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1697
- 'expand all',
1698
- "Expand All Repositories"
1699
- )),
1700
- viewId: VIEW_PANE_ID,
1701
- f1: false,
1702
- icon: Codicon.expandAll,
1703
- menu: {
1704
- id: MenuId.SCMTitle,
1705
- group: 'navigation',
1706
- when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', VIEW_PANE_ID)), ( ContextKeys.SCMViewIsAnyRepositoryCollapsible.isEqualTo(true)), ( ContextKeys.SCMViewAreAllRepositoriesCollapsed.isEqualTo(true))))
1707
- }
1708
- });
1709
- }
1710
- async runInView(_, view) {
1711
- view.expandAllRepositories();
1712
- }
1713
- }
1714
- registerAction2(CollapseAllRepositoriesAction);
1715
- registerAction2(ExpandAllRepositoriesAction);
1716
- let SCMInputWidgetActionRunner = class SCMInputWidgetActionRunner extends ActionRunner {
1717
- get runningActions() { return this._runningActions; }
1718
- constructor(input, storageService) {
1719
- super();
1720
- this.input = input;
1721
- this.storageService = storageService;
1722
- this._runningActions = ( new Set());
1723
- }
1724
- async runAction(action) {
1725
- try {
1726
- if (this.runningActions.size !== 0) {
1727
- this._cts?.cancel();
1728
- if (action.id === "scm.input.cancelAction" ) {
1729
- return;
1730
- }
1731
- }
1732
- const context = [];
1733
- for (const group of this.input.repository.provider.groups) {
1734
- context.push({
1735
- resourceGroupId: group.id,
1736
- resources: [...( group.resources.map(r => r.sourceUri))]
1737
- });
1738
- }
1739
- this._runningActions.add(action);
1740
- this._cts = ( new CancellationTokenSource());
1741
- await action.run(...[this.input.repository.provider.rootUri, context, this._cts.token]);
1742
- }
1743
- finally {
1744
- this._runningActions.delete(action);
1745
- if (this._runningActions.size === 0) {
1746
- this.storageService.store("scm.input.lastActionId" , action.id, 0 , 0 );
1747
- }
1748
- }
1749
- }
1750
- };
1751
- SCMInputWidgetActionRunner = ( __decorate([
1752
- ( __param(1, IStorageService))
1753
- ], SCMInputWidgetActionRunner));
1754
- let SCMInputWidgetToolbar = class SCMInputWidgetToolbar extends WorkbenchToolBar {
1755
- get dropdownActions() { return this._dropdownActions; }
1756
- get dropdownAction() { return this._dropdownAction; }
1757
- constructor(container, options, menuService, contextKeyService, contextMenuService, commandService, keybindingService, storageService, telemetryService) {
1758
- super(container, { resetMenu: MenuId.SCMInputBox, ...options }, menuService, contextKeyService, contextMenuService, keybindingService, telemetryService);
1759
- this.menuService = menuService;
1760
- this.contextKeyService = contextKeyService;
1761
- this.storageService = storageService;
1762
- this._dropdownActions = [];
1763
- this._onDidChange = ( new Emitter());
1764
- this.onDidChange = this._onDidChange.event;
1765
- this.repositoryDisposables = ( new DisposableStore());
1766
- this._dropdownAction = ( new Action('scmInputMoreActions', ( localizeWithPath(
1767
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1768
- 'scmInputMoreActions',
1769
- "More Actions..."
1770
- )), 'codicon-chevron-down'));
1771
- this._cancelAction = ( new MenuItemAction({
1772
- id: "scm.input.cancelAction" ,
1773
- title: ( localizeWithPath(
1774
- 'vs/workbench/contrib/scm/browser/scmViewPane',
1775
- 'scmInputCancelAction',
1776
- "Cancel"
1777
- )),
1778
- icon: Codicon.debugStop,
1779
- }, undefined, undefined, undefined, contextKeyService, commandService));
1780
- }
1781
- setInput(input) {
1782
- this.repositoryDisposables.clear();
1783
- const contextKeyService = this.contextKeyService.createOverlay([
1784
- ['scmProvider', input.repository.provider.contextValue],
1785
- ['scmProviderRootUri', input.repository.provider.rootUri?.toString()],
1786
- ['scmProviderHasRootUri', !!input.repository.provider.rootUri]
1787
- ]);
1788
- const menu = this.repositoryDisposables.add(this.menuService.createMenu(MenuId.SCMInputBox, contextKeyService, { emitEventsForSubmenuChanges: true }));
1789
- const isEnabled = () => {
1790
- return ( input.repository.provider.groups.some(g => g.resources.length > 0));
1791
- };
1792
- const updateToolbar = () => {
1793
- const actions = [];
1794
- createAndFillInActionBarActions(menu, { shouldForwardArgs: true }, actions);
1795
- for (const action of actions) {
1796
- action.enabled = isEnabled();
1797
- }
1798
- this._dropdownAction.enabled = isEnabled();
1799
- let primaryAction = undefined;
1800
- if (actions.length === 1) {
1801
- primaryAction = actions[0];
1802
- }
1803
- else if (actions.length > 1) {
1804
- const lastActionId = this.storageService.get("scm.input.lastActionId" , 0 , '');
1805
- primaryAction = actions.find(a => a.id === lastActionId) ?? actions[0];
1806
- }
1807
- this._dropdownActions = actions.length === 1 ? [] : actions;
1808
- super.setActions(primaryAction ? [primaryAction] : [], []);
1809
- this._onDidChange.fire();
1810
- };
1811
- this.repositoryDisposables.add(menu.onDidChange(() => updateToolbar()));
1812
- this.repositoryDisposables.add(input.repository.provider.onDidChangeResources(() => updateToolbar()));
1813
- this.repositoryDisposables.add(this.storageService.onDidChangeValue(0 , "scm.input.lastActionId" , this.repositoryDisposables)(() => updateToolbar()));
1814
- this.actionRunner = ( new SCMInputWidgetActionRunner(input, this.storageService));
1815
- this.repositoryDisposables.add(this.actionRunner.onWillRun(e => {
1816
- if (this.actionRunner.runningActions.size === 0) {
1817
- super.setActions([this._cancelAction], []);
1818
- this._onDidChange.fire();
1819
- }
1820
- }));
1821
- this.repositoryDisposables.add(this.actionRunner.onDidRun(e => {
1822
- if (this.actionRunner.runningActions.size === 0) {
1823
- updateToolbar();
1824
- }
1825
- }));
1826
- updateToolbar();
1827
- }
1828
- };
1829
- SCMInputWidgetToolbar = ( __decorate([
1830
- ( __param(2, IMenuService)),
1831
- ( __param(3, IContextKeyService)),
1832
- ( __param(4, IContextMenuService)),
1833
- ( __param(5, ICommandService)),
1834
- ( __param(6, IKeybindingService)),
1835
- ( __param(7, IStorageService)),
1836
- ( __param(8, ITelemetryService))
1837
- ], SCMInputWidgetToolbar));
1838
- class SCMInputWidgetEditorOptions {
1839
- constructor(overflowWidgetsDomNode, configurationService) {
1840
- this.overflowWidgetsDomNode = overflowWidgetsDomNode;
1841
- this.configurationService = configurationService;
1842
- this._onDidChange = ( new Emitter());
1843
- this.onDidChange = this._onDidChange.event;
1844
- this.defaultInputFontFamily = DEFAULT_FONT_FAMILY;
1845
- this._disposables = ( new DisposableStore());
1846
- const onDidChangeConfiguration = Event.filter(this.configurationService.onDidChangeConfiguration, e => {
1847
- return e.affectsConfiguration('editor.accessibilitySupport') ||
1848
- e.affectsConfiguration('editor.cursorBlinking') ||
1849
- e.affectsConfiguration('editor.fontFamily') ||
1850
- e.affectsConfiguration('editor.rulers') ||
1851
- e.affectsConfiguration('editor.wordWrap') ||
1852
- e.affectsConfiguration('scm.inputFontFamily') ||
1853
- e.affectsConfiguration('scm.inputFontSize');
1854
- }, this._disposables);
1855
- this._disposables.add(onDidChangeConfiguration(() => this._onDidChange.fire()));
1856
- }
1857
- getEditorConstructionOptions() {
1858
- const fontFamily = this._getEditorFontFamily();
1859
- const fontSize = this._getEditorFontSize();
1860
- const lineHeight = this._getEditorLineHeight(fontSize);
1861
- return {
1862
- ...getSimpleEditorOptions(this.configurationService),
1863
- ...this._getEditorLanguageConfiguration(),
1864
- cursorWidth: 1,
1865
- dragAndDrop: true,
1866
- dropIntoEditor: { enabled: true },
1867
- fontFamily: fontFamily,
1868
- fontSize: fontSize,
1869
- formatOnType: true,
1870
- lineDecorationsWidth: 6,
1871
- lineHeight: lineHeight,
1872
- overflowWidgetsDomNode: this.overflowWidgetsDomNode,
1873
- padding: { top: 2, bottom: 2 },
1874
- quickSuggestions: false,
1875
- renderWhitespace: 'none',
1876
- scrollbar: {
1877
- alwaysConsumeMouseWheel: false,
1878
- vertical: 'hidden'
1879
- },
1880
- wrappingIndent: 'none',
1881
- wrappingStrategy: 'advanced',
1882
- };
1883
- }
1884
- getEditorOptions() {
1885
- const fontFamily = this._getEditorFontFamily();
1886
- const fontSize = this._getEditorFontSize();
1887
- const lineHeight = this._getEditorLineHeight(fontSize);
1888
- const accessibilitySupport = this.configurationService.getValue('editor.accessibilitySupport');
1889
- const cursorBlinking = this.configurationService.getValue('editor.cursorBlinking');
1890
- return { ...this._getEditorLanguageConfiguration(), accessibilitySupport, cursorBlinking, fontFamily, fontSize, lineHeight };
1891
- }
1892
- _getEditorFontFamily() {
1893
- const inputFontFamily = this.configurationService.getValue('scm.inputFontFamily').trim();
1894
- if (inputFontFamily.toLowerCase() === 'editor') {
1895
- return this.configurationService.getValue('editor.fontFamily').trim();
1896
- }
1897
- if (inputFontFamily.length !== 0 && inputFontFamily.toLowerCase() !== 'default') {
1898
- return inputFontFamily;
1899
- }
1900
- return this.defaultInputFontFamily;
1901
- }
1902
- _getEditorFontSize() {
1903
- return this.configurationService.getValue('scm.inputFontSize');
1904
- }
1905
- _getEditorLanguageConfiguration() {
1906
- const rulersConfig = this.configurationService.inspect('editor.rulers', { overrideIdentifier: 'scminput' });
1907
- const rulers = rulersConfig.overrideIdentifiers?.includes('scminput') ? EditorOptions.rulers.validate(rulersConfig.value) : [];
1908
- const wordWrapConfig = this.configurationService.inspect('editor.wordWrap', { overrideIdentifier: 'scminput' });
1909
- const wordWrap = wordWrapConfig.overrideIdentifiers?.includes('scminput') ? EditorOptions.wordWrap.validate(wordWrapConfig.value) : 'on';
1910
- return { rulers, wordWrap };
1911
- }
1912
- _getEditorLineHeight(fontSize) {
1913
- return Math.round(fontSize * 1.5);
1914
- }
1915
- dispose() {
1916
- this._disposables.dispose();
1917
- }
1918
- }
1919
- let SCMInputWidget = class SCMInputWidget {
1920
- static { SCMInputWidget_1 = this; }
1921
- static { this.ValidationTimeouts = {
1922
- [2 ]: 5000,
1923
- [1 ]: 8000,
1924
- [0 ]: 10000
1925
- }; }
1926
- get input() {
1927
- return this.model?.input;
1928
- }
1929
- async setInput(input) {
1930
- if (input === this.input) {
1931
- return;
1932
- }
1933
- this.clearValidation();
1934
- this.element.classList.remove('synthetic-focus');
1935
- this.repositoryDisposables.clear();
1936
- this.repositoryIdContextKey.set(input?.repository.id);
1937
- if (!input) {
1938
- this.model?.textModelRef?.dispose();
1939
- this.inputEditor.setModel(undefined);
1940
- this.model = undefined;
1941
- return;
1942
- }
1943
- const uri = input.repository.provider.inputBoxDocumentUri;
1944
- if (this.configurationService.getValue('editor.wordBasedSuggestions', { resource: uri }) !== 'off') {
1945
- this.configurationService.updateValue('editor.wordBasedSuggestions', 'off', { resource: uri }, 8 );
1946
- }
1947
- const modelValue = { input, textModelRef: undefined };
1948
- this.model = modelValue;
1949
- const modelRef = await this.textModelService.createModelReference(uri);
1950
- if (this.model !== modelValue) {
1951
- modelRef.dispose();
1952
- return;
1953
- }
1954
- modelValue.textModelRef = modelRef;
1955
- const textModel = modelRef.object.textEditorModel;
1956
- this.inputEditor.setModel(textModel);
1957
- const validationDelayer = ( new ThrottledDelayer(200));
1958
- const validate = async () => {
1959
- const position = this.inputEditor.getSelection()?.getStartPosition();
1960
- const offset = position && textModel.getOffsetAt(position);
1961
- const value = textModel.getValue();
1962
- this.setValidation(await input.validateInput(value, offset || 0));
1963
- };
1964
- const triggerValidation = () => validationDelayer.trigger(validate);
1965
- this.repositoryDisposables.add(validationDelayer);
1966
- this.repositoryDisposables.add(this.inputEditor.onDidChangeCursorPosition(triggerValidation));
1967
- const opts = this.modelService.getCreationOptions(textModel.getLanguageId(), textModel.uri, textModel.isForSimpleWidget);
1968
- const onEnter = Event.filter(this.inputEditor.onKeyDown, e => e.keyCode === 3 , this.repositoryDisposables);
1969
- this.repositoryDisposables.add(onEnter(() => textModel.detectIndentation(opts.insertSpaces, opts.tabSize)));
1970
- textModel.setValue(input.value);
1971
- this.repositoryDisposables.add(input.onDidChange(({ value, reason }) => {
1972
- const currentValue = textModel.getValue();
1973
- if (value === currentValue) {
1974
- return;
1975
- }
1976
- textModel.pushStackElement();
1977
- textModel.pushEditOperations(null, [EditOperation.replaceMove(textModel.getFullModelRange(), value)], () => []);
1978
- const position = reason === SCMInputChangeReason.HistoryPrevious
1979
- ? textModel.getFullModelRange().getStartPosition()
1980
- : textModel.getFullModelRange().getEndPosition();
1981
- this.inputEditor.setPosition(position);
1982
- this.inputEditor.revealPositionInCenterIfOutsideViewport(position);
1983
- }));
1984
- this.repositoryDisposables.add(input.onDidChangeFocus(() => this.focus()));
1985
- this.repositoryDisposables.add(input.onDidChangeValidationMessage((e) => this.setValidation(e, { focus: true, timeout: true })));
1986
- this.repositoryDisposables.add(input.onDidChangeValidateInput((e) => triggerValidation()));
1987
- const updatePlaceholderVisibility = () => this.placeholderTextContainer.classList.toggle('hidden', textModel.getValueLength() > 0);
1988
- this.repositoryDisposables.add(textModel.onDidChangeContent(() => {
1989
- input.setValue(textModel.getValue(), true);
1990
- updatePlaceholderVisibility();
1991
- triggerValidation();
1992
- }));
1993
- updatePlaceholderVisibility();
1994
- const updatePlaceholderText = () => {
1995
- const binding = this.keybindingService.lookupKeybinding('scm.acceptInput');
1996
- const label = binding ? binding.getLabel() : (isMacintosh ? 'Cmd+Enter' : 'Ctrl+Enter');
1997
- const placeholderText = format(input.placeholder, label);
1998
- this.inputEditor.updateOptions({ ariaLabel: placeholderText });
1999
- this.placeholderTextContainer.textContent = placeholderText;
2000
- };
2001
- this.repositoryDisposables.add(input.onDidChangePlaceholder(updatePlaceholderText));
2002
- this.repositoryDisposables.add(this.keybindingService.onDidUpdateKeybindings(updatePlaceholderText));
2003
- updatePlaceholderText();
2004
- let commitTemplate = '';
2005
- const updateTemplate = () => {
2006
- if (typeof input.repository.provider.commitTemplate === 'undefined' || !input.visible) {
2007
- return;
2008
- }
2009
- const oldCommitTemplate = commitTemplate;
2010
- commitTemplate = input.repository.provider.commitTemplate;
2011
- const value = textModel.getValue();
2012
- if (value && value !== oldCommitTemplate) {
2013
- return;
2014
- }
2015
- textModel.setValue(commitTemplate);
2016
- };
2017
- this.repositoryDisposables.add(input.repository.provider.onDidChangeCommitTemplate(updateTemplate, this));
2018
- updateTemplate();
2019
- const updateEnablement = (enabled) => {
2020
- this.inputEditor.updateOptions({ readOnly: !enabled });
2021
- };
2022
- this.repositoryDisposables.add(input.onDidChangeEnablement(enabled => updateEnablement(enabled)));
2023
- updateEnablement(input.enabled);
2024
- this.toolbar.setInput(input);
2025
- }
2026
- get selections() {
2027
- return this.inputEditor.getSelections();
2028
- }
2029
- set selections(selections) {
2030
- if (selections) {
2031
- this.inputEditor.setSelections(selections);
2032
- }
2033
- }
2034
- setValidation(validation, options) {
2035
- if (this._validationTimer) {
2036
- clearTimeout(this._validationTimer);
2037
- this._validationTimer = 0;
2038
- }
2039
- this.validation = validation;
2040
- this.renderValidation();
2041
- if (options?.focus && !this.hasFocus()) {
2042
- this.focus();
2043
- }
2044
- if (validation && options?.timeout) {
2045
- this._validationTimer = setTimeout(() => this.setValidation(undefined), SCMInputWidget_1.ValidationTimeouts[validation.type]);
2046
- }
2047
- }
2048
- constructor(container, overflowWidgetsDomNode, contextKeyService, modelService, textModelService, keybindingService, configurationService, instantiationService, scmViewService, contextViewService, openerService, contextMenuService) {
2049
- this.modelService = modelService;
2050
- this.textModelService = textModelService;
2051
- this.keybindingService = keybindingService;
2052
- this.configurationService = configurationService;
2053
- this.instantiationService = instantiationService;
2054
- this.scmViewService = scmViewService;
2055
- this.contextViewService = contextViewService;
2056
- this.openerService = openerService;
2057
- this.contextMenuService = contextMenuService;
2058
- this.disposables = ( new DisposableStore());
2059
- this.repositoryDisposables = ( new DisposableStore());
2060
- this.validationDisposable = Disposable.None;
2061
- this.validationHasFocus = false;
2062
- this.lastLayoutWasTrash = false;
2063
- this.shouldFocusAfterLayout = false;
2064
- this.element = append(container, $('.scm-editor'));
2065
- this.editorContainer = append(this.element, $('.scm-editor-container'));
2066
- this.placeholderTextContainer = append(this.editorContainer, $('.scm-editor-placeholder'));
2067
- this.toolbarContainer = append(this.element, $('.scm-editor-toolbar'));
2068
- this.contextKeyService = contextKeyService.createScoped(this.element);
2069
- this.repositoryIdContextKey = this.contextKeyService.createKey('scmRepository', undefined);
2070
- this.inputEditorOptions = ( new SCMInputWidgetEditorOptions(overflowWidgetsDomNode, this.configurationService));
2071
- this.disposables.add(this.inputEditorOptions.onDidChange(this.onDidChangeEditorOptions, this));
2072
- this.disposables.add(this.inputEditorOptions);
2073
- const editorConstructionOptions = this.inputEditorOptions.getEditorConstructionOptions();
2074
- this.setPlaceholderFontStyles(editorConstructionOptions.fontFamily, editorConstructionOptions.fontSize, editorConstructionOptions.lineHeight);
2075
- const codeEditorWidgetOptions = {
2076
- isSimpleWidget: true,
2077
- contributions: EditorExtensionsRegistry.getSomeEditorContributions([
2078
- ColorDetector.ID,
2079
- ContextMenuController.ID,
2080
- DragAndDropController.ID,
2081
- DropIntoEditorController.ID,
2082
- LinkDetector.ID,
2083
- MenuPreventer.ID,
2084
- MessageController.ID,
2085
- HoverController.ID,
2086
- SelectionClipboardContributionID,
2087
- SnippetController2.ID,
2088
- SuggestController.ID,
2089
- InlineCompletionsController.ID,
2090
- CodeActionController.ID,
2091
- FormatOnType.ID,
2092
- EditorDictation.ID
2093
- ])
2094
- };
2095
- const services = ( new ServiceCollection([IContextKeyService, this.contextKeyService]));
2096
- const instantiationService2 = instantiationService.createChild(services);
2097
- this.inputEditor = instantiationService2.createInstance(CodeEditorWidget, this.editorContainer, editorConstructionOptions, codeEditorWidgetOptions);
2098
- this.disposables.add(this.inputEditor);
2099
- this.disposables.add(this.inputEditor.onDidFocusEditorText(() => {
2100
- if (this.input?.repository) {
2101
- this.scmViewService.focus(this.input.repository);
2102
- }
2103
- this.element.classList.add('synthetic-focus');
2104
- this.renderValidation();
2105
- }));
2106
- this.disposables.add(this.inputEditor.onDidBlurEditorText(() => {
2107
- this.element.classList.remove('synthetic-focus');
2108
- setTimeout(() => {
2109
- if (!this.validation || !this.validationHasFocus) {
2110
- this.clearValidation();
2111
- }
2112
- }, 0);
2113
- }));
2114
- const firstLineKey = this.contextKeyService.createKey('scmInputIsInFirstPosition', false);
2115
- const lastLineKey = this.contextKeyService.createKey('scmInputIsInLastPosition', false);
2116
- this.disposables.add(this.inputEditor.onDidChangeCursorPosition(({ position }) => {
2117
- const viewModel = this.inputEditor._getViewModel();
2118
- const lastLineNumber = viewModel.getLineCount();
2119
- const lastLineCol = viewModel.getLineLength(lastLineNumber) + 1;
2120
- const viewPosition = viewModel.coordinatesConverter.convertModelPositionToViewPosition(position);
2121
- firstLineKey.set(viewPosition.lineNumber === 1 && viewPosition.column === 1);
2122
- lastLineKey.set(viewPosition.lineNumber === lastLineNumber && viewPosition.column === lastLineCol);
2123
- }));
2124
- this.disposables.add(this.inputEditor.onDidScrollChange(e => {
2125
- this.toolbarContainer.classList.toggle('scroll-decoration', e.scrollTop > 0);
2126
- }));
2127
- Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.showInputActionButton'))(() => this.layout(), this, this.disposables);
2128
- this.onDidChangeContentHeight = Event.signal(Event.filter(this.inputEditor.onDidContentSizeChange, e => e.contentHeightChanged, this.disposables));
2129
- this.toolbar = instantiationService2.createInstance(SCMInputWidgetToolbar, this.toolbarContainer, {
2130
- actionViewItemProvider: (action, options) => {
2131
- if (action instanceof MenuItemAction && this.toolbar.dropdownActions.length > 1) {
2132
- return instantiationService.createInstance(DropdownWithPrimaryActionViewItem, action, this.toolbar.dropdownAction, this.toolbar.dropdownActions, '', this.contextMenuService, { actionRunner: this.toolbar.actionRunner, hoverDelegate: options.hoverDelegate });
2133
- }
2134
- return createActionViewItem(instantiationService, action, options);
2135
- },
2136
- menuOptions: {
2137
- shouldForwardArgs: true
2138
- }
2139
- });
2140
- this.disposables.add(this.toolbar.onDidChange(() => this.layout()));
2141
- this.disposables.add(this.toolbar);
2142
- }
2143
- getContentHeight() {
2144
- const lineHeight = this.inputEditor.getOption(67 );
2145
- const { top, bottom } = this.inputEditor.getOption(84 );
2146
- const inputMinLinesConfig = this.configurationService.getValue('scm.inputMinLineCount');
2147
- const inputMinLines = typeof inputMinLinesConfig === 'number' ? clamp(inputMinLinesConfig, 1, 50) : 1;
2148
- const editorMinHeight = inputMinLines * lineHeight + top + bottom;
2149
- const inputMaxLinesConfig = this.configurationService.getValue('scm.inputMaxLineCount');
2150
- const inputMaxLines = typeof inputMaxLinesConfig === 'number' ? clamp(inputMaxLinesConfig, 1, 50) : 10;
2151
- const editorMaxHeight = inputMaxLines * lineHeight + top + bottom;
2152
- return clamp(this.inputEditor.getContentHeight(), editorMinHeight, editorMaxHeight);
2153
- }
2154
- layout() {
2155
- const editorHeight = this.getContentHeight();
2156
- const toolbarWidth = this.getToolbarWidth();
2157
- const dimension = ( new Dimension(this.element.clientWidth - toolbarWidth, editorHeight));
2158
- if (dimension.width < 0) {
2159
- this.lastLayoutWasTrash = true;
2160
- return;
2161
- }
2162
- this.lastLayoutWasTrash = false;
2163
- this.inputEditor.layout(dimension);
2164
- this.placeholderTextContainer.style.width = `${dimension.width}px`;
2165
- this.renderValidation();
2166
- const showInputActionButton = this.configurationService.getValue('scm.showInputActionButton') === true;
2167
- this.toolbarContainer.classList.toggle('hidden', !showInputActionButton || this.toolbar?.isEmpty() === true);
2168
- if (this.shouldFocusAfterLayout) {
2169
- this.shouldFocusAfterLayout = false;
2170
- this.focus();
2171
- }
2172
- }
2173
- focus() {
2174
- if (this.lastLayoutWasTrash) {
2175
- this.lastLayoutWasTrash = false;
2176
- this.shouldFocusAfterLayout = true;
2177
- return;
2178
- }
2179
- this.inputEditor.focus();
2180
- this.element.classList.add('synthetic-focus');
2181
- }
2182
- hasFocus() {
2183
- return this.inputEditor.hasTextFocus();
2184
- }
2185
- onDidChangeEditorOptions() {
2186
- const editorOptions = this.inputEditorOptions.getEditorOptions();
2187
- this.inputEditor.updateOptions(editorOptions);
2188
- this.setPlaceholderFontStyles(editorOptions.fontFamily, editorOptions.fontSize, editorOptions.lineHeight);
2189
- }
2190
- renderValidation() {
2191
- this.clearValidation();
2192
- this.element.classList.toggle('validation-info', this.validation?.type === 2 );
2193
- this.element.classList.toggle('validation-warning', this.validation?.type === 1 );
2194
- this.element.classList.toggle('validation-error', this.validation?.type === 0 );
2195
- if (!this.validation || !this.inputEditor.hasTextFocus()) {
2196
- return;
2197
- }
2198
- const disposables = ( new DisposableStore());
2199
- this.validationDisposable = this.contextViewService.showContextView({
2200
- getAnchor: () => this.element,
2201
- render: container => {
2202
- this.element.style.borderBottomLeftRadius = '0';
2203
- this.element.style.borderBottomRightRadius = '0';
2204
- const validationContainer = append(container, $('.scm-editor-validation-container'));
2205
- validationContainer.classList.toggle('validation-info', this.validation.type === 2 );
2206
- validationContainer.classList.toggle('validation-warning', this.validation.type === 1 );
2207
- validationContainer.classList.toggle('validation-error', this.validation.type === 0 );
2208
- validationContainer.style.width = `${this.element.clientWidth + 2}px`;
2209
- const element = append(validationContainer, $('.scm-editor-validation'));
2210
- const message = this.validation.message;
2211
- if (typeof message === 'string') {
2212
- element.textContent = message;
2213
- }
2214
- else {
2215
- const tracker = trackFocus(element);
2216
- disposables.add(tracker);
2217
- disposables.add(tracker.onDidFocus(() => (this.validationHasFocus = true)));
2218
- disposables.add(tracker.onDidBlur(() => {
2219
- this.validationHasFocus = false;
2220
- this.element.style.borderBottomLeftRadius = '2px';
2221
- this.element.style.borderBottomRightRadius = '2px';
2222
- this.contextViewService.hideContextView();
2223
- }));
2224
- const renderer = disposables.add(this.instantiationService.createInstance(MarkdownRenderer, {}));
2225
- const renderedMarkdown = renderer.render(message, {
2226
- actionHandler: {
2227
- callback: (link) => {
2228
- openLinkFromMarkdown(this.openerService, link, message.isTrusted);
2229
- this.element.style.borderBottomLeftRadius = '2px';
2230
- this.element.style.borderBottomRightRadius = '2px';
2231
- this.contextViewService.hideContextView();
2232
- },
2233
- disposables: disposables
2234
- },
2235
- });
2236
- disposables.add(renderedMarkdown);
2237
- element.appendChild(renderedMarkdown.element);
2238
- }
2239
- const actionsContainer = append(validationContainer, $('.scm-editor-validation-actions'));
2240
- const actionbar = ( new ActionBar(actionsContainer));
2241
- const action = ( new Action('scmInputWidget.validationMessage.close', ( localizeWithPath('vs/workbench/contrib/scm/browser/scmViewPane', 'label.close', "Close")), ThemeIcon.asClassName(Codicon.close), true, () => {
2242
- this.contextViewService.hideContextView();
2243
- this.element.style.borderBottomLeftRadius = '2px';
2244
- this.element.style.borderBottomRightRadius = '2px';
2245
- }));
2246
- disposables.add(actionbar);
2247
- actionbar.push(action, { icon: true, label: false });
2248
- return Disposable.None;
2249
- },
2250
- onHide: () => {
2251
- this.validationHasFocus = false;
2252
- this.element.style.borderBottomLeftRadius = '2px';
2253
- this.element.style.borderBottomRightRadius = '2px';
2254
- disposables.dispose();
2255
- },
2256
- anchorAlignment: 0
2257
- });
2258
- }
2259
- getToolbarWidth() {
2260
- const showInputActionButton = this.configurationService.getValue('scm.showInputActionButton');
2261
- if (!this.toolbar || !showInputActionButton || this.toolbar?.isEmpty() === true) {
2262
- return 0;
2263
- }
2264
- return this.toolbar.dropdownActions.length === 0 ?
2265
- 26 :
2266
- 39 ;
2267
- }
2268
- setPlaceholderFontStyles(fontFamily, fontSize, lineHeight) {
2269
- this.placeholderTextContainer.style.fontFamily = fontFamily;
2270
- this.placeholderTextContainer.style.fontSize = `${fontSize}px`;
2271
- this.placeholderTextContainer.style.lineHeight = `${lineHeight}px`;
2272
- }
2273
- clearValidation() {
2274
- this.validationDisposable.dispose();
2275
- this.validationHasFocus = false;
2276
- }
2277
- dispose() {
2278
- this.setInput(undefined);
2279
- this.repositoryDisposables.dispose();
2280
- this.clearValidation();
2281
- this.disposables.dispose();
2282
- }
2283
- };
2284
- SCMInputWidget = SCMInputWidget_1 = ( __decorate([
2285
- ( __param(2, IContextKeyService)),
2286
- ( __param(3, IModelService)),
2287
- ( __param(4, ITextModelService)),
2288
- ( __param(5, IKeybindingService)),
2289
- ( __param(6, IConfigurationService)),
2290
- ( __param(7, IInstantiationService)),
2291
- ( __param(8, ISCMViewService)),
2292
- ( __param(9, IContextViewService)),
2293
- ( __param(10, IOpenerService)),
2294
- ( __param(11, IContextMenuService))
2295
- ], SCMInputWidget));
2296
- let SCMViewPane = class SCMViewPane extends ViewPane {
2297
- get viewMode() { return this._viewMode; }
2298
- set viewMode(mode) {
2299
- if (this._viewMode === mode) {
2300
- return;
2301
- }
2302
- this._viewMode = mode;
2303
- this.viewSortKey = this.getViewSortKey();
2304
- this.updateChildren();
2305
- this.onDidActiveEditorChange();
2306
- this._onDidChangeViewMode.fire(mode);
2307
- this.viewModeContextKey.set(mode);
2308
- this.updateIndentStyles(this.themeService.getFileIconTheme());
2309
- this.storageService.store(`scm.viewMode`, mode, 1 , 0 );
2310
- }
2311
- get viewSortKey() { return this._viewSortKey; }
2312
- set viewSortKey(sortKey) {
2313
- if (this._viewSortKey === sortKey) {
2314
- return;
2315
- }
2316
- this._viewSortKey = sortKey;
2317
- this.updateChildren();
2318
- this.viewSortKeyContextKey.set(sortKey);
2319
- this._onDidChangeViewSortKey.fire(sortKey);
2320
- if (this._viewMode === "list" ) {
2321
- this.storageService.store(`scm.viewSortKey`, sortKey, 1 , 0 );
2322
- }
2323
- }
2324
- constructor(options, commandService, editorService, logService, menuService, scmService, scmViewService, storageService, uriIdentityService, keybindingService, themeService, contextMenuService, instantiationService, viewDescriptorService, configurationService, contextKeyService, openerService, telemetryService) {
2325
- super({ ...options, titleMenuId: MenuId.SCMTitle }, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService);
2326
- this.commandService = commandService;
2327
- this.editorService = editorService;
2328
- this.logService = logService;
2329
- this.menuService = menuService;
2330
- this.scmService = scmService;
2331
- this.scmViewService = scmViewService;
2332
- this.storageService = storageService;
2333
- this.uriIdentityService = uriIdentityService;
2334
- this._onDidChangeViewMode = ( new Emitter());
2335
- this.onDidChangeViewMode = this._onDidChangeViewMode.event;
2336
- this._onDidChangeViewSortKey = ( new Emitter());
2337
- this.onDidChangeViewSortKey = this._onDidChangeViewSortKey.event;
2338
- this.items = ( new DisposableMap());
2339
- this.visibilityDisposables = ( new DisposableStore());
2340
- this.treeOperationSequencer = ( new Sequencer());
2341
- this.revealResourceThrottler = ( new Throttler());
2342
- this.updateChildrenThrottler = ( new Throttler());
2343
- this.disposables = ( new DisposableStore());
2344
- this._viewMode = this.getViewMode();
2345
- this._viewSortKey = this.getViewSortKey();
2346
- this.viewModeContextKey = ContextKeys.SCMViewMode.bindTo(contextKeyService);
2347
- this.viewModeContextKey.set(this._viewMode);
2348
- this.viewSortKeyContextKey = ContextKeys.SCMViewSortKey.bindTo(contextKeyService);
2349
- this.viewSortKeyContextKey.set(this.viewSortKey);
2350
- this.areAllRepositoriesCollapsedContextKey = ContextKeys.SCMViewAreAllRepositoriesCollapsed.bindTo(contextKeyService);
2351
- this.isAnyRepositoryCollapsibleContextKey = ContextKeys.SCMViewIsAnyRepositoryCollapsible.bindTo(contextKeyService);
2352
- this.scmProviderContextKey = ContextKeys.SCMProvider.bindTo(contextKeyService);
2353
- this.scmProviderRootUriContextKey = ContextKeys.SCMProviderRootUri.bindTo(contextKeyService);
2354
- this.scmProviderHasRootUriContextKey = ContextKeys.SCMProviderHasRootUri.bindTo(contextKeyService);
2355
- this._onDidLayout = ( new Emitter());
2356
- this.layoutCache = { height: undefined, width: undefined, onDidChange: this._onDidLayout.event };
2357
- this.storageService.onDidChangeValue(1 , undefined, this.disposables)(e => {
2358
- switch (e.key) {
2359
- case 'scm.viewMode':
2360
- this.viewMode = this.getViewMode();
2361
- break;
2362
- case 'scm.viewSortKey':
2363
- this.viewSortKey = this.getViewSortKey();
2364
- break;
2365
- }
2366
- }, this, this.disposables);
2367
- this.storageService.onWillSaveState(e => {
2368
- this.viewMode = this.getViewMode();
2369
- this.viewSortKey = this.getViewSortKey();
2370
- this.storeTreeViewState();
2371
- }, this, this.disposables);
2372
- this.disposables.add(this.instantiationService.createInstance(ScmInputContentProvider));
2373
- Event.any(this.scmService.onDidAddRepository, this.scmService.onDidRemoveRepository)(() => this._onDidChangeViewWelcomeState.fire(), this, this.disposables);
2374
- this.disposables.add(this.revealResourceThrottler);
2375
- this.disposables.add(this.updateChildrenThrottler);
2376
- }
2377
- layoutBody(height = this.layoutCache.height, width = this.layoutCache.width) {
2378
- if (height === undefined) {
2379
- return;
2380
- }
2381
- if (width !== undefined) {
2382
- super.layoutBody(height, width);
2383
- }
2384
- this.layoutCache.height = height;
2385
- this.layoutCache.width = width;
2386
- this._onDidLayout.fire();
2387
- this.treeContainer.style.height = `${height}px`;
2388
- this.tree.layout(height, width);
2389
- }
2390
- renderBody(container) {
2391
- super.renderBody(container);
2392
- this.treeContainer = append(container, $('.scm-view.show-file-icons'));
2393
- this.treeContainer.classList.add('file-icon-themable-tree');
2394
- this.treeContainer.classList.add('show-file-icons');
2395
- const updateActionsVisibility = () => this.treeContainer.classList.toggle('show-actions', this.configurationService.getValue('scm.alwaysShowActions'));
2396
- Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.alwaysShowActions'), this.disposables)(updateActionsVisibility, this, this.disposables);
2397
- updateActionsVisibility();
2398
- const updateProviderCountVisibility = () => {
2399
- const value = this.configurationService.getValue('scm.providerCountBadge');
2400
- this.treeContainer.classList.toggle('hide-provider-counts', value === 'hidden');
2401
- this.treeContainer.classList.toggle('auto-provider-counts', value === 'auto');
2402
- };
2403
- Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.providerCountBadge'), this.disposables)(updateProviderCountVisibility, this, this.disposables);
2404
- updateProviderCountVisibility();
2405
- const viewState = this.loadTreeViewState();
2406
- this.createTree(this.treeContainer, viewState);
2407
- this.onDidChangeBodyVisibility(async (visible) => {
2408
- if (visible) {
2409
- await this.tree.setInput(this.scmViewService, viewState);
2410
- Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.alwaysShowRepositories'), this.visibilityDisposables)(() => {
2411
- this.updateActions();
2412
- this.updateChildren();
2413
- }, this, this.visibilityDisposables);
2414
- Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.inputMinLineCount') ||
2415
- e.affectsConfiguration('scm.inputMaxLineCount') ||
2416
- e.affectsConfiguration('scm.showActionButton') ||
2417
- e.affectsConfiguration('scm.showChangesSummary') ||
2418
- e.affectsConfiguration('scm.showIncomingChanges') ||
2419
- e.affectsConfiguration('scm.showOutgoingChanges'), this.visibilityDisposables)(() => this.updateChildren(), this, this.visibilityDisposables);
2420
- this.editorService.onDidActiveEditorChange(this.onDidActiveEditorChange, this, this.visibilityDisposables);
2421
- this.scmViewService.onDidChangeVisibleRepositories(this.onDidChangeVisibleRepositories, this, this.visibilityDisposables);
2422
- this.onDidChangeVisibleRepositories({ added: this.scmViewService.visibleRepositories, removed: Iterable.empty() });
2423
- if (typeof this.treeScrollTop === 'number') {
2424
- this.tree.scrollTop = this.treeScrollTop;
2425
- this.treeScrollTop = undefined;
2426
- }
2427
- }
2428
- else {
2429
- this.visibilityDisposables.clear();
2430
- this.onDidChangeVisibleRepositories({ added: Iterable.empty(), removed: [...( this.items.keys())] });
2431
- this.treeScrollTop = this.tree.scrollTop;
2432
- }
2433
- this.updateRepositoryCollapseAllContextKeys();
2434
- }, this, this.disposables);
2435
- this.disposables.add(this.instantiationService.createInstance(RepositoryVisibilityActionController));
2436
- this.themeService.onDidFileIconThemeChange(this.updateIndentStyles, this, this.disposables);
2437
- this.updateIndentStyles(this.themeService.getFileIconTheme());
2438
- }
2439
- createTree(container, viewState) {
2440
- const overflowWidgetsDomNode = $('.scm-overflow-widgets-container.monaco-editor');
2441
- this.inputRenderer = this.instantiationService.createInstance(InputRenderer, this.layoutCache, overflowWidgetsDomNode, (input, height) => { this.tree.updateElementHeight(input, height); });
2442
- this.actionButtonRenderer = this.instantiationService.createInstance(ActionButtonRenderer);
2443
- this.listLabels = this.instantiationService.createInstance(ResourceLabels, { onDidChangeVisibility: this.onDidChangeBodyVisibility });
2444
- this.disposables.add(this.listLabels);
2445
- const resourceActionRunner = ( new RepositoryPaneActionRunner(() => this.getSelectedResources()));
2446
- resourceActionRunner.onWillRun(() => this.tree.domFocus(), this, this.disposables);
2447
- this.disposables.add(resourceActionRunner);
2448
- const historyItemGroupActionRunner = ( new HistoryItemGroupActionRunner());
2449
- historyItemGroupActionRunner.onWillRun(() => this.tree.domFocus(), this, this.disposables);
2450
- this.disposables.add(historyItemGroupActionRunner);
2451
- const historyItemActionRunner = ( new HistoryItemActionRunner());
2452
- historyItemActionRunner.onWillRun(() => this.tree.domFocus(), this, this.disposables);
2453
- this.disposables.add(historyItemActionRunner);
2454
- const treeDataSource = this.instantiationService.createInstance(SCMTreeDataSource, () => this.viewMode);
2455
- this.disposables.add(treeDataSource);
2456
- this.tree = this.instantiationService.createInstance(WorkbenchCompressibleAsyncDataTree, 'SCM Tree Repo', container, ( new ListDelegate(this.inputRenderer)), ( new SCMTreeCompressionDelegate()), [
2457
- this.inputRenderer,
2458
- this.actionButtonRenderer,
2459
- this.instantiationService.createInstance(RepositoryRenderer, MenuId.SCMTitle, getActionViewItemProvider(this.instantiationService)),
2460
- this.instantiationService.createInstance(ResourceGroupRenderer, getActionViewItemProvider(this.instantiationService)),
2461
- this.instantiationService.createInstance(ResourceRenderer, () => this.viewMode, this.listLabels, getActionViewItemProvider(this.instantiationService), resourceActionRunner),
2462
- this.instantiationService.createInstance(HistoryItemGroupRenderer, historyItemGroupActionRunner),
2463
- this.instantiationService.createInstance(HistoryItemRenderer, historyItemActionRunner, getActionViewItemProvider(this.instantiationService)),
2464
- this.instantiationService.createInstance(HistoryItemChangeRenderer, () => this.viewMode, this.listLabels),
2465
- this.instantiationService.createInstance(SeparatorRenderer)
2466
- ], treeDataSource, {
2467
- horizontalScrolling: false,
2468
- setRowLineHeight: false,
2469
- transformOptimization: false,
2470
- filter: ( new SCMTreeFilter()),
2471
- dnd: ( new SCMTreeDragAndDrop(this.instantiationService)),
2472
- identityProvider: ( new SCMResourceIdentityProvider()),
2473
- sorter: ( new SCMTreeSorter(() => this.viewMode, () => this.viewSortKey)),
2474
- keyboardNavigationLabelProvider: this.instantiationService.createInstance(SCMTreeKeyboardNavigationLabelProvider, () => this.viewMode),
2475
- overrideStyles: {
2476
- listBackground: this.viewDescriptorService.getViewLocationById(this.id) === 1 ? PANEL_BACKGROUND : SIDE_BAR_BACKGROUND
2477
- },
2478
- collapseByDefault: (e) => {
2479
- if (isSCMRepository(e) || isSCMResourceGroup(e) || isSCMResourceNode(e) || isSCMHistoryItemChangeNode(e)) {
2480
- return false;
2481
- }
2482
- return (viewState?.expanded ?? []).indexOf(getSCMResourceId(e)) === -1;
2483
- },
2484
- accessibilityProvider: this.instantiationService.createInstance(SCMAccessibilityProvider)
2485
- });
2486
- this.disposables.add(this.tree);
2487
- this.tree.onDidOpen(this.open, this, this.disposables);
2488
- this.tree.onContextMenu(this.onListContextMenu, this, this.disposables);
2489
- this.tree.onDidScroll(this.inputRenderer.clearValidation, this.inputRenderer, this.disposables);
2490
- Event.filter(this.tree.onDidChangeCollapseState, e => isSCMRepository(e.node.element?.element), this.disposables)(this.updateRepositoryCollapseAllContextKeys, this, this.disposables);
2491
- append(container, overflowWidgetsDomNode);
2492
- }
2493
- async open(e) {
2494
- if (!e.element) {
2495
- return;
2496
- }
2497
- else if (isSCMRepository(e.element)) {
2498
- this.scmViewService.focus(e.element);
2499
- return;
2500
- }
2501
- else if (isSCMInput(e.element)) {
2502
- this.scmViewService.focus(e.element.repository);
2503
- const widgets = this.inputRenderer.getRenderedInputWidget(e.element);
2504
- if (widgets) {
2505
- for (const widget of widgets) {
2506
- widget.focus();
2507
- }
2508
- this.tree.setFocus([], e.browserEvent);
2509
- const selection = this.tree.getSelection();
2510
- if (selection.length === 1 && selection[0] === e.element) {
2511
- setTimeout(() => this.tree.setSelection([]));
2512
- }
2513
- }
2514
- return;
2515
- }
2516
- else if (isSCMActionButton(e.element)) {
2517
- this.scmViewService.focus(e.element.repository);
2518
- this.actionButtonRenderer.focusActionButton(e.element);
2519
- this.tree.setFocus([], e.browserEvent);
2520
- return;
2521
- }
2522
- else if (isSCMResourceGroup(e.element)) {
2523
- const provider = e.element.provider;
2524
- const repository = Iterable.find(this.scmService.repositories, r => r.provider === provider);
2525
- if (repository) {
2526
- this.scmViewService.focus(repository);
2527
- }
2528
- return;
2529
- }
2530
- else if (isSCMResource(e.element)) {
2531
- if (e.element.command?.id === API_OPEN_EDITOR_COMMAND_ID || e.element.command?.id === API_OPEN_DIFF_EDITOR_COMMAND_ID) {
2532
- await this.commandService.executeCommand(e.element.command.id, ...(e.element.command.arguments || []), e);
2533
- }
2534
- else {
2535
- await e.element.open(!!e.editorOptions.preserveFocus);
2536
- if (e.editorOptions.pinned) {
2537
- const activeEditorPane = this.editorService.activeEditorPane;
2538
- activeEditorPane?.group.pinEditor(activeEditorPane.input);
2539
- }
2540
- }
2541
- const provider = e.element.resourceGroup.provider;
2542
- const repository = Iterable.find(this.scmService.repositories, r => r.provider === provider);
2543
- if (repository) {
2544
- this.scmViewService.focus(repository);
2545
- }
2546
- }
2547
- else if (isSCMResourceNode(e.element)) {
2548
- const provider = e.element.context.provider;
2549
- const repository = Iterable.find(this.scmService.repositories, r => r.provider === provider);
2550
- if (repository) {
2551
- this.scmViewService.focus(repository);
2552
- }
2553
- return;
2554
- }
2555
- else if (isSCMHistoryItemGroupTreeElement(e.element)) {
2556
- this.scmViewService.focus(e.element.repository);
2557
- return;
2558
- }
2559
- else if (isSCMHistoryItemTreeElement(e.element)) {
2560
- this.scmViewService.focus(e.element.historyItemGroup.repository);
2561
- return;
2562
- }
2563
- else if (isSCMHistoryItemChangeTreeElement(e.element)) {
2564
- if (e.element.originalUri && e.element.modifiedUri) {
2565
- await this.commandService.executeCommand(API_OPEN_DIFF_EDITOR_COMMAND_ID, ...toDiffEditorArguments(e.element.uri, e.element.originalUri, e.element.modifiedUri), e);
2566
- }
2567
- this.scmViewService.focus(e.element.historyItem.historyItemGroup.repository);
2568
- return;
2569
- }
2570
- else if (isSCMHistoryItemChangeNode(e.element)) {
2571
- this.scmViewService.focus(e.element.context.historyItemGroup.repository);
2572
- return;
2573
- }
2574
- }
2575
- onDidActiveEditorChange() {
2576
- if (!this.configurationService.getValue('scm.autoReveal')) {
2577
- return;
2578
- }
2579
- const uri = EditorResourceAccessor.getOriginalUri(this.editorService.activeEditor, { supportSideBySide: SideBySideEditor.PRIMARY });
2580
- if (!uri) {
2581
- return;
2582
- }
2583
- if (( this.tree.getFocus().some(
2584
- e => isSCMResource(e) && this.uriIdentityService.extUri.isEqual(e.sourceUri, uri)
2585
- )) &&
2586
- ( this.tree.getSelection().some(
2587
- e => isSCMResource(e) && this.uriIdentityService.extUri.isEqual(e.sourceUri, uri)
2588
- ))) {
2589
- return;
2590
- }
2591
- this.revealResourceThrottler.queue(() => this.treeOperationSequencer.queue(async () => {
2592
- for (const repository of this.scmViewService.visibleRepositories) {
2593
- const item = this.items.get(repository);
2594
- if (!item) {
2595
- continue;
2596
- }
2597
- for (let j = repository.provider.groups.length - 1; j >= 0; j--) {
2598
- const groupItem = repository.provider.groups[j];
2599
- const resource = this.viewMode === "tree"
2600
- ? groupItem.resourceTree.getNode(uri)?.element
2601
- : groupItem.resources.find(r => this.uriIdentityService.extUri.isEqual(r.sourceUri, uri));
2602
- if (resource) {
2603
- await this.tree.expandTo(resource);
2604
- this.tree.setSelection([resource]);
2605
- this.tree.setFocus([resource]);
2606
- return;
2607
- }
2608
- }
2609
- }
2610
- }));
2611
- }
2612
- onDidChangeVisibleRepositories({ added, removed }) {
2613
- for (const repository of added) {
2614
- const repositoryDisposables = ( new DisposableStore());
2615
- repositoryDisposables.add(repository.provider.onDidChange(() => this.updateChildren(repository)));
2616
- repositoryDisposables.add(repository.input.onDidChangeVisibility(() => this.updateChildren(repository)));
2617
- repositoryDisposables.add(repository.provider.onDidChangeResourceGroups(() => this.updateChildren(repository)));
2618
- repositoryDisposables.add(Event.runAndSubscribe(repository.provider.onDidChangeHistoryProvider, () => {
2619
- if (!repository.provider.historyProvider) {
2620
- this.logService.debug('SCMViewPane:onDidChangeVisibleRepositories - no history provider present');
2621
- return;
2622
- }
2623
- repositoryDisposables.add(repository.provider.historyProvider.onDidChangeCurrentHistoryItemGroup(() => {
2624
- this.updateChildren(repository);
2625
- this.logService.debug('SCMViewPane:onDidChangeCurrentHistoryItemGroup - update children');
2626
- }));
2627
- this.logService.debug('SCMViewPane:onDidChangeVisibleRepositories - onDidChangeCurrentHistoryItemGroup listener added');
2628
- }));
2629
- const resourceGroupDisposables = repositoryDisposables.add(( new DisposableMap()));
2630
- const onDidChangeResourceGroups = () => {
2631
- for (const [resourceGroup] of resourceGroupDisposables) {
2632
- if (!repository.provider.groups.includes(resourceGroup)) {
2633
- resourceGroupDisposables.deleteAndDispose(resourceGroup);
2634
- }
2635
- }
2636
- for (const resourceGroup of repository.provider.groups) {
2637
- if (!( resourceGroupDisposables.has(resourceGroup))) {
2638
- const disposableStore = ( new DisposableStore());
2639
- disposableStore.add(resourceGroup.onDidChange(() => this.updateChildren(repository)));
2640
- disposableStore.add(resourceGroup.onDidChangeResources(() => this.updateChildren(repository)));
2641
- resourceGroupDisposables.set(resourceGroup, disposableStore);
2642
- }
2643
- }
2644
- };
2645
- repositoryDisposables.add(repository.provider.onDidChangeResourceGroups(onDidChangeResourceGroups));
2646
- onDidChangeResourceGroups();
2647
- this.items.set(repository, repositoryDisposables);
2648
- }
2649
- for (const repository of removed) {
2650
- this.items.deleteAndDispose(repository);
2651
- }
2652
- this.updateChildren();
2653
- this.onDidActiveEditorChange();
2654
- }
2655
- onListContextMenu(e) {
2656
- if (!e.element) {
2657
- const menu = this.menuService.createMenu(Menus.ViewSort, this.contextKeyService);
2658
- const actions = [];
2659
- createAndFillInContextMenuActions(menu, undefined, actions);
2660
- return this.contextMenuService.showContextMenu({
2661
- getAnchor: () => e.anchor,
2662
- getActions: () => actions,
2663
- onHide: () => {
2664
- menu.dispose();
2665
- }
2666
- });
2667
- }
2668
- const element = e.element;
2669
- let context = element;
2670
- let actions = [];
2671
- let actionRunner = ( new RepositoryPaneActionRunner(() => this.getSelectedResources()));
2672
- if (isSCMRepository(element)) {
2673
- const menus = this.scmViewService.menus.getRepositoryMenus(element.provider);
2674
- const menu = menus.repositoryContextMenu;
2675
- context = element.provider;
2676
- actionRunner = ( new RepositoryActionRunner(() => this.getSelectedRepositories()));
2677
- actions = collectContextMenuActions(menu);
2678
- }
2679
- else if (isSCMInput(element) || isSCMActionButton(element)) ;
2680
- else if (isSCMResourceGroup(element)) {
2681
- const menus = this.scmViewService.menus.getRepositoryMenus(element.provider);
2682
- const menu = menus.getResourceGroupMenu(element);
2683
- actions = collectContextMenuActions(menu);
2684
- }
2685
- else if (isSCMResource(element)) {
2686
- const menus = this.scmViewService.menus.getRepositoryMenus(element.resourceGroup.provider);
2687
- const menu = menus.getResourceMenu(element);
2688
- actions = collectContextMenuActions(menu);
2689
- }
2690
- else if (isSCMResourceNode(element)) {
2691
- if (element.element) {
2692
- const menus = this.scmViewService.menus.getRepositoryMenus(element.element.resourceGroup.provider);
2693
- const menu = menus.getResourceMenu(element.element);
2694
- actions = collectContextMenuActions(menu);
2695
- }
2696
- else {
2697
- const menus = this.scmViewService.menus.getRepositoryMenus(element.context.provider);
2698
- const menu = menus.getResourceFolderMenu(element.context);
2699
- actions = collectContextMenuActions(menu);
2700
- }
2701
- }
2702
- else if (isSCMHistoryItemGroupTreeElement(element)) {
2703
- const menus = this.scmViewService.menus.getRepositoryMenus(element.repository.provider);
2704
- const menu = menus.historyProviderMenu?.getHistoryItemGroupContextMenu(element);
2705
- if (menu) {
2706
- actionRunner = ( new HistoryItemGroupActionRunner());
2707
- createAndFillInContextMenuActions(menu, { shouldForwardArgs: true }, actions);
2708
- }
2709
- }
2710
- else if (isSCMHistoryItemTreeElement(element)) {
2711
- const menus = this.scmViewService.menus.getRepositoryMenus(element.historyItemGroup.repository.provider);
2712
- const menu = menus.historyProviderMenu?.getHistoryItemMenu(element);
2713
- if (menu) {
2714
- actionRunner = ( new HistoryItemActionRunner());
2715
- actions = collectContextMenuActions(menu);
2716
- }
2717
- }
2718
- actionRunner.onWillRun(() => this.tree.domFocus());
2719
- this.contextMenuService.showContextMenu({
2720
- getAnchor: () => e.anchor,
2721
- getActions: () => actions,
2722
- getActionsContext: () => context,
2723
- actionRunner
2724
- });
2725
- }
2726
- getSelectedRepositories() {
2727
- const focusedRepositories = this.tree.getFocus().filter(r => !!r && isSCMRepository(r));
2728
- const selectedRepositories = this.tree.getSelection().filter(r => !!r && isSCMRepository(r));
2729
- return Array.from(( new Set([...focusedRepositories, ...selectedRepositories])));
2730
- }
2731
- getSelectedResources() {
2732
- return this.tree.getSelection()
2733
- .filter(r => !!r && !isSCMResourceGroup(r));
2734
- }
2735
- getViewMode() {
2736
- let mode = this.configurationService.getValue('scm.defaultViewMode') === 'list' ? "list" : "tree" ;
2737
- const storageMode = this.storageService.get(`scm.viewMode`, 1 );
2738
- if (typeof storageMode === 'string') {
2739
- mode = storageMode;
2740
- }
2741
- return mode;
2742
- }
2743
- getViewSortKey() {
2744
- if (this._viewMode === "tree" ) {
2745
- return "path" ;
2746
- }
2747
- let viewSortKey;
2748
- const viewSortKeyString = this.configurationService.getValue('scm.defaultViewSortKey');
2749
- switch (viewSortKeyString) {
2750
- case 'name':
2751
- viewSortKey = "name" ;
2752
- break;
2753
- case 'status':
2754
- viewSortKey = "status" ;
2755
- break;
2756
- default:
2757
- viewSortKey = "path" ;
2758
- break;
2759
- }
2760
- const storageSortKey = this.storageService.get(`scm.viewSortKey`, 1 );
2761
- if (typeof storageSortKey === 'string') {
2762
- viewSortKey = storageSortKey;
2763
- }
2764
- return viewSortKey;
2765
- }
2766
- loadTreeViewState() {
2767
- const storageViewState = this.storageService.get('scm.viewState2', 1 );
2768
- if (!storageViewState) {
2769
- return undefined;
2770
- }
2771
- try {
2772
- const treeViewState = JSON.parse(storageViewState);
2773
- return treeViewState;
2774
- }
2775
- catch {
2776
- return undefined;
2777
- }
2778
- }
2779
- storeTreeViewState() {
2780
- if (this.tree) {
2781
- this.storageService.store('scm.viewState2', JSON.stringify(this.tree.getViewState()), 1 , 1 );
2782
- }
2783
- }
2784
- updateChildren(element) {
2785
- this.updateChildrenThrottler.queue(() => this.treeOperationSequencer.queue(async () => {
2786
- const focusedInput = this.inputRenderer.getFocusedInput();
2787
- if (element && this.tree.hasNode(element)) {
2788
- await this.tree.updateChildren(element);
2789
- }
2790
- else {
2791
- await this.tree.updateChildren(undefined);
2792
- }
2793
- if (focusedInput) {
2794
- this.inputRenderer.getRenderedInputWidget(focusedInput)?.forEach(widget => widget.focus());
2795
- }
2796
- this.updateScmProviderContextKeys();
2797
- this.updateRepositoryCollapseAllContextKeys();
2798
- }));
2799
- }
2800
- updateIndentStyles(theme) {
2801
- this.treeContainer.classList.toggle('list-view-mode', this.viewMode === "list" );
2802
- this.treeContainer.classList.toggle('tree-view-mode', this.viewMode === "tree" );
2803
- this.treeContainer.classList.toggle('align-icons-and-twisties', (this.viewMode === "list" && theme.hasFileIcons) || (theme.hasFileIcons && !theme.hasFolderIcons));
2804
- this.treeContainer.classList.toggle('hide-arrows', this.viewMode === "tree" && theme.hidesExplorerArrows === true);
2805
- }
2806
- updateScmProviderContextKeys() {
2807
- const alwaysShowRepositories = this.configurationService.getValue('scm.alwaysShowRepositories');
2808
- if (!alwaysShowRepositories && this.items.size === 1) {
2809
- const provider = Iterable.first(( this.items.keys())).provider;
2810
- this.scmProviderContextKey.set(provider.contextValue);
2811
- this.scmProviderRootUriContextKey.set(provider.rootUri?.toString());
2812
- this.scmProviderHasRootUriContextKey.set(!!provider.rootUri);
2813
- }
2814
- else {
2815
- this.scmProviderContextKey.set(undefined);
2816
- this.scmProviderRootUriContextKey.set(undefined);
2817
- this.scmProviderHasRootUriContextKey.set(false);
2818
- }
2819
- }
2820
- updateRepositoryCollapseAllContextKeys() {
2821
- if (!this.isBodyVisible() || this.items.size === 1) {
2822
- this.isAnyRepositoryCollapsibleContextKey.set(false);
2823
- this.areAllRepositoriesCollapsedContextKey.set(false);
2824
- return;
2825
- }
2826
- this.isAnyRepositoryCollapsibleContextKey.set(( this.scmViewService.visibleRepositories.some(r => this.tree.hasElement(r) && this.tree.isCollapsible(r))));
2827
- this.areAllRepositoriesCollapsedContextKey.set(this.scmViewService.visibleRepositories.every(r => this.tree.hasElement(r) && (!this.tree.isCollapsible(r) || this.tree.isCollapsed(r))));
2828
- }
2829
- collapseAllRepositories() {
2830
- for (const repository of this.scmViewService.visibleRepositories) {
2831
- if (this.tree.isCollapsible(repository)) {
2832
- this.tree.collapse(repository);
2833
- }
2834
- }
2835
- }
2836
- expandAllRepositories() {
2837
- for (const repository of this.scmViewService.visibleRepositories) {
2838
- if (this.tree.isCollapsible(repository)) {
2839
- this.tree.expand(repository);
2840
- }
2841
- }
2842
- }
2843
- shouldShowWelcome() {
2844
- return this.scmService.repositoryCount === 0;
2845
- }
2846
- getActionsContext() {
2847
- return this.scmViewService.visibleRepositories.length === 1 ? this.scmViewService.visibleRepositories[0].provider : undefined;
2848
- }
2849
- focus() {
2850
- super.focus();
2851
- if (this.isExpanded()) {
2852
- if (this.tree.getFocus().length === 0) {
2853
- for (const repository of this.scmViewService.visibleRepositories) {
2854
- const widgets = this.inputRenderer.getRenderedInputWidget(repository.input);
2855
- if (widgets) {
2856
- for (const widget of widgets) {
2857
- widget.focus();
2858
- }
2859
- return;
2860
- }
2861
- }
2862
- }
2863
- this.tree.domFocus();
2864
- }
2865
- }
2866
- dispose() {
2867
- this.visibilityDisposables.dispose();
2868
- this.disposables.dispose();
2869
- this.items.dispose();
2870
- super.dispose();
2871
- }
2872
- };
2873
- SCMViewPane = ( __decorate([
2874
- ( __param(1, ICommandService)),
2875
- ( __param(2, IEditorService)),
2876
- ( __param(3, ILogService)),
2877
- ( __param(4, IMenuService)),
2878
- ( __param(5, ISCMService)),
2879
- ( __param(6, ISCMViewService)),
2880
- ( __param(7, IStorageService)),
2881
- ( __param(8, IUriIdentityService)),
2882
- ( __param(9, IKeybindingService)),
2883
- ( __param(10, IThemeService)),
2884
- ( __param(11, IContextMenuService)),
2885
- ( __param(12, IInstantiationService)),
2886
- ( __param(13, IViewDescriptorService)),
2887
- ( __param(14, IConfigurationService)),
2888
- ( __param(15, IContextKeyService)),
2889
- ( __param(16, IOpenerService)),
2890
- ( __param(17, ITelemetryService))
2891
- ], SCMViewPane));
2892
- let SCMTreeDataSource = class SCMTreeDataSource {
2893
- constructor(viewMode, configurationService, logService, scmViewService, uriIdentityService) {
2894
- this.viewMode = viewMode;
2895
- this.configurationService = configurationService;
2896
- this.logService = logService;
2897
- this.scmViewService = scmViewService;
2898
- this.uriIdentityService = uriIdentityService;
2899
- this.historyProviderCache = ( new Map());
2900
- this.repositoryDisposables = ( new DisposableMap());
2901
- this.disposables = ( new DisposableStore());
2902
- const onDidChangeConfiguration = Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.showChangesSummary'), this.disposables);
2903
- this.disposables.add(onDidChangeConfiguration(() => this.historyProviderCache.clear()));
2904
- this.scmViewService.onDidChangeVisibleRepositories(this.onDidChangeVisibleRepositories, this, this.disposables);
2905
- this.onDidChangeVisibleRepositories({ added: this.scmViewService.visibleRepositories, removed: Iterable.empty() });
2906
- }
2907
- hasChildren(inputOrElement) {
2908
- if (isSCMViewService(inputOrElement)) {
2909
- return this.scmViewService.visibleRepositories.length !== 0;
2910
- }
2911
- else if (isSCMRepository(inputOrElement)) {
2912
- return true;
2913
- }
2914
- else if (isSCMInput(inputOrElement)) {
2915
- return false;
2916
- }
2917
- else if (isSCMActionButton(inputOrElement)) {
2918
- return false;
2919
- }
2920
- else if (isSCMResourceGroup(inputOrElement)) {
2921
- return true;
2922
- }
2923
- else if (isSCMResource(inputOrElement)) {
2924
- return false;
2925
- }
2926
- else if (ResourceTree.isResourceNode(inputOrElement)) {
2927
- return inputOrElement.childrenCount > 0;
2928
- }
2929
- else if (isSCMHistoryItemGroupTreeElement(inputOrElement)) {
2930
- return true;
2931
- }
2932
- else if (isSCMHistoryItemTreeElement(inputOrElement)) {
2933
- return true;
2934
- }
2935
- else if (isSCMHistoryItemChangeTreeElement(inputOrElement)) {
2936
- return false;
2937
- }
2938
- else if (isSCMViewSeparator(inputOrElement)) {
2939
- return false;
2940
- }
2941
- else {
2942
- throw new Error('hasChildren not implemented.');
2943
- }
2944
- }
2945
- async getChildren(inputOrElement) {
2946
- const { alwaysShowRepositories, showActionButton } = this.getConfiguration();
2947
- const repositoryCount = this.scmViewService.visibleRepositories.length;
2948
- if (isSCMViewService(inputOrElement) && (repositoryCount > 1 || alwaysShowRepositories)) {
2949
- return this.scmViewService.visibleRepositories;
2950
- }
2951
- else if ((isSCMViewService(inputOrElement) && repositoryCount === 1 && !alwaysShowRepositories) || isSCMRepository(inputOrElement)) {
2952
- const children = [];
2953
- inputOrElement = isSCMRepository(inputOrElement) ? inputOrElement : this.scmViewService.visibleRepositories[0];
2954
- const actionButton = inputOrElement.provider.actionButton;
2955
- const resourceGroups = inputOrElement.provider.groups;
2956
- if (inputOrElement.input.visible) {
2957
- children.push(inputOrElement.input);
2958
- }
2959
- if (showActionButton && actionButton) {
2960
- children.push({
2961
- type: 'actionButton',
2962
- repository: inputOrElement,
2963
- button: actionButton
2964
- });
2965
- }
2966
- const hasSomeChanges = ( resourceGroups.some(group => group.resources.length > 0));
2967
- if (hasSomeChanges || (repositoryCount === 1 && (!showActionButton || !actionButton))) {
2968
- children.push(...resourceGroups);
2969
- }
2970
- const historyItemGroups = await this.getHistoryItemGroups(inputOrElement);
2971
- if (historyItemGroups.length > 0) {
2972
- let label = ( localizeWithPath(
2973
- 'vs/workbench/contrib/scm/browser/scmViewPane',
2974
- 'syncSeparatorHeader',
2975
- "Incoming/Outgoing"
2976
- ));
2977
- let ariaLabel = ( localizeWithPath(
2978
- 'vs/workbench/contrib/scm/browser/scmViewPane',
2979
- 'syncSeparatorHeaderAriaLabel',
2980
- "Incoming and outgoing changes"
2981
- ));
2982
- const incomingHistoryItems = historyItemGroups.find(g => g.direction === 'incoming');
2983
- const outgoingHistoryItems = historyItemGroups.find(g => g.direction === 'outgoing');
2984
- if (incomingHistoryItems && !outgoingHistoryItems) {
2985
- label = ( localizeWithPath(
2986
- 'vs/workbench/contrib/scm/browser/scmViewPane',
2987
- 'syncIncomingSeparatorHeader',
2988
- "Incoming"
2989
- ));
2990
- ariaLabel = ( localizeWithPath(
2991
- 'vs/workbench/contrib/scm/browser/scmViewPane',
2992
- 'syncIncomingSeparatorHeaderAriaLabel',
2993
- "Incoming changes"
2994
- ));
2995
- }
2996
- else if (!incomingHistoryItems && outgoingHistoryItems) {
2997
- label = ( localizeWithPath(
2998
- 'vs/workbench/contrib/scm/browser/scmViewPane',
2999
- 'syncOutgoingSeparatorHeader',
3000
- "Outgoing"
3001
- ));
3002
- ariaLabel = ( localizeWithPath(
3003
- 'vs/workbench/contrib/scm/browser/scmViewPane',
3004
- 'syncOutgoingSeparatorHeaderAriaLabel',
3005
- "Outgoing changes"
3006
- ));
3007
- }
3008
- children.push({ label, ariaLabel, repository: inputOrElement, type: 'separator' });
3009
- }
3010
- children.push(...historyItemGroups);
3011
- return children;
3012
- }
3013
- else if (isSCMResourceGroup(inputOrElement)) {
3014
- if (this.viewMode() === "list" ) {
3015
- return inputOrElement.resources;
3016
- }
3017
- else if (this.viewMode() === "tree" ) {
3018
- const children = [];
3019
- for (const node of inputOrElement.resourceTree.root.children) {
3020
- children.push(node.element && node.childrenCount === 0 ? node.element : node);
3021
- }
3022
- return children;
3023
- }
3024
- }
3025
- else if (isSCMResourceNode(inputOrElement) || isSCMHistoryItemChangeNode(inputOrElement)) {
3026
- const children = [];
3027
- for (const node of inputOrElement.children) {
3028
- children.push(node.element && node.childrenCount === 0 ? node.element : node);
3029
- }
3030
- return children;
3031
- }
3032
- else if (isSCMHistoryItemGroupTreeElement(inputOrElement)) {
3033
- return this.getHistoryItems(inputOrElement);
3034
- }
3035
- else if (isSCMHistoryItemTreeElement(inputOrElement)) {
3036
- return this.getHistoryItemChanges(inputOrElement);
3037
- }
3038
- return [];
3039
- }
3040
- async getHistoryItemGroups(element) {
3041
- const { showIncomingChanges, showOutgoingChanges } = this.getConfiguration();
3042
- const scmProvider = element.provider;
3043
- const historyProvider = scmProvider.historyProvider;
3044
- const currentHistoryItemGroup = historyProvider?.currentHistoryItemGroup;
3045
- if (!historyProvider || !currentHistoryItemGroup || (showIncomingChanges === 'never' && showOutgoingChanges === 'never')) {
3046
- return [];
3047
- }
3048
- const children = [];
3049
- const historyProviderCacheEntry = this.getHistoryProviderCacheEntry(element);
3050
- let incomingHistoryItemGroup = historyProviderCacheEntry?.incomingHistoryItemGroup;
3051
- let outgoingHistoryItemGroup = historyProviderCacheEntry?.outgoingHistoryItemGroup;
3052
- if (!incomingHistoryItemGroup && !outgoingHistoryItemGroup) {
3053
- const ancestor = await historyProvider.resolveHistoryItemGroupCommonAncestor(currentHistoryItemGroup.id, currentHistoryItemGroup.base?.id);
3054
- if (!ancestor) {
3055
- return [];
3056
- }
3057
- incomingHistoryItemGroup = currentHistoryItemGroup.base ? {
3058
- id: currentHistoryItemGroup.base.id,
3059
- label: currentHistoryItemGroup.base.label,
3060
- ariaLabel: ( localizeWithPath(
3061
- 'vs/workbench/contrib/scm/browser/scmViewPane',
3062
- 'incomingChangesAriaLabel',
3063
- "Incoming changes from {0}",
3064
- currentHistoryItemGroup.base.label
3065
- )),
3066
- icon: Codicon.arrowCircleDown,
3067
- direction: 'incoming',
3068
- ancestor: ancestor.id,
3069
- count: ancestor.behind,
3070
- repository: element,
3071
- type: 'historyItemGroup'
3072
- } : undefined;
3073
- outgoingHistoryItemGroup = {
3074
- id: currentHistoryItemGroup.id,
3075
- label: currentHistoryItemGroup.label,
3076
- ariaLabel: ( localizeWithPath(
3077
- 'vs/workbench/contrib/scm/browser/scmViewPane',
3078
- 'outgoingChangesAriaLabel',
3079
- "Outgoing changes to {0}",
3080
- currentHistoryItemGroup.label
3081
- )),
3082
- icon: Codicon.arrowCircleUp,
3083
- direction: 'outgoing',
3084
- ancestor: ancestor.id,
3085
- count: ancestor.ahead,
3086
- repository: element,
3087
- type: 'historyItemGroup'
3088
- };
3089
- this.historyProviderCache.set(element, {
3090
- ...historyProviderCacheEntry,
3091
- incomingHistoryItemGroup,
3092
- outgoingHistoryItemGroup
3093
- });
3094
- }
3095
- if (incomingHistoryItemGroup &&
3096
- (showIncomingChanges === 'always' ||
3097
- (showIncomingChanges === 'auto' && (incomingHistoryItemGroup.count ?? 0) > 0))) {
3098
- children.push(incomingHistoryItemGroup);
3099
- }
3100
- if (outgoingHistoryItemGroup &&
3101
- (showOutgoingChanges === 'always' ||
3102
- (showOutgoingChanges === 'auto' && (outgoingHistoryItemGroup.count ?? 0) > 0))) {
3103
- children.push(outgoingHistoryItemGroup);
3104
- }
3105
- return children;
3106
- }
3107
- async getHistoryItems(element) {
3108
- const repository = element.repository;
3109
- const historyProvider = repository.provider.historyProvider;
3110
- if (!historyProvider) {
3111
- return [];
3112
- }
3113
- const historyProviderCacheEntry = this.getHistoryProviderCacheEntry(repository);
3114
- const historyItemsMap = historyProviderCacheEntry.historyItems;
3115
- let historyItemsElement = historyProviderCacheEntry.historyItems.get(element.id);
3116
- if (!historyItemsElement) {
3117
- const historyItems = (await historyProvider.provideHistoryItems(element.id, { limit: { id: element.ancestor } })) ?? [];
3118
- const { showChangesSummary } = this.getConfiguration();
3119
- const allChanges = showChangesSummary && historyItems.length >= 2 ?
3120
- await historyProvider.provideHistoryItemSummary(historyItems[0].id, element.ancestor) : undefined;
3121
- historyItemsElement = [allChanges, historyItems];
3122
- this.historyProviderCache.set(repository, {
3123
- ...historyProviderCacheEntry,
3124
- historyItems: historyItemsMap.set(element.id, historyItemsElement)
3125
- });
3126
- }
3127
- const children = [];
3128
- if (historyItemsElement[0]) {
3129
- children.push({
3130
- ...historyItemsElement[0],
3131
- icon: historyItemsElement[0].icon ?? Codicon.files,
3132
- label: ( localizeWithPath(
3133
- 'vs/workbench/contrib/scm/browser/scmViewPane',
3134
- 'allChanges',
3135
- "All Changes"
3136
- )),
3137
- historyItemGroup: element,
3138
- type: 'allChanges'
3139
- });
3140
- }
3141
- children.push(...( historyItemsElement[1]
3142
- .map(historyItem => ({
3143
- ...historyItem,
3144
- historyItemGroup: element,
3145
- type: 'historyItem'
3146
- }))));
3147
- return children;
3148
- }
3149
- async getHistoryItemChanges(element) {
3150
- const repository = element.historyItemGroup.repository;
3151
- const historyProvider = repository.provider.historyProvider;
3152
- if (!historyProvider) {
3153
- return [];
3154
- }
3155
- const historyProviderCacheEntry = this.getHistoryProviderCacheEntry(repository);
3156
- const historyItemChangesMap = historyProviderCacheEntry.historyItemChanges;
3157
- const historyItemParentId = element.parentIds.length > 0 ? element.parentIds[0] : undefined;
3158
- let historyItemChanges = historyItemChangesMap.get(`${element.id}/${historyItemParentId}`);
3159
- if (!historyItemChanges) {
3160
- const historyItemParentId = element.parentIds.length > 0 ? element.parentIds[0] : undefined;
3161
- historyItemChanges = (await historyProvider.provideHistoryItemChanges(element.id, historyItemParentId)) ?? [];
3162
- this.historyProviderCache.set(repository, {
3163
- ...historyProviderCacheEntry,
3164
- historyItemChanges: historyItemChangesMap.set(`${element.id}/${historyItemParentId}`, historyItemChanges)
3165
- });
3166
- }
3167
- if (this.viewMode() === "list" ) {
3168
- return ( historyItemChanges.map(change => ({
3169
- ...change,
3170
- historyItem: element,
3171
- type: 'historyItemChange'
3172
- })));
3173
- }
3174
- const tree = ( new ResourceTree(
3175
- element,
3176
- repository.provider.rootUri ?? URI.file('/'),
3177
- this.uriIdentityService.extUri
3178
- ));
3179
- for (const change of historyItemChanges) {
3180
- tree.add(change.uri, {
3181
- ...change,
3182
- historyItem: element,
3183
- type: 'historyItemChange'
3184
- });
3185
- }
3186
- const children = [];
3187
- for (const node of tree.root.children) {
3188
- children.push(node.element ?? node);
3189
- }
3190
- return children;
3191
- }
3192
- getParent(element) {
3193
- if (isSCMResourceNode(element)) {
3194
- if (element.parent === element.context.resourceTree.root) {
3195
- return element.context;
3196
- }
3197
- else if (element.parent) {
3198
- return element.parent;
3199
- }
3200
- else {
3201
- throw new Error('Invalid element passed to getParent');
3202
- }
3203
- }
3204
- else if (isSCMResource(element)) {
3205
- if (this.viewMode() === "list" ) {
3206
- return element.resourceGroup;
3207
- }
3208
- const node = element.resourceGroup.resourceTree.getNode(element.sourceUri);
3209
- const result = node?.parent;
3210
- if (!result) {
3211
- throw new Error('Invalid element passed to getParent');
3212
- }
3213
- if (result === element.resourceGroup.resourceTree.root) {
3214
- return element.resourceGroup;
3215
- }
3216
- return result;
3217
- }
3218
- else {
3219
- throw new Error('Unexpected call to getParent');
3220
- }
3221
- }
3222
- getConfiguration() {
3223
- return {
3224
- alwaysShowRepositories: this.configurationService.getValue('scm.alwaysShowRepositories'),
3225
- showActionButton: this.configurationService.getValue('scm.showActionButton'),
3226
- showChangesSummary: this.configurationService.getValue('scm.showChangesSummary'),
3227
- showIncomingChanges: this.configurationService.getValue('scm.showIncomingChanges'),
3228
- showOutgoingChanges: this.configurationService.getValue('scm.showOutgoingChanges')
3229
- };
3230
- }
3231
- onDidChangeVisibleRepositories({ added, removed }) {
3232
- for (const repository of added) {
3233
- const repositoryDisposables = ( new DisposableStore());
3234
- repositoryDisposables.add(Event.runAndSubscribe(repository.provider.onDidChangeHistoryProvider, () => {
3235
- if (!repository.provider.historyProvider) {
3236
- this.logService.debug('SCMTreeDataSource:onDidChangeVisibleRepositories - no history provider present');
3237
- return;
3238
- }
3239
- repositoryDisposables.add(repository.provider.historyProvider.onDidChangeCurrentHistoryItemGroup(() => {
3240
- this.historyProviderCache.delete(repository);
3241
- this.logService.debug('SCMTreeDataSource:onDidChangeCurrentHistoryItemGroup - cache cleared');
3242
- }));
3243
- this.logService.debug('SCMTreeDataSource:onDidChangeVisibleRepositories - onDidChangeCurrentHistoryItemGroup listener added');
3244
- }));
3245
- this.repositoryDisposables.set(repository, repositoryDisposables);
3246
- }
3247
- for (const repository of removed) {
3248
- this.repositoryDisposables.deleteAndDispose(repository);
3249
- this.historyProviderCache.delete(repository);
3250
- }
3251
- }
3252
- getHistoryProviderCacheEntry(repository) {
3253
- return this.historyProviderCache.get(repository) ?? {
3254
- incomingHistoryItemGroup: undefined,
3255
- outgoingHistoryItemGroup: undefined,
3256
- historyItems: ( new Map()),
3257
- historyItemChanges: ( new Map())
3258
- };
3259
- }
3260
- dispose() {
3261
- this.repositoryDisposables.dispose();
3262
- this.disposables.dispose();
3263
- }
3264
- };
3265
- SCMTreeDataSource = ( __decorate([
3266
- ( __param(1, IConfigurationService)),
3267
- ( __param(2, ILogService)),
3268
- ( __param(3, ISCMViewService)),
3269
- ( __param(4, IUriIdentityService))
3270
- ], SCMTreeDataSource));
3271
- class SCMActionButton {
3272
- constructor(container, contextMenuService, commandService, notificationService) {
3273
- this.container = container;
3274
- this.contextMenuService = contextMenuService;
3275
- this.commandService = commandService;
3276
- this.notificationService = notificationService;
3277
- this.disposables = ( new MutableDisposable());
3278
- }
3279
- dispose() {
3280
- this.disposables?.dispose();
3281
- }
3282
- setButton(button) {
3283
- this.clear();
3284
- if (!button) {
3285
- return;
3286
- }
3287
- if (button.secondaryCommands?.length) {
3288
- const actions = [];
3289
- for (let index = 0; index < button.secondaryCommands.length; index++) {
3290
- const commands = button.secondaryCommands[index];
3291
- for (const command of commands) {
3292
- actions.push(( new Action(
3293
- command.id,
3294
- command.title,
3295
- undefined,
3296
- true,
3297
- async () => await this.executeCommand(command.id, ...(command.arguments || []))
3298
- )));
3299
- }
3300
- if (commands.length) {
3301
- actions.push(( new Separator()));
3302
- }
3303
- }
3304
- actions.pop();
3305
- this.button = ( new ButtonWithDropdown(this.container, {
3306
- actions: actions,
3307
- addPrimaryActionToDropdown: false,
3308
- contextMenuProvider: this.contextMenuService,
3309
- title: button.command.tooltip,
3310
- supportIcons: true,
3311
- ...defaultButtonStyles
3312
- }));
3313
- }
3314
- else {
3315
- this.button = ( new Button(
3316
- this.container,
3317
- { supportIcons: true, supportShortLabel: !!button.description, title: button.command.tooltip, ...defaultButtonStyles }
3318
- ));
3319
- }
3320
- this.button.enabled = button.enabled;
3321
- this.button.label = button.command.title;
3322
- if (this.button instanceof Button && button.description) {
3323
- this.button.labelShort = button.description;
3324
- }
3325
- this.button.onDidClick(async () => await this.executeCommand(button.command.id, ...(button.command.arguments || [])), null, this.disposables.value);
3326
- this.disposables.value.add(this.button);
3327
- }
3328
- focus() {
3329
- this.button?.focus();
3330
- }
3331
- clear() {
3332
- this.disposables.value = ( new DisposableStore());
3333
- this.button = undefined;
3334
- clearNode(this.container);
3335
- }
3336
- async executeCommand(commandId, ...args) {
3337
- try {
3338
- await this.commandService.executeCommand(commandId, ...args);
3339
- }
3340
- catch (ex) {
3341
- this.notificationService.error(ex);
3342
- }
3343
- }
3344
- }
3345
- let ScmInputContentProvider = class ScmInputContentProvider extends Disposable {
3346
- constructor(textModelService, _modelService, _languageService) {
3347
- super();
3348
- this._modelService = _modelService;
3349
- this._languageService = _languageService;
3350
- this._register(textModelService.registerTextModelContentProvider(Schemas.vscodeSourceControl, this));
3351
- }
3352
- async provideTextContent(resource) {
3353
- const existing = this._modelService.getModel(resource);
3354
- if (existing) {
3355
- return existing;
3356
- }
3357
- return this._modelService.createModel('', this._languageService.createById('scminput'), resource);
3358
- }
3359
- };
3360
- ScmInputContentProvider = ( __decorate([
3361
- ( __param(0, ITextModelService)),
3362
- ( __param(1, IModelService)),
3363
- ( __param(2, ILanguageService))
3364
- ], ScmInputContentProvider));
3365
- export { ActionButtonRenderer, SCMAccessibilityProvider, SCMActionButton, SCMTreeKeyboardNavigationLabelProvider, SCMTreeSorter, SCMViewPane };