@codingame/monaco-vscode-api 1.82.4 → 1.82.5-next.1

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 (567) hide show
  1. package/extensions.d.ts +3 -3
  2. package/external/xterm/typings/xterm.d.ts +1729 -0
  3. package/external/xterm-addon-canvas/typings/xterm-addon-canvas.d.ts +38 -0
  4. package/external/xterm-addon-image/typings/xterm-addon-image.d.ts +115 -0
  5. package/external/xterm-addon-search/typings/xterm-addon-search.d.ts +141 -0
  6. package/external/xterm-addon-serialize/typings/xterm-addon-serialize.d.ts +83 -0
  7. package/external/xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts +9 -0
  8. package/external/xterm-addon-webgl/typings/xterm-addon-webgl.d.ts +43 -0
  9. package/external/xterm-headless/typings/xterm-headless.d.ts +49 -0
  10. package/missing-services.js +0 -1
  11. package/monaco-editor-treemending.patch +1026 -1026
  12. package/package.json +21 -1
  13. package/service-override/bulkEdit.js +0 -1
  14. package/service-override/environment.js +0 -1
  15. package/service-override/extensions.js +1 -1
  16. package/service-override/files.js +0 -1
  17. package/service-override/keybindings.js +1 -6
  18. package/service-override/layout.js +0 -1
  19. package/service-override/output.js +0 -1
  20. package/service-override/quickaccess.js +0 -1
  21. package/services.js +10 -0
  22. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.d.ts +1 -1
  23. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +1 -1
  24. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +7 -7
  25. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +1 -1
  26. package/README.md +0 -392
  27. package/override/vs/workbench/contrib/notebook/browser/notebookEditor.js +0 -2
  28. package/service-override/accessibility.d.ts +0 -5
  29. package/service-override/accessibility.js +0 -11
  30. package/service-override/audioCue.d.ts +0 -5
  31. package/service-override/audioCue.js +0 -13
  32. package/service-override/bulkEdit.d.ts +0 -5
  33. package/service-override/configuration.d.ts +0 -17
  34. package/service-override/configuration.js +0 -117
  35. package/service-override/debug.d.ts +0 -5
  36. package/service-override/debug.js +0 -23
  37. package/service-override/dialogs.d.ts +0 -5
  38. package/service-override/dialogs.js +0 -57
  39. package/service-override/editor.d.ts +0 -10
  40. package/service-override/editor.js +0 -37
  41. package/service-override/environment.d.ts +0 -6
  42. package/service-override/extensions.d.ts +0 -50
  43. package/service-override/files.d.ts +0 -103
  44. package/service-override/keybindings.d.ts +0 -10
  45. package/service-override/languageDetectionWorker.d.ts +0 -5
  46. package/service-override/languageDetectionWorker.js +0 -15
  47. package/service-override/languages.d.ts +0 -11
  48. package/service-override/languages.js +0 -27
  49. package/service-override/layout.d.ts +0 -71
  50. package/service-override/lifecycle.d.ts +0 -5
  51. package/service-override/lifecycle.js +0 -10
  52. package/service-override/markers.d.ts +0 -5
  53. package/service-override/markers.js +0 -6
  54. package/service-override/model.d.ts +0 -5
  55. package/service-override/model.js +0 -10
  56. package/service-override/notifications.d.ts +0 -5
  57. package/service-override/notifications.js +0 -34
  58. package/service-override/output.d.ts +0 -6
  59. package/service-override/preferences.d.ts +0 -5
  60. package/service-override/preferences.js +0 -16
  61. package/service-override/quickaccess.d.ts +0 -10
  62. package/service-override/remoteAgent.d.ts +0 -6
  63. package/service-override/remoteAgent.js +0 -42
  64. package/service-override/search.d.ts +0 -5
  65. package/service-override/search.js +0 -19
  66. package/service-override/snippets.d.ts +0 -9
  67. package/service-override/snippets.js +0 -21
  68. package/service-override/storage.d.ts +0 -40
  69. package/service-override/storage.js +0 -116
  70. package/service-override/terminal.d.ts +0 -69
  71. package/service-override/terminal.js +0 -117
  72. package/service-override/textmate.d.ts +0 -6
  73. package/service-override/textmate.js +0 -41
  74. package/service-override/theme.d.ts +0 -7
  75. package/service-override/theme.js +0 -26
  76. package/service-override/viewBanner.d.ts +0 -6
  77. package/service-override/viewBanner.js +0 -10
  78. package/service-override/viewStatusBar.d.ts +0 -6
  79. package/service-override/viewStatusBar.js +0 -10
  80. package/service-override/viewTitleBar.d.ts +0 -6
  81. package/service-override/viewTitleBar.js +0 -10
  82. package/service-override/views.d.ts +0 -74
  83. package/service-override/views.js +0 -511
  84. package/service-override/workspaceTrust.d.ts +0 -5
  85. package/service-override/workspaceTrust.js +0 -13
  86. package/vscode/src/vs/base/browser/broadcast.js +0 -52
  87. package/vscode/src/vs/base/browser/indexedDB.d.ts +0 -17
  88. package/vscode/src/vs/base/browser/ui/centered/centeredViewLayout.js +0 -178
  89. package/vscode/src/vs/base/browser/ui/grid/grid.js +0 -465
  90. package/vscode/src/vs/base/browser/ui/grid/gridview.css.js +0 -4
  91. package/vscode/src/vs/base/browser/ui/grid/gridview.js +0 -977
  92. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +0 -60
  93. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +0 -14
  94. package/vscode/src/vs/base/common/codicons.d.ts +0 -556
  95. package/vscode/src/vs/base/common/processes.js +0 -24
  96. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +0 -42
  97. package/vscode/src/vs/editor/common/services/modelUndoRedoParticipant.js +0 -56
  98. package/vscode/src/vs/editor/common/services/textResourceConfigurationService.js +0 -116
  99. package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +0 -67
  100. package/vscode/src/vs/platform/audioCues/browser/media/all.mp3.js +0 -20
  101. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +0 -10
  102. package/vscode/src/vs/platform/download/common/downloadIpc.js +0 -16
  103. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.d.ts +0 -43
  104. package/vscode/src/vs/platform/files/common/diskFileSystemProviderClient.js +0 -136
  105. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.d.ts +0 -50
  106. package/vscode/src/vs/platform/log/common/logIpc.js +0 -24
  107. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +0 -94
  108. package/vscode/src/vs/platform/remote/browser/browserSocketFactory.js +0 -193
  109. package/vscode/src/vs/platform/remote/browser/remoteAuthorityResolverService.js +0 -107
  110. package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +0 -41
  111. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +0 -566
  112. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +0 -29
  113. package/vscode/src/vs/platform/terminal/common/capabilities/naiveCwdDetectionCapability.js +0 -22
  114. package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +0 -46
  115. package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +0 -94
  116. package/vscode/src/vs/platform/terminal/common/environmentVariable.js +0 -7
  117. package/vscode/src/vs/platform/terminal/common/environmentVariableCollection.js +0 -196
  118. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +0 -37
  119. package/vscode/src/vs/platform/terminal/common/terminalLogService.js +0 -42
  120. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +0 -467
  121. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +0 -107
  122. package/vscode/src/vs/platform/terminal/common/terminalRecorder.js +0 -66
  123. package/vscode/src/vs/platform/terminal/common/terminalStrings.js +0 -16
  124. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +0 -319
  125. package/vscode/src/vs/platform/userDataSync/common/settingsMerge.js +0 -40
  126. package/vscode/src/vs/platform/webview/common/mimeTypes.js +0 -22
  127. package/vscode/src/vs/platform/webview/common/webviewPortMapping.js +0 -62
  128. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +0 -699
  129. package/vscode/src/vs/workbench/api/common/configurationExtensionPoint.js +0 -450
  130. package/vscode/src/vs/workbench/api/common/extHost.api.impl.d.ts +0 -14
  131. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +0 -236
  132. package/vscode/src/vs/workbench/api/common/extHostConfiguration.d.ts +0 -43
  133. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.d.ts +0 -33
  134. package/vscode/src/vs/workbench/api/common/extHostExtensionService.d.ts +0 -138
  135. package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.d.ts +0 -21
  136. package/vscode/src/vs/workbench/api/common/extHostInitDataService.d.ts +0 -9
  137. package/vscode/src/vs/workbench/api/common/extHostLocalizationService.d.ts +0 -29
  138. package/vscode/src/vs/workbench/api/common/extHostManagedSockets.d.ts +0 -11
  139. package/vscode/src/vs/workbench/api/common/extHostRpcService.d.ts +0 -9
  140. package/vscode/src/vs/workbench/api/common/extHostStoragePaths.d.ts +0 -14
  141. package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +0 -53
  142. package/vscode/src/vs/workbench/api/common/extHostTunnelService.d.ts +0 -19
  143. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +0 -12
  144. package/vscode/src/vs/workbench/api/common/extHostUriTransformerService.d.ts +0 -9
  145. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +0 -91
  146. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +0 -21
  147. package/vscode/src/vs/workbench/browser/actions/listCommands.js +0 -605
  148. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarActions.js +0 -597
  149. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.d.ts +0 -116
  150. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +0 -783
  151. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +0 -4
  152. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activitybarpart.css.js +0 -4
  153. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +0 -88
  154. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css.js +0 -4
  155. package/vscode/src/vs/workbench/browser/parts/banner/bannerPart.js +0 -228
  156. package/vscode/src/vs/workbench/browser/parts/banner/media/bannerpart.css.js +0 -4
  157. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +0 -691
  158. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.d.ts +0 -7
  159. package/vscode/src/vs/workbench/browser/parts/compositePart.d.ts +0 -84
  160. package/vscode/src/vs/workbench/browser/parts/compositePart.js +0 -318
  161. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +0 -69
  162. package/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandler.js +0 -127
  163. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +0 -692
  164. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +0 -141
  165. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +0 -414
  166. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +0 -507
  167. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +0 -1233
  168. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +0 -133
  169. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +0 -306
  170. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +0 -850
  171. package/vscode/src/vs/workbench/browser/parts/editor/media/breadcrumbscontrol.css.js +0 -4
  172. package/vscode/src/vs/workbench/browser/parts/editor/media/editordroptarget.css.js +0 -4
  173. package/vscode/src/vs/workbench/browser/parts/editor/media/editorgroupview.css.js +0 -4
  174. package/vscode/src/vs/workbench/browser/parts/editor/media/notabstitlecontrol.css.js +0 -4
  175. package/vscode/src/vs/workbench/browser/parts/editor/media/tabstitlecontrol.css.js +0 -4
  176. package/vscode/src/vs/workbench/browser/parts/editor/media/titlecontrol.css.js +0 -4
  177. package/vscode/src/vs/workbench/browser/parts/editor/noTabsTitleControl.js +0 -247
  178. package/vscode/src/vs/workbench/browser/parts/editor/tabsTitleControl.js +0 -1569
  179. package/vscode/src/vs/workbench/browser/parts/editor/titleControl.js +0 -292
  180. package/vscode/src/vs/workbench/browser/parts/media/compositepart.css.js +0 -4
  181. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsActions.css.js +0 -4
  182. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsCenter.css.js +0 -4
  183. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsList.css.js +0 -4
  184. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsToasts.css.js +0 -4
  185. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +0 -124
  186. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +0 -58
  187. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +0 -227
  188. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +0 -212
  189. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +0 -419
  190. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +0 -398
  191. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +0 -78
  192. package/vscode/src/vs/workbench/browser/parts/panel/media/basepanelpart.css.js +0 -4
  193. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.d.ts +0 -134
  194. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +0 -756
  195. package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +0 -4
  196. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +0 -59
  197. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +0 -217
  198. package/vscode/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +0 -4
  199. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarActions.js +0 -109
  200. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarItem.js +0 -234
  201. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarModel.js +0 -249
  202. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.js +0 -439
  203. package/vscode/src/vs/workbench/browser/parts/titlebar/commandCenterControl.js +0 -134
  204. package/vscode/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css.js +0 -4
  205. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.d.ts +0 -115
  206. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +0 -77
  207. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.js +0 -365
  208. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +0 -216
  209. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +0 -104
  210. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +0 -4
  211. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +0 -1589
  212. package/vscode/src/vs/workbench/common/activity.js +0 -3
  213. package/vscode/src/vs/workbench/common/dialogs.js +0 -31
  214. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.js +0 -13
  215. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +0 -312
  216. package/vscode/src/vs/workbench/contrib/accessibility/browser/unfocusedViewDimmingContribution.js +0 -63
  217. package/vscode/src/vs/workbench/contrib/audioCues/browser/audioCueDebuggerContribution.js +0 -45
  218. package/vscode/src/vs/workbench/contrib/audioCues/browser/audioCueLineFeatureContribution.js +0 -170
  219. package/vscode/src/vs/workbench/contrib/audioCues/browser/audioCues.contribution.js +0 -181
  220. package/vscode/src/vs/workbench/contrib/audioCues/browser/commands.js +0 -49
  221. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +0 -262
  222. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +0 -339
  223. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +0 -119
  224. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/media/callHierarchy.css.js +0 -4
  225. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.css.js +0 -4
  226. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.js +0 -35
  227. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.css.js +0 -4
  228. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +0 -345
  229. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsOutline.js +0 -362
  230. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.css.js +0 -4
  231. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.js +0 -255
  232. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.css.js +0 -4
  233. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +0 -249
  234. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +0 -14
  235. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +0 -137
  236. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditors.js +0 -212
  237. package/vscode/src/vs/workbench/contrib/customEditor/browser/media/customEditor.css.js +0 -4
  238. package/vscode/src/vs/workbench/contrib/customEditor/common/contributedCustomEditors.js +0 -72
  239. package/vscode/src/vs/workbench/contrib/customEditor/common/customEditorModelManager.js +0 -61
  240. package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +0 -106
  241. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +0 -198
  242. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +0 -783
  243. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +0 -397
  244. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +0 -1296
  245. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +0 -176
  246. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +0 -958
  247. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +0 -496
  248. package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +0 -345
  249. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +0 -297
  250. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +0 -398
  251. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +0 -825
  252. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +0 -619
  253. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +0 -58
  254. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +0 -525
  255. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +0 -679
  256. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +0 -354
  257. package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +0 -204
  258. package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +0 -80
  259. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +0 -141
  260. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +0 -1172
  261. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +0 -1142
  262. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +0 -104
  263. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +0 -66
  264. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +0 -273
  265. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +0 -312
  266. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +0 -166
  267. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +0 -661
  268. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +0 -103
  269. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +0 -229
  270. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +0 -629
  271. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +0 -4
  272. package/vscode/src/vs/workbench/contrib/debug/browser/media/callStackEditorContribution.css.js +0 -4
  273. package/vscode/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +0 -4
  274. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugHover.css.js +0 -4
  275. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css.js +0 -4
  276. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +0 -4
  277. package/vscode/src/vs/workbench/contrib/debug/browser/media/exceptionWidget.css.js +0 -4
  278. package/vscode/src/vs/workbench/contrib/debug/browser/media/repl.css.js +0 -4
  279. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +0 -693
  280. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +0 -951
  281. package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +0 -46
  282. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +0 -334
  283. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +0 -96
  284. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +0 -573
  285. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +0 -413
  286. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +0 -100
  287. package/vscode/src/vs/workbench/contrib/debug/common/breakpoints.js +0 -19
  288. package/vscode/src/vs/workbench/contrib/debug/common/debugCompoundRoot.js +0 -15
  289. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +0 -98
  290. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +0 -57
  291. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +0 -1480
  292. package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +0 -344
  293. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +0 -121
  294. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +0 -173
  295. package/vscode/src/vs/workbench/contrib/debug/common/debugTelemetry.js +0 -34
  296. package/vscode/src/vs/workbench/contrib/debug/common/debugViewModel.js +0 -115
  297. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +0 -258
  298. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +0 -25
  299. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +0 -81
  300. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +0 -281
  301. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +0 -2414
  302. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +0 -4
  303. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +0 -16
  304. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.js +0 -5
  305. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +0 -73
  306. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +0 -36
  307. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +0 -325
  308. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +0 -230
  309. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +0 -97
  310. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +0 -352
  311. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +0 -426
  312. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +0 -508
  313. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +0 -615
  314. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution2.js +0 -94
  315. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +0 -144
  316. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +0 -53
  317. package/vscode/src/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +0 -134
  318. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +0 -353
  319. package/vscode/src/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css.js +0 -4
  320. package/vscode/src/vs/workbench/contrib/markers/browser/markers.contribution.js +0 -586
  321. package/vscode/src/vs/workbench/contrib/markers/browser/markersFilterOptions.js +0 -75
  322. package/vscode/src/vs/workbench/contrib/markers/browser/markersModel.js +0 -200
  323. package/vscode/src/vs/workbench/contrib/markers/browser/markersTable.js +0 -455
  324. package/vscode/src/vs/workbench/contrib/markers/browser/markersTreeViewer.js +0 -670
  325. package/vscode/src/vs/workbench/contrib/markers/browser/markersView.js +0 -873
  326. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.css.js +0 -4
  327. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.js +0 -132
  328. package/vscode/src/vs/workbench/contrib/markers/browser/media/markers.css.js +0 -4
  329. package/vscode/src/vs/workbench/contrib/markers/browser/messages.js +0 -170
  330. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +0 -70
  331. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.css.js +0 -4
  332. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +0 -158
  333. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +0 -3
  334. package/vscode/src/vs/workbench/contrib/outline/browser/outline.contribution.js +0 -261
  335. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +0 -10
  336. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.css.js +0 -4
  337. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.js +0 -290
  338. package/vscode/src/vs/workbench/contrib/outline/browser/outlineViewState.js +0 -66
  339. package/vscode/src/vs/workbench/contrib/output/common/outputLinkComputer.js +0 -129
  340. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +0 -272
  341. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.js +0 -1102
  342. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindings.css.js +0 -4
  343. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindingsEditor.css.js +0 -4
  344. package/vscode/src/vs/workbench/contrib/preferences/browser/media/preferences.css.js +0 -4
  345. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsEditor2.css.js +0 -4
  346. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsWidgets.css.js +0 -4
  347. package/vscode/src/vs/workbench/contrib/preferences/browser/preferences.contribution.js +0 -1213
  348. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesActions.js +0 -94
  349. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesEditor.js +0 -47
  350. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +0 -37
  351. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesRenderers.js +0 -747
  352. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesSearch.js +0 -349
  353. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +0 -468
  354. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditor2.js +0 -1477
  355. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditorSettingIndicators.js +0 -504
  356. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +0 -296
  357. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsSearchMenu.js +0 -79
  358. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTree.js +0 -2041
  359. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +0 -771
  360. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsWidgets.js +0 -1004
  361. package/vscode/src/vs/workbench/contrib/preferences/browser/tocTree.js +0 -196
  362. package/vscode/src/vs/workbench/contrib/preferences/common/preferencesContribution.js +0 -151
  363. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +0 -67
  364. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +0 -4
  365. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +0 -207
  366. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +0 -27
  367. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +0 -1666
  368. package/vscode/src/vs/workbench/contrib/remote/common/remote.contribution.js +0 -481
  369. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +0 -759
  370. package/vscode/src/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +0 -4
  371. package/vscode/src/vs/workbench/contrib/search/browser/media/searchview.css.js +0 -4
  372. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearchContributions.js +0 -7
  373. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +0 -220
  374. package/vscode/src/vs/workbench/contrib/search/browser/quickTextSearch/textSearchQuickAccess.js +0 -232
  375. package/vscode/src/vs/workbench/contrib/search/browser/replaceContributions.js +0 -7
  376. package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +0 -224
  377. package/vscode/src/vs/workbench/contrib/search/browser/search.contribution.js +0 -513
  378. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +0 -46
  379. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsCopy.js +0 -204
  380. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +0 -354
  381. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsNav.js +0 -459
  382. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsRemoveReplace.js +0 -365
  383. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsSymbol.js +0 -35
  384. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTextQuickAccess.js +0 -23
  385. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +0 -308
  386. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +0 -41
  387. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +0 -39
  388. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +0 -58
  389. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +0 -383
  390. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +0 -1916
  391. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +0 -636
  392. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +0 -220
  393. package/vscode/src/vs/workbench/contrib/search/common/cacheState.js +0 -85
  394. package/vscode/src/vs/workbench/contrib/search/common/constants.js +0 -66
  395. package/vscode/src/vs/workbench/contrib/searchEditor/browser/constants.js +0 -11
  396. package/vscode/src/vs/workbench/contrib/searchEditor/browser/media/searchEditor.css.js +0 -4
  397. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.js +0 -477
  398. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.js +0 -700
  399. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +0 -187
  400. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +0 -298
  401. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorModel.js +0 -135
  402. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +0 -268
  403. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +0 -20
  404. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/configureSnippets.js +0 -264
  405. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +0 -87
  406. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/insertSnippet.js +0 -126
  407. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/surroundWithSnippet.js +0 -56
  408. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCodeActionProvider.js +0 -136
  409. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetPicker.js +0 -83
  410. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.contribution.js +0 -113
  411. package/vscode/src/vs/workbench/contrib/terminal/browser/baseTerminalBackend.js +0 -101
  412. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +0 -54
  413. package/vscode/src/vs/workbench/contrib/terminal/browser/environmentVariableInfo.js +0 -119
  414. package/vscode/src/vs/workbench/contrib/terminal/browser/media/scrollbar.css.js +0 -4
  415. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminal.css.js +0 -4
  416. package/vscode/src/vs/workbench/contrib/terminal/browser/media/widgets.css.js +0 -4
  417. package/vscode/src/vs/workbench/contrib/terminal/browser/media/xterm.css.js +0 -4
  418. package/vscode/src/vs/workbench/contrib/terminal/browser/remotePty.js +0 -175
  419. package/vscode/src/vs/workbench/contrib/terminal/browser/remoteTerminalBackend.js +0 -311
  420. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.contribution.js +0 -240
  421. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +0 -1964
  422. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalCommands.js +0 -22
  423. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.js +0 -215
  424. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalContextMenu.js +0 -16
  425. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditor.js +0 -186
  426. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorService.js +0 -239
  427. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +0 -47
  428. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +0 -25
  429. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroup.js +0 -482
  430. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroupService.js +0 -367
  431. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +0 -37
  432. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.js +0 -2101
  433. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstanceService.js +0 -82
  434. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMainContribution.js +0 -82
  435. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +0 -762
  436. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.js +0 -617
  437. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileQuickpick.js +0 -278
  438. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileResolverService.js +0 -316
  439. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileService.js +0 -218
  440. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalQuickAccess.js +0 -146
  441. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalRunRecentQuickPick.js +0 -269
  442. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalService.js +0 -1134
  443. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalStatusList.js +0 -108
  444. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.js +0 -420
  445. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +0 -676
  446. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.js +0 -72
  447. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalUri.js +0 -39
  448. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalView.js +0 -598
  449. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +0 -36
  450. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +0 -469
  451. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +0 -97
  452. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/lineDataEventAddon.js +0 -56
  453. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +0 -416
  454. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +0 -390
  455. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +0 -793
  456. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariableService.js +0 -96
  457. package/vscode/src/vs/workbench/contrib/terminal/common/history.js +0 -356
  458. package/vscode/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.js +0 -253
  459. package/vscode/src/vs/workbench/contrib/terminal/common/terminalConfiguration.js +0 -1016
  460. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +0 -272
  461. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +0 -93
  462. package/vscode/src/vs/workbench/contrib/terminal/electron-sandbox/terminalProfileResolverService.js +0 -42
  463. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/bufferContentTracker.js +0 -110
  464. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.js +0 -232
  465. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibilityHelp.js +0 -138
  466. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBuffer.js +0 -226
  467. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleWidget.js +0 -142
  468. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/textAreaSyncAddon.js +0 -98
  469. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkProviderService.js +0 -26
  470. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixService.js +0 -155
  471. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/media/typeHierarchy.css.js +0 -4
  472. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +0 -247
  473. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +0 -334
  474. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +0 -117
  475. package/vscode/src/vs/workbench/contrib/webview/browser/overlayWebview.js +0 -288
  476. package/vscode/src/vs/workbench/contrib/webview/browser/resourceLoading.js +0 -94
  477. package/vscode/src/vs/workbench/contrib/webview/browser/themeing.js +0 -86
  478. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +0 -640
  479. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindWidget.js +0 -63
  480. package/vscode/src/vs/workbench/contrib/webview/browser/webviewService.js +0 -57
  481. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +0 -120
  482. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +0 -119
  483. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +0 -61
  484. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +0 -232
  485. package/vscode/src/vs/workbench/contrib/workspace/browser/media/workspaceTrustEditor.css.js +0 -4
  486. package/vscode/src/vs/workbench/contrib/workspace/browser/workspace.contribution.js +0 -842
  487. package/vscode/src/vs/workbench/contrib/workspace/browser/workspaceTrustEditor.js +0 -1047
  488. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +0 -14
  489. package/vscode/src/vs/workbench/services/activity/browser/activityService.js +0 -94
  490. package/vscode/src/vs/workbench/services/configuration/browser/configuration.js +0 -878
  491. package/vscode/src/vs/workbench/services/configuration/browser/configurationService.js +0 -1170
  492. package/vscode/src/vs/workbench/services/configuration/common/configurationCache.js +0 -80
  493. package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.js +0 -589
  494. package/vscode/src/vs/workbench/services/configuration/common/configurationModels.js +0 -119
  495. package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +0 -303
  496. package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +0 -26
  497. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +0 -174
  498. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +0 -10
  499. package/vscode/src/vs/workbench/services/dialogs/browser/abstractFileDialogService.js +0 -320
  500. package/vscode/src/vs/workbench/services/dialogs/browser/simpleFileDialog.js +0 -989
  501. package/vscode/src/vs/workbench/services/dialogs/common/dialogService.js +0 -66
  502. package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +0 -622
  503. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.js +0 -4
  504. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +0 -2
  505. package/vscode/src/vs/workbench/services/history/browser/historyService.js +0 -1454
  506. package/vscode/src/vs/workbench/services/hover/browser/hoverService.js +0 -162
  507. package/vscode/src/vs/workbench/services/hover/browser/hoverWidget.js +0 -523
  508. package/vscode/src/vs/workbench/services/hover/browser/media/hover.css.js +0 -4
  509. package/vscode/src/vs/workbench/services/label/common/labelService.js +0 -412
  510. package/vscode/src/vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker.js +0 -173
  511. package/vscode/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +0 -259
  512. package/vscode/src/vs/workbench/services/lifecycle/browser/lifecycleService.js +0 -121
  513. package/vscode/src/vs/workbench/services/localization/common/locale.js +0 -3
  514. package/vscode/src/vs/workbench/services/notification/common/notificationService.js +0 -188
  515. package/vscode/src/vs/workbench/services/outline/browser/outlineService.js +0 -35
  516. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +0 -37
  517. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +0 -556
  518. package/vscode/src/vs/workbench/services/preferences/browser/preferencesService.js +0 -547
  519. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +0 -39
  520. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +0 -1039
  521. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +0 -393
  522. package/vscode/src/vs/workbench/services/remote/browser/remoteAgentService.js +0 -71
  523. package/vscode/src/vs/workbench/services/remote/common/abstractRemoteAgentService.js +0 -177
  524. package/vscode/src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.js +0 -51
  525. package/vscode/src/vs/workbench/services/remote/common/remoteFileSystemProviderClient.js +0 -38
  526. package/vscode/src/vs/workbench/services/search/common/queryBuilder.d.ts +0 -35
  527. package/vscode/src/vs/workbench/services/search/common/searchService.js +0 -370
  528. package/vscode/src/vs/workbench/services/storage/browser/storageService.d.ts +0 -40
  529. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +0 -280
  530. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +0 -4
  531. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +0 -10
  532. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +0 -98
  533. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +0 -399
  534. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +0 -83
  535. package/vscode/src/vs/workbench/services/textMate/browser/arrayOperation.js +0 -62
  536. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/textMateWorkerTokenizerController.js +0 -157
  537. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.js +0 -200
  538. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/worker/textMateTokenizationWorker.worker.js +0 -87
  539. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/worker/textMateWorkerTokenizer.js +0 -140
  540. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeature.d.ts +0 -11
  541. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +0 -459
  542. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/textMateTokenizationSupport.js +0 -72
  543. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/tokenizationSupportWithLineLimit.js +0 -36
  544. package/vscode/src/vs/workbench/services/textMate/common/TMGrammarFactory.js +0 -118
  545. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +0 -93
  546. package/vscode/src/vs/workbench/services/textMate/common/TMScopeRegistry.js +0 -24
  547. package/vscode/src/vs/workbench/services/textmodelResolver/common/textModelResolverService.js +0 -187
  548. package/vscode/src/vs/workbench/services/themes/browser/fileIconThemeData.js +0 -353
  549. package/vscode/src/vs/workbench/services/themes/browser/productIconThemeData.js +0 -290
  550. package/vscode/src/vs/workbench/services/themes/browser/workbenchThemeService.js +0 -742
  551. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +0 -864
  552. package/vscode/src/vs/workbench/services/themes/common/colorThemeSchema.js +0 -265
  553. package/vscode/src/vs/workbench/services/themes/common/fileIconThemeSchema.js +0 -303
  554. package/vscode/src/vs/workbench/services/themes/common/plistParser.js +0 -439
  555. package/vscode/src/vs/workbench/services/themes/common/productIconThemeSchema.js +0 -94
  556. package/vscode/src/vs/workbench/services/themes/common/textMateScopeMatcher.js +0 -120
  557. package/vscode/src/vs/workbench/services/themes/common/themeCompatibility.js +0 -66
  558. package/vscode/src/vs/workbench/services/themes/common/themeConfiguration.js +0 -372
  559. package/vscode/src/vs/workbench/services/themes/common/themeExtensionPoints.js +0 -254
  560. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +0 -689
  561. package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +0 -612
  562. package/vscode/src/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +0 -322
  563. package/vscode/src/vs/workbench/services/workspaces/browser/workspaceTrustEditorInput.js +0 -27
  564. package/vscode/src/vs/workbench/services/workspaces/browser/workspacesService.js +0 -151
  565. package/workers/languageDetection.worker.js +0 -8
  566. package/workers/outputLinkComputer.worker.js +0 -3
  567. package/workers/textmate.worker.js +0 -3
