@codingame/monaco-vscode-api 2.2.2 → 3.1.0

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 (601) hide show
  1. package/README.md +16 -3
  2. package/api.js +8 -10
  3. package/assets/continue-tb.png +0 -0
  4. package/assets/pause-tb.png +0 -0
  5. package/assets/restart-tb.png +0 -0
  6. package/assets/run-with-debugging-tb.png +0 -0
  7. package/assets/stepinto-tb.png +0 -0
  8. package/assets/stepout-tb.png +0 -0
  9. package/assets/stepover-tb.png +0 -0
  10. package/assets/stop-tb.png +0 -0
  11. package/contributions.js +5 -3
  12. package/debugProtocol.d.ts +143 -51
  13. package/extensions.d.ts +9 -5
  14. package/external/@xterm/xterm/typings/xterm.d.ts +2 -2
  15. package/missing-services.js +63 -13
  16. package/monaco.js +30 -14
  17. package/package.json +8 -8
  18. package/service-override/tools/editor.js +31 -8
  19. package/service-override/tools/editorAssets.js +3 -0
  20. package/service-override/tools/views.d.ts +5 -6
  21. package/service-override/tools/views.js +10 -11
  22. package/services.d.ts +8 -5
  23. package/services.js +19 -4
  24. package/vscode/src/vs/base/browser/browser.js +2 -66
  25. package/vscode/src/vs/base/browser/dom.js +10 -22
  26. package/vscode/src/vs/base/browser/markdownRenderer.js +13 -5
  27. package/vscode/src/vs/base/browser/mouseEvent.js +9 -3
  28. package/vscode/src/vs/base/browser/pixelRatio.js +72 -0
  29. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +4 -3
  30. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css.js +1 -1
  31. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  32. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -4
  33. package/vscode/src/vs/base/browser/ui/button/button.js +16 -4
  34. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -3
  36. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +8 -1
  37. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +6 -2
  38. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.js +22 -0
  39. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +1 -0
  40. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +3 -2
  41. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.js +2 -1
  42. package/vscode/src/vs/base/browser/ui/list/listView.js +27 -42
  43. package/vscode/src/vs/base/browser/ui/menu/menu.js +0 -4
  44. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -4
  45. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +8 -4
  46. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +4 -2
  47. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +7 -2
  48. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +1 -0
  49. package/vscode/src/vs/base/common/actions.js +1 -1
  50. package/vscode/src/vs/base/common/assert.js +1 -1
  51. package/vscode/src/vs/base/common/async.js +11 -7
  52. package/vscode/src/vs/base/common/codicons.d.ts +4 -0
  53. package/vscode/src/vs/base/common/codicons.js +4 -0
  54. package/vscode/src/vs/base/common/date.js +55 -1
  55. package/vscode/src/vs/base/common/event.js +5 -3
  56. package/vscode/src/vs/base/common/filters.js +1 -1
  57. package/vscode/src/vs/base/common/hotReload.js +5 -4
  58. package/vscode/src/vs/base/common/lifecycle.js +158 -1
  59. package/vscode/src/vs/base/common/network.js +3 -0
  60. package/vscode/src/vs/base/common/observableInternal/autorun.js +22 -36
  61. package/vscode/src/vs/base/common/observableInternal/base.js +3 -82
  62. package/vscode/src/vs/base/common/observableInternal/debugName.js +100 -0
  63. package/vscode/src/vs/base/common/observableInternal/derived.js +14 -46
  64. package/vscode/src/vs/base/common/observableInternal/promise.js +94 -0
  65. package/vscode/src/vs/base/common/observableInternal/utils.js +5 -27
  66. package/vscode/src/vs/base/common/prefixTree.js +56 -22
  67. package/vscode/src/vs/base/common/product.d.ts +1 -1
  68. package/vscode/src/vs/base/common/strings.js +9 -1
  69. package/vscode/src/vs/editor/browser/config/charWidthReader.js +5 -6
  70. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +7 -4
  71. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +39 -26
  72. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +10 -10
  73. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +4 -4
  74. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +12 -12
  75. package/vscode/src/vs/editor/browser/coreCommands.js +2 -2
  76. package/vscode/src/vs/editor/browser/view/viewController.js +3 -3
  77. package/vscode/src/vs/editor/browser/view/viewLayer.js +1 -1
  78. package/vscode/src/vs/editor/browser/view/viewOverlays.js +6 -6
  79. package/vscode/src/vs/editor/browser/view.js +2 -2
  80. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  81. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +5 -5
  82. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +8 -8
  83. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +2 -2
  84. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +11 -11
  85. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -4
  86. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +4 -4
  87. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +4 -4
  88. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +4 -4
  89. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +13 -13
  90. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  91. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +2 -2
  92. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +7 -7
  93. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
  94. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +7 -7
  95. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +6 -6
  96. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +2 -2
  97. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +3 -3
  98. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +4 -4
  99. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
  100. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +2 -2
  101. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +5 -5
  102. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +5 -5
  103. package/vscode/src/vs/editor/browser/widget/codeEditorContributions.js +2 -2
  104. package/vscode/src/vs/editor/browser/widget/codeEditorWidget.js +34 -32
  105. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css.js +1 -1
  106. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +82 -37
  107. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +3 -1
  108. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +7 -7
  109. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +3 -3
  110. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +6 -6
  111. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +10 -16
  112. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +2 -1
  113. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +12 -12
  114. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -4
  115. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  116. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +17 -18
  117. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -1
  118. package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +4 -4
  119. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css.js +1 -1
  120. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/colors.js +2 -2
  121. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/diffEditorItemTemplate.js +43 -16
  122. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidget.js +3 -0
  123. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidgetImpl.js +42 -8
  124. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/style.css.js +1 -1
  125. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +18 -1
  126. package/vscode/src/vs/editor/common/config/editorOptions.js +188 -107
  127. package/vscode/src/vs/editor/common/config/fontInfo.js +2 -2
  128. package/vscode/src/vs/editor/common/cursorCommon.js +14 -14
  129. package/vscode/src/vs/editor/common/editorContextKeys.js +1 -1
  130. package/vscode/src/vs/editor/common/languageSelector.js +12 -1
  131. package/vscode/src/vs/editor/common/languages.d.ts +28 -1
  132. package/vscode/src/vs/editor/common/languages.js +6 -1
  133. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +3 -1
  134. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -0
  135. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +96 -86
  136. package/vscode/src/vs/editor/common/standaloneStrings.js +5 -5
  137. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +19 -19
  138. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
  139. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +12 -12
  140. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +3 -3
  141. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +6 -6
  142. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +5 -1
  143. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -3
  144. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +2 -2
  145. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
  146. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  147. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
  148. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +2 -2
  149. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +3 -3
  150. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +2 -3
  151. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +3 -3
  152. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +3 -3
  153. package/vscode/src/vs/editor/contrib/find/browser/findController.js +1 -1
  154. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -6
  155. package/vscode/src/vs/editor/contrib/find/browser/findWidget.css.js +1 -1
  156. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +9 -62
  157. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +3 -3
  158. package/vscode/src/vs/editor/contrib/format/browser/format.js +5 -5
  159. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +5 -5
  160. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  161. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +1 -1
  162. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +58 -84
  163. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +3 -3
  164. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  165. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +8 -2
  166. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +1 -1
  167. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +1 -1
  168. package/vscode/src/vs/editor/contrib/hover/browser/marginHover.js +1 -1
  169. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +1 -1
  170. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +18 -15
  171. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +3 -3
  172. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +1 -1
  173. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +2 -2
  174. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -1
  175. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +14 -6
  176. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +10 -10
  177. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +1 -1
  178. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +3 -3
  179. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +54 -27
  180. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  181. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +115 -45
  182. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +1 -1
  183. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +6 -5
  184. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +46 -1
  185. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commandIds.js +5 -0
  186. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +145 -0
  187. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +188 -0
  188. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +91 -0
  189. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +12 -0
  190. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.css.js +4 -0
  191. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +309 -0
  192. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css.js +4 -0
  193. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +193 -0
  194. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +2 -2
  195. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +1 -1
  196. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  197. package/vscode/src/vs/editor/contrib/links/browser/links.js +5 -5
  198. package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +1 -1
  199. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +10 -10
  200. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +3 -3
  201. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +1 -1
  202. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +1 -1
  203. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +1 -1
  204. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +143 -9
  205. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.css.js +1 -1
  206. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.js +347 -17
  207. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +1 -1
  208. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
  209. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +23 -37
  210. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +11 -10
  211. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  212. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +8 -8
  213. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +4 -4
  214. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +2 -2
  215. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +11 -11
  216. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +6 -6
  217. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -3
  218. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -3
  219. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +2 -2
  220. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +1 -1
  221. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +3 -3
  222. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -3
  223. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +4 -4
  224. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +29 -16
  225. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  226. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +7 -3
  227. package/vscode/src/vs/editor/editor.api.d.ts +146 -85
  228. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
  229. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -5
  230. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +7 -4
  231. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +10 -10
  232. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +99 -0
  233. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +608 -0
  234. package/vscode/src/vs/platform/action/common/actionCommonCategories.d.ts +1 -4
  235. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +3 -3
  236. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +26 -41
  237. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +6 -4
  238. package/vscode/src/vs/platform/actions/common/actions.d.ts +11 -0
  239. package/vscode/src/vs/platform/actions/common/actions.js +11 -0
  240. package/vscode/src/vs/platform/configuration/common/configuration.d.ts +17 -33
  241. package/vscode/src/vs/platform/configuration/common/configurationModels.js +42 -29
  242. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -4
  243. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +2 -2
  244. package/vscode/src/vs/platform/hover/browser/hover.js +69 -1
  245. package/vscode/src/vs/platform/product/common/product.js +1 -1
  246. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +14 -20
  247. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +11 -5
  248. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +22 -2
  249. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +9 -7
  250. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +2 -5
  251. package/vscode/src/vs/platform/request/common/request.js +111 -0
  252. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -0
  253. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +15 -0
  254. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +9 -0
  255. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +5 -3
  256. package/vscode/src/vs/platform/theme/common/colorRegistry.js +5 -5
  257. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +6 -2
  258. package/vscode/src/vs/platform/tunnel/common/tunnel.js +267 -1
  259. package/vscode/src/vs/platform/window/common/window.js +4 -1
  260. package/vscode/src/vs/platform/workspace/common/workspace.js +2 -1
  261. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +2 -2
  262. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +130 -14
  263. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +76 -24
  264. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +4 -1
  265. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -39
  266. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +309 -137
  267. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +164 -49
  268. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +67 -7
  269. package/vscode/src/vs/workbench/api/common/extHostComments.js +28 -0
  270. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +129 -48
  271. package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +1 -2
  272. package/vscode/src/vs/workbench/api/common/extHostDocumentsAndEditors.js +1 -1
  273. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +5 -4
  274. package/vscode/src/vs/workbench/api/common/extHostInteractive.js +0 -1
  275. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +130 -16
  276. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +12 -1
  277. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +3 -4
  278. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +19 -1
  279. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +2 -2
  280. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +301 -75
  281. package/vscode/src/vs/workbench/api/common/extHostTypes.js +127 -45
  282. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +46 -7
  283. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +55 -2
  284. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +1 -1
  285. package/vscode/src/vs/workbench/browser/actions/developerActions.js +703 -0
  286. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +146 -99
  287. package/vscode/src/vs/workbench/browser/actions/listCommands.js +2 -3
  288. package/vscode/src/vs/workbench/browser/actions/media/actions.css.js +4 -0
  289. package/vscode/src/vs/workbench/browser/actions/navigationActions.js +300 -0
  290. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +83 -0
  291. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +3 -4
  292. package/vscode/src/vs/workbench/browser/actions/windowActions.js +4 -8
  293. package/vscode/src/vs/workbench/browser/composite.d.ts +2 -1
  294. package/vscode/src/vs/workbench/browser/composite.js +1 -1
  295. package/vscode/src/vs/workbench/browser/dnd.js +2 -1
  296. package/vscode/src/vs/workbench/browser/editor.js +11 -1
  297. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  298. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -1
  299. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -2
  300. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +4 -6
  301. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +1 -1
  302. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +4 -4
  303. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +1 -1
  304. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  305. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +10 -10
  306. package/vscode/src/vs/workbench/browser/parts/compositePart.js +8 -5
  307. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +39 -29
  308. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +1 -1
  309. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +20 -24
  310. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +6 -4
  311. package/vscode/src/vs/workbench/browser/parts/editor/editor.autosave.contribution.js +2 -3
  312. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +52 -54
  313. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +30 -30
  314. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -0
  315. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +12 -18
  316. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +1 -0
  317. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +1 -1
  318. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +7 -6
  319. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +17 -6
  320. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +13 -5
  321. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  322. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +84 -71
  323. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +2 -6
  324. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +4 -1
  325. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +2 -2
  326. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +350 -35
  327. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
  328. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +5 -5
  329. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +3 -3
  330. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -5
  331. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +9 -6
  332. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +56 -74
  333. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +1 -1
  334. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +6 -9
  335. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +4 -4
  336. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +9 -1
  337. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +55 -12
  338. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +9 -16
  339. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +1 -1
  340. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +2 -1
  341. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +4 -4
  342. package/vscode/src/vs/workbench/browser/quickaccess.js +8 -1
  343. package/vscode/src/vs/workbench/browser/workbench.contribution.js +22 -20
  344. package/vscode/src/vs/workbench/common/configuration.js +146 -43
  345. package/vscode/src/vs/workbench/common/contextkeys.js +4 -4
  346. package/vscode/src/vs/workbench/common/contributions.d.ts +44 -1
  347. package/vscode/src/vs/workbench/common/contributions.js +143 -20
  348. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +5 -5
  349. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +1 -1
  350. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +17 -11
  351. package/vscode/src/vs/workbench/common/editor/editorInput.js +1 -1
  352. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -2
  353. package/vscode/src/vs/workbench/common/editor.d.ts +4 -0
  354. package/vscode/src/vs/workbench/common/theme.js +11 -1
  355. package/vscode/src/vs/workbench/common/views.js +1 -3
  356. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +1064 -118
  357. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +7 -7
  358. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +5 -5
  359. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +306 -0
  360. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +46 -0
  361. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +177 -0
  362. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +163 -0
  363. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +1 -1
  364. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +2 -2
  365. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +31 -17
  366. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +11 -17
  367. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +18 -27
  368. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -5
  369. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +34 -8
  370. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +8 -7
  371. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +142 -109
  372. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +80 -52
  373. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +1 -1
  374. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +44 -13
  375. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +230 -74
  376. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  377. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -5
  378. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +87 -29
  379. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +19 -3
  380. package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +18 -3
  381. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +11 -8
  382. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
  383. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +11 -5
  384. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +2 -2
  385. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +71 -0
  386. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.css.js +4 -0
  387. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +256 -0
  388. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +2 -2
  389. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +3 -4
  390. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -6
  391. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +11 -11
  392. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -4
  393. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -3
  394. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -3
  395. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -10
  396. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +9 -2
  397. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +27 -13
  398. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +41 -23
  399. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +15 -7
  400. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +22 -10
  401. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  402. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +1 -0
  403. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  404. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +3 -3
  405. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +2 -2
  406. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +3 -1
  407. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +2 -3
  408. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +1 -0
  409. package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +66 -2
  410. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +31 -2
  411. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +2 -2
  412. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +37 -7
  413. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +118 -25
  414. package/vscode/src/vs/workbench/contrib/debug/browser/media/all.png.js +11 -0
  415. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +1 -1
  416. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +37 -5
  417. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +24 -1
  418. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +18 -0
  419. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +237 -140
  420. package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +72 -25
  421. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.js +5 -8
  422. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +29 -4
  423. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +1 -0
  424. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +1 -0
  425. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +2 -1
  426. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +8 -7
  427. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +152 -120
  428. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  429. package/vscode/src/vs/workbench/contrib/files/browser/files.editorPane.contribution.js +67 -0
  430. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
  431. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +51 -12
  432. package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
  433. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +24 -9
  434. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +1 -1
  435. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -0
  436. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +16 -22
  437. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +1 -1
  438. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +48 -27
  439. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +2 -2
  440. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +23 -8
  441. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +48 -6
  442. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +145 -73
  443. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +31 -9
  444. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +8 -10
  445. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +3 -3
  446. package/vscode/src/vs/workbench/contrib/logs/common/defaultLogLevels.js +140 -0
  447. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +7 -3
  448. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +95 -152
  449. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +16 -25
  450. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +2 -4
  451. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -1
  452. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +19 -19
  453. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +1 -1
  454. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +1 -0
  455. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +17 -3
  456. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +102 -15
  457. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +2 -2
  458. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +234 -0
  459. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +1 -2
  460. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +48 -24
  461. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +52 -22
  462. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +62 -3
  463. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +40 -0
  464. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +20 -6
  465. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +4 -4
  466. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +3 -27
  467. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +28 -6
  468. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +28 -3
  469. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +78 -18
  470. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +208 -1
  471. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +1 -1
  472. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +4 -4
  473. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +85 -71
  474. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +1 -2
  475. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -4
  476. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +2 -3
  477. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +82 -14
  478. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +1 -1
  479. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +0 -1
  480. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +4 -3
  481. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +92 -33
  482. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +136 -0
  483. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +6 -1
  484. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +5 -1
  485. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +279 -0
  486. package/vscode/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.js +6 -7
  487. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindings.css.js +4 -0
  488. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +64 -0
  489. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +507 -0
  490. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +478 -0
  491. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +796 -0
  492. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +8 -10
  493. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +14 -20
  494. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +12 -12
  495. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +3 -3
  496. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +44 -54
  497. package/vscode/src/vs/workbench/contrib/search/common/constants.js +26 -65
  498. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +6 -9
  499. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +6 -9
  500. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +2 -2
  501. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
  502. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -124
  503. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +2 -2
  504. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +2 -2
  505. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -5
  506. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +61 -24
  507. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -3
  508. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +5 -5
  509. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +24 -1
  510. package/vscode/src/vs/workbench/contrib/terminal/common/terminalExtensionPoints.js +1 -1
  511. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +4 -4
  512. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +10 -10
  513. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +45 -20
  514. package/vscode/src/vs/workbench/contrib/update/common/update.js +2 -1
  515. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +3 -4
  516. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +3 -3
  517. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  518. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +1 -1
  519. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +15 -18
  520. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +2 -5
  521. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.js +4 -4
  522. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +2 -2
  523. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +5 -5
  524. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +193 -54
  525. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -1
  526. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +9 -3
  527. package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +10 -0
  528. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +3 -1
  529. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +5 -0
  530. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -6
  531. package/vscode/src/vs/workbench/services/editor/common/editorPaneService.js +3 -0
  532. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +5 -1
  533. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.js +29 -0
  534. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +1 -1
  535. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +3 -4
  536. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -3
  537. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +11 -5
  538. package/vscode/src/vs/workbench/services/extensions/common/workspaceContains.js +5 -5
  539. package/vscode/src/vs/workbench/services/history/browser/historyService.js +25 -4
  540. package/vscode/src/vs/workbench/services/history/common/history.d.ts +5 -0
  541. package/vscode/src/vs/workbench/services/language/common/languageService.js +111 -2
  542. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -2
  543. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +59 -1
  544. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +1008 -0
  545. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +477 -0
  546. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +2 -2
  547. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +4 -1
  548. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +53 -13
  549. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -0
  550. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +2 -2
  551. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +1 -1
  552. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +22 -9
  553. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +76 -4
  554. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +2 -2
  555. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +7 -7
  556. package/vscode/src/vs/workbench/services/timer/browser/timerService.js +1 -0
  557. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.js +3 -2
  558. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +1 -1
  559. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +2 -2
  560. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +6 -9
  561. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -12
  562. package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +6 -1
  563. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +43 -4
  564. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +1 -1
  565. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.d.ts +16 -7
  566. package/vscode/src/vs/workbench/services/workspaces/common/workspaceIdentityService.js +102 -0
  567. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +3 -6
  568. package/vscode-dts/vscode.proposed.activeComment.d.ts +23 -0
  569. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +509 -0
  570. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +288 -0
  571. package/vscode-dts/vscode.proposed.chatProvider.d.ts +10 -1
  572. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +56 -0
  573. package/vscode-dts/vscode.proposed.codeActionRanges.d.ts +2 -4
  574. package/vscode-dts/{vscode.proposed.chat.d.ts → vscode.proposed.contribIssueReporter.d.ts} +2 -20
  575. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemGroupMenu.d.ts +2 -0
  576. package/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts +7 -0
  577. package/vscode-dts/vscode.proposed.debugVisualization.d.ts +76 -6
  578. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +49 -0
  579. package/vscode-dts/vscode.proposed.findFiles2.d.ts +89 -0
  580. package/vscode-dts/vscode.proposed.inlineEdit.d.ts +86 -0
  581. package/vscode-dts/vscode.proposed.interactive.d.ts +6 -3
  582. package/vscode-dts/vscode.proposed.languageModels.d.ts +184 -0
  583. package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +36 -0
  584. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +6 -0
  585. package/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts +3 -0
  586. package/vscode-dts/vscode.proposed.speech.d.ts +5 -1
  587. package/vscode-dts/vscode.proposed.testCoverage.d.ts +40 -27
  588. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +0 -98
  589. package/vscode/src/vs/platform/audioCues/browser/audioCueService.js +0 -576
  590. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +0 -430
  591. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +0 -784
  592. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +0 -487
  593. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +0 -521
  594. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +0 -348
  595. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +0 -554
  596. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +0 -471
  597. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/featuredExtensionService.js +0 -159
  598. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +0 -440
  599. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +0 -139
  600. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +0 -105
  601. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +0 -30
