@codingame/monaco-vscode-api 8.0.4 → 9.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (696) hide show
  1. package/api.js +9 -10
  2. package/debugProtocol.d.ts +69 -5
  3. package/extensions.d.ts +5 -3
  4. package/extensions.js +1 -1
  5. package/localExtensionHost.js +2 -2
  6. package/missing-services.js +19 -3
  7. package/package.json +9 -8
  8. package/service-override/extensions.d.ts +1 -1
  9. package/service-override/tools/editor.d.ts +4 -4
  10. package/service-override/tools/editor.js +7 -3
  11. package/services.js +2 -2
  12. package/tools.js +1 -1
  13. package/vscode/src/vs/base/browser/browser.js +4 -3
  14. package/vscode/src/vs/base/browser/defaultWorkerFactory.js +83 -13
  15. package/vscode/src/vs/base/browser/dom.js +6 -12
  16. package/vscode/src/vs/base/browser/markdownRenderer.js +57 -68
  17. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
  18. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  19. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -3
  20. package/vscode/src/vs/base/browser/ui/button/button.js +26 -1
  21. package/vscode/src/vs/base/browser/ui/dialog/dialog.css.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +7 -7
  23. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
  24. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +1 -1
  25. package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +3 -3
  26. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +2 -2
  27. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +1 -0
  28. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +7 -0
  29. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -2
  30. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +8 -6
  31. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +2 -2
  32. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +6 -6
  33. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
  34. package/vscode/src/vs/base/browser/ui/list/listView.js +2 -2
  35. package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
  36. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +8 -0
  39. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +1 -1
  40. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -6
  41. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +1 -1
  42. package/vscode/src/vs/base/common/actions.js +1 -1
  43. package/vscode/src/vs/base/common/amd.js +119 -0
  44. package/vscode/src/vs/base/common/async.d.ts +13 -1
  45. package/vscode/src/vs/base/common/date.js +22 -6
  46. package/vscode/src/vs/base/common/event.d.ts +6 -0
  47. package/vscode/src/vs/base/common/event.js +5 -0
  48. package/vscode/src/vs/base/common/jsonErrorMessages.js +9 -9
  49. package/vscode/src/vs/base/common/keybindingLabels.js +20 -20
  50. package/vscode/src/vs/base/common/network.js +15 -13
  51. package/vscode/src/vs/base/common/performance.js +1 -1
  52. package/vscode/src/vs/base/common/platform.js +3 -1
  53. package/vscode/src/vs/base/common/product.d.ts +0 -1
  54. package/vscode/src/vs/base/common/worker/simpleWorker.js +136 -127
  55. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +18 -66
  56. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +5 -18
  57. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +3 -3
  58. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +5 -5
  59. package/vscode/src/vs/editor/browser/coreCommands.js +3 -3
  60. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +115 -221
  61. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +2 -2
  62. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +5 -2
  63. package/vscode/src/vs/editor/browser/view/viewLayer.js +20 -20
  64. package/vscode/src/vs/editor/browser/view/viewOverlays.js +5 -6
  65. package/vscode/src/vs/editor/browser/view.js +1 -3
  66. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +10 -14
  67. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +3 -1
  68. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -3
  69. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +12 -12
  70. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +14 -14
  71. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -1
  72. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +3 -1
  73. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +7 -7
  74. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +5 -5
  75. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +7 -7
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +4 -4
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
  80. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +4 -4
  81. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +15 -5
  82. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +1 -1
  83. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +59 -50
  84. package/vscode/src/vs/editor/common/config/editorOptions.js +1 -1
  85. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
  86. package/vscode/src/vs/editor/common/cursor/cursor.js +1 -1
  87. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +1 -1
  88. package/vscode/src/vs/editor/common/editorContextKeys.js +47 -47
  89. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  90. package/vscode/src/vs/editor/common/languages.js +29 -28
  91. package/vscode/src/vs/editor/common/model/editStack.js +1 -1
  92. package/vscode/src/vs/editor/common/model/textModel.js +8 -39
  93. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +84 -74
  94. package/vscode/src/vs/editor/common/model/tokens.js +82 -0
  95. package/vscode/src/vs/editor/common/model/treeSitterTokens.js +69 -0
  96. package/vscode/src/vs/editor/common/model.d.ts +2 -0
  97. package/vscode/src/vs/editor/common/services/editorSimpleWorker.js +39 -241
  98. package/vscode/src/vs/editor/common/services/editorWorker.d.ts +3 -2
  99. package/vscode/src/vs/editor/common/services/editorWorkerBootstrap.js +27 -0
  100. package/vscode/src/vs/editor/common/services/editorWorkerHost.js +10 -0
  101. package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
  102. package/vscode/src/vs/editor/common/services/languageService.js +10 -37
  103. package/vscode/src/vs/editor/common/services/modelService.js +6 -17
  104. package/vscode/src/vs/editor/common/services/textModelSync/textModelSync.impl.js +323 -0
  105. package/vscode/src/vs/editor/common/services/treeSitterParserService.js +3 -0
  106. package/vscode/src/vs/editor/common/standaloneStrings.js +57 -28
  107. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  108. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  109. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  110. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  111. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  112. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  113. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  114. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +28 -28
  115. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  116. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +14 -6
  117. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  118. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +14 -1
  119. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +41 -29
  120. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  121. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +2 -2
  122. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +1 -1
  123. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +2 -2
  124. package/vscode/src/vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider.js +13 -13
  125. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +7 -7
  126. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +10 -30
  127. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  128. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  129. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  130. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +3 -3
  131. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +12 -15
  132. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  133. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +1 -1
  134. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  135. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  136. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  137. package/vscode/src/vs/editor/contrib/find/browser/findController.js +26 -25
  138. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +27 -27
  139. package/vscode/src/vs/editor/contrib/folding/browser/folding.d.ts +4 -1
  140. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -3
  141. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  142. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.d.ts +2 -1
  143. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.js +5 -13
  144. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.d.ts +3 -1
  145. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.js +2 -2
  146. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  147. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  148. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  149. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  150. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  151. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +1 -1
  152. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  153. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +9 -4
  154. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  155. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +10 -14
  156. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  157. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  158. package/vscode/src/vs/editor/contrib/hover/browser/{hoverController.js → contentHoverController2.js} +26 -84
  159. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  160. package/vscode/src/vs/editor/contrib/hover/browser/{contentHoverController.js → contentHoverWidgetWrapper.js} +20 -5
  161. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +5 -5
  162. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  163. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +37 -37
  164. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +4 -2
  165. package/vscode/src/vs/editor/contrib/hover/browser/hoverUtils.js +12 -0
  166. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverController.js +166 -0
  167. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverWidget.js +24 -4
  168. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  169. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +7 -6
  170. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  171. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  172. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  173. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{commands.js → controller/commands.js} +26 -26
  174. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionContextKeys.js → controller/inlineCompletionContextKeys.js} +14 -14
  175. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionsController.js → controller/inlineCompletionsController.js} +35 -35
  176. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{hoverParticipant.js → hintsWidget/hoverParticipant.js} +23 -23
  177. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionsHintsWidget.css.js → hintsWidget/inlineCompletionsHintsWidget.css.js} +1 -1
  178. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionsHintsWidget.js → hintsWidget/inlineCompletionsHintsWidget.js} +38 -38
  179. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +3 -3
  180. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +2 -2
  181. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{ghostText.js → model/ghostText.js} +5 -5
  182. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionsModel.js → model/inlineCompletionsModel.js} +27 -27
  183. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{inlineCompletionsSource.js → model/inlineCompletionsSource.js} +16 -16
  184. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{provideInlineCompletions.js → model/provideInlineCompletions.js} +11 -11
  185. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{singleTextEdit.js → model/singleTextEdit.js} +6 -6
  186. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{suggestWidgetInlineCompletionProvider.js → model/suggestWidgetAdaptor.js} +11 -11
  187. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{ghostText.css.js → view/ghostTextView.css.js} +1 -1
  188. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{ghostTextWidget.js → view/ghostTextView.js} +29 -29
  189. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
  190. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +1 -1
  191. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +6 -6
  192. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +2 -2
  193. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +1 -1
  194. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  195. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
  196. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  197. package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
  198. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  199. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  200. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  201. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  202. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +17 -17
  203. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  204. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +5 -5
  205. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  206. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  207. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
  208. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -8
  209. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  210. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  211. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  212. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  213. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  214. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +28 -13
  215. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +6 -3
  216. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +16 -16
  217. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  218. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  219. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  220. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  221. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  222. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  223. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  224. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  225. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js +64 -0
  226. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +62 -89
  227. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  228. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -3
  229. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +0 -1
  230. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +1 -1
  231. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +24 -3
  232. package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterService.js +13 -0
  233. package/vscode/src/vs/nls.js +4 -3
  234. package/vscode/src/vs/nls.messages.js +7 -0
  235. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +49 -49
  236. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  237. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +4 -4
  238. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css.js +1 -1
  239. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  240. package/vscode/src/vs/platform/actions/browser/buttonbar.js +8 -7
  241. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  242. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  243. package/vscode/src/vs/platform/actions/common/actions.d.ts +2 -0
  244. package/vscode/src/vs/platform/actions/common/actions.js +2 -0
  245. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  246. package/vscode/src/vs/platform/actions/common/menuService.js +17 -7
  247. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +45 -5
  248. package/vscode/src/vs/platform/clipboard/common/clipboardService.service.d.ts +6 -0
  249. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  250. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  251. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  252. package/vscode/src/vs/platform/dialogs/common/dialogs.js +9 -9
  253. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  254. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +4 -4
  255. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -2
  256. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  257. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +1 -1
  258. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +19 -19
  259. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +16 -10
  260. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  261. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  262. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  263. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
  264. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
  265. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  266. package/vscode/src/vs/platform/markers/common/markerService.js +0 -1
  267. package/vscode/src/vs/platform/markers/common/markers.js +3 -3
  268. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +1 -1
  269. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +8 -8
  270. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
  271. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +11 -8
  272. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +3 -3
  273. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +43 -35
  274. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  275. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +10 -7
  276. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +12 -2
  277. package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +10 -1
  278. package/vscode/src/vs/platform/request/common/request.js +14 -14
  279. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +19 -4
  280. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +11 -8
  281. package/vscode/src/vs/platform/terminal/common/terminal.js +9 -5
  282. package/vscode/src/vs/platform/theme/common/colorUtils.js +4 -3
  283. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  284. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  285. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +94 -94
  286. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +45 -45
  287. package/vscode/src/vs/platform/theme/common/colors/listColors.js +37 -33
  288. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  289. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  290. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +8 -8
  291. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  292. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  293. package/vscode/src/vs/platform/theme/common/iconRegistry.js +5 -5
  294. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -42
  295. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  296. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +2 -2
  297. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  298. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +1 -1
  299. package/vscode/src/vs/platform/window/common/window.js +16 -1
  300. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +20 -73
  301. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +98 -52
  302. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  303. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  304. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  305. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +5 -5
  306. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +55 -13
  307. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +5 -5
  308. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +11 -11
  309. package/vscode/src/vs/workbench/api/common/extHostSearch.js +48 -5
  310. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  311. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  312. package/vscode/src/vs/workbench/api/common/extHostTesting.js +22 -9
  313. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
  314. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +147 -48
  315. package/vscode/src/vs/workbench/api/common/extHostTypes.js +17 -10
  316. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +230 -80
  317. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  318. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.esm.js +3 -0
  319. package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
  320. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +154 -148
  321. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  322. package/vscode/src/vs/workbench/browser/actions/windowActions.js +25 -25
  323. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +21 -21
  324. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
  325. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  326. package/vscode/src/vs/workbench/browser/labels.js +2 -2
  327. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +11 -11
  328. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +11 -11
  329. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
  330. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  331. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +41 -41
  332. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +11 -11
  333. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +1 -1
  334. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +6 -6
  335. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +131 -131
  336. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +2 -2
  337. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +16 -16
  338. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +7 -7
  339. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +13 -13
  340. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
  341. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +9 -9
  342. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +5 -5
  343. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +74 -72
  344. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +2 -2
  345. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +1 -1
  346. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +19 -9
  347. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  348. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -1
  349. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -3
  350. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
  351. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +15 -15
  352. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsCenter.css.js +1 -1
  353. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsList.css.js +1 -1
  354. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsToasts.css.js +1 -1
  355. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +17 -17
  356. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -3
  357. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +6 -6
  358. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +9 -9
  359. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +6 -6
  360. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +13 -13
  361. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +2 -2
  362. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +4 -4
  363. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +34 -34
  364. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +18 -18
  365. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +2 -2
  366. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +1 -1
  367. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +7 -7
  368. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +1 -1
  369. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +4 -4
  370. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +9 -6
  371. package/vscode/src/vs/workbench/browser/quickaccess.js +1 -1
  372. package/vscode/src/vs/workbench/browser/window.js +24 -17
  373. package/vscode/src/vs/workbench/browser/workbench.contribution.js +217 -217
  374. package/vscode/src/vs/workbench/common/configuration.js +10 -10
  375. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
  376. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
  377. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
  378. package/vscode/src/vs/workbench/common/theme.js +156 -156
  379. package/vscode/src/vs/workbench/common/views.js +5 -5
  380. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +178 -137
  381. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +13 -13
  382. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +6 -0
  383. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +88 -61
  384. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +4 -4
  385. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +9 -9
  386. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +289 -0
  387. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +1 -1
  388. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +11 -11
  389. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +2 -2
  390. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAttachmentsContentPart.js +8 -8
  391. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCodeCitationContentPart.js +1 -1
  392. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +1 -1
  393. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +3 -2
  394. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +15 -9
  395. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +31 -74
  396. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.service.js +3 -0
  397. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +1 -1
  398. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatConfirmationWidget.css.js +1 -1
  399. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -2
  400. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +5 -12
  401. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +73 -60
  402. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +139 -50
  403. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +36 -19
  404. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +26 -3
  405. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +39 -31
  406. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  407. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +50 -37
  408. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +7 -20
  409. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  410. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +62 -1
  411. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +6 -6
  412. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +36 -17
  413. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +105 -40
  414. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +35 -2
  415. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +12 -5
  416. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +13 -1
  417. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +17 -21
  418. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +17 -1
  419. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +3 -0
  420. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
  421. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +15 -15
  422. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +10 -10
  423. package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +6 -6
  424. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  425. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  426. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  427. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +10 -10
  428. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  429. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
  430. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -6
  431. package/vscode/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +33 -1
  432. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +13 -34
  433. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  434. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  435. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  436. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  437. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  438. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  439. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +5 -5
  440. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +3 -3
  441. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +4 -4
  442. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  443. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +18 -4
  444. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +15 -4
  445. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +0 -8
  446. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +10 -10
  447. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -6
  448. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +13 -6
  449. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +17 -13
  450. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +64 -30
  451. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +85 -11
  452. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  453. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +6 -4
  454. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +9 -9
  455. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +30 -0
  456. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  457. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +15 -9
  458. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +65 -60
  459. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +21 -16
  460. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -74
  461. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  462. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  463. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +45 -41
  464. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  465. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +4 -4
  466. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +260 -0
  467. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  468. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  469. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +18 -11
  470. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  471. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +3 -0
  472. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  473. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +2 -2
  474. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  475. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +166 -166
  476. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +24 -24
  477. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  478. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  479. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  480. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  481. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +4 -4
  482. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  483. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  484. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +20 -20
  485. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  486. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +85 -85
  487. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +8 -8
  488. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  489. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +33 -33
  490. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +52 -87
  491. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  492. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  493. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  494. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
  495. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +18 -14
  496. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
  497. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  498. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  499. package/vscode/src/vs/workbench/contrib/files/common/files.d.ts +1 -0
  500. package/vscode/src/vs/workbench/contrib/files/common/files.js +14 -14
  501. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  502. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  503. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  504. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  505. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  506. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +73 -93
  507. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +11 -18
  508. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +234 -112
  509. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +53 -138
  510. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +33 -38
  511. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +249 -117
  512. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +85 -44
  513. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +93 -41
  514. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  515. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  516. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +63 -45
  517. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +3 -0
  518. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +27 -0
  519. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +54 -0
  520. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +95 -25
  521. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +1 -1
  522. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +29 -29
  523. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
  524. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +269 -0
  525. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/fixedZoneWidget.js +40 -0
  526. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  527. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  528. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +58 -6
  529. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +2 -1
  530. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  531. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +6 -6
  532. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
  533. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +3 -3
  534. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +12 -5
  535. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +3 -3
  536. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +5 -5
  537. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +2 -2
  538. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  539. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  540. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +49 -0
  541. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1515 -0
  542. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +266 -0
  543. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +630 -0
  544. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +113 -0
  545. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +37 -0
  546. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css.js +4 -0
  547. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +729 -0
  548. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +28 -0
  549. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +445 -0
  550. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +184 -0
  551. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +454 -0
  552. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.js +256 -0
  553. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.js +45 -0
  554. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +1 -1
  555. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
  556. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -3
  557. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +9 -9
  558. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +62 -43
  559. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  560. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +4 -4
  561. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellExecution.js +29 -7
  562. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +13 -12
  563. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +53 -14
  564. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  565. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  566. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  567. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +2 -2
  568. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  569. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellEditorPool.js +114 -0
  570. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +0 -1
  571. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +1 -1
  572. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
  573. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +16 -9
  574. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +32 -2
  575. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +2 -2
  576. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +14 -5
  577. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookHorizontalTracker.js +47 -0
  578. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +35 -30
  579. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  580. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +4 -0
  581. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +2 -3
  582. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +105 -0
  583. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +9 -3
  584. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +11 -18
  585. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
  586. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +12 -12
  587. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +18 -17
  588. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +54 -49
  589. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  590. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
  591. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  592. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +60 -60
  593. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +2 -2
  594. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +23 -23
  595. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +2 -1
  596. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +10 -10
  597. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +4 -5
  598. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  599. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +10 -10
  600. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +14 -33
  601. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  602. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +1 -1
  603. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +2 -2
  604. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  605. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  606. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  607. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  608. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  609. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +5 -5
  610. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +3 -3
  611. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +18 -1
  612. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +4 -4
  613. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +32 -32
  614. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +3 -0
  615. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +7 -7
  616. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  617. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +16 -16
  618. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +28 -28
  619. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  620. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +8 -4
  621. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +2 -1
  622. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  623. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  624. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  625. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  626. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  627. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
  628. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +7 -7
  629. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +2 -1
  630. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  631. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  632. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +15 -15
  633. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +6 -8
  634. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +10 -3
  635. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  636. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +1 -1
  637. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  638. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -2
  639. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +1 -0
  640. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +5 -0
  641. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +83 -83
  642. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
  643. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  644. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +3 -3
  645. package/vscode/src/vs/workbench/services/output/common/output.js +1 -2
  646. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  647. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  648. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +2 -2
  649. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  650. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +5 -5
  651. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +62 -30
  652. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +42 -12
  653. package/vscode/src/vs/workbench/services/search/common/search.js +69 -34
  654. package/vscode/src/vs/workbench/services/search/common/searchExtConversionTypes.js +144 -0
  655. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +9 -29
  656. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +7 -7
  657. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +77 -93
  658. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  659. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +7 -4
  660. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  661. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  662. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +8 -9
  663. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  664. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +11 -11
  665. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +7 -7
  666. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +20 -17
  667. package/vscode-dts/vscode.proposed.aiTextSearchProviderNew.d.ts +1 -85
  668. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +42 -13
  669. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +5 -0
  670. package/vscode-dts/vscode.proposed.chatProvider.d.ts +1 -1
  671. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -17
  672. package/vscode-dts/vscode.proposed.contribChatParticipantDetection.d.ts +6 -0
  673. package/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts +6 -0
  674. package/vscode-dts/vscode.proposed.contribSourceControlHistoryTitleMenu.d.ts +7 -0
  675. package/vscode-dts/vscode.proposed.contribViewContainerTitle.d.ts +8 -0
  676. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +6 -3
  677. package/vscode-dts/vscode.proposed.extensionsAny.d.ts +1 -0
  678. package/vscode-dts/vscode.proposed.fileSearchProviderNew.d.ts +7 -6
  679. package/vscode-dts/vscode.proposed.findFiles2New.d.ts +36 -11
  680. package/vscode-dts/vscode.proposed.findTextInFilesNew.d.ts +51 -30
  681. package/vscode-dts/vscode.proposed.interactive.d.ts +0 -2
  682. package/vscode-dts/vscode.proposed.lmTools.d.ts +119 -20
  683. package/vscode-dts/vscode.proposed.notebookReplDocument.d.ts +20 -0
  684. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +1 -0
  685. package/vscode-dts/vscode.proposed.testObserver.d.ts +6 -0
  686. package/vscode-dts/vscode.proposed.textSearchCompleteNew.d.ts +1 -9
  687. package/vscode-dts/vscode.proposed.textSearchProviderNew.d.ts +58 -17
  688. package/workers/editor.worker.js +1 -1
  689. package/workers/extensionHost.worker.js +1 -3
  690. package/external/vscode-marked/lib/marked.esm.js +0 -2199
  691. package/vscode/src/vs/editor/browser/services/webWorker.js +0 -57
  692. package/vscode/src/vs/editor/editor.worker.js +0 -21
  693. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +0 -70
  694. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +0 -338
  695. package/vscode-dts/vscode.proposed.testMessageStackTrace.d.ts +0 -38
  696. /package/vscode/src/vs/editor/contrib/inlineCompletions/browser/{commandIds.js → controller/commandIds.js} +0 -0