@@ -1,1569 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import './media/tabstitlecontrol.css.js';
3
- import { isWindows, isMacintosh } from 'monaco-editor/esm/vs/base/common/platform.js';
4
- import { shorten } from 'monaco-editor/esm/vs/base/common/labels.js';
5
- import { DEFAULT_EDITOR_ASSOCIATION, preventEditorClose, EditorResourceAccessor, SideBySideEditor, EditorCloseMethod } from '../../../common/editor.js';
6
- import { computeEditorAriaLabel } from '../../editor.js';
7
- import { StandardKeyboardEvent } from 'monaco-editor/esm/vs/base/browser/keyboardEvent.js';
8
- import { Gesture, EventType as EventType$1 } from 'monaco-editor/esm/vs/base/browser/touch.js';
9
- import { ResourceLabels, DEFAULT_LABELS_CONTAINER } from '../../labels.js';
10
- import { ActionBar } from 'monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js';
11
- import { IContextMenuService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
12
- import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
13
- import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
14
- import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
15
- import { MenuId, IMenuService } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
16
- import { TitleControl, EditorCommandsContextActionRunner } from './titleControl.js';
17
- import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
18
- import { MutableDisposable, DisposableStore, dispose, combinedDisposable, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
19
- import { ScrollableElement } from 'monaco-editor/esm/vs/base/browser/ui/scrollbar/scrollableElement.js';
20
- import { getOrSet } from 'monaco-editor/esm/vs/base/common/map.js';
21
- import { registerThemingParticipant, IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
22
- import { TAB_ACTIVE_BACKGROUND, TAB_INACTIVE_BACKGROUND, EDITOR_DRAG_AND_DROP_BACKGROUND, EDITOR_GROUP_HEADER_TABS_BORDER, TAB_BORDER, TAB_UNFOCUSED_ACTIVE_BACKGROUND, TAB_ACTIVE_BORDER, TAB_UNFOCUSED_ACTIVE_BORDER, TAB_ACTIVE_BORDER_TOP, TAB_UNFOCUSED_ACTIVE_BORDER_TOP, TAB_ACTIVE_FOREGROUND, TAB_UNFOCUSED_ACTIVE_FOREGROUND, TAB_UNFOCUSED_INACTIVE_BACKGROUND, TAB_INACTIVE_FOREGROUND, TAB_UNFOCUSED_INACTIVE_FOREGROUND, TAB_ACTIVE_MODIFIED_BORDER, TAB_INACTIVE_MODIFIED_BORDER, TAB_UNFOCUSED_ACTIVE_MODIFIED_BORDER, TAB_UNFOCUSED_INACTIVE_MODIFIED_BORDER, TAB_LAST_PINNED_BORDER, TAB_HOVER_BACKGROUND, TAB_UNFOCUSED_HOVER_BACKGROUND, TAB_HOVER_FOREGROUND, TAB_UNFOCUSED_HOVER_FOREGROUND, TAB_HOVER_BORDER, TAB_UNFOCUSED_HOVER_BORDER, EDITOR_GROUP_HEADER_TABS_BACKGROUND, WORKBENCH_BACKGROUND } from '../../../common/theme.js';
23
- import { activeContrastBorder, contrastBorder, editorBackground } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
24
- import { DraggedEditorIdentifier, DraggedEditorGroupIdentifier, extractTreeDropData, ResourcesDropHandler } from '../../dnd.js';
25
- import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
26
- import { IEditorGroupsService } from '../../../services/editor/common/editorGroupsService.js';
27
- import { Dimension, addDisposableListener, EventType, EventHelper, DragAndDropObserver, clearNode, scheduleAtNextAnimationFrame, findParentWithClass } from 'monaco-editor/esm/vs/base/browser/dom.js';
28
- import { localize } from 'monaco-editor/esm/vs/nls.js';
29
- import { CloseOneEditorAction, UnpinEditorAction } from './editorActions.js';
30
- import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
31
- import { BreadcrumbsControl } from './breadcrumbsControl.js';
32
- import { IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
33
- import { assertAllDefined, assertIsDefined } from 'monaco-editor/esm/vs/base/common/types.js';
34
- import { IEditorService } from '../../../services/editor/common/editorService.js';
35
- import { basenameOrAuthority } from 'monaco-editor/esm/vs/base/common/resources.js';
36
- import { RunOnceScheduler } from 'monaco-editor/esm/vs/base/common/async.js';
37
- import { IPathService } from '../../../services/path/common/pathService.js';
38
- import { win32, posix } from 'monaco-editor/esm/vs/base/common/path.js';
39
- import { insert, coalesce } from 'monaco-editor/esm/vs/base/common/arrays.js';
40
- import { isHighContrast } from 'monaco-editor/esm/vs/platform/theme/common/theme.js';
41
- import { isSafari } from 'monaco-editor/esm/vs/base/browser/browser.js';
42
- import { equals } from 'monaco-editor/esm/vs/base/common/objects.js';
43
- import { EditorActivation } from 'monaco-editor/esm/vs/platform/editor/common/editor.js';
44
- import { UNLOCK_GROUP_COMMAND_ID } from './editorCommands.js';
45
- import { StandardMouseEvent } from 'monaco-editor/esm/vs/base/browser/mouseEvent.js';
46
- import { ITreeViewsDnDService } from 'monaco-editor/esm/vs/editor/common/services/treeViewsDndService.js';
47
- import { DraggedTreeItemsIdentifier } from 'monaco-editor/esm/vs/editor/common/services/treeViewsDnd.js';
48
- import { IEditorResolverService } from '../../../services/editor/common/editorResolverService.js';
49
- var TabsTitleControl_1;
50
- let TabsTitleControl = class TabsTitleControl extends TitleControl {
51
- static { TabsTitleControl_1 = this; }
52
- static { this.SCROLLBAR_SIZES = {
53
- default: 3,
54
- large: 10
55
- }; }
56
- static { this.TAB_WIDTH = {
57
- compact: 38,
58
- shrink: 80,
59
- fit: 120
60
- }; }
61
- static { this.TAB_HEIGHT = 35; }
62
- static { this.DRAG_OVER_OPEN_TAB_THRESHOLD = 1500; }
63
- static { this.MOUSE_WHEEL_EVENT_THRESHOLD = 150; }
64
- static { this.MOUSE_WHEEL_DISTANCE_THRESHOLD = 1.5; }
65
- constructor(parent, accessor, group, contextMenuService, instantiationService, contextKeyService, keybindingService, notificationService, menuService, quickInputService, themeService, configurationService, fileService, editorService, pathService, editorGroupService, treeViewsDragAndDropService, editorResolverService) {
66
- super(parent, accessor, group, contextMenuService, instantiationService, contextKeyService, keybindingService, notificationService, menuService, quickInputService, themeService, configurationService, fileService, editorResolverService);
67
- this.editorService = editorService;
68
- this.pathService = pathService;
69
- this.editorGroupService = editorGroupService;
70
- this.treeViewsDragAndDropService = treeViewsDragAndDropService;
71
- this.closeEditorAction = this._register(this.instantiationService.createInstance(CloseOneEditorAction, CloseOneEditorAction.ID, CloseOneEditorAction.LABEL));
72
- this.unpinEditorAction = this._register(this.instantiationService.createInstance(UnpinEditorAction, UnpinEditorAction.ID, UnpinEditorAction.LABEL));
73
- this.tabResourceLabels = this._register(this.instantiationService.createInstance(ResourceLabels, DEFAULT_LABELS_CONTAINER));
74
- this.tabLabels = [];
75
- this.tabActionBars = [];
76
- this.tabDisposables = [];
77
- this.dimensions = {
78
- container: Dimension.None,
79
- available: Dimension.None
80
- };
81
- this.layoutScheduler = this._register(( new MutableDisposable()));
82
- this.path = isWindows ? win32 : posix;
83
- this.lastMouseWheelEventTime = 0;
84
- this.isMouseOverTabs = false;
85
- this.updateEditorLabelScheduler = this._register(( new RunOnceScheduler(() => this.doUpdateEditorLabels(), 0)));
86
- (async () => this.path = await this.pathService.path)();
87
- this._register(this.tabResourceLabels.onDidChangeDecorations(() => this.doHandleDecorationsChange()));
88
- }
89
- create(parent) {
90
- this.titleContainer = parent;
91
- this.tabsAndActionsContainer = document.createElement('div');
92
- this.tabsAndActionsContainer.classList.add('tabs-and-actions-container');
93
- this.titleContainer.appendChild(this.tabsAndActionsContainer);
94
- this.tabsContainer = document.createElement('div');
95
- this.tabsContainer.setAttribute('role', 'tablist');
96
- this.tabsContainer.draggable = true;
97
- this.tabsContainer.classList.add('tabs-container');
98
- this._register(Gesture.addTarget(this.tabsContainer));
99
- this.tabSizingFixedDisposables = this._register(( new DisposableStore()));
100
- this.updateTabSizing(false);
101
- this.tabsScrollbar = this.createTabsScrollbar(this.tabsContainer);
102
- this.tabsAndActionsContainer.appendChild(this.tabsScrollbar.getDomNode());
103
- this.registerTabsContainerListeners(this.tabsContainer, this.tabsScrollbar);
104
- this.editorToolbarContainer = document.createElement('div');
105
- this.editorToolbarContainer.classList.add('editor-actions');
106
- this.tabsAndActionsContainer.appendChild(this.editorToolbarContainer);
107
- this.createEditorActionsToolBar(this.editorToolbarContainer);
108
- const breadcrumbsContainer = document.createElement('div');
109
- breadcrumbsContainer.classList.add('tabs-breadcrumbs');
110
- this.titleContainer.appendChild(breadcrumbsContainer);
111
- this.createBreadcrumbsControl(breadcrumbsContainer, { showFileIcons: true, showSymbolIcons: true, showDecorationColors: false, showPlaceholder: true });
112
- }
113
- createTabsScrollbar(scrollable) {
114
- const tabsScrollbar = this._register(( new ScrollableElement(scrollable, {
115
- horizontal: 1 ,
116
- horizontalScrollbarSize: this.getTabsScrollbarSizing(),
117
- vertical: 2 ,
118
- scrollYToX: true,
119
- useShadows: false
120
- })));
121
- this._register(tabsScrollbar.onScroll(e => {
122
- if (e.scrollLeftChanged) {
123
- scrollable.scrollLeft = e.scrollLeft;
124
- }
125
- }));
126
- return tabsScrollbar;
127
- }
128
- updateTabsScrollbarSizing() {
129
- this.tabsScrollbar?.updateOptions({
130
- horizontalScrollbarSize: this.getTabsScrollbarSizing()
131
- });
132
- }
133
- updateTabSizing(fromEvent) {
134
- const [tabsContainer, tabSizingFixedDisposables] = assertAllDefined(this.tabsContainer, this.tabSizingFixedDisposables);
135
- tabSizingFixedDisposables.clear();
136
- const options = this.accessor.partOptions;
137
- if (options.tabSizing === 'fixed') {
138
- tabsContainer.style.setProperty('--tab-sizing-fixed-min-width', `${options.tabSizingFixedMinWidth}px`);
139
- tabsContainer.style.setProperty('--tab-sizing-fixed-max-width', `${options.tabSizingFixedMaxWidth}px`);
140
- tabSizingFixedDisposables.add(addDisposableListener(tabsContainer, EventType.MOUSE_ENTER, () => {
141
- this.isMouseOverTabs = true;
142
- }));
143
- tabSizingFixedDisposables.add(addDisposableListener(tabsContainer, EventType.MOUSE_LEAVE, () => {
144
- this.isMouseOverTabs = false;
145
- this.updateTabsFixedWidth(false);
146
- }));
147
- }
148
- else if (fromEvent) {
149
- tabsContainer.style.removeProperty('--tab-sizing-fixed-min-width');
150
- tabsContainer.style.removeProperty('--tab-sizing-fixed-max-width');
151
- this.updateTabsFixedWidth(false);
152
- }
153
- }
154
- updateTabsFixedWidth(fixed) {
155
- this.forEachTab((editor, index, tabContainer) => {
156
- if (fixed) {
157
- const { width } = tabContainer.getBoundingClientRect();
158
- tabContainer.style.setProperty('--tab-sizing-current-width', `${width}px`);
159
- }
160
- else {
161
- tabContainer.style.removeProperty('--tab-sizing-current-width');
162
- }
163
- });
164
- }
165
- getTabsScrollbarSizing() {
166
- if (this.accessor.partOptions.titleScrollbarSizing !== 'large') {
167
- return TabsTitleControl_1.SCROLLBAR_SIZES.default;
168
- }
169
- return TabsTitleControl_1.SCROLLBAR_SIZES.large;
170
- }
171
- registerTabsContainerListeners(tabsContainer, tabsScrollbar) {
172
- this.enableGroupDragging(tabsContainer);
173
- this._register(addDisposableListener(tabsContainer, EventType.SCROLL, () => {
174
- if (tabsContainer.classList.contains('scroll')) {
175
- tabsScrollbar.setScrollPosition({
176
- scrollLeft: tabsContainer.scrollLeft
177
- });
178
- }
179
- }));
180
- for (const eventType of [EventType$1.Tap, EventType.DBLCLICK]) {
181
- this._register(addDisposableListener(tabsContainer, eventType, (e) => {
182
- if (eventType === EventType.DBLCLICK) {
183
- if (e.target !== tabsContainer) {
184
- return;
185
- }
186
- }
187
- else {
188
- if (e.tapCount !== 2) {
189
- return;
190
- }
191
- if (e.initialTarget !== tabsContainer) {
192
- return;
193
- }
194
- }
195
- EventHelper.stop(e);
196
- this.editorService.openEditor({
197
- resource: undefined,
198
- options: {
199
- pinned: true,
200
- index: this.group.count,
201
- override: DEFAULT_EDITOR_ASSOCIATION.id
202
- }
203
- }, this.group.id);
204
- }));
205
- }
206
- this._register(addDisposableListener(tabsContainer, EventType.MOUSE_DOWN, e => {
207
- if (e.button === 1) {
208
- e.preventDefault();
209
- }
210
- }));
211
- this._register(( new DragAndDropObserver(tabsContainer, {
212
- onDragEnter: e => {
213
- tabsContainer.classList.add('scroll');
214
- if (e.target !== tabsContainer) {
215
- this.updateDropFeedback(tabsContainer, false);
216
- return;
217
- }
218
- if (!this.isSupportedDropTransfer(e)) {
219
- if (e.dataTransfer) {
220
- e.dataTransfer.dropEffect = 'none';
221
- }
222
- return;
223
- }
224
- let isLocalDragAndDrop = false;
225
- if (this.editorTransfer.hasData(DraggedEditorIdentifier.prototype)) {
226
- isLocalDragAndDrop = true;
227
- const data = this.editorTransfer.getData(DraggedEditorIdentifier.prototype);
228
- if (Array.isArray(data)) {
229
- const localDraggedEditor = data[0].identifier;
230
- if (this.group.id === localDraggedEditor.groupId && this.group.getIndexOfEditor(localDraggedEditor.editor) === this.group.count - 1) {
231
- if (e.dataTransfer) {
232
- e.dataTransfer.dropEffect = 'none';
233
- }
234
- return;
235
- }
236
- }
237
- }
238
- if (!isLocalDragAndDrop) {
239
- if (e.dataTransfer) {
240
- e.dataTransfer.dropEffect = 'copy';
241
- }
242
- }
243
- this.updateDropFeedback(tabsContainer, true);
244
- },
245
- onDragLeave: e => {
246
- this.updateDropFeedback(tabsContainer, false);
247
- tabsContainer.classList.remove('scroll');
248
- },
249
- onDragEnd: e => {
250
- this.updateDropFeedback(tabsContainer, false);
251
- tabsContainer.classList.remove('scroll');
252
- },
253
- onDrop: e => {
254
- this.updateDropFeedback(tabsContainer, false);
255
- tabsContainer.classList.remove('scroll');
256
- if (e.target === tabsContainer) {
257
- this.onDrop(e, this.group.count, tabsContainer);
258
- }
259
- }
260
- })));
261
- this._register(addDisposableListener(tabsContainer, EventType.MOUSE_WHEEL, (e) => {
262
- const activeEditor = this.group.activeEditor;
263
- if (!activeEditor || this.group.count < 2) {
264
- return;
265
- }
266
- if (this.accessor.partOptions.scrollToSwitchTabs === true) {
267
- if (e.shiftKey) {
268
- return;
269
- }
270
- }
271
- else {
272
- if (!e.shiftKey) {
273
- return;
274
- }
275
- }
276
- const now = Date.now();
277
- if (now - this.lastMouseWheelEventTime < TabsTitleControl_1.MOUSE_WHEEL_EVENT_THRESHOLD - 2 * (Math.abs(e.deltaX) + Math.abs(e.deltaY))) {
278
- return;
279
- }
280
- this.lastMouseWheelEventTime = now;
281
- let tabSwitchDirection;
282
- if (e.deltaX + e.deltaY < -TabsTitleControl_1.MOUSE_WHEEL_DISTANCE_THRESHOLD) {
283
- tabSwitchDirection = -1;
284
- }
285
- else if (e.deltaX + e.deltaY > TabsTitleControl_1.MOUSE_WHEEL_DISTANCE_THRESHOLD) {
286
- tabSwitchDirection = 1;
287
- }
288
- else {
289
- return;
290
- }
291
- const nextEditor = this.group.getEditorByIndex(this.group.getIndexOfEditor(activeEditor) + tabSwitchDirection);
292
- if (!nextEditor) {
293
- return;
294
- }
295
- this.group.openEditor(nextEditor);
296
- EventHelper.stop(e, true);
297
- }));
298
- const showContextMenu = (e) => {
299
- EventHelper.stop(e);
300
- let anchor = tabsContainer;
301
- if (e instanceof MouseEvent) {
302
- anchor = ( new StandardMouseEvent(e));
303
- }
304
- this.contextMenuService.showContextMenu({
305
- getAnchor: () => anchor,
306
- menuId: MenuId.EditorTabsBarContext,
307
- contextKeyService: this.contextKeyService,
308
- menuActionOptions: { shouldForwardArgs: true },
309
- getActionsContext: () => ({ groupId: this.group.id }),
310
- getKeyBinding: action => this.getKeybinding(action),
311
- onHide: () => this.group.focus()
312
- });
313
- };
314
- this._register(addDisposableListener(tabsContainer, EventType$1.Contextmenu, e => showContextMenu(e)));
315
- this._register(addDisposableListener(tabsContainer, EventType.CONTEXT_MENU, e => showContextMenu(e)));
316
- }
317
- doHandleDecorationsChange() {
318
- this.layout(this.dimensions);
319
- }
320
- updateEditorActionsToolbar() {
321
- super.updateEditorActionsToolbar();
322
- this.layout(this.dimensions);
323
- }
324
- openEditor(editor) {
325
- this.handleOpenedEditors();
326
- }
327
- openEditors(editors) {
328
- this.handleOpenedEditors();
329
- }
330
- handleOpenedEditors() {
331
- const [tabsContainer, tabsScrollbar] = assertAllDefined(this.tabsContainer, this.tabsScrollbar);
332
- for (let i = tabsContainer.children.length; i < this.group.count; i++) {
333
- tabsContainer.appendChild(this.createTab(i, tabsContainer, tabsScrollbar));
334
- }
335
- const activeEditorChanged = this.didActiveEditorChange();
336
- const oldActiveTabLabel = this.activeTabLabel;
337
- const oldTabLabelsLength = this.tabLabels.length;
338
- this.computeTabLabels();
339
- if (activeEditorChanged ||
340
- oldTabLabelsLength !== this.tabLabels.length ||
341
- !this.equalsEditorInputLabel(oldActiveTabLabel, this.activeTabLabel)
342
- ) {
343
- this.redraw({ forceRevealActiveTab: true });
344
- this.breadcrumbsControl?.update();
345
- }
346
- else {
347
- this.layout(this.dimensions, { forceRevealActiveTab: true });
348
- this.breadcrumbsControl?.revealLast();
349
- }
350
- }
351
- didActiveEditorChange() {
352
- if (!this.activeTabLabel?.editor && this.group.activeEditor ||
353
- this.activeTabLabel?.editor && !this.group.activeEditor ||
354
- (!this.activeTabLabel?.editor || !this.group.isActive(this.activeTabLabel.editor))
355
- ) {
356
- return true;
357
- }
358
- return false;
359
- }
360
- equalsEditorInputLabel(labelA, labelB) {
361
- if (labelA === labelB) {
362
- return true;
363
- }
364
- if (!labelA || !labelB) {
365
- return false;
366
- }
367
- return labelA.name === labelB.name &&
368
- labelA.description === labelB.description &&
369
- labelA.forceDescription === labelB.forceDescription &&
370
- labelA.title === labelB.title &&
371
- labelA.ariaLabel === labelB.ariaLabel;
372
- }
373
- beforeCloseEditor(editor) {
374
- if (this.isMouseOverTabs && this.accessor.partOptions.tabSizing === 'fixed') {
375
- const closingLastTab = this.group.isLast(editor);
376
- this.updateTabsFixedWidth(!closingLastTab);
377
- }
378
- }
379
- closeEditor(editor) {
380
- this.handleClosedEditors();
381
- }
382
- closeEditors(editors) {
383
- this.handleClosedEditors();
384
- }
385
- handleClosedEditors() {
386
- if (this.group.activeEditor) {
387
- const tabsContainer = assertIsDefined(this.tabsContainer);
388
- while (tabsContainer.children.length > this.group.count) {
389
- tabsContainer.lastChild?.remove();
390
- dispose(this.tabDisposables.pop());
391
- }
392
- this.computeTabLabels();
393
- this.redraw({ forceRevealActiveTab: true });
394
- }
395
- else {
396
- if (this.tabsContainer) {
397
- clearNode(this.tabsContainer);
398
- }
399
- this.tabDisposables = dispose(this.tabDisposables);
400
- this.tabResourceLabels.clear();
401
- this.tabLabels = [];
402
- this.activeTabLabel = undefined;
403
- this.tabActionBars = [];
404
- this.clearEditorActionsToolbar();
405
- this.breadcrumbsControl?.update();
406
- }
407
- }
408
- moveEditor(editor, fromIndex, targetIndex) {
409
- const editorLabel = this.tabLabels[fromIndex];
410
- this.tabLabels.splice(fromIndex, 1);
411
- this.tabLabels.splice(targetIndex, 0, editorLabel);
412
- this.forEachTab((editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar) => {
413
- this.redrawTab(editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar);
414
- }, Math.min(fromIndex, targetIndex),
415
- Math.max(fromIndex, targetIndex)
416
- );
417
- this.layout(this.dimensions, { forceRevealActiveTab: true });
418
- }
419
- pinEditor(editor) {
420
- this.withTab(editor, (editor, index, tabContainer, tabLabelWidget, tabLabel) => this.redrawTabLabel(editor, index, tabContainer, tabLabelWidget, tabLabel));
421
- }
422
- stickEditor(editor) {
423
- this.doHandleStickyEditorChange(editor);
424
- }
425
- unstickEditor(editor) {
426
- this.doHandleStickyEditorChange(editor);
427
- }
428
- doHandleStickyEditorChange(editor) {
429
- this.withTab(editor, (editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar) => this.redrawTab(editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar));
430
- this.forEachTab((editor, index, tabContainer, tabLabelWidget, tabLabel) => {
431
- this.redrawTabBorders(index, tabContainer);
432
- });
433
- this.layout(this.dimensions, { forceRevealActiveTab: true });
434
- }
435
- setActive(isGroupActive) {
436
- this.forEachTab((editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar) => {
437
- this.redrawTabActiveAndDirty(isGroupActive, editor, tabContainer, tabActionBar);
438
- });
439
- this.updateEditorActionsToolbar();
440
- this.layout(this.dimensions, { forceRevealActiveTab: true });
441
- }
442
- updateEditorLabel(editor) {
443
- this.updateEditorLabelScheduler.schedule();
444
- }
445
- doUpdateEditorLabels() {
446
- this.computeTabLabels();
447
- this.forEachTab((editor, index, tabContainer, tabLabelWidget, tabLabel) => {
448
- this.redrawTabLabel(editor, index, tabContainer, tabLabelWidget, tabLabel);
449
- });
450
- this.layout(this.dimensions);
451
- }
452
- updateEditorDirty(editor) {
453
- this.withTab(editor, (editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar) => this.redrawTabActiveAndDirty(this.accessor.activeGroup === this.group, editor, tabContainer, tabActionBar));
454
- }
455
- updateOptions(oldOptions, newOptions) {
456
- if (oldOptions.labelFormat !== newOptions.labelFormat) {
457
- this.computeTabLabels();
458
- }
459
- if (oldOptions.titleScrollbarSizing !== newOptions.titleScrollbarSizing) {
460
- this.updateTabsScrollbarSizing();
461
- }
462
- if (oldOptions.tabSizingFixedMinWidth !== newOptions.tabSizingFixedMinWidth ||
463
- oldOptions.tabSizingFixedMaxWidth !== newOptions.tabSizingFixedMaxWidth ||
464
- oldOptions.tabSizing !== newOptions.tabSizing) {
465
- this.updateTabSizing(true);
466
- }
467
- if (oldOptions.labelFormat !== newOptions.labelFormat ||
468
- oldOptions.tabCloseButton !== newOptions.tabCloseButton ||
469
- oldOptions.tabSizing !== newOptions.tabSizing ||
470
- oldOptions.pinnedTabSizing !== newOptions.pinnedTabSizing ||
471
- oldOptions.showIcons !== newOptions.showIcons ||
472
- oldOptions.hasIcons !== newOptions.hasIcons ||
473
- oldOptions.highlightModifiedTabs !== newOptions.highlightModifiedTabs ||
474
- oldOptions.wrapTabs !== newOptions.wrapTabs ||
475
- !equals(oldOptions.decorations, newOptions.decorations)) {
476
- this.redraw();
477
- }
478
- }
479
- updateStyles() {
480
- this.redraw();
481
- }
482
- forEachTab(fn, fromIndex, toIndex) {
483
- this.group.editors.forEach((editor, index) => {
484
- if (typeof fromIndex === 'number' && fromIndex > index) {
485
- return;
486
- }
487
- if (typeof toIndex === 'number' && toIndex < index) {
488
- return;
489
- }
490
- this.doWithTab(index, editor, fn);
491
- });
492
- }
493
- withTab(editor, fn) {
494
- this.doWithTab(this.group.getIndexOfEditor(editor), editor, fn);
495
- }
496
- doWithTab(index, editor, fn) {
497
- const tabsContainer = assertIsDefined(this.tabsContainer);
498
- const tabContainer = tabsContainer.children[index];
499
- const tabResourceLabel = this.tabResourceLabels.get(index);
500
- const tabLabel = this.tabLabels[index];
501
- const tabActionBar = this.tabActionBars[index];
502
- if (tabContainer && tabResourceLabel && tabLabel) {
503
- fn(editor, index, tabContainer, tabResourceLabel, tabLabel, tabActionBar);
504
- }
505
- }
506
- createTab(index, tabsContainer, tabsScrollbar) {
507
- const tabContainer = document.createElement('div');
508
- tabContainer.draggable = true;
509
- tabContainer.setAttribute('role', 'tab');
510
- tabContainer.classList.add('tab');
511
- this._register(Gesture.addTarget(tabContainer));
512
- const tabBorderTopContainer = document.createElement('div');
513
- tabBorderTopContainer.classList.add('tab-border-top-container');
514
- tabContainer.appendChild(tabBorderTopContainer);
515
- const editorLabel = this.tabResourceLabels.create(tabContainer);
516
- const tabActionsContainer = document.createElement('div');
517
- tabActionsContainer.classList.add('tab-actions');
518
- tabContainer.appendChild(tabActionsContainer);
519
- const tabActionRunner = ( new EditorCommandsContextActionRunner({ groupId: this.group.id, editorIndex: index }));
520
- const tabActionBar = ( new ActionBar(tabActionsContainer, { ariaLabel: ( localize('ariaLabelTabActions', "Tab actions")), actionRunner: tabActionRunner }));
521
- tabActionBar.onWillRun(e => {
522
- if (e.action.id === this.closeEditorAction.id) {
523
- this.blockRevealActiveTabOnce();
524
- }
525
- });
526
- const tabActionBarDisposable = combinedDisposable(tabActionBar, toDisposable(insert(this.tabActionBars, tabActionBar)));
527
- const tabBorderBottomContainer = document.createElement('div');
528
- tabBorderBottomContainer.classList.add('tab-border-bottom-container');
529
- tabContainer.appendChild(tabBorderBottomContainer);
530
- const eventsDisposable = this.registerTabListeners(tabContainer, index, tabsContainer, tabsScrollbar);
531
- this.tabDisposables.push(combinedDisposable(eventsDisposable, tabActionBarDisposable, tabActionRunner, editorLabel));
532
- return tabContainer;
533
- }
534
- registerTabListeners(tab, index, tabsContainer, tabsScrollbar) {
535
- const disposables = ( new DisposableStore());
536
- const handleClickOrTouch = (e, preserveFocus) => {
537
- tab.blur();
538
- if (e instanceof MouseEvent && (e.button !== 0 || ((isMacintosh && e.ctrlKey) ))) {
539
- if (e.button === 1) {
540
- e.preventDefault();
541
- }
542
- return undefined;
543
- }
544
- if (this.originatesFromTabActionBar(e)) {
545
- return;
546
- }
547
- const editor = this.group.getEditorByIndex(index);
548
- if (editor) {
549
- this.group.openEditor(editor, { preserveFocus, activation: EditorActivation.ACTIVATE });
550
- }
551
- return undefined;
552
- };
553
- const showContextMenu = (e) => {
554
- EventHelper.stop(e);
555
- const editor = this.group.getEditorByIndex(index);
556
- if (editor) {
557
- this.onContextMenu(editor, e, tab);
558
- }
559
- };
560
- disposables.add(addDisposableListener(tab, EventType.MOUSE_DOWN, e => handleClickOrTouch(e, false)));
561
- disposables.add(addDisposableListener(tab, EventType$1.Tap, (e) => handleClickOrTouch(e, true)));
562
- disposables.add(addDisposableListener(tab, EventType$1.Change, (e) => {
563
- tabsScrollbar.setScrollPosition({ scrollLeft: tabsScrollbar.getScrollPosition().scrollLeft - e.translationX });
564
- }));
565
- disposables.add(addDisposableListener(tab, EventType.MOUSE_UP, e => {
566
- EventHelper.stop(e);
567
- tab.blur();
568
- }));
569
- disposables.add(addDisposableListener(tab, EventType.AUXCLICK, e => {
570
- if (e.button === 1 ) {
571
- EventHelper.stop(e, true );
572
- const editor = this.group.getEditorByIndex(index);
573
- if (editor && preventEditorClose(this.group, editor, EditorCloseMethod.MOUSE, this.accessor.partOptions)) {
574
- return;
575
- }
576
- this.blockRevealActiveTabOnce();
577
- this.closeEditorAction.run({ groupId: this.group.id, editorIndex: index });
578
- }
579
- }));
580
- disposables.add(addDisposableListener(tab, EventType.KEY_DOWN, e => {
581
- const event = ( new StandardKeyboardEvent(e));
582
- if (event.shiftKey && event.keyCode === 68 ) {
583
- showContextMenu(e);
584
- }
585
- }));
586
- disposables.add(addDisposableListener(tab, EventType$1.Contextmenu, (e) => {
587
- showContextMenu(e);
588
- }));
589
- disposables.add(addDisposableListener(tab, EventType.KEY_UP, e => {
590
- const event = ( new StandardKeyboardEvent(e));
591
- let handled = false;
592
- if (event.equals(3 ) || event.equals(10 )) {
593
- handled = true;
594
- const editor = this.group.getEditorByIndex(index);
595
- if (editor) {
596
- this.group.openEditor(editor);
597
- }
598
- }
599
- else if (( [15 , 17 , 16 , 18 , 14 , 13 ].some(kb => event.equals(kb)))) {
600
- let targetIndex;
601
- if (event.equals(15 ) || event.equals(16 )) {
602
- targetIndex = index - 1;
603
- }
604
- else if (event.equals(17 ) || event.equals(18 )) {
605
- targetIndex = index + 1;
606
- }
607
- else if (event.equals(14 )) {
608
- targetIndex = 0;
609
- }
610
- else {
611
- targetIndex = this.group.count - 1;
612
- }
613
- const target = this.group.getEditorByIndex(targetIndex);
614
- if (target) {
615
- handled = true;
616
- this.group.openEditor(target, { preserveFocus: true });
617
- tabsContainer.childNodes[targetIndex].focus();
618
- }
619
- }
620
- if (handled) {
621
- EventHelper.stop(e, true);
622
- }
623
- tabsScrollbar.setScrollPosition({
624
- scrollLeft: tabsContainer.scrollLeft
625
- });
626
- }));
627
- for (const eventType of [EventType$1.Tap, EventType.DBLCLICK]) {
628
- disposables.add(addDisposableListener(tab, eventType, (e) => {
629
- if (eventType === EventType.DBLCLICK) {
630
- EventHelper.stop(e);
631
- }
632
- else if (e.tapCount !== 2) {
633
- return;
634
- }
635
- const editor = this.group.getEditorByIndex(index);
636
- if (editor && this.group.isPinned(editor)) {
637
- if (this.accessor.partOptions.doubleClickTabToToggleEditorGroupSizes) {
638
- this.accessor.arrangeGroups(2 , this.group);
639
- }
640
- }
641
- else {
642
- this.group.pinEditor(editor);
643
- }
644
- }));
645
- }
646
- disposables.add(addDisposableListener(tab, EventType.CONTEXT_MENU, e => {
647
- EventHelper.stop(e, true);
648
- const editor = this.group.getEditorByIndex(index);
649
- if (editor) {
650
- this.onContextMenu(editor, e, tab);
651
- }
652
- }, true ));
653
- disposables.add(addDisposableListener(tab, EventType.DRAG_START, e => {
654
- const editor = this.group.getEditorByIndex(index);
655
- if (!editor) {
656
- return;
657
- }
658
- this.editorTransfer.setData([( new DraggedEditorIdentifier({ editor, groupId: this.group.id }))], DraggedEditorIdentifier.prototype);
659
- if (e.dataTransfer) {
660
- e.dataTransfer.effectAllowed = 'copyMove';
661
- }
662
- this.doFillResourceDataTransfers([editor], e);
663
- tab.classList.add('dragged');
664
- scheduleAtNextAnimationFrame(() => tab.classList.remove('dragged'));
665
- }));
666
- disposables.add(( new DragAndDropObserver(tab, {
667
- onDragEnter: e => {
668
- tab.classList.add('dragged-over');
669
- if (!this.isSupportedDropTransfer(e)) {
670
- if (e.dataTransfer) {
671
- e.dataTransfer.dropEffect = 'none';
672
- }
673
- return;
674
- }
675
- let isLocalDragAndDrop = false;
676
- if (this.editorTransfer.hasData(DraggedEditorIdentifier.prototype)) {
677
- isLocalDragAndDrop = true;
678
- const data = this.editorTransfer.getData(DraggedEditorIdentifier.prototype);
679
- if (Array.isArray(data)) {
680
- const localDraggedEditor = data[0].identifier;
681
- if (localDraggedEditor.editor === this.group.getEditorByIndex(index) && localDraggedEditor.groupId === this.group.id) {
682
- if (e.dataTransfer) {
683
- e.dataTransfer.dropEffect = 'none';
684
- }
685
- return;
686
- }
687
- }
688
- }
689
- if (!isLocalDragAndDrop) {
690
- if (e.dataTransfer) {
691
- e.dataTransfer.dropEffect = 'copy';
692
- }
693
- }
694
- this.updateDropFeedback(tab, true, index);
695
- },
696
- onDragOver: (_, dragDuration) => {
697
- if (dragDuration >= TabsTitleControl_1.DRAG_OVER_OPEN_TAB_THRESHOLD) {
698
- const draggedOverTab = this.group.getEditorByIndex(index);
699
- if (draggedOverTab && this.group.activeEditor !== draggedOverTab) {
700
- this.group.openEditor(draggedOverTab, { preserveFocus: true });
701
- }
702
- }
703
- },
704
- onDragLeave: () => {
705
- tab.classList.remove('dragged-over');
706
- this.updateDropFeedback(tab, false, index);
707
- },
708
- onDragEnd: () => {
709
- tab.classList.remove('dragged-over');
710
- this.updateDropFeedback(tab, false, index);
711
- this.editorTransfer.clearData(DraggedEditorIdentifier.prototype);
712
- },
713
- onDrop: e => {
714
- tab.classList.remove('dragged-over');
715
- this.updateDropFeedback(tab, false, index);
716
- this.onDrop(e, index, tabsContainer);
717
- }
718
- })));
719
- return disposables;
720
- }
721
- isSupportedDropTransfer(e) {
722
- if (this.groupTransfer.hasData(DraggedEditorGroupIdentifier.prototype)) {
723
- const data = this.groupTransfer.getData(DraggedEditorGroupIdentifier.prototype);
724
- if (Array.isArray(data)) {
725
- const group = data[0];
726
- if (group.identifier === this.group.id) {
727
- return false;
728
- }
729
- }
730
- return true;
731
- }
732
- if (this.editorTransfer.hasData(DraggedEditorIdentifier.prototype)) {
733
- return true;
734
- }
735
- if (e.dataTransfer && e.dataTransfer.types.length > 0) {
736
- return true;
737
- }
738
- return false;
739
- }
740
- updateDropFeedback(element, isDND, index) {
741
- const isTab = (typeof index === 'number');
742
- const editor = typeof index === 'number' ? this.group.getEditorByIndex(index) : undefined;
743
- const isActiveTab = isTab && !!editor && this.group.isActive(editor);
744
- const noDNDBackgroundColor = isTab ? this.getColor(isActiveTab ? TAB_ACTIVE_BACKGROUND : TAB_INACTIVE_BACKGROUND) : '';
745
- element.style.backgroundColor = (isDND ? this.getColor(EDITOR_DRAG_AND_DROP_BACKGROUND) : noDNDBackgroundColor) || '';
746
- const activeContrastBorderColor = this.getColor(activeContrastBorder);
747
- if (activeContrastBorderColor && isDND) {
748
- element.style.outlineWidth = '2px';
749
- element.style.outlineStyle = 'dashed';
750
- element.style.outlineColor = activeContrastBorderColor;
751
- element.style.outlineOffset = isTab ? '-5px' : '-3px';
752
- }
753
- else {
754
- element.style.outlineWidth = '';
755
- element.style.outlineStyle = '';
756
- element.style.outlineColor = activeContrastBorderColor || '';
757
- element.style.outlineOffset = '';
758
- }
759
- }
760
- computeTabLabels() {
761
- const { labelFormat } = this.accessor.partOptions;
762
- const { verbosity, shortenDuplicates } = this.getLabelConfigFlags(labelFormat);
763
- const labels = [];
764
- let activeEditorIndex = -1;
765
- for (let i = 0; i < this.group.editors.length; i++) {
766
- const editor = this.group.editors[i];
767
- labels.push({
768
- editor,
769
- name: editor.getName(),
770
- description: editor.getDescription(verbosity),
771
- forceDescription: editor.hasCapability(64 ),
772
- title: editor.getTitle(2 ),
773
- ariaLabel: computeEditorAriaLabel(editor, i, this.group, this.editorGroupService.count)
774
- });
775
- if (editor === this.group.activeEditor) {
776
- activeEditorIndex = i;
777
- }
778
- }
779
- if (shortenDuplicates) {
780
- this.shortenTabLabels(labels);
781
- }
782
- this.tabLabels = labels;
783
- this.activeTabLabel = labels[activeEditorIndex];
784
- }
785
- shortenTabLabels(labels) {
786
- const mapNameToDuplicates = ( new Map());
787
- for (const label of labels) {
788
- if (typeof label.description === 'string') {
789
- getOrSet(mapNameToDuplicates, label.name, []).push(label);
790
- }
791
- else {
792
- label.description = '';
793
- }
794
- }
795
- for (const [, duplicateLabels] of mapNameToDuplicates) {
796
- if (duplicateLabels.length === 1 && !duplicateLabels[0].forceDescription) {
797
- duplicateLabels[0].description = '';
798
- continue;
799
- }
800
- const mapDescriptionToDuplicates = ( new Map());
801
- for (const duplicateLabel of duplicateLabels) {
802
- getOrSet(mapDescriptionToDuplicates, duplicateLabel.description, []).push(duplicateLabel);
803
- }
804
- let useLongDescriptions = false;
805
- for (const [, duplicateLabels] of mapDescriptionToDuplicates) {
806
- if (!useLongDescriptions && duplicateLabels.length > 1) {
807
- const [first, ...rest] = ( duplicateLabels.map(({ editor }) => editor.getDescription(2 )));
808
- useLongDescriptions = ( rest.some(description => description !== first));
809
- }
810
- }
811
- if (useLongDescriptions) {
812
- mapDescriptionToDuplicates.clear();
813
- for (const duplicateLabel of duplicateLabels) {
814
- duplicateLabel.description = duplicateLabel.editor.getDescription(2 );
815
- getOrSet(mapDescriptionToDuplicates, duplicateLabel.description, []).push(duplicateLabel);
816
- }
817
- }
818
- const descriptions = [];
819
- for (const [description] of mapDescriptionToDuplicates) {
820
- descriptions.push(description);
821
- }
822
- if (descriptions.length === 1) {
823
- for (const label of mapDescriptionToDuplicates.get(descriptions[0]) || []) {
824
- if (!label.forceDescription) {
825
- label.description = '';
826
- }
827
- }
828
- continue;
829
- }
830
- const shortenedDescriptions = shorten(descriptions, this.path.sep);
831
- descriptions.forEach((description, index) => {
832
- for (const label of mapDescriptionToDuplicates.get(description) || []) {
833
- label.description = shortenedDescriptions[index];
834
- }
835
- });
836
- }
837
- }
838
- getLabelConfigFlags(value) {
839
- switch (value) {
840
- case 'short':
841
- return { verbosity: 0 , shortenDuplicates: false };
842
- case 'medium':
843
- return { verbosity: 1 , shortenDuplicates: false };
844
- case 'long':
845
- return { verbosity: 2 , shortenDuplicates: false };
846
- default:
847
- return { verbosity: 1 , shortenDuplicates: true };
848
- }
849
- }
850
- redraw(options) {
851
- if (this.tabsAndActionsContainer) {
852
- let tabsContainerBorderColor = this.getColor(EDITOR_GROUP_HEADER_TABS_BORDER);
853
- if (!tabsContainerBorderColor && isHighContrast(this.theme.type)) {
854
- tabsContainerBorderColor = this.getColor(TAB_BORDER) || this.getColor(contrastBorder);
855
- }
856
- if (tabsContainerBorderColor) {
857
- this.tabsAndActionsContainer.classList.add('tabs-border-bottom');
858
- this.tabsAndActionsContainer.style.setProperty('--tabs-border-bottom-color', ( tabsContainerBorderColor.toString()));
859
- }
860
- else {
861
- this.tabsAndActionsContainer.classList.remove('tabs-border-bottom');
862
- this.tabsAndActionsContainer.style.removeProperty('--tabs-border-bottom-color');
863
- }
864
- }
865
- this.forEachTab((editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar) => {
866
- this.redrawTab(editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar);
867
- });
868
- this.updateEditorActionsToolbar();
869
- this.layout(this.dimensions, options);
870
- }
871
- redrawTab(editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar) {
872
- const isTabSticky = this.group.isSticky(index);
873
- const options = this.accessor.partOptions;
874
- this.redrawTabLabel(editor, index, tabContainer, tabLabelWidget, tabLabel);
875
- const tabAction = isTabSticky ? this.unpinEditorAction : this.closeEditorAction;
876
- if (!tabActionBar.hasAction(tabAction)) {
877
- if (!tabActionBar.isEmpty()) {
878
- tabActionBar.clear();
879
- }
880
- tabActionBar.push(tabAction, { icon: true, label: false, keybinding: this.getKeybindingLabel(tabAction) });
881
- }
882
- const tabActionsVisibility = isTabSticky && options.pinnedTabSizing === 'compact' ? 'off' : options.tabCloseButton;
883
- for (const option of ['off', 'left', 'right']) {
884
- tabContainer.classList.toggle(`tab-actions-${option}`, tabActionsVisibility === option);
885
- }
886
- const tabSizing = isTabSticky && options.pinnedTabSizing === 'shrink' ? 'shrink' : options.tabSizing;
887
- for (const option of ['fit', 'shrink', 'fixed']) {
888
- tabContainer.classList.toggle(`sizing-${option}`, tabSizing === option);
889
- }
890
- tabContainer.classList.toggle('has-icon', options.showIcons && options.hasIcons);
891
- tabContainer.classList.toggle('sticky', isTabSticky);
892
- for (const option of ['normal', 'compact', 'shrink']) {
893
- tabContainer.classList.toggle(`sticky-${option}`, isTabSticky && options.pinnedTabSizing === option);
894
- }
895
- if (!options.wrapTabs && isTabSticky && options.pinnedTabSizing !== 'normal') {
896
- let stickyTabWidth = 0;
897
- switch (options.pinnedTabSizing) {
898
- case 'compact':
899
- stickyTabWidth = TabsTitleControl_1.TAB_WIDTH.compact;
900
- break;
901
- case 'shrink':
902
- stickyTabWidth = TabsTitleControl_1.TAB_WIDTH.shrink;
903
- break;
904
- }
905
- tabContainer.style.left = `${index * stickyTabWidth}px`;
906
- }
907
- else {
908
- tabContainer.style.left = 'auto';
909
- }
910
- this.redrawTabBorders(index, tabContainer);
911
- this.redrawTabActiveAndDirty(this.accessor.activeGroup === this.group, editor, tabContainer, tabActionBar);
912
- }
913
- redrawTabLabel(editor, index, tabContainer, tabLabelWidget, tabLabel) {
914
- const options = this.accessor.partOptions;
915
- let name;
916
- let forceLabel = false;
917
- let fileDecorationBadges = Boolean(options.decorations?.badges);
918
- let description;
919
- if (options.pinnedTabSizing === 'compact' && this.group.isSticky(index)) {
920
- const isShowingIcons = options.showIcons && options.hasIcons;
921
- name = isShowingIcons ? '' : tabLabel.name?.charAt(0).toUpperCase();
922
- description = '';
923
- forceLabel = true;
924
- fileDecorationBadges = false;
925
- }
926
- else {
927
- name = tabLabel.name;
928
- description = tabLabel.description || '';
929
- }
930
- if (tabLabel.ariaLabel) {
931
- tabContainer.setAttribute('aria-label', tabLabel.ariaLabel);
932
- tabContainer.setAttribute('aria-description', '');
933
- }
934
- const title = tabLabel.title || '';
935
- tabContainer.title = title;
936
- tabLabelWidget.setResource({ name, description, resource: EditorResourceAccessor.getOriginalUri(editor, { supportSideBySide: SideBySideEditor.BOTH }) }, {
937
- title,
938
- extraClasses: coalesce(['tab-label', fileDecorationBadges ? 'tab-label-has-badge' : undefined].concat(editor.getLabelExtraClasses())),
939
- italic: !this.group.isPinned(editor),
940
- forceLabel,
941
- fileDecorations: {
942
- colors: Boolean(options.decorations?.colors),
943
- badges: fileDecorationBadges
944
- }
945
- });
946
- const resource = EditorResourceAccessor.getOriginalUri(editor, { supportSideBySide: SideBySideEditor.PRIMARY });
947
- if (resource) {
948
- tabContainer.setAttribute('data-resource-name', basenameOrAuthority(resource));
949
- }
950
- else {
951
- tabContainer.removeAttribute('data-resource-name');
952
- }
953
- }
954
- redrawTabActiveAndDirty(isGroupActive, editor, tabContainer, tabActionBar) {
955
- const isTabActive = this.group.isActive(editor);
956
- const hasModifiedBorderTop = this.doRedrawTabDirty(isGroupActive, isTabActive, editor, tabContainer);
957
- this.doRedrawTabActive(isGroupActive, !hasModifiedBorderTop, editor, tabContainer, tabActionBar);
958
- }
959
- doRedrawTabActive(isGroupActive, allowBorderTop, editor, tabContainer, tabActionBar) {
960
- if (this.group.isActive(editor)) {
961
- tabContainer.classList.add('active');
962
- tabContainer.setAttribute('aria-selected', 'true');
963
- tabContainer.tabIndex = 0;
964
- tabContainer.style.backgroundColor = this.getColor(isGroupActive ? TAB_ACTIVE_BACKGROUND : TAB_UNFOCUSED_ACTIVE_BACKGROUND) || '';
965
- const activeTabBorderColorBottom = this.getColor(isGroupActive ? TAB_ACTIVE_BORDER : TAB_UNFOCUSED_ACTIVE_BORDER);
966
- if (activeTabBorderColorBottom) {
967
- tabContainer.classList.add('tab-border-bottom');
968
- tabContainer.style.setProperty('--tab-border-bottom-color', ( activeTabBorderColorBottom.toString()));
969
- }
970
- else {
971
- tabContainer.classList.remove('tab-border-bottom');
972
- tabContainer.style.removeProperty('--tab-border-bottom-color');
973
- }
974
- const activeTabBorderColorTop = allowBorderTop ? this.getColor(isGroupActive ? TAB_ACTIVE_BORDER_TOP : TAB_UNFOCUSED_ACTIVE_BORDER_TOP) : undefined;
975
- if (activeTabBorderColorTop) {
976
- tabContainer.classList.add('tab-border-top');
977
- tabContainer.style.setProperty('--tab-border-top-color', ( activeTabBorderColorTop.toString()));
978
- }
979
- else {
980
- tabContainer.classList.remove('tab-border-top');
981
- tabContainer.style.removeProperty('--tab-border-top-color');
982
- }
983
- tabContainer.style.color = this.getColor(isGroupActive ? TAB_ACTIVE_FOREGROUND : TAB_UNFOCUSED_ACTIVE_FOREGROUND) || '';
984
- tabActionBar.setFocusable(true);
985
- }
986
- else {
987
- tabContainer.classList.remove('active');
988
- tabContainer.setAttribute('aria-selected', 'false');
989
- tabContainer.tabIndex = -1;
990
- tabContainer.style.backgroundColor = this.getColor(isGroupActive ? TAB_INACTIVE_BACKGROUND : TAB_UNFOCUSED_INACTIVE_BACKGROUND) || '';
991
- tabContainer.style.boxShadow = '';
992
- tabContainer.style.color = this.getColor(isGroupActive ? TAB_INACTIVE_FOREGROUND : TAB_UNFOCUSED_INACTIVE_FOREGROUND) || '';
993
- tabActionBar.setFocusable(false);
994
- }
995
- }
996
- doRedrawTabDirty(isGroupActive, isTabActive, editor, tabContainer) {
997
- let hasModifiedBorderColor = false;
998
- if (editor.isDirty() && !editor.isSaving()) {
999
- tabContainer.classList.add('dirty');
1000
- if (this.accessor.partOptions.highlightModifiedTabs) {
1001
- let modifiedBorderColor;
1002
- if (isGroupActive && isTabActive) {
1003
- modifiedBorderColor = this.getColor(TAB_ACTIVE_MODIFIED_BORDER);
1004
- }
1005
- else if (isGroupActive && !isTabActive) {
1006
- modifiedBorderColor = this.getColor(TAB_INACTIVE_MODIFIED_BORDER);
1007
- }
1008
- else if (!isGroupActive && isTabActive) {
1009
- modifiedBorderColor = this.getColor(TAB_UNFOCUSED_ACTIVE_MODIFIED_BORDER);
1010
- }
1011
- else {
1012
- modifiedBorderColor = this.getColor(TAB_UNFOCUSED_INACTIVE_MODIFIED_BORDER);
1013
- }
1014
- if (modifiedBorderColor) {
1015
- hasModifiedBorderColor = true;
1016
- tabContainer.classList.add('dirty-border-top');
1017
- tabContainer.style.setProperty('--tab-dirty-border-top-color', modifiedBorderColor);
1018
- }
1019
- }
1020
- else {
1021
- tabContainer.classList.remove('dirty-border-top');
1022
- tabContainer.style.removeProperty('--tab-dirty-border-top-color');
1023
- }
1024
- }
1025
- else {
1026
- tabContainer.classList.remove('dirty', 'dirty-border-top');
1027
- tabContainer.style.removeProperty('--tab-dirty-border-top-color');
1028
- }
1029
- return hasModifiedBorderColor;
1030
- }
1031
- redrawTabBorders(index, tabContainer) {
1032
- const isTabSticky = this.group.isSticky(index);
1033
- const isTabLastSticky = isTabSticky && this.group.stickyCount === index + 1;
1034
- const borderRightColor = ((isTabLastSticky ? this.getColor(TAB_LAST_PINNED_BORDER) : undefined) || this.getColor(TAB_BORDER) || this.getColor(contrastBorder));
1035
- tabContainer.style.borderRight = borderRightColor ? `1px solid ${borderRightColor}` : '';
1036
- tabContainer.style.outlineColor = this.getColor(activeContrastBorder) || '';
1037
- }
1038
- prepareEditorActions(editorActions) {
1039
- const isGroupActive = this.accessor.activeGroup === this.group;
1040
- if (isGroupActive) {
1041
- return editorActions;
1042
- }
1043
- else {
1044
- return {
1045
- primary: editorActions.primary.filter(action => action.id === UNLOCK_GROUP_COMMAND_ID),
1046
- secondary: editorActions.secondary
1047
- };
1048
- }
1049
- }
1050
- getHeight() {
1051
- const showsBreadcrumbs = this.breadcrumbsControl && !this.breadcrumbsControl.isHidden();
1052
- if (this.dimensions.used) {
1053
- return {
1054
- total: this.dimensions.used.height,
1055
- offset: showsBreadcrumbs ? this.dimensions.used.height - BreadcrumbsControl.HEIGHT : this.dimensions.used.height
1056
- };
1057
- }
1058
- else {
1059
- return this.computeHeight();
1060
- }
1061
- }
1062
- computeHeight() {
1063
- let total;
1064
- if (this.accessor.partOptions.wrapTabs && this.tabsAndActionsContainer?.classList.contains('wrapping')) {
1065
- total = this.tabsAndActionsContainer.offsetHeight;
1066
- }
1067
- else {
1068
- total = TabsTitleControl_1.TAB_HEIGHT;
1069
- }
1070
- const offset = total;
1071
- if (this.breadcrumbsControl && !this.breadcrumbsControl.isHidden()) {
1072
- total += BreadcrumbsControl.HEIGHT;
1073
- }
1074
- return { total, offset };
1075
- }
1076
- layout(dimensions, options) {
1077
- Object.assign(this.dimensions, dimensions);
1078
- if (!this.layoutScheduler.value) {
1079
- const scheduledLayout = scheduleAtNextAnimationFrame(() => {
1080
- this.doLayout(this.dimensions, this.layoutScheduler.value?.options );
1081
- this.layoutScheduler.clear();
1082
- });
1083
- this.layoutScheduler.value = { options, dispose: () => scheduledLayout.dispose() };
1084
- }
1085
- if (options?.forceRevealActiveTab) {
1086
- this.layoutScheduler.value.options = {
1087
- ...this.layoutScheduler.value.options,
1088
- forceRevealActiveTab: true
1089
- };
1090
- }
1091
- if (!this.dimensions.used) {
1092
- this.dimensions.used = ( new Dimension(dimensions.container.width, this.computeHeight().total));
1093
- }
1094
- return this.dimensions.used;
1095
- }
1096
- doLayout(dimensions, options) {
1097
- const activeTabAndIndex = this.group.activeEditor ? this.getTabAndIndex(this.group.activeEditor) : undefined;
1098
- if (activeTabAndIndex && dimensions.container !== Dimension.None && dimensions.available !== Dimension.None) {
1099
- this.doLayoutBreadcrumbs(dimensions);
1100
- const [activeTab, activeIndex] = activeTabAndIndex;
1101
- this.doLayoutTabs(activeTab, activeIndex, dimensions, options);
1102
- }
1103
- const oldDimension = this.dimensions.used;
1104
- const newDimension = this.dimensions.used = ( new Dimension(dimensions.container.width, this.computeHeight().total));
1105
- if (oldDimension && oldDimension.height !== newDimension.height) {
1106
- this.group.relayout();
1107
- }
1108
- }
1109
- handleBreadcrumbsEnablementChange() {
1110
- this.group.relayout();
1111
- }
1112
- doLayoutBreadcrumbs(dimensions) {
1113
- if (this.breadcrumbsControl && !this.breadcrumbsControl.isHidden()) {
1114
- this.breadcrumbsControl.layout(( new Dimension(dimensions.container.width, BreadcrumbsControl.HEIGHT)));
1115
- }
1116
- }
1117
- doLayoutTabs(activeTab, activeIndex, dimensions, options) {
1118
- const tabsWrapMultiLine = this.doLayoutTabsWrapping(dimensions);
1119
- if (!tabsWrapMultiLine) {
1120
- this.doLayoutTabsNonWrapping(activeTab, activeIndex, options);
1121
- }
1122
- }
1123
- doLayoutTabsWrapping(dimensions) {
1124
- const [tabsAndActionsContainer, tabsContainer, editorToolbarContainer, tabsScrollbar] = assertAllDefined(this.tabsAndActionsContainer, this.tabsContainer, this.editorToolbarContainer, this.tabsScrollbar);
1125
- const didTabsWrapMultiLine = tabsAndActionsContainer.classList.contains('wrapping');
1126
- let tabsWrapMultiLine = didTabsWrapMultiLine;
1127
- function updateTabsWrapping(enabled) {
1128
- tabsWrapMultiLine = enabled;
1129
- tabsAndActionsContainer.classList.toggle('wrapping', tabsWrapMultiLine);
1130
- tabsContainer.style.setProperty('--last-tab-margin-right', tabsWrapMultiLine ? `${editorToolbarContainer.offsetWidth}px` : '0');
1131
- }
1132
- if (this.accessor.partOptions.wrapTabs) {
1133
- const visibleTabsWidth = tabsContainer.offsetWidth;
1134
- const allTabsWidth = tabsContainer.scrollWidth;
1135
- const lastTabFitsWrapped = () => {
1136
- const lastTab = this.getLastTab();
1137
- if (!lastTab) {
1138
- return true;
1139
- }
1140
- const lastTabOverlapWithToolbarWidth = lastTab.offsetWidth + editorToolbarContainer.offsetWidth - dimensions.available.width;
1141
- if (lastTabOverlapWithToolbarWidth > 1) {
1142
- return false;
1143
- }
1144
- return true;
1145
- };
1146
- if (tabsWrapMultiLine || (allTabsWidth > visibleTabsWidth && lastTabFitsWrapped())) {
1147
- updateTabsWrapping(true);
1148
- }
1149
- if (tabsWrapMultiLine) {
1150
- if ((tabsContainer.offsetHeight > dimensions.available.height) ||
1151
- (allTabsWidth === visibleTabsWidth && tabsContainer.offsetHeight === TabsTitleControl_1.TAB_HEIGHT) ||
1152
- (!lastTabFitsWrapped())
1153
- ) {
1154
- updateTabsWrapping(false);
1155
- }
1156
- }
1157
- }
1158
- else if (didTabsWrapMultiLine) {
1159
- updateTabsWrapping(false);
1160
- }
1161
- if (tabsWrapMultiLine && !didTabsWrapMultiLine) {
1162
- const visibleTabsWidth = tabsContainer.offsetWidth;
1163
- tabsScrollbar.setScrollDimensions({
1164
- width: visibleTabsWidth,
1165
- scrollWidth: visibleTabsWidth
1166
- });
1167
- }
1168
- if (tabsWrapMultiLine) {
1169
- const tabs = ( new Map());
1170
- let currentTabsPosY = undefined;
1171
- let lastTab = undefined;
1172
- for (const child of tabsContainer.children) {
1173
- const tab = child;
1174
- const tabPosY = tab.offsetTop;
1175
- if (tabPosY !== currentTabsPosY) {
1176
- currentTabsPosY = tabPosY;
1177
- if (lastTab) {
1178
- tabs.set(lastTab, true);
1179
- }
1180
- }
1181
- lastTab = tab;
1182
- tabs.set(tab, false);
1183
- }
1184
- if (lastTab) {
1185
- tabs.set(lastTab, true);
1186
- }
1187
- for (const [tab, lastInRow] of tabs) {
1188
- tab.classList.toggle('last-in-row', lastInRow);
1189
- }
1190
- }
1191
- return tabsWrapMultiLine;
1192
- }
1193
- doLayoutTabsNonWrapping(activeTab, activeIndex, options) {
1194
- const [tabsContainer, tabsScrollbar] = assertAllDefined(this.tabsContainer, this.tabsScrollbar);
1195
- const visibleTabsWidth = tabsContainer.offsetWidth;
1196
- const allTabsWidth = tabsContainer.scrollWidth;
1197
- let stickyTabsWidth = 0;
1198
- if (this.group.stickyCount > 0) {
1199
- let stickyTabWidth = 0;
1200
- switch (this.accessor.partOptions.pinnedTabSizing) {
1201
- case 'compact':
1202
- stickyTabWidth = TabsTitleControl_1.TAB_WIDTH.compact;
1203
- break;
1204
- case 'shrink':
1205
- stickyTabWidth = TabsTitleControl_1.TAB_WIDTH.shrink;
1206
- break;
1207
- }
1208
- stickyTabsWidth = this.group.stickyCount * stickyTabWidth;
1209
- }
1210
- let activeTabPositionStatic = this.accessor.partOptions.pinnedTabSizing !== 'normal' && this.group.isSticky(activeIndex);
1211
- let availableTabsContainerWidth = visibleTabsWidth - stickyTabsWidth;
1212
- if (this.group.stickyCount > 0 && availableTabsContainerWidth < TabsTitleControl_1.TAB_WIDTH.fit) {
1213
- tabsContainer.classList.add('disable-sticky-tabs');
1214
- availableTabsContainerWidth = visibleTabsWidth;
1215
- stickyTabsWidth = 0;
1216
- activeTabPositionStatic = false;
1217
- }
1218
- else {
1219
- tabsContainer.classList.remove('disable-sticky-tabs');
1220
- }
1221
- let activeTabPosX;
1222
- let activeTabWidth;
1223
- if (!this.blockRevealActiveTab) {
1224
- activeTabPosX = activeTab.offsetLeft;
1225
- activeTabWidth = activeTab.offsetWidth;
1226
- }
1227
- const { width: oldVisibleTabsWidth, scrollWidth: oldAllTabsWidth } = tabsScrollbar.getScrollDimensions();
1228
- tabsScrollbar.setScrollDimensions({
1229
- width: visibleTabsWidth,
1230
- scrollWidth: allTabsWidth
1231
- });
1232
- const dimensionsChanged = oldVisibleTabsWidth !== visibleTabsWidth || oldAllTabsWidth !== allTabsWidth;
1233
- if (this.blockRevealActiveTab ||
1234
- typeof activeTabPosX !== 'number' ||
1235
- typeof activeTabWidth !== 'number' ||
1236
- activeTabPositionStatic ||
1237
- (!dimensionsChanged && !options?.forceRevealActiveTab)
1238
- ) {
1239
- this.blockRevealActiveTab = false;
1240
- return;
1241
- }
1242
- const tabsContainerScrollPosX = tabsScrollbar.getScrollPosition().scrollLeft;
1243
- const activeTabFits = activeTabWidth <= availableTabsContainerWidth;
1244
- const adjustedActiveTabPosX = activeTabPosX - stickyTabsWidth;
1245
- if (activeTabFits && tabsContainerScrollPosX + availableTabsContainerWidth < adjustedActiveTabPosX + activeTabWidth) {
1246
- tabsScrollbar.setScrollPosition({
1247
- scrollLeft: tabsContainerScrollPosX + (((adjustedActiveTabPosX + activeTabWidth) - (tabsContainerScrollPosX + availableTabsContainerWidth)) )
1248
- });
1249
- }
1250
- else if (tabsContainerScrollPosX > adjustedActiveTabPosX || !activeTabFits) {
1251
- tabsScrollbar.setScrollPosition({
1252
- scrollLeft: adjustedActiveTabPosX
1253
- });
1254
- }
1255
- }
1256
- getTabAndIndex(editor) {
1257
- const editorIndex = this.group.getIndexOfEditor(editor);
1258
- const tab = this.getTabAtIndex(editorIndex);
1259
- if (tab) {
1260
- return [tab, editorIndex];
1261
- }
1262
- return undefined;
1263
- }
1264
- getTabAtIndex(editorIndex) {
1265
- if (editorIndex >= 0) {
1266
- const tabsContainer = assertIsDefined(this.tabsContainer);
1267
- return tabsContainer.children[editorIndex];
1268
- }
1269
- return undefined;
1270
- }
1271
- getLastTab() {
1272
- return this.getTabAtIndex(this.group.count - 1);
1273
- }
1274
- blockRevealActiveTabOnce() {
1275
- this.blockRevealActiveTab = true;
1276
- }
1277
- originatesFromTabActionBar(e) {
1278
- let element;
1279
- if (e instanceof MouseEvent) {
1280
- element = (e.target || e.srcElement);
1281
- }
1282
- else {
1283
- element = e.initialTarget;
1284
- }
1285
- return !!findParentWithClass(element, 'action-item', 'tab');
1286
- }
1287
- async onDrop(e, targetIndex, tabsContainer) {
1288
- EventHelper.stop(e, true);
1289
- this.updateDropFeedback(tabsContainer, false);
1290
- tabsContainer.classList.remove('scroll');
1291
- if (this.groupTransfer.hasData(DraggedEditorGroupIdentifier.prototype)) {
1292
- const data = this.groupTransfer.getData(DraggedEditorGroupIdentifier.prototype);
1293
- if (Array.isArray(data)) {
1294
- const sourceGroup = this.accessor.getGroup(data[0].identifier);
1295
- if (sourceGroup) {
1296
- const mergeGroupOptions = { index: targetIndex };
1297
- if (!this.isMoveOperation(e, sourceGroup.id)) {
1298
- mergeGroupOptions.mode = 0 ;
1299
- }
1300
- this.accessor.mergeGroup(sourceGroup, this.group, mergeGroupOptions);
1301
- }
1302
- this.group.focus();
1303
- this.groupTransfer.clearData(DraggedEditorGroupIdentifier.prototype);
1304
- }
1305
- }
1306
- else if (this.editorTransfer.hasData(DraggedEditorIdentifier.prototype)) {
1307
- const data = this.editorTransfer.getData(DraggedEditorIdentifier.prototype);
1308
- if (Array.isArray(data)) {
1309
- const draggedEditor = data[0].identifier;
1310
- const sourceGroup = this.accessor.getGroup(draggedEditor.groupId);
1311
- if (sourceGroup) {
1312
- if (this.isMoveOperation(e, draggedEditor.groupId, draggedEditor.editor)) {
1313
- sourceGroup.moveEditor(draggedEditor.editor, this.group, { index: targetIndex });
1314
- }
1315
- else {
1316
- sourceGroup.copyEditor(draggedEditor.editor, this.group, { index: targetIndex });
1317
- }
1318
- }
1319
- this.group.focus();
1320
- this.editorTransfer.clearData(DraggedEditorIdentifier.prototype);
1321
- }
1322
- }
1323
- else if (this.treeItemsTransfer.hasData(DraggedTreeItemsIdentifier.prototype)) {
1324
- const data = this.treeItemsTransfer.getData(DraggedTreeItemsIdentifier.prototype);
1325
- if (Array.isArray(data)) {
1326
- const editors = [];
1327
- for (const id of data) {
1328
- const dataTransferItem = await this.treeViewsDragAndDropService.removeDragOperationTransfer(id.identifier);
1329
- if (dataTransferItem) {
1330
- const treeDropData = await extractTreeDropData(dataTransferItem);
1331
- editors.push(...( treeDropData.map(
1332
- editor => ({ ...editor, options: { ...editor.options, pinned: true, index: targetIndex } })
1333
- )));
1334
- }
1335
- }
1336
- this.editorService.openEditors(editors, this.group, { validateTrust: true });
1337
- }
1338
- this.treeItemsTransfer.clearData(DraggedTreeItemsIdentifier.prototype);
1339
- }
1340
- else {
1341
- const dropHandler = this.instantiationService.createInstance(ResourcesDropHandler, { allowWorkspaceOpen: false });
1342
- dropHandler.handleDrop(e, () => this.group, () => this.group.focus(), targetIndex);
1343
- }
1344
- }
1345
- isMoveOperation(e, sourceGroup, sourceEditor) {
1346
- if (sourceEditor?.hasCapability(8 )) {
1347
- return true;
1348
- }
1349
- const isCopy = (e.ctrlKey && !isMacintosh) || (e.altKey && isMacintosh);
1350
- return !isCopy || sourceGroup === this.group.id;
1351
- }
1352
- dispose() {
1353
- super.dispose();
1354
- this.tabDisposables = dispose(this.tabDisposables);
1355
- }
1356
- };
1357
- TabsTitleControl = TabsTitleControl_1 = ( __decorate([
1358
- ( __param(3, IContextMenuService)),
1359
- ( __param(4, IInstantiationService)),
1360
- ( __param(5, IContextKeyService)),
1361
- ( __param(6, IKeybindingService)),
1362
- ( __param(7, INotificationService)),
1363
- ( __param(8, IMenuService)),
1364
- ( __param(9, IQuickInputService)),
1365
- ( __param(10, IThemeService)),
1366
- ( __param(11, IConfigurationService)),
1367
- ( __param(12, IFileService)),
1368
- ( __param(13, IEditorService)),
1369
- ( __param(14, IPathService)),
1370
- ( __param(15, IEditorGroupsService)),
1371
- ( __param(16, ITreeViewsDnDService)),
1372
- ( __param(17, IEditorResolverService))
1373
- ], TabsTitleControl));
1374
- registerThemingParticipant((theme, collector) => {
1375
- const borderColor = theme.getColor(TAB_BORDER);
1376
- if (borderColor) {
1377
- collector.addRule(`
1378
- .monaco-workbench .part.editor > .content .editor-group-container > .title > .tabs-and-actions-container.wrapping .tabs-container > .tab {
1379
- border-bottom: 1px solid ${borderColor};
1380
- }
1381
- `);
1382
- }
1383
- const activeContrastBorderColor = theme.getColor(activeContrastBorder);
1384
- if (activeContrastBorderColor) {
1385
- collector.addRule(`
1386
- .monaco-workbench .part.editor > .content .editor-group-container.active > .title .tabs-container > .tab.active,
1387
- .monaco-workbench .part.editor > .content .editor-group-container.active > .title .tabs-container > .tab.active:hover {
1388
- outline: 1px solid;
1389
- outline-offset: -5px;
1390
- }
1391
-
1392
- .monaco-workbench .part.editor > .content .editor-group-container.active > .title .tabs-container > .tab.active:focus {
1393
- outline-style: dashed;
1394
- }
1395
-
1396
- .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.active {
1397
- outline: 1px dotted;
1398
- outline-offset: -5px;
1399
- }
1400
-
1401
- .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab:hover {
1402
- outline: 1px dashed;
1403
- outline-offset: -5px;
1404
- }
1405
-
1406
- .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.active > .tab-actions .action-label,
1407
- .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.active:hover > .tab-actions .action-label,
1408
- .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.dirty > .tab-actions .action-label,
1409
- .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sticky > .tab-actions .action-label,
1410
- .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab:hover > .tab-actions .action-label {
1411
- opacity: 1 !important;
1412
- }
1413
- `);
1414
- }
1415
- const contrastBorderColor = theme.getColor(contrastBorder);
1416
- if (contrastBorderColor) {
1417
- collector.addRule(`
1418
- .monaco-workbench .part.editor > .content .editor-group-container > .title .editor-actions {
1419
- outline: 1px solid ${contrastBorderColor}
1420
- }
1421
- `);
1422
- }
1423
- const tabHoverBackground = theme.getColor(TAB_HOVER_BACKGROUND);
1424
- if (tabHoverBackground) {
1425
- collector.addRule(`
1426
- .monaco-workbench .part.editor > .content .editor-group-container.active > .title .tabs-container > .tab:hover {
1427
- background-color: ${tabHoverBackground} !important;
1428
- }
1429
- `);
1430
- }
1431
- const tabUnfocusedHoverBackground = theme.getColor(TAB_UNFOCUSED_HOVER_BACKGROUND);
1432
- if (tabUnfocusedHoverBackground) {
1433
- collector.addRule(`
1434
- .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab:hover {
1435
- background-color: ${tabUnfocusedHoverBackground} !important;
1436
- }
1437
- `);
1438
- }
1439
- const tabHoverForeground = theme.getColor(TAB_HOVER_FOREGROUND);
1440
- if (tabHoverForeground) {
1441
- collector.addRule(`
1442
- .monaco-workbench .part.editor > .content .editor-group-container.active > .title .tabs-container > .tab:hover {
1443
- color: ${tabHoverForeground} !important;
1444
- }
1445
- `);
1446
- }
1447
- const tabUnfocusedHoverForeground = theme.getColor(TAB_UNFOCUSED_HOVER_FOREGROUND);
1448
- if (tabUnfocusedHoverForeground) {
1449
- collector.addRule(`
1450
- .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab:hover {
1451
- color: ${tabUnfocusedHoverForeground} !important;
1452
- }
1453
- `);
1454
- }
1455
- const tabHoverBorder = theme.getColor(TAB_HOVER_BORDER);
1456
- if (tabHoverBorder) {
1457
- collector.addRule(`
1458
- .monaco-workbench .part.editor > .content .editor-group-container.active > .title .tabs-container > .tab:hover > .tab-border-bottom-container {
1459
- display: block;
1460
- position: absolute;
1461
- left: 0;
1462
- pointer-events: none;
1463
- width: 100%;
1464
- z-index: 10;
1465
- bottom: 0;
1466
- height: 1px;
1467
- background-color: ${tabHoverBorder};
1468
- }
1469
- `);
1470
- }
1471
- const tabUnfocusedHoverBorder = theme.getColor(TAB_UNFOCUSED_HOVER_BORDER);
1472
- if (tabUnfocusedHoverBorder) {
1473
- collector.addRule(`
1474
- .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab:hover > .tab-border-bottom-container {
1475
- display: block;
1476
- position: absolute;
1477
- left: 0;
1478
- pointer-events: none;
1479
- width: 100%;
1480
- z-index: 10;
1481
- bottom: 0;
1482
- height: 1px;
1483
- background-color: ${tabUnfocusedHoverBorder};
1484
- }
1485
- `);
1486
- }
1487
- if (!isHighContrast(theme.type) && !isSafari && !activeContrastBorderColor) {
1488
- const workbenchBackground = WORKBENCH_BACKGROUND(theme);
1489
- const editorBackgroundColor = theme.getColor(editorBackground);
1490
- const editorGroupHeaderTabsBackground = theme.getColor(EDITOR_GROUP_HEADER_TABS_BACKGROUND);
1491
- const editorDragAndDropBackground = theme.getColor(EDITOR_DRAG_AND_DROP_BACKGROUND);
1492
- let adjustedTabBackground;
1493
- if (editorGroupHeaderTabsBackground && editorBackgroundColor) {
1494
- adjustedTabBackground = editorGroupHeaderTabsBackground.flatten(editorBackgroundColor, editorBackgroundColor, workbenchBackground);
1495
- }
1496
- let adjustedTabDragBackground;
1497
- if (editorGroupHeaderTabsBackground && editorBackgroundColor && editorDragAndDropBackground && editorBackgroundColor) {
1498
- adjustedTabDragBackground = editorGroupHeaderTabsBackground.flatten(editorBackgroundColor, editorDragAndDropBackground, editorBackgroundColor, workbenchBackground);
1499
- }
1500
- const makeTabHoverBackgroundRule = (color, colorDrag, hasFocus = false) => `
1501
- .monaco-workbench .part.editor > .content:not(.dragged-over) .editor-group-container${hasFocus ? '.active' : ''} > .title .tabs-container > .tab.sizing-shrink:not(.dragged):not(.sticky-compact):hover > .tab-label > .monaco-icon-label-container::after,
1502
- .monaco-workbench .part.editor > .content:not(.dragged-over) .editor-group-container${hasFocus ? '.active' : ''} > .title .tabs-container > .tab.sizing-fixed:not(.dragged):not(.sticky-compact):hover > .tab-label > .monaco-icon-label-container::after {
1503
- background: linear-gradient(to left, ${color}, transparent) !important;
1504
- }
1505
-
1506
- .monaco-workbench .part.editor > .content.dragged-over .editor-group-container${hasFocus ? '.active' : ''} > .title .tabs-container > .tab.sizing-shrink:not(.dragged):not(.sticky-compact):hover > .tab-label > .monaco-icon-label-container::after,
1507
- .monaco-workbench .part.editor > .content.dragged-over .editor-group-container${hasFocus ? '.active' : ''} > .title .tabs-container > .tab.sizing-fixed:not(.dragged):not(.sticky-compact):hover > .tab-label > .monaco-icon-label-container::after {
1508
- background: linear-gradient(to left, ${colorDrag}, transparent) !important;
1509
- }
1510
- `;
1511
- if (tabHoverBackground && adjustedTabBackground && adjustedTabDragBackground) {
1512
- const adjustedColor = tabHoverBackground.flatten(adjustedTabBackground);
1513
- const adjustedColorDrag = tabHoverBackground.flatten(adjustedTabDragBackground);
1514
- collector.addRule(makeTabHoverBackgroundRule(adjustedColor, adjustedColorDrag, true));
1515
- }
1516
- if (tabUnfocusedHoverBackground && adjustedTabBackground && adjustedTabDragBackground) {
1517
- const adjustedColor = tabUnfocusedHoverBackground.flatten(adjustedTabBackground);
1518
- const adjustedColorDrag = tabUnfocusedHoverBackground.flatten(adjustedTabDragBackground);
1519
- collector.addRule(makeTabHoverBackgroundRule(adjustedColor, adjustedColorDrag));
1520
- }
1521
- if (editorDragAndDropBackground && adjustedTabDragBackground) {
1522
- const adjustedColorDrag = editorDragAndDropBackground.flatten(adjustedTabDragBackground);
1523
- collector.addRule(`
1524
- .monaco-workbench .part.editor > .content.dragged-over .editor-group-container.active > .title .tabs-container > .tab.sizing-shrink.dragged-over:not(.active):not(.dragged):not(.sticky-compact) > .tab-label > .monaco-icon-label-container::after,
1525
- .monaco-workbench .part.editor > .content.dragged-over .editor-group-container:not(.active) > .title .tabs-container > .tab.sizing-shrink.dragged-over:not(.dragged):not(.sticky-compact) > .tab-label > .monaco-icon-label-container::after,
1526
- .monaco-workbench .part.editor > .content.dragged-over .editor-group-container.active > .title .tabs-container > .tab.sizing-fixed.dragged-over:not(.active):not(.dragged):not(.sticky-compact) > .tab-label > .monaco-icon-label-container::after,
1527
- .monaco-workbench .part.editor > .content.dragged-over .editor-group-container:not(.active) > .title .tabs-container > .tab.sizing-fixed.dragged-over:not(.dragged):not(.sticky-compact) > .tab-label > .monaco-icon-label-container::after {
1528
- background: linear-gradient(to left, ${adjustedColorDrag}, transparent) !important;
1529
- }
1530
- `);
1531
- }
1532
- const makeTabBackgroundRule = (color, colorDrag, focused, active) => `
1533
- .monaco-workbench .part.editor > .content:not(.dragged-over) .editor-group-container${focused ? '.active' : ':not(.active)'} > .title .tabs-container > .tab.sizing-shrink${active ? '.active' : ''}:not(.dragged):not(.sticky-compact) > .tab-label > .monaco-icon-label-container::after,
1534
- .monaco-workbench .part.editor > .content:not(.dragged-over) .editor-group-container${focused ? '.active' : ':not(.active)'} > .title .tabs-container > .tab.sizing-fixed${active ? '.active' : ''}:not(.dragged):not(.sticky-compact) > .tab-label > .monaco-icon-label-container::after {
1535
- background: linear-gradient(to left, ${color}, transparent);
1536
- }
1537
-
1538
- .monaco-workbench .part.editor > .content.dragged-over .editor-group-container${focused ? '.active' : ':not(.active)'} > .title .tabs-container > .tab.sizing-shrink${active ? '.active' : ''}:not(.dragged):not(.sticky-compact) > .tab-label > .monaco-icon-label-container::after,
1539
- .monaco-workbench .part.editor > .content.dragged-over .editor-group-container${focused ? '.active' : ':not(.active)'} > .title .tabs-container > .tab.sizing-fixed${active ? '.active' : ''}:not(.dragged):not(.sticky-compact) > .tab-label > .monaco-icon-label-container::after {
1540
- background: linear-gradient(to left, ${colorDrag}, transparent);
1541
- }
1542
- `;
1543
- const tabActiveBackground = theme.getColor(TAB_ACTIVE_BACKGROUND);
1544
- if (tabActiveBackground && adjustedTabBackground && adjustedTabDragBackground) {
1545
- const adjustedColor = tabActiveBackground.flatten(adjustedTabBackground);
1546
- const adjustedColorDrag = tabActiveBackground.flatten(adjustedTabDragBackground);
1547
- collector.addRule(makeTabBackgroundRule(adjustedColor, adjustedColorDrag, true, true));
1548
- }
1549
- const tabUnfocusedActiveBackground = theme.getColor(TAB_UNFOCUSED_ACTIVE_BACKGROUND);
1550
- if (tabUnfocusedActiveBackground && adjustedTabBackground && adjustedTabDragBackground) {
1551
- const adjustedColor = tabUnfocusedActiveBackground.flatten(adjustedTabBackground);
1552
- const adjustedColorDrag = tabUnfocusedActiveBackground.flatten(adjustedTabDragBackground);
1553
- collector.addRule(makeTabBackgroundRule(adjustedColor, adjustedColorDrag, false, true));
1554
- }
1555
- const tabInactiveBackground = theme.getColor(TAB_INACTIVE_BACKGROUND);
1556
- if (tabInactiveBackground && adjustedTabBackground && adjustedTabDragBackground) {
1557
- const adjustedColor = tabInactiveBackground.flatten(adjustedTabBackground);
1558
- const adjustedColorDrag = tabInactiveBackground.flatten(adjustedTabDragBackground);
1559
- collector.addRule(makeTabBackgroundRule(adjustedColor, adjustedColorDrag, true, false));
1560
- }
1561
- const tabUnfocusedInactiveBackground = theme.getColor(TAB_UNFOCUSED_INACTIVE_BACKGROUND);
1562
- if (tabUnfocusedInactiveBackground && adjustedTabBackground && adjustedTabDragBackground) {
1563
- const adjustedColor = tabUnfocusedInactiveBackground.flatten(adjustedTabBackground);
1564
- const adjustedColorDrag = tabUnfocusedInactiveBackground.flatten(adjustedTabDragBackground);
1565
- collector.addRule(makeTabBackgroundRule(adjustedColor, adjustedColorDrag, false, false));
1566
- }
1567
- }
1568
- });
1569
- export { TabsTitleControl };