@@ -3,7 +3,7 @@ import './media/editorstatus.css.js';
3
3
  import { localizeWithPath, localize2WithPath } from '../../../../nls.js';
4
4
  import { runAtThisOrScheduleAtNextAnimationFrame, getWindowById } from '../../../../base/browser/dom.js';
5
5
  import { format, splitLines, compare } from '../../../../base/common/strings.js';
6
- import { extname, basename, isEqual } from '../../../../base/common/resources.js';
6
+ import { isEqual, extname, basename } from '../../../../base/common/resources.js';
7
7
  import { areFunctions, assertIsDefined } from '../../../../base/common/types.js';
8
8
  import { URI } from '../../../../base/common/uri.js';
9
9
  import { Action } from '../../../../base/common/actions.js';
@@ -33,7 +33,7 @@ import { Schemas } from '../../../../base/common/network.js';
33
33
  import { IPreferencesService } from '../../../services/preferences/common/preferences.js';
34
34
  import { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';
35
35
  import { getIconClassesForLanguageId } from '../../../../editor/common/services/getIconClasses.js';
36
- import { timeout, Promises } from '../../../../base/common/async.js';
36
+ import { Promises, timeout } from '../../../../base/common/async.js';
37
37
  import { Event, Emitter } from '../../../../base/common/event.js';
38
38
  import { IStatusbarService } from '../../../services/statusbar/browser/statusbar.js';
39
39
  import { IMarkerData, MarkerSeverity, IMarkerService } from '../../../../platform/markers/common/markers.js';
@@ -301,7 +301,7 @@ let EditorStatus = class EditorStatus extends Disposable {
301
301
  }));