@@ -13,7 +13,7 @@ import './media/notebookCellOutput.css.js';
13
13
  import './media/notebookEditorStickyScroll.css.js';
14
14
  import './media/notebookKernelActionViewItem.css.js';
15
15
  import './media/notebookOutline.css.js';
16
- import { getWindow, append, createStyleSheet, addStandardDisposableGenericMouseDownListener, addStandardDisposableGenericMouseUpListener, trackFocus, scheduleAtNextAnimationFrame, runWhenWindowIdle, size, isAncestorOfActiveElement, $ as $$1 } from '../../../../base/browser/dom.js';
16
+ import { getWindow, append, createStyleSheet, addStandardDisposableGenericMouseDownListener, addStandardDisposableGenericMouseUpListener, trackFocus, runWhenWindowIdle, scheduleAtNextAnimationFrame, size, isAncestorOfActiveElement, $ as $$1 } from '../../../../base/browser/dom.js';
17
17
  import { mainWindow } from '../../../../base/browser/window.js';
18
18
  import { SequencerByKey, DeferredPromise } from '../../../../base/common/async.js';
19
19
  import { Color, RGBA } from '../../../../base/common/color.js';
@@ -95,6 +95,8 @@ import { IKeybindingService } from '../../../../platform/keybinding/common/keybi
95
95
  import { PixelRatio } from '../../../../base/browser/pixelRatio.js';
96
96
  import { PreventDefaultContextMenuItemsContextKeyName } from '../../webview/browser/webview.contribution.js';
97
97
  import { NotebookAccessibilityProvider } from './notebookAccessibilityProvider.js';
98
+ import { NotebookHorizontalTracker } from './viewParts/notebookHorizontalTracker.js';
99
+ import { NotebookCellEditorPool } from './view/notebookCellEditorPool.js';
98
100
  const $ = $$1;
99
101
  function getDefaultNotebookCreationOptions() {
100
102
  const skipContributions = [
@@ -149,6 +151,17 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
149
151
  const [focused] = this._list.getFocusedElements();
150
152
  return this._renderedEditors.get(focused);
151
153
  }
154
+ get activeCellAndCodeEditor() {
155
+ if (this._isDisposed) {
156
+ return;
157
+ }
158
+ const [focused] = this._list.getFocusedElements();
159
+ const editor = this._renderedEditors.get(focused);
160
+ if (!editor) {
161
+ return;
162
+ }
163
+ return [focused, editor];
164
+ }
152
165
  get codeEditors() {
153
166
  return [...this._renderedEditors];
154
167
  }
@@ -190,6 +203,8 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
190
203
  this.onDidChangeDecorations = this._onDidChangeDecorations.event;
191
204
  this._onDidScroll = this._register(( (new Emitter())));
192
205
  this.onDidScroll = this._onDidScroll.event;
206
+ this._onDidChangeLayout = this._register(( (new Emitter())));
207
+ this.onDidChangeLayout = this._onDidChangeLayout.event;
193
208
  this._onDidChangeActiveCell = this._register(( (new Emitter())));
194
209
  this.onDidChangeActiveCell = this._onDidChangeActiveCell.event;
195
210
  this._onDidChangeFocus = this._register(( (new Emitter())));
@@ -257,6 +272,9 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
257
272
  eventDispatcher,
258
273
  language => this.getBaseCellEditorOptions(language)
259
274
  )));
275
+ this._register(this._viewContext.eventDispatcher.onDidChangeLayout(() => {
276
+ this._onDidChangeLayout.fire();
277
+ }));
260
278
  this._register(this._viewContext.eventDispatcher.onDidChangeCellState(e => {
261
279
  this._onDidChangeCellState.fire(e);
262
280
  }));