302
302
  }
303
303
  registerCommands() {
304
- CommandsRegistry.registerCommand({ id: 'changeEditorIndentation', handler: () => this.showIndentationPicker() });
304
+ CommandsRegistry.registerCommand({ id: `changeEditorIndentation${this.targetWindowId}`, handler: () => this.showIndentationPicker() });
305
305
  }
306
306
  async showIndentationPicker() {
307
307
  const activeTextEditorControl = getCodeEditor(this.editorService.activeTextEditorControl);
@@ -420,6 +420,11 @@ let EditorStatus = class EditorStatus extends Disposable {
420
420
  this.selectionElement.clear();
421
421
  return;
422
422
  }
423
+ const editorURI = getCodeEditor(this.editorService.activeTextEditorControl)?.getModel()?.uri;
424
+ if (editorURI?.scheme === Schemas.vscodeNotebookCell) {
425
+ this.selectionElement.clear();
426
+ return;
427
+ }
423
428
  const props = {
424
429
  name: ( localizeWithPath(
425
430
  'vs/workbench/browser/parts/editor/editorStatus',
@@ -442,6 +447,11 @@ let EditorStatus = class EditorStatus extends Disposable {
442
447
  this.indentationElement.clear();
443
448
  return;
444
449
  }
450
+ const editorURI = getCodeEditor(this.editorService.activeTextEditorControl)?.getModel()?.uri;
451
+ if (editorURI?.scheme === Schemas.vscodeNotebookCell) {
452
+ this.indentationElement.clear();
453
+ return;
454
+ }
445
455
  const props = {
446
456
  name: ( localizeWithPath(
447
457
  'vs/workbench/browser/parts/editor/editorStatus',
@@ -455,7 +465,7 @@ let EditorStatus = class EditorStatus extends Disposable {
455
465
  'selectIndentation',
456
466
  "Select Indentation"
457
467
  )),
458
- command: 'changeEditorIndentation'
468
+ command: `changeEditorIndentation${this.targetWindowId}`
459
469
  };
460
470
  this.updateElement(this.indentationElement, props, 'status.editor.indentation', 1 , 100.4);
461
471
  }
@@ -561,7 +571,7 @@ let EditorStatus = class EditorStatus extends Disposable {
561
571
  }
562
572
  if (!this.toRender) {
563
573
  this.toRender = changed;
564
- this.delayedRender.value = runAtThisOrScheduleAtNextAnimationFrame(getWindowById(this.targetWindowId)?.window ?? mainWindow, () => {
574
+ this.delayedRender.value = runAtThisOrScheduleAtNextAnimationFrame(getWindowById(this.targetWindowId, true).window, () => {
565
575
  this.delayedRender.clear();
566
576
  const toRender = this.toRender;
567
577
  this.toRender = undefined;
@@ -762,7 +772,7 @@ let EditorStatus = class EditorStatus extends Disposable {
762
772
  }
763
773
  onEOLChange(editorWidget) {
764
774
  const info = { type: 'EOL', EOL: undefined };
765
- if (editorWidget && !editorWidget.getOption(90 )) {
775
+ if (editorWidget && !editorWidget.getOption(91 )) {
766
776
  const codeEditorModel = editorWidget.getModel();
767
777
  if (codeEditorModel) {
768
778
  info.EOL = codeEditorModel.getEOL();
@@ -819,6 +829,7 @@ EditorStatus = ( __decorate([
819
829
  ( __param(7, IConfigurationService))
820
830
  ], EditorStatus));
821
831
  let EditorStatusContribution = class EditorStatusContribution extends Disposable {
832
+ static { this.ID = 'workbench.contrib.editorStatus'; }
822
833
  constructor(instantiationService, editorGroupService, editorService) {
823
834
  super();
824
835
  const mainInstantiationService = instantiationService.createChild(( new ServiceCollection([IEditorService, editorService.createScoped('main', this._store)])));
@@ -32,6 +32,7 @@ import { EDITOR_CORE_NAVIGATION_COMMANDS } from './editorCommands.js';
32
32
  import { isMacintosh } from '../../../../base/common/platform.js';
33
33
  import { IHostService } from '../../../services/host/browser/host.js';
34
34
  import { ServiceCollection } from '../../../../platform/instantiation/common/serviceCollection.js';
35
+ import { getDefaultHoverDelegate } from '../../../../base/browser/ui/hover/hoverDelegate.js';
35
36
  var EditorTabsControl_1;
36
37
  class EditorCommandsContextActionRunner extends ActionRunner {
37
38
  constructor(context) {
@@ -87,6 +88,7 @@ let EditorTabsControl = class EditorTabsControl extends Themable {
87
88
  this.sideBySideEditorContext = SideBySideEditorActiveContext.bindTo(this.contextMenuContextKeyService);
88
89
  this.groupLockedContext = ActiveEditorGroupLockedContext.bindTo(this.contextMenuContextKeyService);
89
90
  this.renderDropdownAsChildElement = false;
91
+ this.tabsHoverDelegate = getDefaultHoverDelegate('mouse');
90
92
  this.create(parent);
91
93
  }
92
94
  create(parent) {
@@ -118,7 +120,7 @@ let EditorTabsControl = class EditorTabsControl extends Themable {
118
120
  doCreateEditorActionsToolBar(container) {
119
121
  const context = { groupId: this.groupView.id };
120
122
  this.editorActionsToolbar = this.editorActionsToolbarDisposables.add(this.instantiationService.createInstance(WorkbenchToolBar, container, {
121
- actionViewItemProvider: action => this.actionViewItemProvider(action),
123
+ actionViewItemProvider: (action, options) => this.actionViewItemProvider(action, options),
122
124
  orientation: 0 ,
123
125
  ariaLabel: ( localizeWithPath(
124
126
  'vs/workbench/browser/parts/editor/editorTabsControl',
@@ -141,15 +143,15 @@ let EditorTabsControl = class EditorTabsControl extends Themable {
141
143
  }
142
144
  }));
143
145
  }
144
- actionViewItemProvider(action) {
146
+ actionViewItemProvider(action, options) {
145
147
  const activeEditorPane = this.groupView.activeEditorPane;
146
148
  if (activeEditorPane instanceof EditorPane) {
147
- const result = activeEditorPane.getActionViewItem(action);
149
+ const result = activeEditorPane.getActionViewItem(action, options);
148
150
  if (result) {
149
151
  return result;
150
152
  }
151
153
  }
152
- return createActionViewItem(this.instantiationService, action, { menuAsChild: this.renderDropdownAsChildElement });
154
+ return createActionViewItem(this.instantiationService, action, { ...options, menuAsChild: this.renderDropdownAsChildElement });
153
155
  }
154
156
  updateEditorActionsToolbar() {
155
157
  if (!this.editorActionsEnabled) {
@@ -270,7 +272,7 @@ let EditorTabsControl = class EditorTabsControl extends Themable {
270
272
  return false;
271
273
  }
272
274
  onTabContextMenu(editor, e, node) {
273
- this.resourceContext.set(EditorResourceAccessor.getOriginalUri(editor, { supportSideBySide: SideBySideEditor.PRIMARY } ?? null));
275
+ this.resourceContext.set(EditorResourceAccessor.getOriginalUri(editor, { supportSideBySide: SideBySideEditor.PRIMARY }));
274
276
  this.editorPinnedContext.set(this.tabsModel.isPinned(editor));
275
277
  this.editorIsFirstContext.set(this.tabsModel.isFirst(editor));
276
278
  this.editorIsLastContext.set(this.tabsModel.isLast(editor));
@@ -303,6 +305,12 @@ let EditorTabsControl = class EditorTabsControl extends Themable {
303
305
  get tabHeight() {
304
306
  return this.groupsView.partOptions.tabHeight !== 'compact' ? EditorTabsControl_1.EDITOR_TAB_HEIGHT.normal : EditorTabsControl_1.EDITOR_TAB_HEIGHT.compact;
305
307
  }
308
+ getHoverTitle(editor) {
309
+ return editor.getTitle(2 );
310
+ }
311
+ getHoverDelegate() {
312
+ return this.tabsHoverDelegate;
313
+ }
306
314
  updateTabHeight() {
307
315
  this.parent.style.setProperty('--editor-group-tab-height', `${this.tabHeight}px`);
308
316
  }
@@ -1,4 +1,4 @@
1
1
  import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
- var css = ".monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container{display:flex;position:relative}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.empty{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.tabs-border-bottom:after{background-color:var(--tabs-border-bottom-color);bottom:0;content:\"\";height:1px;left:0;pointer-events:none;position:absolute;width:100%;z-index:9}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container>.monaco-scrollable-element{flex:1}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container>.monaco-scrollable-element .scrollbar{cursor:default;z-index:11}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container{display:flex;height:var(--editor-group-tab-height);scrollbar-width:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.scroll{overflow:scroll!important}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.wrapping .tabs-container{flex-wrap:wrap;height:auto}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container::-webkit-scrollbar{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab{box-sizing:border-box;cursor:pointer;display:flex;height:var(--editor-group-tab-height);padding-left:10px;position:relative;white-space:nowrap}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.wrapping .tabs-container>.tab:last-child{margin-right:var(--last-tab-margin-right)}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.wrapping .tabs-container>.tab.last-in-row:not(:last-child){border-right:0!important}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.has-icon.close-action-off:not(.sticky-compact),.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.has-icon.tab-actions-right,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.has-icon.close-action-off:not(.sticky-compact),.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.has-icon.tab-actions-right{padding-left:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit{flex-shrink:0;min-width:fit-content;width:120px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed{flex:1 0 0;max-width:var(--tab-sizing-current-width,var(--tab-sizing-fixed-max-width,160px));min-width:var(--tab-sizing-current-width,var(--tab-sizing-fixed-min-width,50px))}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.last-in-row{min-width:calc(var(--tab-sizing-current-width, var(--tab-sizing-fixed-min-width, 50px)) - 1px)}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.wrapping .tabs-container>.tab.sizing-fit.last-in-row:not(:last-child){flex-grow:1}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink{flex-basis:0;flex-grow:1;max-width:fit-content;min-width:80px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.sticky-shrink{flex-basis:0;flex-grow:0;position:sticky;z-index:8}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.sticky-compact{max-width:38px;min-width:38px;width:38px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.sticky-shrink{max-width:80px;min-width:80px;width:80px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-fit.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-fit.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-fixed.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-fixed.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-shrink.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-shrink.sticky-shrink{left:unset!important;position:relative;z-index:unset}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.close-action-off:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.tab-actions-left:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.close-action-off:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.tab-actions-left:after{content:\"\";display:flex;flex:0;width:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.tab-actions-left,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.tab-actions-left{min-width:80px;padding-right:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dragged{transform:translateZ(0)}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dragged-over div{pointer-events:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-left:not(.sticky-compact){flex-direction:row-reverse;padding-left:0;padding-right:10px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-border-bottom-container,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-border-top-container{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active.tab-border-top>.tab-border-top-container,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty-border-top>.tab-border-top-container,.monaco-workbench .part.editor>.content .editor-group-container>.title.two-tab-bars .tabs-and-actions-container:not(:first-child) .tabs-container>.tab.active.tab-border-bottom>.tab-border-bottom-container,.monaco-workbench .part.editor>.content .editor-group-container>.title:not(.two-tab-bars) .tabs-container>.tab.active.tab-border-bottom>.tab-border-bottom-container{display:block;left:0;pointer-events:none;position:absolute;width:100%}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active.tab-border-top>.tab-border-top-container{background-color:var(--tab-border-top-color);height:1px;top:0;z-index:6}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active.tab-border-bottom>.tab-border-bottom-container{background-color:var(--tab-border-bottom-color);bottom:0;height:1px;z-index:10}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty-border-top>.tab-border-top-container{background-color:var(--tab-dirty-border-top-color);height:2px;top:0;z-index:6}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab .tab-label{line-height:var(--editor-group-tab-height);margin-bottom:auto;margin-top:auto}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed .tab-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink .tab-label{position:relative}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed>.tab-label>.monaco-icon-label-container:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink>.tab-label>.monaco-icon-label-container:after{bottom:1px;content:\"\";height:calc(100% - 2px);opacity:1;padding:0;position:absolute;right:0;top:1px;width:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed:focus>.tab-label>.monaco-icon-label-container:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink:focus>.tab-label>.monaco-icon-label-container:after{opacity:0}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed>.tab-label.tab-label-has-badge:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink:not(.tab-actions-left):not(.close-action-off) .tab-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink>.tab-label.tab-label-has-badge:after{padding-right:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky-compact:not(.has-icon) .monaco-icon-label{text-align:center}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit .monaco-icon-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit .monaco-icon-label>.monaco-icon-label-container{overflow-x:visible}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed>.monaco-icon-label>.monaco-icon-label-container,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink>.monaco-icon-label>.monaco-icon-label-container{flex:none;text-overflow:clip}.monaco-workbench.hc-black .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed>.monaco-icon-label>.monaco-icon-label-container,.monaco-workbench.hc-black .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink>.monaco-icon-label>.monaco-icon-label-container,.monaco-workbench.hc-light .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed>.monaco-icon-label>.monaco-icon-label-container,.monaco-workbench.hc-light .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink>.monaco-icon-label>.monaco-icon-label-container{text-overflow:ellipsis}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-actions{margin-bottom:auto;margin-top:auto;width:28px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-actions>.monaco-action-bar{width:28px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-fixed>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-shrink>.tab-actions{flex:0;overflow:hidden}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty.tab-actions-right.sizing-fixed>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty.tab-actions-right.sizing-shrink>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky.tab-actions-right.sizing-fixed>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky.tab-actions-right.sizing-shrink>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-fixed:hover>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-fixed>.tab-actions:focus-within,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-shrink:hover>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-shrink>.tab-actions:focus-within{overflow:visible}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.close-action-off:not(.dirty)>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky-compact>.tab-actions{display:none}.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.active:hover>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.active>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.dirty>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.sticky:not(.pinned-action-off)>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab:hover>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab>.tab-actions .action-label:focus{opacity:1}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-actions .actions-container{justify-content:center}.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab>.tab-actions .action-label.codicon{color:inherit;font-size:16px;height:16px;padding:2px;width:16px}.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.sticky.dirty>.tab-actions .action-label:not(:hover):before,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky.dirty>.tab-actions .action-label:not(:hover):before{content:\"\\ebb2\"}.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.dirty>.tab-actions .action-label:not(:hover):before,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty>.tab-actions .action-label:not(:hover):before{content:\"\\ea71\"}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active:hover>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky:not(.pinned-action-off)>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab:hover>.tab-actions .action-label{opacity:.5}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-actions .action-label{opacity:0}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.close-action-off{padding-right:10px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.close-action-off:not(.sticky-compact),.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.close-action-off:not(.sticky-compact){padding-right:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.close-action-off.dirty-border-top>.tab-actions{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.close-action-off.dirty:not(.dirty-border-top):not(.sticky-compact){padding-right:0}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.close-action-off>.tab-actions{pointer-events:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .editor-actions{cursor:default;flex:initial;height:var(--editor-group-tab-height);padding:0 8px 0 4px}.monaco-workbench .part.editor>.content .editor-group-container>.title .editor-actions.hidden{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .editor-actions .action-item{margin-right:4px}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.wrapping .editor-actions{bottom:0;position:absolute;right:0}.monaco-workbench .part.editor>.content .editor-group-container>.title.two-tab-bars>.tabs-and-actions-container:first-child .editor-actions{display:none}";
2
+ var css = ".monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container{display:flex;position:relative}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.empty{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.tabs-border-bottom:after{background-color:var(--tabs-border-bottom-color);bottom:0;content:\"\";height:1px;left:0;pointer-events:none;position:absolute;width:100%;z-index:9}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container>.monaco-scrollable-element{flex:1}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container>.monaco-scrollable-element .scrollbar{cursor:default;z-index:11}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container{display:flex;height:var(--editor-group-tab-height);scrollbar-width:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.scroll{overflow:scroll!important}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.wrapping .tabs-container{flex-wrap:wrap;height:auto}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container::-webkit-scrollbar{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab{box-sizing:border-box;cursor:pointer;display:flex;height:var(--editor-group-tab-height);padding-left:10px;position:relative;white-space:nowrap}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.wrapping .tabs-container>.tab:last-child{margin-right:var(--last-tab-margin-right)}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.wrapping .tabs-container>.tab.last-in-row:not(:last-child){border-right:0!important}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.has-icon.close-action-off:not(.sticky-compact),.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.has-icon.tab-actions-right,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.has-icon.close-action-off:not(.sticky-compact),.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.has-icon.tab-actions-right{padding-left:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit{flex-shrink:0;min-width:fit-content;width:120px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed{flex:1 0 0;max-width:var(--tab-sizing-current-width,var(--tab-sizing-fixed-max-width,160px));min-width:var(--tab-sizing-current-width,var(--tab-sizing-fixed-min-width,50px))}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.last-in-row{min-width:calc(var(--tab-sizing-current-width, var(--tab-sizing-fixed-min-width, 50px)) - 1px)}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.wrapping .tabs-container>.tab.sizing-fit.last-in-row:not(:last-child){flex-grow:1}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink{flex-basis:0;flex-grow:1;max-width:fit-content;min-width:80px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.sticky-shrink{flex-basis:0;flex-grow:0;position:sticky;z-index:8}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.sticky-compact{max-width:38px;min-width:38px;width:38px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.sticky-shrink{max-width:80px;min-width:80px;width:80px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-fit.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-fit.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-fixed.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-fixed.sticky-shrink,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-shrink.sticky-compact,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container.disable-sticky-tabs>.tab.sizing-shrink.sticky-shrink{left:unset!important;position:relative;z-index:unset}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.close-action-off:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.tab-actions-left:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.close-action-off:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.tab-actions-left:after{content:\"\";display:flex;flex:0;width:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.tab-actions-left,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.tab-actions-left{min-width:80px;padding-right:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-left:not(.sticky-compact){flex-direction:row-reverse;padding-left:0;padding-right:10px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-border-bottom-container,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-border-top-container{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active.tab-border-top>.tab-border-top-container,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty-border-top>.tab-border-top-container,.monaco-workbench .part.editor>.content .editor-group-container>.title.two-tab-bars .tabs-and-actions-container:not(:first-child) .tabs-container>.tab.active.tab-border-bottom>.tab-border-bottom-container,.monaco-workbench .part.editor>.content .editor-group-container>.title:not(.two-tab-bars) .tabs-container>.tab.active.tab-border-bottom>.tab-border-bottom-container{display:block;left:0;pointer-events:none;position:absolute;width:100%}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active.tab-border-top>.tab-border-top-container{background-color:var(--tab-border-top-color);height:1px;top:0;z-index:6}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active.tab-border-bottom>.tab-border-bottom-container{background-color:var(--tab-border-bottom-color);bottom:0;height:1px;z-index:10}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty-border-top>.tab-border-top-container{background-color:var(--tab-dirty-border-top-color);height:2px;top:0;z-index:6}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab .tab-label{line-height:var(--editor-group-tab-height);margin-bottom:auto;margin-top:auto}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed .tab-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink .tab-label{position:relative}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed>.tab-label>.monaco-icon-label-container:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink>.tab-label>.monaco-icon-label-container:after{bottom:1px;content:\"\";height:calc(100% - 2px);opacity:1;padding:0;position:absolute;right:0;top:1px;width:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed:focus>.tab-label>.monaco-icon-label-container:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink:focus>.tab-label>.monaco-icon-label-container:after{opacity:0}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed>.tab-label.tab-label-has-badge:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink:not(.tab-actions-left):not(.close-action-off) .tab-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink>.tab-label.tab-label-has-badge:after{padding-right:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky-compact:not(.has-icon) .monaco-icon-label{text-align:center}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit .monaco-icon-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fit .monaco-icon-label>.monaco-icon-label-container{overflow-x:visible}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed>.monaco-icon-label>.monaco-icon-label-container,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink>.monaco-icon-label>.monaco-icon-label-container{flex:none;text-overflow:clip}.monaco-workbench.hc-black .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed>.monaco-icon-label>.monaco-icon-label-container,.monaco-workbench.hc-black .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink>.monaco-icon-label>.monaco-icon-label-container,.monaco-workbench.hc-light .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed>.monaco-icon-label>.monaco-icon-label-container,.monaco-workbench.hc-light .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink>.monaco-icon-label>.monaco-icon-label-container{text-overflow:ellipsis}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-actions{margin-bottom:auto;margin-top:auto;width:28px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-actions>.monaco-action-bar{width:28px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-fixed>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-shrink>.tab-actions{flex:0;overflow:hidden}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty.tab-actions-right.sizing-fixed>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty.tab-actions-right.sizing-shrink>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky.tab-actions-right.sizing-fixed>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky.tab-actions-right.sizing-shrink>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-fixed:hover>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-fixed>.tab-actions:focus-within,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-shrink:hover>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.tab-actions-right.sizing-shrink>.tab-actions:focus-within{overflow:visible}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.close-action-off:not(.dirty)>.tab-actions,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky-compact>.tab-actions{display:none}.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.active:hover>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.active>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.dirty>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.sticky:not(.pinned-action-off)>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab:hover>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab>.tab-actions .action-label:focus{opacity:1}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-actions .actions-container{justify-content:center}.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab>.tab-actions .action-label.codicon{color:inherit;font-size:16px;height:16px;padding:2px;width:16px}.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.sticky.dirty>.tab-actions .action-label:not(:hover):before,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky.dirty>.tab-actions .action-label:not(:hover):before{content:\"\\ebb2\";font-family:codicon}.monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.dirty>.tab-actions .action-label:not(:hover):before,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty>.tab-actions .action-label:not(:hover):before{content:\"\\ea71\";font-family:codicon}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active:hover>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.active>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sticky:not(.pinned-action-off)>.tab-actions .action-label,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab:hover>.tab-actions .action-label{opacity:.5}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab>.tab-actions .action-label{opacity:0}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.close-action-off{padding-right:10px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-fixed.close-action-off:not(.sticky-compact),.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.sizing-shrink.close-action-off:not(.sticky-compact){padding-right:5px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.close-action-off.dirty-border-top>.tab-actions{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.close-action-off.dirty:not(.dirty-border-top):not(.sticky-compact){padding-right:0}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.close-action-off>.tab-actions{pointer-events:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .editor-actions{cursor:default;flex:initial;height:var(--editor-group-tab-height);padding:0 8px 0 4px}.monaco-workbench .part.editor>.content .editor-group-container>.title .editor-actions.hidden{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .editor-actions .action-item{margin-right:4px}.monaco-workbench .part.editor>.content .editor-group-container>.title>.tabs-and-actions-container.wrapping .editor-actions{bottom:0;position:absolute;right:0}.monaco-workbench .part.editor>.content .editor-group-container>.title.two-tab-bars>.tabs-and-actions-container:first-child .editor-actions{display:none}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.drop-target-left:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.drop-target-right:before{background-color:var(--vscode-tab-dragAndDropBorder);content:\"\";height:100%;pointer-events:none;position:absolute;top:0;width:1px;z-index:11}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.drop-target-right:before{left:0}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.drop-target-left:after{right:-1px}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.last-in-row.drop-target-left:not(:last-child):after{right:0}.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.last-in-row+.tab.drop-target-right:before,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.last-in-row.drop-target-left:after,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab:first-child.drop-target-right:before,.monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab:last-child.drop-target-left:after{width:2px}";
3
3
  n(css,{});
4
4
  export { css, css as default };
@@ -19,8 +19,8 @@ import { MutableDisposable, DisposableStore, dispose, combinedDisposable, toDisp
19
19
  import { ScrollableElement } from '../../../../base/browser/ui/scrollbar/scrollableElement.js';
20
20
  import { getOrSet } from '../../../../base/common/map.js';
21
21
  import { registerThemingParticipant, IThemeService } from '../../../../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 '../../../../platform/theme/common/colorRegistry.js';
22
+ import { EDITOR_GROUP_HEADER_TABS_BORDER, TAB_BORDER, TAB_ACTIVE_BACKGROUND, 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_INACTIVE_BACKGROUND, 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, EDITOR_DRAG_AND_DROP_BACKGROUND, WORKBENCH_BACKGROUND } from '../../../common/theme.js';
23
+ import { contrastBorder, activeContrastBorder, editorBackground } from '../../../../platform/theme/common/colorRegistry.js';
24
24
  import { DraggedEditorIdentifier, DraggedEditorGroupIdentifier, isWindowDraggedOver, extractTreeDropData, ResourcesDropHandler } from '../../dnd.js';
25
25
  import { INotificationService } from '../../../../platform/notification/common/notification.js';
26
26
  import { Dimension, addDisposableListener, EventType as EventType$1, DragAndDropObserver, clearNode, scheduleAtNextAnimationFrame, getWindow, isMouseEvent, findParentWithClass, EventHelper } from '../../../../base/browser/dom.js';
@@ -210,7 +210,6 @@ let MultiEditorTabsControl = class MultiEditorTabsControl extends EditorTabsCont
210
210
  onDragEnter: e => {
211
211
  tabsContainer.classList.add('scroll');
212
212
  if (e.target !== tabsContainer) {
213
- this.updateDropFeedback(tabsContainer, false);
214
213
  return;
215
214
  }
216
215
  if (!this.isSupportedDropTransfer(e)) {
@@ -219,38 +218,24 @@ let MultiEditorTabsControl = class MultiEditorTabsControl extends EditorTabsCont
219
218
  }
220
219
  return;
221
220
  }
222
- let isLocalDragAndDrop = false;
223
- if (this.editorTransfer.hasData(DraggedEditorIdentifier.prototype)) {
224
- isLocalDragAndDrop = true;
225
- const data = this.editorTransfer.getData(DraggedEditorIdentifier.prototype);
226
- if (Array.isArray(data)) {
227
- const localDraggedEditor = data[0].identifier;
228
- if (this.groupView.id === localDraggedEditor.groupId && this.tabsModel.isLast(localDraggedEditor.editor)) {
229
- if (e.dataTransfer) {
230
- e.dataTransfer.dropEffect = 'none';
231
- }
232
- return;
233
- }
234
- }
235
- }
236
- if (!isLocalDragAndDrop) {
221
+ if (!this.editorTransfer.hasData(DraggedEditorIdentifier.prototype)) {
237
222
  if (e.dataTransfer) {
238
223
  e.dataTransfer.dropEffect = 'copy';
239
224
  }
240
225
  }
241
- this.updateDropFeedback(tabsContainer, true);
226
+ this.updateDropFeedback(tabsContainer, true, e);
242
227
  },
243
228
  onDragLeave: e => {
244
- this.updateDropFeedback(tabsContainer, false);
229
+ this.updateDropFeedback(tabsContainer, false, e);
245
230
  tabsContainer.classList.remove('scroll');
246
231
  },
247
232
  onDragEnd: e => {
248
- this.updateDropFeedback(tabsContainer, false);
233
+ this.updateDropFeedback(tabsContainer, false, e);
249
234
  tabsContainer.classList.remove('scroll');
250
235
  this.onGroupDragEnd(e, lastDragEvent, tabsContainer, isNewWindowOperation);
251
236
  },
252
237
  onDrop: e => {
253
- this.updateDropFeedback(tabsContainer, false);
238
+ this.updateDropFeedback(tabsContainer, false, e);
254
239
  tabsContainer.classList.remove('scroll');
255
240
  if (e.target === tabsContainer) {
256
241
  const isGroupTransfer = this.groupTransfer.hasData(DraggedEditorGroupIdentifier.prototype);
@@ -521,7 +506,7 @@ let MultiEditorTabsControl = class MultiEditorTabsControl extends EditorTabsCont
521
506
  const tabBorderTopContainer = document.createElement('div');
522
507
  tabBorderTopContainer.classList.add('tab-border-top-container');
523
508
  tabContainer.appendChild(tabBorderTopContainer);
524
- const editorLabel = this.tabResourceLabels.create(tabContainer);
509
+ const editorLabel = this.tabResourceLabels.create(tabContainer, { hoverDelegate: this.getHoverDelegate() });
525
510
  const tabActionsContainer = document.createElement('div');
526
511
  tabActionsContainer.classList.add('tab-actions');
527
512
  tabContainer.appendChild(tabActionsContainer);
@@ -689,58 +674,39 @@ let MultiEditorTabsControl = class MultiEditorTabsControl extends EditorTabsCont
689
674
  this.editorTransfer.setData([( new DraggedEditorIdentifier({ editor, groupId: this.groupView.id }))], DraggedEditorIdentifier.prototype);
690
675
  if (e.dataTransfer) {
691
676
  e.dataTransfer.effectAllowed = 'copyMove';
677
+ e.dataTransfer.setDragImage(tab, 0, 0);
692
678
  }
693
679
  this.doFillResourceDataTransfers([editor], e, isNewWindowOperation);
694
- tab.classList.add('dragged');
695
- scheduleAtNextAnimationFrame(getWindow(this.parent), () => tab.classList.remove('dragged'));
680
+ scheduleAtNextAnimationFrame(getWindow(this.parent), () => this.updateDropFeedback(tab, false, e, tabIndex));
696
681
  },
697
682
  onDrag: e => {
698
683
  lastDragEvent = e;
699
684
  },
700
685
  onDragEnter: e => {
701
- tab.classList.add('dragged-over');
702
686
  if (!this.isSupportedDropTransfer(e)) {
703
687
  if (e.dataTransfer) {
704
688
  e.dataTransfer.dropEffect = 'none';
705
689
  }
706
690
  return;
707
691
  }
708
- let isLocalDragAndDrop = false;
709
- if (this.editorTransfer.hasData(DraggedEditorIdentifier.prototype)) {
710
- isLocalDragAndDrop = true;
711
- const data = this.editorTransfer.getData(DraggedEditorIdentifier.prototype);
712
- if (Array.isArray(data)) {
713
- const localDraggedEditor = data[0].identifier;
714
- if (localDraggedEditor.editor === this.tabsModel.getEditorByIndex(tabIndex) && localDraggedEditor.groupId === this.groupView.id) {
715
- if (e.dataTransfer) {
716
- e.dataTransfer.dropEffect = 'none';
717
- }
718
- return;
719
- }
720
- }
721
- }
722
- if (!isLocalDragAndDrop) {
692
+ if (!this.editorTransfer.hasData(DraggedEditorIdentifier.prototype)) {
723
693
  if (e.dataTransfer) {
724
694
  e.dataTransfer.dropEffect = 'copy';
725
695
  }
726
696
  }
727
- this.updateDropFeedback(tab, true, tabIndex);
697
+ this.updateDropFeedback(tab, true, e, tabIndex);
728
698
  },
729
- onDragOver: (_, dragDuration) => {
699
+ onDragOver: (e, dragDuration) => {
730
700
  if (dragDuration >= MultiEditorTabsControl_1.DRAG_OVER_OPEN_TAB_THRESHOLD) {
731
701
  const draggedOverTab = this.tabsModel.getEditorByIndex(tabIndex);
732
702
  if (draggedOverTab && this.tabsModel.activeEditor !== draggedOverTab) {
733
703
  this.groupView.openEditor(draggedOverTab, { preserveFocus: true });
734
704
  }
735
705
  }
736
- },
737
- onDragLeave: () => {
738
- tab.classList.remove('dragged-over');
739
- this.updateDropFeedback(tab, false, tabIndex);
706
+ this.updateDropFeedback(tab, true, e, tabIndex);
740
707
  },
741
708
  onDragEnd: async (e) => {
742
- tab.classList.remove('dragged-over');
743
- this.updateDropFeedback(tab, false, tabIndex);
709
+ this.updateDropFeedback(tab, false, e, tabIndex);
744
710
  this.editorTransfer.clearData(DraggedEditorIdentifier.prototype);
745
711
  const editor = this.tabsModel.getEditorByIndex(tabIndex);
746
712
  if (!isNewWindowOperation ||
@@ -762,9 +728,23 @@ let MultiEditorTabsControl = class MultiEditorTabsControl extends EditorTabsCont
762
728
  targetGroup.focus();
763
729
  },
764
730
  onDrop: e => {
765
- tab.classList.remove('dragged-over');
766
- this.updateDropFeedback(tab, false, tabIndex);
767
- this.onDrop(e, tabIndex, tabsContainer);
731
+ this.updateDropFeedback(tab, false, e, tabIndex);
732
+ let targetIndex = tabIndex;
733
+ if (this.getTabDragOverLocation(e, tab) === 'right') {
734
+ targetIndex++;
735
+ }
736
+ const editorIdentifiers = this.editorTransfer.getData(DraggedEditorIdentifier.prototype);
737
+ if (editorIdentifiers !== undefined) {
738
+ const draggedEditorIdentifier = editorIdentifiers[0].identifier;
739
+ const sourceGroup = this.editorPartsView.getGroup(draggedEditorIdentifier.groupId);
740
+ if (sourceGroup?.id === this.groupView.id) {
741
+ const editorIndex = sourceGroup.getIndexOfEditor(draggedEditorIdentifier.editor);
742
+ if (editorIndex < targetIndex) {
743
+ targetIndex--;
744
+ }
745
+ }
746
+ }
747
+ this.onDrop(e, targetIndex, tabsContainer);
768
748
  }
769
749
  })));
770
750
  return disposables;
@@ -788,25 +768,57 @@ let MultiEditorTabsControl = class MultiEditorTabsControl extends EditorTabsCont
788
768
  }
789
769
  return false;
790
770
  }
791
- updateDropFeedback(element, isDND, tabIndex) {
771
+ updateDropFeedback(element, isDND, e, tabIndex) {
792
772
  const isTab = (typeof tabIndex === 'number');
793
- const editor = typeof tabIndex === 'number' ? this.tabsModel.getEditorByIndex(tabIndex) : undefined;
794
- const isActiveTab = isTab && !!editor && this.tabsModel.isActive(editor);
795
- const noDNDBackgroundColor = isTab ? this.getColor(isActiveTab ? TAB_ACTIVE_BACKGROUND : TAB_INACTIVE_BACKGROUND) : '';
796
- element.style.backgroundColor = (isDND ? this.getColor(EDITOR_DRAG_AND_DROP_BACKGROUND) : noDNDBackgroundColor) || '';
797
- const activeContrastBorderColor = this.getColor(activeContrastBorder);
798
- if (activeContrastBorderColor && isDND) {
799
- element.style.outlineWidth = '2px';
800
- element.style.outlineStyle = 'dashed';
801
- element.style.outlineColor = activeContrastBorderColor;
802
- element.style.outlineOffset = isTab ? '-5px' : '-3px';
773
+ let dropTarget;
774
+ if (isDND) {
775
+ if (isTab) {
776
+ dropTarget = this.computeDropTarget(e, tabIndex, element);
777
+ }
778
+ else {
779
+ dropTarget = { leftElement: element.lastElementChild, rightElement: undefined };
780
+ }
803
781
  }
804
782
  else {
805
- element.style.outlineWidth = '';
806
- element.style.outlineStyle = '';
807
- element.style.outlineColor = activeContrastBorderColor || '';
808
- element.style.outlineOffset = '';
783
+ dropTarget = undefined;
784
+ }
785
+ this.updateDropTarget(dropTarget);
786
+ }
787
+ updateDropTarget(newTarget) {
788
+ const oldTargets = this.dropTarget;
789
+ if (oldTargets === newTarget || oldTargets && newTarget && oldTargets.leftElement === newTarget.leftElement && oldTargets.rightElement === newTarget.rightElement) {
790
+ return;
791
+ }
792
+ const dropClassLeft = 'drop-target-left';
793
+ const dropClassRight = 'drop-target-right';
794
+ if (oldTargets) {
795
+ oldTargets.leftElement?.classList.remove(dropClassLeft);
796
+ oldTargets.rightElement?.classList.remove(dropClassRight);
809
797
  }
798
+ if (newTarget) {
799
+ newTarget.leftElement?.classList.add(dropClassLeft);
800
+ newTarget.rightElement?.classList.add(dropClassRight);
801
+ }
802
+ this.dropTarget = newTarget;
803
+ }
804
+ getTabDragOverLocation(e, tab) {
805
+ const rect = tab.getBoundingClientRect();
806
+ const offsetXRelativeToParent = e.clientX - rect.left;
807
+ return offsetXRelativeToParent <= rect.width / 2 ? 'left' : 'right';
808
+ }
809
+ computeDropTarget(e, tabIndex, targetTab) {
810
+ const isLeftSideOfTab = this.getTabDragOverLocation(e, targetTab) === 'left';
811
+ const isLastTab = tabIndex === this.tabsModel.count - 1;
812
+ const isFirstTab = tabIndex === 0;
813
+ if (isLeftSideOfTab && isFirstTab) {
814
+ return { leftElement: undefined, rightElement: targetTab };
815
+ }
816
+ if (!isLeftSideOfTab && isLastTab) {
817
+ return { leftElement: targetTab, rightElement: undefined };
818
+ }
819
+ const tabBefore = isLeftSideOfTab ? targetTab.previousElementSibling : targetTab;
820
+ const tabAfter = isLeftSideOfTab ? targetTab : targetTab.nextElementSibling;
821
+ return { leftElement: tabBefore, rightElement: tabAfter };
810
822
  }
811
823
  computeTabLabels() {
812
824
  const { labelFormat } = this.groupsView.partOptions;
@@ -992,10 +1004,8 @@ let MultiEditorTabsControl = class MultiEditorTabsControl extends EditorTabsCont
992
1004
  tabContainer.setAttribute('aria-label', tabLabel.ariaLabel);
993
1005
  tabContainer.setAttribute('aria-description', '');
994
1006
  }
995
- const title = tabLabel.title || '';
996
- tabContainer.title = title;
997
1007
  tabLabelWidget.setResource({ name, description, resource: EditorResourceAccessor.getOriginalUri(editor, { supportSideBySide: SideBySideEditor.BOTH }) }, {
998
- title,
1008
+ title: this.getHoverTitle(editor),
999
1009
  extraClasses: coalesce(['tab-label', fileDecorationBadges ? 'tab-label-has-badge' : undefined].concat(editor.getLabelExtraClasses())),
1000
1010
  italic: !this.tabsModel.isPinned(editor),
1001
1011
  forceLabel,
@@ -1178,6 +1188,9 @@ let MultiEditorTabsControl = class MultiEditorTabsControl extends EditorTabsCont
1178
1188
  tabsWrapMultiLine = enabled;
1179
1189
  tabsAndActionsContainer.classList.toggle('wrapping', tabsWrapMultiLine);
1180
1190
  tabsContainer.style.setProperty('--last-tab-margin-right', tabsWrapMultiLine ? `${editorToolbarContainer.offsetWidth}px` : '0');
1191
+ for (const tab of tabsContainer.children) {
1192
+ tab.classList.remove('last-in-row');
1193
+ }
1181
1194
  }
1182
1195
  if (this.groupsView.partOptions.wrapTabs) {
1183
1196
  const visibleTabsWidth = tabsContainer.offsetWidth;
@@ -1348,7 +1361,7 @@ let MultiEditorTabsControl = class MultiEditorTabsControl extends EditorTabsCont
1348
1361
  }
1349
1362
  async onDrop(e, targetTabIndex, tabsContainer) {
1350
1363
  EventHelper.stop(e, true);
1351
- this.updateDropFeedback(tabsContainer, false);
1364
+ this.updateDropFeedback(tabsContainer, false, e, targetTabIndex);
1352
1365
  tabsContainer.classList.remove('scroll');
1353
1366
  const targetEditorIndex = this.tabsModel instanceof UnstickyEditorGroupModel ? targetTabIndex + this.groupView.stickyCount : targetTabIndex;
1354
1367
  const options = {
@@ -27,7 +27,7 @@ class SingleEditorTabsControl extends EditorTabsControl {
27
27
  const labelContainer = document.createElement('div');
28
28
  labelContainer.classList.add('label-container');
29
29
  titleContainer.appendChild(labelContainer);
30
- this.editorLabel = this._register(this.instantiationService.createInstance(ResourceLabel, labelContainer, undefined)).element;
30
+ this.editorLabel = this._register(this.instantiationService.createInstance(ResourceLabel, labelContainer, { hoverDelegate: this.getHoverDelegate() })).element;
31
31
  this._register(addDisposableListener(this.editorLabel.element, EventType.CLICK, e => this.onTitleLabelClick(e)));
32
32
  this.breadcrumbsControlFactory = this._register(this.instantiationService.createInstance(BreadcrumbsControlFactory, labelContainer, this.groupView, {
33
33
  showFileIcons: false,
@@ -202,16 +202,12 @@ class SingleEditorTabsControl extends EditorTabsControl {
202
202
  else {
203
203
  description = editor.getDescription(this.getVerbosity(labelFormat)) || '';
204
204
  }
205
- let title = editor.getTitle(2 );
206
- if (description === title) {
207
- title = '';
208
- }
209
205
  editorLabel.setResource({
210
206
  resource: EditorResourceAccessor.getOriginalUri(editor, { supportSideBySide: SideBySideEditor.BOTH }),
211
207
  name: editor.getName(),
212
208
  description
213
209
  }, {
214
- title,
210
+ title: this.getHoverTitle(editor),
215
211
  italic: !isEditorPinned,
216
212
  extraClasses: ['single-tab', 'title-label'].concat(editor.getLabelExtraClasses()),
217
213
  fileDecorations: {
@@ -71,7 +71,7 @@ let TextDiffEditor = class TextDiffEditor extends AbstractTextEditor {
71
71
  this.inputLifecycleStopWatch = undefined;
72
72
  await super.setInput(input, options, context, token);
73
73
  try {
74
- const resolvedModel = await input.resolve(options);
74
+ const resolvedModel = await input.resolve();
75
75
  if (token.isCancellationRequested) {
76
76
  return undefined;
77
77
  }
@@ -139,6 +139,9 @@ let TextDiffEditor = class TextDiffEditor extends AbstractTextEditor {
139
139
  editorViewState.modified.cursorState = [];
140
140
  }
141
141
  control.restoreViewState(editorViewState);
142
+ if (options?.revealIfVisible) {
143
+ control.revealFirstDiff();
144
+ }
142
145
  return true;
143
146
  }
144
147
  return false;
@@ -24,7 +24,7 @@ let AbstractTextResourceEditor = class AbstractTextResourceEditor extends Abstra
24
24
  }
25
25
  async setInput(input, options, context, token) {
26
26
  await super.setInput(input, options, context, token);
27
- const resolvedModel = await input.resolve(options);
27
+ const resolvedModel = await input.resolve();
28
28
  if (token.isCancellationRequested) {
29
29
  return undefined;
30
30
  }
@@ -99,7 +99,7 @@ let TextResourceEditor = class TextResourceEditor extends AbstractTextResourceEd
99
99
  if (e.range.startLineNumber !== 1 || e.range.startColumn !== 1) {
100
100
  return;
101
101
  }
102
- if (codeEditor.getOption(90 )) {
102
+ if (codeEditor.getOption(91 )) {
103
103
  return;
104
104
  }
105
105
  const textModel = codeEditor.getModel();