@@ -488,6 +506,7 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
488
506
  this._notebookOverviewRulerContainer.classList.add('notebook-overview-ruler-container');
489
507
  this._list.scrollableElement.appendChild(this._notebookOverviewRulerContainer);
490
508
  this._registerNotebookOverviewRuler();
509
+ this._register(this.instantiationService.createInstance(NotebookHorizontalTracker, this, this._list.scrollableElement));
491
510
  this._overflowContainer = document.createElement('div');
492
511
  this._overflowContainer.classList.add('notebook-overflow-widget-container', 'monaco-editor');
493
512
  append(parent, this._overflowContainer);
@@ -718,8 +737,9 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
718
737
  this._body.classList.add('cell-list-container');
719
738
  this._dndController = this._register(( (new CellDragAndDropController(this, this._body))));
720
739
  const getScopedContextKeyService = (container) => this._list.contextKeyService.createScoped(container);
740
+ this._editorPool = this._register(this.instantiationService.createInstance(NotebookCellEditorPool, this, getScopedContextKeyService));
721
741
  const renderers = [
722
- this.instantiationService.createInstance(CodeCellRenderer, this, this._renderedEditors, this._dndController, getScopedContextKeyService),
742
+ this.instantiationService.createInstance(CodeCellRenderer, this, this._renderedEditors, this._editorPool, this._dndController, getScopedContextKeyService),
723
743
  this.instantiationService.createInstance(MarkupCellRenderer, this, this._dndController, this._renderedEditors, getScopedContextKeyService),
724
744
  ];
725
745
  renderers.forEach(renderer => {
@@ -852,25 +872,21 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
852
872
  }));
853
873
  }
854
874
  _registerNotebookStickyScroll() {
855
- this._notebookStickyScroll = this._register(this.instantiationService.createInstance(NotebookStickyScroll, this._notebookStickyScrollContainer, this, this._list));
856
- const localDisposableStore = this._register(( (new DisposableStore())));
857
- this._register(this._notebookStickyScroll.onDidChangeNotebookStickyScroll((sizeDelta) => {
858
- const d = localDisposableStore.add(scheduleAtNextAnimationFrame(getWindow(this.getDomNode()), () => {
859
- if (this.isDisposed) {
860
- return;
875
+ this._notebookStickyScroll = this._register(this.instantiationService.createInstance(NotebookStickyScroll, this._notebookStickyScrollContainer, this, this._list, (sizeDelta) => {
876
+ if (this.isDisposed) {
877
+ return;
878
+ }
879
+ if (this._dimension && this._isVisible) {
880
+ if (sizeDelta > 0) {
881
+ this.layout(this._dimension);
882
+ this.setScrollTop(this.scrollTop + sizeDelta);
861
883
  }
862
- if (this._dimension && this._isVisible) {
863
- if (sizeDelta > 0) {
864
- this.layout(this._dimension);
865
- this.setScrollTop(this.scrollTop + sizeDelta);
866
- }
867
- else if (sizeDelta < 0) {
868
- this.setScrollTop(this.scrollTop + sizeDelta);
869
- this.layout(this._dimension);
870
- }
884
+ else if (sizeDelta < 0) {
885
+ this.setScrollTop(this.scrollTop + sizeDelta);
886
+ this.layout(this._dimension);
871
887
  }
872
- localDisposableStore.delete(d);
873
- }));
888
+ }
889
+ this._onDidScroll.fire();
874
890
  }));
875
891
  }
876
892
  _updateOutputRenderers() {
@@ -1663,6 +1679,9 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
1663
1679
  get scrollTop() {
1664
1680
  return this._list.scrollTop;
1665
1681
  }
1682
+ get scrollBottom() {
1683
+ return this._list.scrollTop + this._list.getRenderHeight();
1684
+ }
1666
1685
  getAbsoluteTopOfElement(cell) {
1667
1686
  return this._list.getCellViewScrollTop(cell);
1668
1687
  }
@@ -2565,43 +2584,43 @@ const notebookCellBorder = registerColor('notebook.cellBorderColor', {
2565
2584
  light: ( (transparent(listInactiveSelectionBackground, 1))),
2566
2585
  hcDark: PANEL_BORDER,
2567
2586
  hcLight: PANEL_BORDER
2568
- }, ( localize(8025, "The border color for notebook cells.")));
2569
- registerColor('notebook.focusedEditorBorder', focusBorder, ( localize(8026, "The color of the notebook cell editor border.")));
2570
- const cellStatusIconSuccess = registerColor('notebookStatusSuccessIcon.foreground', debugIconStartForeground, ( localize(8027, "The error icon color of notebook cells in the cell status bar.")));
2587
+ }, ( localize(7817, "The border color for notebook cells.")));
2588
+ registerColor('notebook.focusedEditorBorder', focusBorder, ( localize(7818, "The color of the notebook cell editor border.")));
2589
+ const cellStatusIconSuccess = registerColor('notebookStatusSuccessIcon.foreground', debugIconStartForeground, ( localize(7819, "The error icon color of notebook cells in the cell status bar.")));
2571
2590
  const runningCellRulerDecorationColor = registerColor('notebookEditorOverviewRuler.runningCellForeground', debugIconStartForeground, ( localize(
2572
- 8028,
2591
+ 7820,
2573
2592
  "The color of the running cell decoration in the notebook editor overview ruler."
2574
2593
  )));
2575
- const cellStatusIconError = registerColor('notebookStatusErrorIcon.foreground', errorForeground, ( localize(8029, "The error icon color of notebook cells in the cell status bar.")));
2576
- registerColor('notebookStatusRunningIcon.foreground', foreground, ( localize(8030, "The running icon color of notebook cells in the cell status bar.")));
2577
- registerColor('notebook.outputContainerBorderColor', null, ( localize(8031, "The border color of the notebook output container.")));
2578
- registerColor('notebook.outputContainerBackgroundColor', null, ( localize(8032, "The color of the notebook output container background.")));
2594
+ const cellStatusIconError = registerColor('notebookStatusErrorIcon.foreground', errorForeground, ( localize(7821, "The error icon color of notebook cells in the cell status bar.")));
2595
+ registerColor('notebookStatusRunningIcon.foreground', foreground, ( localize(7822, "The running icon color of notebook cells in the cell status bar.")));
2596
+ registerColor('notebook.outputContainerBorderColor', null, ( localize(7823, "The border color of the notebook output container.")));
2597
+ registerColor('notebook.outputContainerBackgroundColor', null, ( localize(7824, "The color of the notebook output container background.")));
2579
2598
  registerColor('notebook.cellToolbarSeparator', {
2580
2599
  dark: ( (( (Color.fromHex('#808080'))).transparent(0.35))),
2581
2600
  light: ( (( (Color.fromHex('#808080'))).transparent(0.35))),
2582
2601
  hcDark: contrastBorder,
2583
2602
  hcLight: contrastBorder
2584
- }, ( localize(8033, "The color of the separator in the cell bottom toolbar")));
2585
- const focusedCellBackground = registerColor('notebook.focusedCellBackground', null, ( localize(8034, "The background color of a cell when the cell is focused.")));
2603
+ }, ( localize(7825, "The color of the separator in the cell bottom toolbar")));
2604
+ const focusedCellBackground = registerColor('notebook.focusedCellBackground', null, ( localize(7826, "The background color of a cell when the cell is focused.")));
2586
2605
  registerColor('notebook.selectedCellBackground', {
2587
2606
  dark: listInactiveSelectionBackground,
2588
2607
  light: listInactiveSelectionBackground,
2589
2608
  hcDark: null,
2590
2609
  hcLight: null
2591
- }, ( localize(8035, "The background color of a cell when the cell is selected.")));
2610
+ }, ( localize(7827, "The background color of a cell when the cell is selected.")));
2592
2611
  registerColor('notebook.cellHoverBackground', {
2593
2612
  dark: ( (transparent(focusedCellBackground, .5))),
2594
2613
  light: ( (transparent(focusedCellBackground, .7))),
2595
2614
  hcDark: null,
2596
2615
  hcLight: null
2597
- }, ( localize(8036, "The background color of a cell when the cell is hovered.")));
2616
+ }, ( localize(7828, "The background color of a cell when the cell is hovered.")));
2598
2617
  registerColor('notebook.selectedCellBorder', {
2599
2618
  dark: notebookCellBorder,
2600
2619
  light: notebookCellBorder,
2601
2620
  hcDark: contrastBorder,
2602
2621
  hcLight: contrastBorder
2603
2622
  }, ( localize(
2604
- 8037,
2623
+ 7829,
2605
2624
  "The color of the cell's top and bottom border when the cell is selected but not focused."
2606
2625
  )));
2607
2626
  registerColor('notebook.inactiveSelectedCellBorder', {
@@ -2609,13 +2628,13 @@ registerColor('notebook.inactiveSelectedCellBorder', {
2609
2628
  light: null,
2610
2629
  hcDark: focusBorder,
2611
2630
  hcLight: focusBorder
2612
- }, ( localize(8038, "The color of the cell's borders when multiple cells are selected.")));
2631
+ }, ( localize(7830, "The color of the cell's borders when multiple cells are selected.")));
2613
2632
  registerColor('notebook.focusedCellBorder', focusBorder, ( localize(
2614
- 8039,
2633
+ 7831,
2615
2634
  "The color of the cell's focus indicator borders when the cell is focused."
2616
2635
  )));
2617
2636
  registerColor('notebook.inactiveFocusedCellBorder', notebookCellBorder, ( localize(
2618
- 8040,
2637
+ 7832,
2619
2638
  "The color of the cell's top and bottom border when a cell is focused while the primary focus is outside of the editor."
2620
2639
  )));
2621
2640
  registerColor('notebook.cellStatusBarItemHoverBackground', {
@@ -2623,27 +2642,27 @@ registerColor('notebook.cellStatusBarItemHoverBackground', {
2623
2642
  dark: ( (new Color( (new RGBA(255, 255, 255, 0.15))))),
2624
2643
  hcDark: ( (new Color( (new RGBA(255, 255, 255, 0.15))))),
2625
2644
  hcLight: ( (new Color( (new RGBA(0, 0, 0, 0.08))))),
2626
- }, ( localize(8041, "The background color of notebook cell status bar items.")));
2627
- registerColor('notebook.cellInsertionIndicator', focusBorder, ( localize(8042, "The color of the notebook cell insertion indicator.")));
2628
- registerColor('notebookScrollbarSlider.background', scrollbarSliderBackground, ( localize(8043, "Notebook scrollbar slider background color.")));
2629
- registerColor('notebookScrollbarSlider.hoverBackground', scrollbarSliderHoverBackground, ( localize(8044, "Notebook scrollbar slider background color when hovering.")));
2630
- registerColor('notebookScrollbarSlider.activeBackground', scrollbarSliderActiveBackground, ( localize(8045, "Notebook scrollbar slider background color when clicked on.")));
2645
+ }, ( localize(7833, "The background color of notebook cell status bar items.")));
2646
+ registerColor('notebook.cellInsertionIndicator', focusBorder, ( localize(7834, "The color of the notebook cell insertion indicator.")));
2647
+ registerColor('notebookScrollbarSlider.background', scrollbarSliderBackground, ( localize(7835, "Notebook scrollbar slider background color.")));
2648
+ registerColor('notebookScrollbarSlider.hoverBackground', scrollbarSliderHoverBackground, ( localize(7836, "Notebook scrollbar slider background color when hovering.")));
2649
+ registerColor('notebookScrollbarSlider.activeBackground', scrollbarSliderActiveBackground, ( localize(7837, "Notebook scrollbar slider background color when clicked on.")));
2631
2650
  registerColor('notebook.symbolHighlightBackground', {
2632
2651
  dark: ( (Color.fromHex('#ffffff0b'))),
2633
2652
  light: ( (Color.fromHex('#fdff0033'))),
2634
2653
  hcDark: null,
2635
2654
  hcLight: null
2636
- }, ( localize(8046, "Background color of highlighted cell")));
2655
+ }, ( localize(7838, "Background color of highlighted cell")));
2637
2656
  registerColor('notebook.cellEditorBackground', {
2638
2657
  light: SIDE_BAR_BACKGROUND,
2639
2658
  dark: SIDE_BAR_BACKGROUND,
2640
2659
  hcDark: null,
2641
2660
  hcLight: null
2642
- }, ( localize(8047, "Cell editor background color.")));
2661
+ }, ( localize(7839, "Cell editor background color.")));
2643
2662
  const notebookEditorBackground = registerColor('notebook.editorBackground', {
2644
2663
  light: EDITOR_PANE_BACKGROUND,
2645
2664
  dark: EDITOR_PANE_BACKGROUND,
2646
2665
  hcDark: null,
2647
2666
  hcLight: null
2648
- }, ( localize(8048, "Notebook background color.")));
2667
+ }, ( localize(7840, "Notebook background color.")));
2649
2668
  export { NotebookEditorWidget, cellStatusIconError, cellStatusIconSuccess, focusedCellBackground, getDefaultNotebookCreationOptions, notebookCellBorder, runningCellRulerDecorationColor };
@@ -1,32 +1,32 @@
1
1
  import { Codicon } from '../../../../base/common/codicons.js';
2
2
  import { localize } from '../../../../nls.js';
3
3
  import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
4
- const selectKernelIcon = registerIcon('notebook-kernel-select', Codicon.serverEnvironment, ( localize(5628, 'Configure icon to select a kernel in notebook editors.')));
5
- const executeIcon = registerIcon('notebook-execute', Codicon.play, ( localize(5629, 'Icon to execute in notebook editors.')));
6
- const configIcon = registerIcon('notebook-config', Codicon.gear, ( localize(5630, 'Icon to configure in notebook editors.')));
7
- const executeAboveIcon = registerIcon('notebook-execute-above', Codicon.runAbove, ( localize(5631, 'Icon to execute above cells in notebook editors.')));
8
- const executeBelowIcon = registerIcon('notebook-execute-below', Codicon.runBelow, ( localize(5632, 'Icon to execute below cells in notebook editors.')));
9
- const stopIcon = registerIcon('notebook-stop', Codicon.primitiveSquare, ( localize(5633, 'Icon to stop an execution in notebook editors.')));
10
- const deleteCellIcon = registerIcon('notebook-delete-cell', Codicon.trash, ( localize(5634, 'Icon to delete a cell in notebook editors.')));
11
- const executeAllIcon = registerIcon('notebook-execute-all', Codicon.runAll, ( localize(5635, 'Icon to execute all cells in notebook editors.')));
12
- const editIcon = registerIcon('notebook-edit', Codicon.pencil, ( localize(5636, 'Icon to edit a cell in notebook editors.')));
13
- const stopEditIcon = registerIcon('notebook-stop-edit', Codicon.check, ( localize(5637, 'Icon to stop editing a cell in notebook editors.')));
14
- const moveUpIcon = registerIcon('notebook-move-up', Codicon.arrowUp, ( localize(5638, 'Icon to move up a cell in notebook editors.')));
15
- const moveDownIcon = registerIcon('notebook-move-down', Codicon.arrowDown, ( localize(5639, 'Icon to move down a cell in notebook editors.')));
16
- const clearIcon = registerIcon('notebook-clear', Codicon.clearAll, ( localize(5640, 'Icon to clear cell outputs in notebook editors.')));
17
- const splitCellIcon = registerIcon('notebook-split-cell', Codicon.splitVertical, ( localize(5641, 'Icon to split a cell in notebook editors.')));
18
- const successStateIcon = registerIcon('notebook-state-success', Codicon.check, ( localize(5642, 'Icon to indicate a success state in notebook editors.')));
19
- const errorStateIcon = registerIcon('notebook-state-error', Codicon.error, ( localize(5643, 'Icon to indicate an error state in notebook editors.')));
20
- const pendingStateIcon = registerIcon('notebook-state-pending', Codicon.clock, ( localize(5644, 'Icon to indicate a pending state in notebook editors.')));
21
- const executingStateIcon = registerIcon('notebook-state-executing', Codicon.sync, ( localize(5645, 'Icon to indicate an executing state in notebook editors.')));
22
- const collapsedIcon = registerIcon('notebook-collapsed', Codicon.chevronRight, ( localize(5646, 'Icon to annotate a collapsed section in notebook editors.')));
23
- const expandedIcon = registerIcon('notebook-expanded', Codicon.chevronDown, ( localize(5647, 'Icon to annotate an expanded section in notebook editors.')));
24
- const openAsTextIcon = registerIcon('notebook-open-as-text', Codicon.fileCode, ( localize(5648, 'Icon to open the notebook in a text editor.')));
25
- const revertIcon = registerIcon('notebook-revert', Codicon.discard, ( localize(5649, 'Icon to revert in notebook editors.')));
26
- const renderOutputIcon = registerIcon('notebook-render-output', Codicon.preview, ( localize(5650, 'Icon to render output in diff editor.')));
27
- const mimetypeIcon = registerIcon('notebook-mimetype', Codicon.code, ( localize(5651, 'Icon for a mime type in notebook editors.')));
28
- const copyIcon = registerIcon('notebook-copy', Codicon.copy, ( localize(5652, 'Icon to copy content to clipboard')));
29
- const previousChangeIcon = registerIcon('notebook-diff-editor-previous-change', Codicon.arrowUp, ( localize(5653, 'Icon for the previous change action in the diff editor.')));
30
- const nextChangeIcon = registerIcon('notebook-diff-editor-next-change', Codicon.arrowDown, ( localize(5654, 'Icon for the next change action in the diff editor.')));
31
- const variablesViewIcon = registerIcon('variables-view-icon', Codicon.debugAlt, ( localize(5655, 'View icon of the variables view.')));
32
- export { clearIcon, collapsedIcon, configIcon, copyIcon, deleteCellIcon, editIcon, errorStateIcon, executeAboveIcon, executeAllIcon, executeBelowIcon, executeIcon, executingStateIcon, expandedIcon, mimetypeIcon, moveDownIcon, moveUpIcon, nextChangeIcon, openAsTextIcon, pendingStateIcon, previousChangeIcon, renderOutputIcon, revertIcon, selectKernelIcon, splitCellIcon, stopEditIcon, stopIcon, successStateIcon, variablesViewIcon };
4
+ const selectKernelIcon = registerIcon('notebook-kernel-select', Codicon.serverEnvironment, ( localize(5552, 'Configure icon to select a kernel in notebook editors.')));
5
+ const executeIcon = registerIcon('notebook-execute', Codicon.play, ( localize(5553, 'Icon to execute in notebook editors.')));
6
+ const executeAboveIcon = registerIcon('notebook-execute-above', Codicon.runAbove, ( localize(5554, 'Icon to execute above cells in notebook editors.')));
7
+ const executeBelowIcon = registerIcon('notebook-execute-below', Codicon.runBelow, ( localize(5555, 'Icon to execute below cells in notebook editors.')));
8
+ const stopIcon = registerIcon('notebook-stop', Codicon.primitiveSquare, ( localize(5556, 'Icon to stop an execution in notebook editors.')));
9
+ const deleteCellIcon = registerIcon('notebook-delete-cell', Codicon.trash, ( localize(5557, 'Icon to delete a cell in notebook editors.')));
10
+ const executeAllIcon = registerIcon('notebook-execute-all', Codicon.runAll, ( localize(5558, 'Icon to execute all cells in notebook editors.')));
11
+ const editIcon = registerIcon('notebook-edit', Codicon.pencil, ( localize(5559, 'Icon to edit a cell in notebook editors.')));
12
+ const stopEditIcon = registerIcon('notebook-stop-edit', Codicon.check, ( localize(5560, 'Icon to stop editing a cell in notebook editors.')));
13
+ const moveUpIcon = registerIcon('notebook-move-up', Codicon.arrowUp, ( localize(5561, 'Icon to move up a cell in notebook editors.')));
14
+ const moveDownIcon = registerIcon('notebook-move-down', Codicon.arrowDown, ( localize(5562, 'Icon to move down a cell in notebook editors.')));
15
+ const clearIcon = registerIcon('notebook-clear', Codicon.clearAll, ( localize(5563, 'Icon to clear cell outputs in notebook editors.')));
16
+ const splitCellIcon = registerIcon('notebook-split-cell', Codicon.splitVertical, ( localize(5564, 'Icon to split a cell in notebook editors.')));
17
+ const successStateIcon = registerIcon('notebook-state-success', Codicon.check, ( localize(5565, 'Icon to indicate a success state in notebook editors.')));
18
+ const errorStateIcon = registerIcon('notebook-state-error', Codicon.error, ( localize(5566, 'Icon to indicate an error state in notebook editors.')));
19
+ const pendingStateIcon = registerIcon('notebook-state-pending', Codicon.clock, ( localize(5567, 'Icon to indicate a pending state in notebook editors.')));
20
+ const executingStateIcon = registerIcon('notebook-state-executing', Codicon.sync, ( localize(5568, 'Icon to indicate an executing state in notebook editors.')));
21
+ const collapsedIcon = registerIcon('notebook-collapsed', Codicon.chevronRight, ( localize(5569, 'Icon to annotate a collapsed section in notebook editors.')));
22
+ const expandedIcon = registerIcon('notebook-expanded', Codicon.chevronDown, ( localize(5570, 'Icon to annotate an expanded section in notebook editors.')));
23
+ const openAsTextIcon = registerIcon('notebook-open-as-text', Codicon.fileCode, ( localize(5571, 'Icon to open the notebook in a text editor.')));
24
+ const revertIcon = registerIcon('notebook-revert', Codicon.discard, ( localize(5572, 'Icon to revert in notebook editors.')));
25
+ const toggleWhitespace = registerIcon('notebook-diff-cell-toggle-whitespace', Codicon.whitespace, ( localize(5573, 'Icon for the toggle whitespace action in the diff editor.')));
26
+ const renderOutputIcon = registerIcon('notebook-render-output', Codicon.preview, ( localize(5574, 'Icon to render output in diff editor.')));
27
+ const mimetypeIcon = registerIcon('notebook-mimetype', Codicon.code, ( localize(5575, 'Icon for a mime type in notebook editors.')));
28
+ const copyIcon = registerIcon('notebook-copy', Codicon.copy, ( localize(5576, 'Icon to copy content to clipboard')));
29
+ const previousChangeIcon = registerIcon('notebook-diff-editor-previous-change', Codicon.arrowUp, ( localize(5577, 'Icon for the previous change action in the diff editor.')));
30
+ const nextChangeIcon = registerIcon('notebook-diff-editor-next-change', Codicon.arrowDown, ( localize(5578, 'Icon for the next change action in the diff editor.')));
31
+ const variablesViewIcon = registerIcon('variables-view-icon', Codicon.debugAlt, ( localize(5579, 'View icon of the variables view.')));
32
+ export { clearIcon, collapsedIcon, copyIcon, deleteCellIcon, editIcon, errorStateIcon, executeAboveIcon, executeAllIcon, executeBelowIcon, executeIcon, executingStateIcon, expandedIcon, mimetypeIcon, moveDownIcon, moveUpIcon, nextChangeIcon, openAsTextIcon, pendingStateIcon, previousChangeIcon, renderOutputIcon, revertIcon, selectKernelIcon, splitCellIcon, stopEditIcon, stopIcon, successStateIcon, toggleWhitespace, variablesViewIcon };
@@ -141,7 +141,7 @@ class CellEditorOptions extends CellContentPart {
141
141
  type: 'string',
142
142
  enum: ['off', 'on'],
143
143
  default: 'off',
144
- markdownDescription: ( localize(11382, "Controls the display of line numbers in the cell editor."))
144
+ markdownDescription: ( localize(10779, "Controls the display of line numbers in the cell editor."))
145
145
  }
146
146
  }
147
147
  });
@@ -149,7 +149,7 @@ registerAction2(class ToggleLineNumberAction extends Action2 {
149
149
  constructor() {
150
150
  super({
151
151
  id: 'notebook.toggleLineNumbers',
152
- title: ( localize2(11383, 'Toggle Notebook Line Numbers')),
152
+ title: ( localize2(10780, 'Toggle Notebook Line Numbers')),
153
153
  precondition: NOTEBOOK_EDITOR_FOCUSED,
154
154
  menu: [
155
155
  {
@@ -163,7 +163,7 @@ registerAction2(class ToggleLineNumberAction extends Action2 {
163
163
  f1: true,
164
164
  toggled: {
165
165
  condition: ( (ContextKeyExpr.notEquals('config.notebook.lineNumbers', 'off'))),
166
- title: ( localize(11384, "Notebook Line Numbers")),
166
+ title: ( localize(10781, "Notebook Line Numbers")),
167
167
  }
168
168
  });
169
169
  }
@@ -182,7 +182,7 @@ registerAction2(class ToggleActiveLineNumberAction extends NotebookMultiCellActi
182
182
  constructor() {
183
183
  super({
184
184
  id: 'notebook.cell.toggleLineNumbers',
185
- title: ( localize(11385, "Show Cell Line Numbers")),
185
+ title: ( localize(10782, "Show Cell Line Numbers")),
186
186
  precondition: ( (ActiveEditorContext.isEqualTo(NOTEBOOK_EDITOR_ID))),
187
187
  menu: [{
188
188
  id: MenuId.NotebookCellTitle,
@@ -2,7 +2,9 @@ import { __decorate, __param } from '../../../../../../../../../external/tslib/t
2
2
  import { hide, show } from '../../../../../../base/browser/dom.js';
3
3
  import { disposableTimeout } from '../../../../../../base/common/async.js';
4
4
  import { DisposableStore } from '../../../../../../base/common/lifecycle.js';
5
+ import { clamp } from '../../../../../../base/common/numbers.js';
5
6
  import { CellContentPart } from '../cellPart.js';
7
+ import { CodeCellViewModel } from '../../viewModel/codeCellViewModel.js';
6
8
  import { INotebookExecutionStateService } from '../../../common/notebookExecutionStateService.service.js';
7
9
  const UPDATE_EXECUTION_ORDER_GRACE_PERIOD = 200;
8
10
  let CellExecutionPart = class CellExecutionPart extends CellContentPart {
@@ -25,6 +27,9 @@ let CellExecutionPart = class CellExecutionPart extends CellContentPart {
25
27
  this.updateExecutionOrder(this.currentCell.internalMetadata);
26
28
  }
27
29
  }));
30
+ this._register(this._notebookEditor.onDidScroll(() => {
31
+ this._updatePosition();
32
+ }));
28
33
  }
29
34
  didRenderCell(element) {
30
35
  this.updateExecutionOrder(element.internalMetadata, true);
@@ -55,13 +60,30 @@ let CellExecutionPart = class CellExecutionPart extends CellContentPart {
55
60
  }
56
61
  }
57
62
  updateInternalLayoutNow(element) {
58
- if (element.isInputCollapsed) {
59
- hide(this._executionOrderLabel);
60
- }
61
- else {
62
- show(this._executionOrderLabel);
63
- const top = element.layoutInfo.editorHeight - 22 + element.layoutInfo.statusBarHeight;
64
- this._executionOrderLabel.style.top = `${top}px`;
63
+ this._updatePosition();
64
+ }
65
+ _updatePosition() {
66
+ if (this.currentCell) {
67
+ if (this.currentCell.isInputCollapsed) {
68
+ hide(this._executionOrderLabel);
69
+ }
70
+ else {
71
+ show(this._executionOrderLabel);
72
+ let top = this.currentCell.layoutInfo.editorHeight - 22 + this.currentCell.layoutInfo.statusBarHeight;
73
+ if (this.currentCell instanceof CodeCellViewModel) {
74
+ const elementTop = this._notebookEditor.getAbsoluteTopOfElement(this.currentCell);
75
+ const editorBottom = elementTop + this.currentCell.layoutInfo.outputContainerOffset;
76
+ const scrollBottom = this._notebookEditor.scrollBottom;
77
+ const lineHeight = 22;
78
+ if (scrollBottom <= editorBottom) {
79
+ const offset = editorBottom - scrollBottom;
80
+ top -= offset;
81
+ top = clamp(top, lineHeight + 12,
82
+ this.currentCell.layoutInfo.editorHeight - lineHeight + this.currentCell.layoutInfo.statusBarHeight);
83
+ }
84
+ }
85
+ this._executionOrderLabel.style.top = `${top}px`;
86
+ }
65
87
  }
66
88
  }
67
89
  };
@@ -175,13 +175,13 @@ let CellOutputElement = class CellOutputElement extends Disposable {
175
175
  }
176
176
  _renderMissingRenderer(viewModel, preferredMimeType) {
177
177
  if (!viewModel.model.outputs.length) {
178
- return this._renderMessage(viewModel, ( localize(11521, "Cell has no output")));
178
+ return this._renderMessage(viewModel, ( localize(11582, "Cell has no output")));
179
179
  }
180
180
  if (!preferredMimeType) {
181
181
  const mimeTypes = ( (viewModel.model.outputs.map(op => op.mime)));
182
182
  const mimeTypesMessage = mimeTypes.join(', ');
183
183
  return this._renderMessage(viewModel, ( localize(
184
- 11522,
184
+ 11583,
185
185
  "No renderer could be found for output. It has the following mimetypes: {0}",
186
186
  mimeTypesMessage
187
187
  )));
@@ -238,7 +238,7 @@ let CellOutputElement = class CellOutputElement extends Disposable {
238
238
  notebookEditor: this.notebookEditor,
239
239
  $mid: MarshalledId.NotebookCellActionContext
240
240
  };
241
- const pickAction = this.toolbarDisposables.add(( (new Action('notebook.output.pickMimetype', ( localize(11523, "Change Presentation")), ThemeIcon.asClassName(mimetypeIcon), undefined, async (_context) => this._pickActiveMimeTypeRenderer(outputItemDiv, notebookTextModel, kernel, this.output)))));
241
+ const pickAction = this.toolbarDisposables.add(( (new Action('notebook.output.pickMimetype', ( localize(11584, "Change Presentation")), ThemeIcon.asClassName(mimetypeIcon), undefined, async (_context) => this._pickActiveMimeTypeRenderer(outputItemDiv, notebookTextModel, kernel, this.output)))));
242
242
  const menuContextKeyService = this.toolbarDisposables.add(this.contextKeyService.createScoped(outputItemDiv));
243
243
  const hasHiddenOutputs = NOTEBOOK_CELL_HAS_HIDDEN_OUTPUTS.bindTo(menuContextKeyService);
244
244
  const isFirstCellOutput = NOTEBOOK_CELL_IS_FIRST_OUTPUT.bindTo(menuContextKeyService);
@@ -276,18 +276,19 @@ let CellOutputElement = class CellOutputElement extends Disposable {
276
276
  index: index,
277
277
  picked: index === currIndex,
278
278
  detail: this._generateRendererInfo(mimeType.rendererId),
279
- description: index === currIndex ? ( localize(11524, "Currently Active")) : undefined
279
+ description: index === currIndex ? ( localize(11585, "Currently Active")) : undefined
280
280
  });
281
281
  }
282
282
  });
283
283
  if (( (unsupportedItems.some(m => JUPYTER_RENDERER_MIMETYPES.includes(m.id))))) {
284
284
  unsupportedItems.push({
285
- label: ( localize(11525, "Install additional renderers from the marketplace")),
285
+ label: ( localize(11586, "Install additional renderers from the marketplace")),
286
286
  id: 'installRenderers',
287
287
  index: mimeTypes.length
288
288
  });
289
289
  }
290
- const picker = this.quickInputService.createQuickPick();
290
+ const disposables = ( (new DisposableStore()));
291
+ const picker = disposables.add(this.quickInputService.createQuickPick({ useSeparators: true }));
291
292
  picker.items = [
292
293
  ...items,
293
294
  { type: 'separator' },
@@ -295,13 +296,13 @@ let CellOutputElement = class CellOutputElement extends Disposable {
295
296
  ];
296
297
  picker.activeItems = items.filter(item => !!item.picked);
297
298
  picker.placeholder = items.length !== mimeTypes.length
298
- ? ( localize(11526, "Select mimetype to render for current output"))
299
- : ( localize(11527, "Select mimetype to render for current output"));
299
+ ? ( localize(11587, "Select mimetype to render for current output"))
300
+ : ( localize(11588, "Select mimetype to render for current output"));
300
301
  const pick = await ( (new Promise(resolve => {
301
- picker.onDidAccept(() => {
302
+ disposables.add(picker.onDidAccept(() => {
302
303
  resolve(picker.selectedItems.length === 1 ? picker.selectedItems[0] : undefined);
303
- picker.dispose();
304
- });
304
+ disposables.dispose();
305
+ }));
305
306
  picker.show();
306
307
  })));
307
308
  if (pick === undefined || pick.index === currIndex) {
@@ -337,7 +338,7 @@ let CellOutputElement = class CellOutputElement extends Disposable {
337
338
  const displayName = renderInfo.displayName !== '' ? renderInfo.displayName : renderInfo.id;
338
339
  return `${displayName} (${renderInfo.extensionId.value})`;
339
340
  }
340
- return ( localize(11528, "renderer not available"));
341
+ return ( localize(11589, "renderer not available"));
341
342
  }
342
343
  _validateFinalOutputHeight(synchronous) {
343
344
  if (this._outputHeightTimer !== null) {
@@ -6,6 +6,7 @@ import { Codicon } from '../../../../../../base/common/codicons.js';
6
6
  import { ThemeIcon } from '../../../../../../base/common/themables.js';
7
7
  import { Event } from '../../../../../../base/common/event.js';
8
8
  import { Disposable, toDisposable } from '../../../../../../base/common/lifecycle.js';
9
+ import { clamp } from '../../../../../../base/common/numbers.js';
9
10
  import { escape } from '../../../../../../base/common/strings.js';
10
11
  import { EditorOption } from '../../../../../../editor/common/config/editorOptions.js';
11
12
  import { ILanguageService } from '../../../../../../editor/common/languages/language.js';
@@ -24,11 +25,12 @@ import { INotebookExecutionStateService } from '../../../common/notebookExecutio
24
25
  import { WordHighlighterContribution } from '../../../../../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';
25
26
  import { CodeActionController } from '../../../../../../editor/contrib/codeAction/browser/codeActionController.js';
26
27
  let CodeCell = class CodeCell extends Disposable {
27
- constructor(notebookEditor, viewCell, templateData, instantiationService, keybindingService, openerService, languageService, configurationService, notebookExecutionStateService) {
28
+ constructor(notebookEditor, viewCell, templateData, editorPool, instantiationService, keybindingService, openerService, languageService, configurationService, notebookExecutionStateService) {
28
29
  super();
29
30
  this.notebookEditor = notebookEditor;
30
31
  this.viewCell = viewCell;
31
32
  this.templateData = templateData;
33
+ this.editorPool = editorPool;
32
34
  this.instantiationService = instantiationService;
33
35
  this.keybindingService = keybindingService;
34
36
  this.languageService = languageService;
@@ -44,6 +46,7 @@ let CodeCell = class CodeCell extends Disposable {
44
46
  const editorHeight = this.calculateInitEditorHeight();
45
47
  this.initializeEditor(editorHeight);
46
48
  this._renderedInputCollapseState = false;
49
+ this.registerNotebookEditorListeners();
47
50
  this.registerViewCellLayoutChange();
48
51
  this.registerCellEditorEventListeners();
49
52
  this.registerDecorations();
@@ -198,12 +201,40 @@ let CodeCell = class CodeCell extends Disposable {
198
201
  editor.updateOptions({ readOnly: this.notebookEditor.isReadOnly, padding: this.notebookEditor.notebookOptions.computeEditorPadding(this.viewCell.internalMetadata, this.viewCell.uri) });
199
202
  }
200
203
  }
204
+ registerNotebookEditorListeners() {
205
+ this._register(this.notebookEditor.onDidScroll(() => {
206
+ this.adjustEditorPosition();
207
+ }));
208
+ this._register(this.notebookEditor.onDidChangeLayout(() => {
209
+ this.adjustEditorPosition();
210
+ this.onCellWidthChange();
211
+ }));
212
+ }
213
+ adjustEditorPosition() {
214
+ const extraOffset = -6 - 1 ;
215
+ const min = 0;
216
+ const scrollTop = this.notebookEditor.scrollTop;
217
+ const elementTop = this.notebookEditor.getAbsoluteTopOfElement(this.viewCell);
218
+ const diff = scrollTop - elementTop + extraOffset;
219
+ const notebookEditorLayout = this.notebookEditor.getLayoutInfo();
220
+ const editorMaxHeight = notebookEditorLayout.height
221
+ - notebookEditorLayout.stickyHeight
222
+ - 26 ;
223
+ const maxTop = this.viewCell.layoutInfo.editorHeight
224
+ - editorMaxHeight;
225
+ const top = maxTop > 20 ?
226
+ clamp(min, diff, maxTop) :
227
+ min;
228
+ this.templateData.editorPart.style.top = `${top}px`;
229
+ this.templateData.editor?.setScrollTop(top);
230
+ }
201
231
  registerViewCellLayoutChange() {
202
232
  this._register(this.viewCell.onDidChangeLayout((e) => {
203
233
  if (e.outerWidth !== undefined) {
204
234
  const layoutInfo = this.templateData.editor.getLayoutInfo();
205
235
  if (layoutInfo.width !== this.viewCell.layoutInfo.editorWidth) {
206
236
  this.onCellWidthChange();
237
+ this.adjustEditorPosition();
207
238
  }
208
239
  }
209
240
  }));
@@ -213,6 +244,7 @@ let CodeCell = class CodeCell extends Disposable {
213
244
  if (e.contentHeightChanged) {
214
245
  if (this.viewCell.layoutInfo.editorHeight !== e.contentHeight) {
215
246
  this.onCellEditorHeightChange(e.contentHeight);
247
+ this.adjustEditorPosition();
216
248
  }
217
249
  }
218
250
  }));
@@ -287,13 +319,13 @@ let CodeCell = class CodeCell extends Disposable {
287
319
  }
288
320
  }));
289
321
  }
290
- shouldUpdateDOMFocus() {
322
+ shouldPreserveEditor() {
291
323
  return this.notebookEditor.getActiveCell() === this.viewCell
292
324
  && this.viewCell.focusMode === CellFocusMode.Editor
293
325
  && (this.notebookEditor.hasEditorFocus() || this.notebookEditor.getDomNode().ownerDocument.activeElement === this.notebookEditor.getDomNode().ownerDocument.body);
294
326
  }
295
327
  updateEditorForFocusModeChange(sync) {
296
- if (this.shouldUpdateDOMFocus()) {
328
+ if (this.shouldPreserveEditor()) {
297
329
  if (sync) {
298
330
  this.templateData.editor?.focus();
299
331
  }
@@ -346,8 +378,8 @@ let CodeCell = class CodeCell extends Disposable {
346
378
  const expandIcon = $('span.expandInputIcon');
347
379
  const keybinding = this.keybindingService.lookupKeybinding(EXPAND_CELL_INPUT_COMMAND_ID);
348
380
  if (keybinding) {
349
- element.title = ( localize(11386, "Double-click to expand cell input ({0})", keybinding.getLabel()));
350
- expandIcon.title = ( localize(11387, "Expand Cell Input ({0})", keybinding.getLabel()));
381
+ element.title = ( localize(11463, "Double-click to expand cell input ({0})", keybinding.getLabel()));
382
+ expandIcon.title = ( localize(11464, "Expand Cell Input ({0})", keybinding.getLabel()));
351
383
  }
352
384
  expandIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.more));
353
385
  element.appendChild(expandIcon);
@@ -415,7 +447,14 @@ let CodeCell = class CodeCell extends Disposable {
415
447
  this._showOutput(true);
416
448
  }
417
449
  layoutEditor(dimension) {
418
- this.templateData.editor?.layout(dimension, true);
450
+ const editorLayout = this.notebookEditor.getLayoutInfo();
451
+ const maxHeight = Math.min(editorLayout.height
452
+ - editorLayout.stickyHeight
453
+ - 26 , dimension.height);
454
+ this.templateData.editor?.layout({
455
+ width: dimension.width,
456
+ height: maxHeight
457
+ }, true);
419
458
  }
420
459
  onCellWidthChange() {
421
460
  if (!this.templateData.editor.hasModel()) {
@@ -443,8 +482,8 @@ let CodeCell = class CodeCell extends Disposable {
443
482
  }
444
483
  dispose() {
445
484
  this._isDisposed = true;
446
- if (this.shouldUpdateDOMFocus()) {
447
- this.notebookEditor.focusContainer();
485
+ if (this.shouldPreserveEditor()) {
486
+ this.editorPool.preserveFocusedEditor(this.viewCell);
448
487
  }
449
488
  this.viewCell.detachTextEditor();
450
489
  this._removeInputCollapsePreview();
@@ -454,11 +493,11 @@ let CodeCell = class CodeCell extends Disposable {
454
493
  }
455
494
  };
456
495
  CodeCell = ( (__decorate([
457
- ( (__param(3, IInstantiationService))),
458
- ( (__param(4, IKeybindingService))),
459
- ( (__param(5, IOpenerService))),
460
- ( (__param(6, ILanguageService))),
461
- ( (__param(7, IConfigurationService))),
462
- ( (__param(8, INotebookExecutionStateService)))
496
+ ( (__param(4, IInstantiationService))),
497
+ ( (__param(5, IKeybindingService))),
498
+ ( (__param(6, IOpenerService))),
499
+ ( (__param(7, ILanguageService))),
500
+ ( (__param(8, IConfigurationService))),
501
+ ( (__param(9, INotebookExecutionStateService)))
463
502
  ], CodeCell)));
464
503
  export { CodeCell };