@codingame/monaco-vscode-api 4.5.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/api.js +1 -1
  2. package/extensions.d.ts +2 -3
  3. package/lifecycle.js +6 -0
  4. package/localExtensionHost.d.ts +4 -1
  5. package/missing-services.js +41 -25
  6. package/package.json +8 -8
  7. package/service-override/tools/editor.js +31 -8
  8. package/service-override/tools/views.d.ts +1 -1
  9. package/service-override/tools/views.js +2 -3
  10. package/service-override/views.d.ts +0 -1
  11. package/services.d.ts +3 -3
  12. package/services.js +3 -3
  13. package/vscode/src/vs/base/browser/markdownRenderer.js +9 -3
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +2 -2
  15. package/vscode/src/vs/base/browser/ui/button/button.js +3 -3
  16. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  17. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -1
  18. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +2 -2
  19. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +2 -2
  20. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +2 -2
  21. package/vscode/src/vs/{platform/hover/browser → base/browser/ui/hover}/hover.d.ts +64 -4
  22. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +13 -0
  24. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  25. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +30 -14
  26. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +15 -2
  27. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +2 -2
  28. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.css.js +4 -0
  29. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +239 -0
  30. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +2 -2
  31. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +2 -2
  32. package/vscode/src/vs/base/browser/ui/list/listView.js +5 -3
  33. package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +33 -0
  34. package/vscode/src/vs/base/browser/ui/list/listWidget.js +4 -1
  35. package/vscode/src/vs/base/browser/ui/menu/menu.js +1 -0
  36. package/vscode/src/vs/base/browser/ui/menu/menubar.css.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/progressbar/progressAccessibilitySignal.js +13 -0
  38. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +7 -1
  39. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +2 -2
  40. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +2 -2
  41. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +8 -2
  42. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +1 -1
  43. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -4
  44. package/vscode/src/vs/base/browser/ui/tree/media/tree.css.js +1 -1
  45. package/vscode/src/vs/base/browser/ui/tree/objectTree.js +6 -4
  46. package/vscode/src/vs/base/common/arraysFind.js +7 -7
  47. package/vscode/src/vs/base/common/async.js +8 -3
  48. package/vscode/src/vs/base/common/cache.js +29 -10
  49. package/vscode/src/vs/base/common/cancellation.js +6 -1
  50. package/vscode/src/vs/base/common/codicons.d.ts +3 -0
  51. package/vscode/src/vs/base/common/codiconsLibrary.js +3 -0
  52. package/vscode/src/vs/base/common/controlFlow.js +48 -0
  53. package/vscode/src/vs/base/common/equals.js +44 -0
  54. package/vscode/src/vs/base/common/event.d.ts +11 -1
  55. package/vscode/src/vs/base/common/event.js +26 -1
  56. package/vscode/src/vs/base/common/jsonEdit.js +1 -1
  57. package/vscode/src/vs/base/common/lifecycle.js +1 -1
  58. package/vscode/src/vs/base/common/map.js +53 -4
  59. package/vscode/src/vs/base/common/network.js +2 -0
  60. package/vscode/src/vs/base/common/objects.js +3 -0
  61. package/vscode/src/vs/base/common/observableInternal/autorun.js +1 -10
  62. package/vscode/src/vs/base/common/observableInternal/base.js +22 -10
  63. package/vscode/src/vs/base/common/observableInternal/derived.js +8 -8
  64. package/vscode/src/vs/base/common/observableInternal/promise.js +19 -1
  65. package/vscode/src/vs/base/common/observableInternal/utils.js +30 -52
  66. package/vscode/src/vs/base/common/product.d.ts +1 -0
  67. package/vscode/src/vs/base/common/strings.js +1 -1
  68. package/vscode/src/vs/base/common/types.d.ts +5 -1
  69. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -2
  70. package/vscode/src/vs/editor/browser/observableUtilities.js +58 -0
  71. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +121 -2
  72. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +80 -0
  73. package/vscode/src/vs/editor/browser/stableEditorScroll.js +37 -1
  74. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +10 -3
  75. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +1 -1
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +1 -0
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +1 -0
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -0
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +3 -0
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +3 -10
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +8 -0
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +6 -6
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +1 -0
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -0
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +1 -0
  88. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +1 -0
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -0
  90. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +3 -2
  91. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +17 -8
  92. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +1 -0
  93. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +27 -19
  94. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css.js +1 -1
  95. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +4 -4
  96. package/vscode/src/vs/editor/common/core/lineRange.d.ts +12 -0
  97. package/vscode/src/vs/editor/common/core/lineRange.js +28 -0
  98. package/vscode/src/vs/editor/common/core/textEdit.d.ts +21 -0
  99. package/vscode/src/vs/editor/common/core/textEdit.js +13 -1
  100. package/vscode/src/vs/editor/common/core/textLength.d.ts +29 -0
  101. package/vscode/src/vs/editor/common/core/textLength.js +6 -0
  102. package/vscode/src/vs/editor/common/cursor/cursorCollection.js +3 -3
  103. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +11 -1
  104. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +11 -0
  105. package/vscode/src/vs/editor/common/diff/rangeMapping.js +34 -3
  106. package/vscode/src/vs/editor/common/languages.d.ts +50 -10
  107. package/vscode/src/vs/editor/common/languages.js +11 -1
  108. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +1 -1
  109. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -2
  110. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +1 -1
  111. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +11 -1
  112. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +3 -0
  113. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +22 -6
  114. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +5 -0
  115. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +1 -0
  116. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  117. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +20 -3
  118. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +1 -1
  119. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +2 -2
  120. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +4 -4
  121. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +2 -2
  122. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +7 -0
  123. package/vscode/src/vs/editor/contrib/find/browser/findController.js +11 -6
  124. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +10 -10
  125. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +74 -0
  126. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +332 -0
  127. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +34 -0
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +39 -0
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +355 -0
  130. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +11 -14
  131. package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +1 -1
  132. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +13 -0
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +354 -0
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +42 -0
  135. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +320 -0
  136. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverComputer.js +48 -0
  137. package/vscode/src/vs/editor/contrib/hover/browser/{marginHover.js → marginHoverWidget.js} +14 -48
  138. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +250 -41
  139. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +1 -0
  140. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +44 -20
  141. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +11 -7
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -0
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -0
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +2 -3
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +1 -0
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +26 -13
  147. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +5 -11
  148. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +24 -22
  149. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +39 -70
  150. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +3 -3
  151. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +1 -0
  152. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -0
  153. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +1 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -2
  155. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +5 -3
  156. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css.js +1 -1
  157. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +18 -6
  158. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.css.js +1 -1
  159. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +165 -40
  160. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +5 -0
  161. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +3 -3
  162. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +15 -8
  163. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +13 -6
  164. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +0 -2
  165. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +9 -2
  166. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +23 -18
  167. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +33 -11
  168. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +1 -9
  169. package/vscode/src/vs/platform/accessibility/common/accessibility.js +2 -1
  170. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +15 -9
  171. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +133 -132
  172. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.d.ts +12 -5
  173. package/vscode/src/vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler.js +25 -0
  174. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +4 -4
  175. package/vscode/src/vs/platform/actions/browser/buttonbar.js +10 -7
  176. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +1 -1
  177. package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +4 -1
  178. package/vscode/src/vs/platform/actions/browser/toolbar.js +53 -36
  179. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -1
  180. package/vscode/src/vs/platform/actions/common/actions.js +14 -4
  181. package/vscode/src/vs/platform/actions/common/menuService.js +30 -8
  182. package/vscode/src/vs/platform/configuration/common/configuration.js +4 -0
  183. package/vscode/src/vs/platform/configuration/common/configurationModels.js +43 -32
  184. package/vscode/src/vs/platform/configuration/common/configurations.js +12 -10
  185. package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +4 -1
  186. package/vscode/src/vs/platform/contextview/browser/contextView.service.d.ts +2 -3
  187. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +10 -8
  188. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +0 -1
  189. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +1 -0
  190. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +1 -0
  191. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +5 -0
  192. package/vscode/src/vs/platform/files/common/files.d.ts +14 -1
  193. package/vscode/src/vs/platform/hover/browser/hover.service.d.ts +2 -31
  194. package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +9 -0
  195. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +42 -8
  196. package/vscode/src/vs/platform/log/common/log.js +3 -1
  197. package/vscode/src/vs/platform/markers/common/markerService.js +7 -3
  198. package/vscode/src/vs/platform/opener/browser/link.js +6 -4
  199. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +2 -2
  200. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +15 -7
  201. package/vscode/src/vs/platform/telemetry/common/gdprTypings.d.ts +0 -1
  202. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -0
  203. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +5 -0
  204. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +30 -0
  205. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +6 -0
  206. package/vscode/src/vs/platform/theme/browser/iconsStyleSheet.js +13 -11
  207. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  208. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +28 -28
  209. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -6
  210. package/vscode/src/vs/workbench/api/common/extHostBulkEdits.js +2 -1
  211. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +104 -96
  212. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +4 -4
  213. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +9 -3
  214. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +3 -3
  215. package/vscode/src/vs/workbench/api/common/extHostDocumentSaveParticipant.js +2 -1
  216. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +1 -1
  217. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +19 -1
  218. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +87 -17
  219. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +39 -2
  220. package/vscode/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.js +2 -1
  221. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +52 -36
  222. package/vscode/src/vs/workbench/api/common/extHostTesting.js +10 -28
  223. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +6 -1
  224. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +132 -136
  225. package/vscode/src/vs/workbench/api/common/extHostTypes.js +72 -18
  226. package/vscode/src/vs/workbench/api/common/extHostWindow.js +3 -5
  227. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +86 -76
  228. package/vscode/src/vs/workbench/browser/actions/media/actions.css.js +1 -1
  229. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +30 -6
  230. package/vscode/src/vs/workbench/browser/labels.js +4 -1
  231. package/vscode/src/vs/workbench/browser/parts/compositePart.d.ts +3 -1
  232. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +19 -7
  233. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +16 -3
  234. package/vscode/src/vs/workbench/browser/parts/editor/media/editorquickaccess.css.js +1 -1
  235. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  236. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +14 -33
  237. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +33 -13
  238. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +7 -5
  239. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +4 -3
  240. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.d.ts +2 -1
  241. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +3 -1
  242. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +3 -3
  243. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
  244. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +182 -63
  245. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +14 -3
  246. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +61 -34
  247. package/vscode/src/vs/workbench/browser/workbench.contribution.js +16 -10
  248. package/vscode/src/vs/workbench/common/theme.js +144 -98
  249. package/vscode/src/vs/workbench/common/views.d.ts +2 -0
  250. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +190 -138
  251. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +876 -0
  252. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +59 -7
  253. package/vscode/src/vs/workbench/contrib/accessibility/browser/{accessibilityContributions.js → accessibleViewContributions.js} +160 -6
  254. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +3 -3
  255. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +66 -150
  256. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +75 -12
  257. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +21 -22
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +6 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +101 -0
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +6 -5
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +30 -23
  262. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +201 -47
  263. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +42 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +13 -28
  265. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  266. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +366 -6
  267. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +35 -2
  268. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  269. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +4 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +4 -9
  271. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +95 -5
  272. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.js +2 -1
  273. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  274. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +11 -6
  275. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +94 -79
  276. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +0 -13
  277. package/vscode/src/vs/workbench/contrib/chat/common/chatParticipantContribTypes.js +2 -0
  278. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +7 -9
  279. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.service.js +3 -0
  280. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +1 -1
  281. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -0
  282. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +4 -4
  283. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +30 -26
  284. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +30 -29
  285. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +4 -4
  286. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +5 -4
  287. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +13 -13
  289. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +26 -16
  290. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +107 -26
  291. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +23 -2
  293. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +2 -3
  294. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +39 -11
  295. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +53 -33
  296. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +967 -0
  297. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +101 -0
  298. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +4 -1
  299. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +82 -0
  300. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +10 -9
  301. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +79 -45
  302. package/vscode/src/vs/workbench/contrib/files/browser/{fileCommands.save.js → fileCommands._save.js} +4 -4
  303. package/vscode/src/vs/workbench/contrib/files/browser/{files.configuration.contribution.js → files.contribution._configuration.js} +1 -1
  304. package/vscode/src/vs/workbench/contrib/files/browser/{files.editorPane.contribution.js → files.contribution._editorPane.js} +18 -18
  305. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +5 -3
  306. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +19 -14
  307. package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
  308. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +8 -8
  309. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +15 -2
  310. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +29 -112
  311. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +10 -7
  312. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +99 -91
  313. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +9 -31
  314. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +345 -104
  315. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +62 -69
  316. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +63 -46
  317. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +18 -10
  318. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  319. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  320. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +1 -31
  321. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +7 -3
  322. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +5 -1
  323. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +1 -0
  324. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +1 -0
  325. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +1 -0
  326. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +4 -4
  327. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +2 -48
  328. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +28 -23
  329. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +5 -9
  330. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +112 -0
  331. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +18 -10
  332. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +4 -4
  333. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +7 -2
  334. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +4 -5
  335. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +8 -3
  336. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -0
  337. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +36 -4
  338. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +9 -6
  339. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +17 -5
  340. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +6 -4
  341. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +5 -5
  342. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +3 -3
  343. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +5 -4
  344. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +2 -0
  345. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  346. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellAnchor.js +2 -3
  347. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +22 -1
  348. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +34 -6
  349. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +15 -0
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +6 -4
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +3 -0
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +17 -14
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +2 -1
  354. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +52 -16
  355. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  356. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +2 -2
  357. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +25 -12
  358. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +6 -4
  359. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +0 -2
  360. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +6 -4
  361. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +24 -2
  362. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +38 -8
  363. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +0 -1
  364. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +1 -0
  365. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +7 -14
  366. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +24 -6
  367. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.js +2 -1
  368. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +8 -9
  369. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +2 -20
  370. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +3 -1
  371. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +2 -2
  372. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +1 -0
  373. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +10 -0
  374. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +15 -3
  375. package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.d.ts +9 -0
  376. package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.js +3 -0
  377. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +30 -16
  378. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +15 -4
  379. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +20 -1
  380. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +0 -1
  381. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +4 -1
  382. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +4 -1
  383. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.d.ts +1 -1
  384. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +8 -2
  385. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +2 -1
  386. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +4 -1
  387. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +3 -3
  388. package/vscode/src/vs/workbench/services/language/common/languageService.js +23 -18
  389. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +6 -4
  390. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +50 -9
  391. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +1 -0
  392. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +97 -0
  393. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.d.ts +7 -2
  394. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +2 -2
  395. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +23 -45
  396. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +65 -91
  397. package/vscode-dts/vscode.proposed.chatProvider.d.ts +9 -0
  398. package/vscode-dts/vscode.proposed.chatTab.d.ts +1 -5
  399. package/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts +15 -0
  400. package/vscode-dts/vscode.proposed.debugFocus.d.ts +4 -4
  401. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
  402. package/vscode-dts/vscode.proposed.documentPaste.d.ts +144 -43
  403. package/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts +76 -0
  404. package/vscode-dts/vscode.proposed.interactive.d.ts +1 -17
  405. package/vscode-dts/vscode.proposed.languageModels.d.ts +56 -11
  406. package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +12 -1
  407. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +4 -4
  408. package/vscode-dts/vscode.proposed.speech.d.ts +2 -1
  409. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +144 -38
  410. package/vscode-dts/vscode.proposed.testPreserveFocus.d.ts +28 -0
  411. package/vscode/src/vs/base/browser/ui/hover/updatableHoverWidget.d.ts +0 -21
  412. package/vscode/src/vs/base/browser/ui/hover/updatableHoverWidget.js +0 -214
  413. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +0 -32
  414. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +0 -838
  415. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +0 -621
  416. package/vscode/src/vs/platform/accessibility/common/accessibility.service.d.ts +0 -19
  417. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -54
  418. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +0 -70
  419. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +0 -237
  420. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +0 -49
  421. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +0 -178
  422. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +0 -141
  423. package/vscode/src/vs/workbench/contrib/chat/common/chatContributionService.service.js +0 -3
  424. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatFileCreationWidget.js +0 -212
  425. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/OutlineEntry.js +0 -95
  426. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +0 -110
  427. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +0 -224
  428. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +0 -48
  429. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +0 -47
  430. package/vscode-dts/vscode.proposed.dropMetadata.d.ts +0 -65
  431. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +0 -57
  432. package/vscode-dts/vscode.proposed.windowActivity.d.ts +0 -17
  433. /package/vscode/src/vs/workbench/browser/parts/editor/{editor.autosave.contribution.js → editor.contribution._autosave.js} +0 -0
  434. /package/vscode/src/vs/workbench/contrib/files/browser/{files.fileEditorFactory.contribution.js → files.contribution._fileEditorFactory.js} +0 -0
@@ -401,7 +401,7 @@ let NotebookChatController = class NotebookChatController extends Disposable {
401
401
  assertType(this._activeSession);
402
402
  this._warmupRequestCts?.dispose(true);
403
403
  this._warmupRequestCts = undefined;
404
- this._activeSession.addInput(( (new SessionPrompt(this._widget.inlineChatWidget.value, 0, true))));
404
+ this._activeSession.addInput(( (new SessionPrompt(this._widget.inlineChatWidget.value))));
405
405
  assertType(this._activeSession.lastInput);
406
406
  const value = this._activeSession.lastInput.value;
407
407
  this._historyUpdate(value);
@@ -433,7 +433,7 @@ let NotebookChatController = class NotebookChatController extends Disposable {
433
433
  const request = {
434
434
  requestId: generateUuid(),
435
435
  prompt: value,
436
- attempt: this._activeSession.lastInput.attempt,
436
+ attempt: 0,
437
437
  selection: { selectionStartLineNumber: 1, selectionStartColumn: 1, positionLineNumber: 1, positionColumn: 1 },
438
438
  wholeRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 },
439
439
  live: true,
@@ -476,7 +476,6 @@ let NotebookChatController = class NotebookChatController extends Disposable {
476
476
  data.markdownFragment,
477
477
  { supportThemeIcons: true, supportHtml: true, isTrusted: false }
478
478
  ))),
479
- providerId: this._activeSession.provider.label,
480
479
  requestId: request.requestId,
481
480
  };
482
481
  progressiveChatResponse = this._widget?.inlineChatWidget.updateChatMessage(message, true);
@@ -504,7 +503,7 @@ let NotebookChatController = class NotebookChatController extends Disposable {
504
503
  }
505
504
  else {
506
505
  const markdownContents = ( (new MarkdownString('', { supportThemeIcons: true, supportHtml: true, isTrusted: false })));
507
- const replyResponse = response = this._instantiationService.createInstance(ReplyResponse, reply, markdownContents, this._activeSession.textModelN.uri, this._activeSession.textModelN.getAlternativeVersionId(), progressEdits, request.requestId);
506
+ const replyResponse = response = this._instantiationService.createInstance(ReplyResponse, reply, markdownContents, this._activeSession.textModelN.uri, this._activeSession.textModelN.getAlternativeVersionId(), progressEdits, request.requestId, undefined);
508
507
  for (let i = progressEdits.length; i < replyResponse.allLocalEdits.length; i++) {
509
508
  await this._makeChanges(replyResponse.allLocalEdits[i], undefined);
510
509
  }
@@ -592,7 +591,7 @@ let NotebookChatController = class NotebookChatController extends Disposable {
592
591
  return;
593
592
  }
594
593
  const markdownContents = ( (new MarkdownString('', { supportThemeIcons: true, supportHtml: true, isTrusted: false })));
595
- const response = this._instantiationService.createInstance(ReplyResponse, reply, markdownContents, this._activeSession.textModelN.uri, this._activeSession.textModelN.getAlternativeVersionId(), [], request.requestId);
594
+ const response = this._instantiationService.createInstance(ReplyResponse, reply, markdownContents, this._activeSession.textModelN.uri, this._activeSession.textModelN.getAlternativeVersionId(), [], request.requestId, undefined);
596
595
  const followups = await this._activeSession.provider.provideFollowups(this._activeSession.session, response.raw, token);
597
596
  if (followups && this._widget) {
598
597
  const widget = this._widget;
@@ -20,7 +20,7 @@ import { NotebookCellAction, CELL_TITLE_CELL_GROUP_ID, findTargetCellEditor, NOT
20
20
  import { NotebookIndentUsingTabs, NotebookIndentUsingSpaces, NotebookChangeTabDisplaySize, NotebookIndentationToTabsAction, NotebookIndentationToSpacesAction } from './notebookIndentationActions.js';
21
21
  import { QUIT_EDIT_CELL_COMMAND_ID, CellEditState, CHANGE_CELL_LANGUAGE, DETECT_CELL_LANGUAGE, getNotebookEditorFromEditorPane } from '../notebookBrowser.js';
22
22
  import { CellKind, NotebookCellExecutionState, NotebookSetting } from '../../common/notebookCommon.js';
23
- import { NOTEBOOK_CELL_LIST_FOCUSED, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CELL_TYPE, NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, NOTEBOOK_CELL_EDITABLE, NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_OUTPUT_FOCUSED, NOTEBOOK_CELL_HAS_OUTPUTS, NOTEBOOK_USE_CONSOLIDATED_OUTPUT_BUTTON, NOTEBOOK_HAS_OUTPUTS, NOTEBOOK_IS_ACTIVE_EDITOR } from '../../common/notebookContextKeys.js';
23
+ import { NOTEBOOK_CELL_LIST_FOCUSED, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_OUTPUT_INPUT_FOCUSED, NOTEBOOK_CELL_TYPE, NOTEBOOK_CELL_MARKDOWN_EDIT_MODE, NOTEBOOK_CELL_EDITABLE, NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_OUTPUT_FOCUSED, NOTEBOOK_CELL_HAS_OUTPUTS, NOTEBOOK_USE_CONSOLIDATED_OUTPUT_BUTTON, NOTEBOOK_HAS_OUTPUTS, NOTEBOOK_IS_ACTIVE_EDITOR } from '../../common/notebookContextKeys.js';
24
24
  import { INotebookExecutionStateService } from '../../common/notebookExecutionStateService.service.js';
25
25
  import { INotebookKernelService } from '../../common/notebookKernelService.service.js';
26
26
  import { IEditorService } from '../../../../services/editor/common/editorService.service.js';
@@ -42,7 +42,8 @@ registerAction2(class EditCellAction extends NotebookCellAction {
42
42
  NOTEBOOK_CELL_LIST_FOCUSED,
43
43
  ContextKeyExpr.not(InputFocusedContextKey),
44
44
  (NOTEBOOK_EDITOR_EDITABLE.isEqualTo(true)),
45
- (EditorContextKeys.hoverFocused.toNegated())
45
+ (EditorContextKeys.hoverFocused.toNegated()),
46
+ (NOTEBOOK_OUTPUT_INPUT_FOCUSED.toNegated())
46
47
  ))),
47
48
  primary: 3 ,
48
49
  weight: 200
@@ -137,7 +138,11 @@ registerAction2(class DeleteCellAction extends NotebookCellAction {
137
138
  mac: {
138
139
  primary: 2048 | 1
139
140
  },
140
- when: ( (ContextKeyExpr.and(NOTEBOOK_EDITOR_FOCUSED, ContextKeyExpr.not(InputFocusedContextKey)))),
141
+ when: ( (ContextKeyExpr.and(
142
+ NOTEBOOK_EDITOR_FOCUSED,
143
+ ContextKeyExpr.not(InputFocusedContextKey),
144
+ (NOTEBOOK_OUTPUT_INPUT_FOCUSED.toNegated())
145
+ ))),
141
146
  weight: 200
142
147
  },
143
148
  menu: [
@@ -1,5 +1,6 @@
1
1
  import { Emitter, Event } from '../../../../base/common/event.js';
2
2
  import { Disposable } from '../../../../base/common/lifecycle.js';
3
+ import '../../../../base/common/arrays.js';
3
4
  import '../../../../base/common/observableInternal/derived.js';
4
5
  import '../../../../base/common/observableInternal/autorun.js';
5
6
  import { observableFromEvent } from '../../../../base/common/observableInternal/utils.js';
@@ -20,7 +20,7 @@ import { createEditorOpenError, DEFAULT_EDITOR_ASSOCIATION, isEditorOpenError, c
20
20
  import { SELECT_KERNEL_ID } from './controller/coreActions.js';
21
21
  import { INotebookEditorService } from './services/notebookEditorService.service.js';
22
22
  import { NotebooKernelActionViewItem } from './viewParts/notebookKernelView.js';
23
- import { NOTEBOOK_EDITOR_ID, NotebookWorkingCopyTypeIdentifier } from '../common/notebookCommon.js';
23
+ import { NOTEBOOK_EDITOR_ID, NotebookWorkingCopyTypeIdentifier, CellKind } from '../common/notebookCommon.js';
24
24
  import { NotebookEditorInput } from '../common/notebookEditorInput.js';
25
25
  import { NotebookPerfMarks } from '../common/notebookPerformance.js';
26
26
  import { IEditorGroupsService } from '../../../services/editor/common/editorGroupsService.service.js';
@@ -34,6 +34,7 @@ import { streamToBuffer } from '../../../../base/common/buffer.js';
34
34
  import { ILogService } from '../../../../platform/log/common/log.service.js';
35
35
  import { INotebookEditorWorkerService } from '../common/services/notebookWorkerService.service.js';
36
36
  import { IPreferencesService } from '../../../services/preferences/common/preferences.service.js';
37
+ import { StopWatch } from '../../../../base/common/stopwatch.js';
37
38
  var NotebookEditor_1;
38
39
  const _moduleId = "vs/workbench/contrib/notebook/browser/notebookEditor";
39
40
  const NOTEBOOK_EDITOR_VIEW_STATE_PREFERENCE_KEY = 'NotebookEditorViewState';
@@ -253,7 +254,7 @@ let NotebookEditor = class NotebookEditor extends EditorPane {
253
254
  if (perfMarksCaptured) {
254
255
  return;
255
256
  }
256
- this._handlePerfMark(perf, input);
257
+ this._handlePerfMark(perf, input, model.notebook);
257
258
  this._handlePromptRecommendations(model.notebook);
258
259
  }
259
260
  catch (e) {
@@ -307,7 +308,7 @@ let NotebookEditor = class NotebookEditor extends EditorPane {
307
308
  throw error;
308
309
  }
309
310
  }
310
- _handlePerfMark(perf, input) {
311
+ _handlePerfMark(perf, input, notebook) {
311
312
  const perfMarks = perf.value;
312
313
  const startTime = perfMarks['startTime'];
313
314
  const extensionActivated = perfMarks['extensionActivated'];
@@ -332,6 +333,30 @@ let NotebookEditor = class NotebookEditor extends EditorPane {
332
333
  editorLoadingTimespan = editorLoaded - startTime;
333
334
  }
334
335
  }
336
+ let codeCellCount = undefined;
337
+ let mdCellCount = undefined;
338
+ let outputCount = undefined;
339
+ let outputBytes = undefined;
340
+ let codeLength = undefined;
341
+ let markdownLength = undefined;
342
+ let notebookStatsLoaded = undefined;
343
+ if (notebook) {
344
+ const stopWatch = ( (new StopWatch()));
345
+ for (const cell of notebook.cells) {
346
+ if (cell.cellKind === CellKind.Code) {
347
+ codeCellCount = (codeCellCount || 0) + 1;
348
+ codeLength = (codeLength || 0) + cell.getTextLength();
349
+ outputCount = (outputCount || 0) + cell.outputs.length;
350
+ outputBytes = (outputBytes || 0) + cell.outputs.reduce((prev, cur) => prev + cur.outputs.reduce((size, item) => size + item.data.byteLength, 0), 0);
351
+ }
352
+ else {
353
+ mdCellCount = (mdCellCount || 0) + 1;
354
+ markdownLength = (codeLength || 0) + cell.getTextLength();
355
+ }
356
+ }
357
+ notebookStatsLoaded = stopWatch.elapsed();
358
+ }
359
+ this.logService.trace(`[NotebookEditor] open notebook perf ${notebook?.uri.toString() ?? ''} - extensionActivation: ${extensionActivationTimespan}, inputLoad: ${inputLoadingTimespan}, webviewComm: ${webviewCommLoadingTimespan}, customMarkdown: ${customMarkdownLoadingTimespan}, editorLoad: ${editorLoadingTimespan}`);
335
360
  this.telemetryService.publicLog2('notebook/editorOpenPerf', {
336
361
  scheme: input.resource.scheme,
337
362
  ext: extname(input.resource),
@@ -340,7 +365,14 @@ let NotebookEditor = class NotebookEditor extends EditorPane {
340
365
  inputLoaded: inputLoadingTimespan,
341
366
  webviewCommLoaded: webviewCommLoadingTimespan,
342
367
  customMarkdownLoaded: customMarkdownLoadingTimespan,
343
- editorLoaded: editorLoadingTimespan
368
+ editorLoaded: editorLoadingTimespan,
369
+ codeCellCount,
370
+ mdCellCount,
371
+ outputCount,
372
+ outputBytes,
373
+ codeLength,
374
+ markdownLength,
375
+ notebookStatsLoaded
344
376
  });
345
377
  }
346
378
  _handlePromptRecommendations(model) {
@@ -72,7 +72,7 @@ import { NotebookEditorContextKeys } from './viewParts/notebookEditorWidgetConte
72
72
  import { NotebookOverviewRuler } from './viewParts/notebookOverviewRuler.js';
73
73
  import { ListTopCellToolbar } from './viewParts/notebookTopCellToolbar.js';
74
74
  import { SelectionStateType, RENDERER_NOT_AVAILABLE, CellKind } from '../common/notebookCommon.js';
75
- import { NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_OUTPUT_FOCUSED, NOTEBOOK_OUPTUT_INPUT_FOCUSED, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CURSOR_NAVIGATION_MODE } from '../common/notebookContextKeys.js';
75
+ import { NOTEBOOK_EDITOR_FOCUSED, NOTEBOOK_OUTPUT_FOCUSED, NOTEBOOK_OUTPUT_INPUT_FOCUSED, NOTEBOOK_EDITOR_EDITABLE, NOTEBOOK_CURSOR_NAVIGATION_MODE } from '../common/notebookContextKeys.js';
76
76
  import { INotebookExecutionService } from '../common/notebookExecutionService.service.js';
77
77
  import { INotebookExecutionStateService } from '../common/notebookExecutionStateService.service.js';
78
78
  import { INotebookKernelService } from '../common/notebookKernelService.service.js';
@@ -89,7 +89,6 @@ import { Schemas } from '../../../../base/common/network.js';
89
89
  import { DropIntoEditorController } from '../../../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js';
90
90
  import { CopyPasteController } from '../../../../editor/contrib/dropOrPasteInto/browser/copyPasteController.js';
91
91
  import { NotebookStickyScroll } from './viewParts/notebookEditorStickyScroll.js';
92
- import { NotebookCellOutlineProvider } from './viewModel/notebookOutlineProvider.js';
93
92
  import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.service.js';
94
93
  import { PixelRatio } from '../../../../base/browser/pixelRatio.js';
95
94
  import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js';
@@ -269,7 +268,6 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
269
268
  this._updateOutputRenderers();
270
269
  }));
271
270
  this._register(this.instantiationService.createInstance(NotebookEditorContextKeys, this));
272
- this._notebookOutline = this._register(this.instantiationService.createInstance(NotebookCellOutlineProvider, this, 4 ));
273
271
  this._register(notebookKernelService.onDidChangeSelectedNotebooks(e => {
274
272
  if (isEqual(e.notebook, this.viewModel?.uri)) {
275
273
  this._loadKernelPreloads();
@@ -306,7 +304,8 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
306
304
  || e.outputFontFamily
307
305
  || e.outputWordWrap
308
306
  || e.outputScrolling
309
- || e.outputLinkifyFilePaths) {
307
+ || e.outputLinkifyFilePaths
308
+ || e.minimalError) {
310
309
  this._styleElement?.remove();
311
310
  this._createLayoutStyles();
312
311
  this._webview?.updateOptions({
@@ -331,6 +330,7 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
331
330
  this._overlayContainer.id = `notebook-${id}`;
332
331
  this._overlayContainer.className = 'notebookOverlay';
333
332
  this._overlayContainer.classList.add('notebook-editor');
333
+ this._overlayContainer.inert = true;
334
334
  this._overlayContainer.style.visibility = 'hidden';
335
335
  container.appendChild(this._overlayContainer);
336
336
  this._createBody(this._overlayContainer);
@@ -338,7 +338,7 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
338
338
  this._isVisible = true;
339
339
  this._editorFocus = NOTEBOOK_EDITOR_FOCUSED.bindTo(this.scopedContextKeyService);
340
340
  this._outputFocus = NOTEBOOK_OUTPUT_FOCUSED.bindTo(this.scopedContextKeyService);
341
- this._outputInputFocus = NOTEBOOK_OUPTUT_INPUT_FOCUSED.bindTo(this.scopedContextKeyService);
341
+ this._outputInputFocus = NOTEBOOK_OUTPUT_INPUT_FOCUSED.bindTo(this.scopedContextKeyService);
342
342
  this._editorEditable = NOTEBOOK_EDITOR_EDITABLE.bindTo(this.scopedContextKeyService);
343
343
  this._cursorNavMode = NOTEBOOK_CURSOR_NAVIGATION_MODE.bindTo(this.scopedContextKeyService);
344
344
  ( (new RawContextKey(PreventDefaultContextMenuItemsContextKeyName, false))).bindTo(this.scopedContextKeyService).set(true);
@@ -844,7 +844,7 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
844
844
  }));
845
845
  }
846
846
  _registerNotebookStickyScroll() {
847
- this._notebookStickyScroll = this._register(this.instantiationService.createInstance(NotebookStickyScroll, this._notebookStickyScrollContainer, this, this._notebookOutline, this._list));
847
+ this._notebookStickyScroll = this._register(this.instantiationService.createInstance(NotebookStickyScroll, this._notebookStickyScrollContainer, this, this._list));
848
848
  const localDisposableStore = this._register(( (new DisposableStore())));
849
849
  this._register(this._notebookStickyScroll.onDidChangeNotebookStickyScroll((sizeDelta) => {
850
850
  const d = localDisposableStore.add(scheduleAtNextAnimationFrame(getWindow(this.getDomNode()), () => {
@@ -1463,6 +1463,7 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
1463
1463
  this._list.layout(newCellListHeight, dimension.width);
1464
1464
  this._list.updateOptions({ paddingBottom: this._allowScrollBeyondLastLine() ? Math.max(0, (newCellListHeight - 50)) : 0, paddingTop: 0 });
1465
1465
  }
1466
+ this._overlayContainer.inert = false;
1466
1467
  this._overlayContainer.style.visibility = 'visible';
1467
1468
  this._overlayContainer.style.display = 'block';
1468
1469
  this._overlayContainer.style.position = 'absolute';
@@ -1568,6 +1569,7 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
1568
1569
  onWillHide() {
1569
1570
  this._isVisible = false;
1570
1571
  this._editorFocus.set(false);
1572
+ this._overlayContainer.inert = true;
1571
1573
  this._overlayContainer.style.visibility = 'hidden';
1572
1574
  this._overlayContainer.style.left = '-50000px';
1573
1575
  this._notebookTopToolbarContainer.style.display = 'none';
@@ -1915,6 +1917,7 @@ let NotebookEditorWidget = class NotebookEditorWidget extends Disposable {
1915
1917
  if (itemDOM && itemDOM.ownerDocument.activeElement && itemDOM.contains(itemDOM.ownerDocument.activeElement)) {
1916
1918
  itemDOM.ownerDocument.activeElement.blur();
1917
1919
  }
1920
+ this._webview?.blurOutput();
1918
1921
  cell.updateEditState(CellEditState.Preview, 'focusNotebookCell');
1919
1922
  cell.focusMode = CellFocusMode.Container;
1920
1923
  this.focusElement(cell);
@@ -1,6 +1,7 @@
1
1
  import { PixelRatio } from '../../../../base/browser/pixelRatio.js';
2
2
  import { Emitter } from '../../../../base/common/event.js';
3
3
  import { Disposable } from '../../../../base/common/lifecycle.js';
4
+ import { isObject } from '../../../../base/common/types.js';
4
5
  import { FontMeasurements } from '../../../../editor/browser/config/fontMeasurements.js';
5
6
  import { BareFontInfo } from '../../../../editor/common/config/fontInfo.js';
6
7
  import { NotebookSetting } from '../common/notebookCommon.js';
@@ -52,7 +53,8 @@ class NotebookOptions extends Disposable {
52
53
  const showFoldingControls = this._computeShowFoldingControlsOption();
53
54
  const fontSize = this.configurationService.getValue('editor.fontSize');
54
55
  const markupFontSize = this.configurationService.getValue(NotebookSetting.markupFontSize);
55
- const editorOptionsCustomizations = this.configurationService.getValue(NotebookSetting.cellEditorOptionsCustomizations);
56
+ let editorOptionsCustomizations = this.configurationService.getValue(NotebookSetting.cellEditorOptionsCustomizations) ?? {};
57
+ editorOptionsCustomizations = isObject(editorOptionsCustomizations) ? editorOptionsCustomizations : {};
56
58
  const interactiveWindowCollapseCodeCells = this.configurationService.getValue(NotebookSetting.interactiveWindowCollapseCodeCells);
57
59
  let outputLineHeightSettingValue;
58
60
  const deprecatedOutputLineHeightSetting = this.configurationService.getValue(NotebookSetting.outputLineHeightDeprecated);
@@ -94,6 +96,7 @@ class NotebookOptions extends Disposable {
94
96
  const outputWordWrap = this.configurationService.getValue(NotebookSetting.outputWordWrap);
95
97
  const outputLineLimit = this.configurationService.getValue(NotebookSetting.textOutputLineLimit) ?? 30;
96
98
  const linkifyFilePaths = this.configurationService.getValue(NotebookSetting.LinkifyOutputFilePaths) ?? true;
99
+ const minimalErrors = this.configurationService.getValue(NotebookSetting.minimalErrorRendering);
97
100
  const editorTopPadding = this._computeEditorTopPadding();
98
101
  this._layoutConfiguration = {
99
102
  ...(compactView ? compactConfigConstants : defaultConfigConstants),
@@ -134,7 +137,8 @@ class NotebookOptions extends Disposable {
134
137
  outputScrolling: outputScrolling,
135
138
  outputWordWrap: outputWordWrap,
136
139
  outputLineLimit: outputLineLimit,
137
- outputLinkifyFilePaths: linkifyFilePaths
140
+ outputLinkifyFilePaths: linkifyFilePaths,
141
+ outputMinimalError: minimalErrors
138
142
  };
139
143
  this._register(this.configurationService.onDidChangeConfiguration(e => {
140
144
  this._updateConfiguration(e);
@@ -268,6 +272,7 @@ class NotebookOptions extends Disposable {
268
272
  const outputScrolling = e.affectsConfiguration(NotebookSetting.outputScrolling);
269
273
  const outputWordWrap = e.affectsConfiguration(NotebookSetting.outputWordWrap);
270
274
  const outputLinkifyFilePaths = e.affectsConfiguration(NotebookSetting.LinkifyOutputFilePaths);
275
+ const minimalError = e.affectsConfiguration(NotebookSetting.minimalErrorRendering);
271
276
  if (!cellStatusBarVisibility
272
277
  && !cellToolbarLocation
273
278
  && !cellToolbarInteraction
@@ -292,7 +297,8 @@ class NotebookOptions extends Disposable {
292
297
  && !outputLineHeight
293
298
  && !outputScrolling
294
299
  && !outputWordWrap
295
- && !outputLinkifyFilePaths) {
300
+ && !outputLinkifyFilePaths
301
+ && !minimalError) {
296
302
  return;
297
303
  }
298
304
  let configuration = Object.assign({}, this._layoutConfiguration);
@@ -373,6 +379,9 @@ class NotebookOptions extends Disposable {
373
379
  if (outputLinkifyFilePaths) {
374
380
  configuration.outputLinkifyFilePaths = this.configurationService.getValue(NotebookSetting.LinkifyOutputFilePaths);
375
381
  }
382
+ if (minimalError) {
383
+ configuration.outputMinimalError = this.configurationService.getValue(NotebookSetting.minimalErrorRendering);
384
+ }
376
385
  this._layoutConfiguration = ( Object.freeze(configuration));
377
386
  this._onDidChangeOptions.fire({
378
387
  cellStatusBarVisibility,
@@ -399,7 +408,8 @@ class NotebookOptions extends Disposable {
399
408
  outputLineHeight,
400
409
  outputScrolling,
401
410
  outputWordWrap,
402
- outputLinkifyFilePaths: outputLinkifyFilePaths
411
+ outputLinkifyFilePaths,
412
+ minimalError
403
413
  });
404
414
  }
405
415
  _computeInsertToolbarPositionOption(isReadOnly) {
@@ -580,6 +590,7 @@ class NotebookOptions extends Disposable {
580
590
  outputWordWrap: this._layoutConfiguration.outputWordWrap,
581
591
  outputLineLimit: this._layoutConfiguration.outputLineLimit,
582
592
  outputLinkifyFilePaths: this._layoutConfiguration.outputLinkifyFilePaths,
593
+ minimalError: this._layoutConfiguration.outputMinimalError
583
594
  };
584
595
  }
585
596
  computeDiffWebviewOptions() {
@@ -600,7 +611,8 @@ class NotebookOptions extends Disposable {
600
611
  outputScrolling: this._layoutConfiguration.outputScrolling,
601
612
  outputWordWrap: this._layoutConfiguration.outputWordWrap,
602
613
  outputLineLimit: this._layoutConfiguration.outputLineLimit,
603
- outputLinkifyFilePaths: false
614
+ outputLinkifyFilePaths: false,
615
+ minimalError: false
604
616
  };
605
617
  }
606
618
  computeIndicatorPosition(totalHeight, foldHintHeight, viewType) {
@@ -3,7 +3,6 @@ import { reset, EventType, addDisposableListener, EventHelper } from '../../../.
3
3
  import { isUndefinedOrNull } from '../../../../../../base/common/types.js';
4
4
  import { EventType as EventType$1 } from '../../../../../../base/browser/touch.js';
5
5
  import { getDefaultHoverDelegate } from '../../../../../../base/browser/ui/hover/hoverDelegateFactory.js';
6
- import { setupCustomHover } from '../../../../../../base/browser/ui/hover/updatableHoverWidget.js';
7
6
  import { renderLabelWithIcons } from '../../../../../../base/browser/ui/iconLabel/iconLabels.js';
8
7
  import { ThemeIcon } from '../../../../../../base/common/themables.js';
9
8
  import { MenuEntryActionViewItem, SubmenuEntryActionViewItem } from '../../../../../../platform/actions/browser/menuEntryActionViewItem.js';
@@ -11,6 +10,7 @@ import { MenuItemAction } from '../../../../../../platform/actions/common/action
11
10
  import { IContextMenuService } from '../../../../../../platform/contextview/browser/contextView.service.js';
12
11
  import { IKeybindingService } from '../../../../../../platform/keybinding/common/keybinding.service.js';
13
12
  import { IThemeService } from '../../../../../../platform/theme/common/themeService.service.js';
13
+ import { IHoverService } from '../../../../../../platform/hover/browser/hover.service.js';
14
14
  class CodiconActionViewItem extends MenuEntryActionViewItem {
15
15
  updateLabel() {
16
16
  if (this.options.label && this.label) {
@@ -34,11 +34,12 @@ class ActionViewWithLabel extends MenuEntryActionViewItem {
34
34
  }
35
35
  }
36
36
  let UnifiedSubmenuActionView = class UnifiedSubmenuActionView extends SubmenuEntryActionViewItem {
37
- constructor(action, options, renderLabel, subActionProvider, subActionViewItemProvider, _keybindingService, _contextMenuService, _themeService) {
37
+ constructor(action, options, renderLabel, subActionProvider, subActionViewItemProvider, _keybindingService, _contextMenuService, _themeService, _hoverService) {
38
38
  super(action, { ...options, hoverDelegate: options?.hoverDelegate ?? getDefaultHoverDelegate('element') }, _keybindingService, _contextMenuService, _themeService);
39
39
  this.renderLabel = renderLabel;
40
40
  this.subActionProvider = subActionProvider;
41
41
  this.subActionViewItemProvider = subActionViewItemProvider;
42
+ this._hoverService = _hoverService;
42
43
  }
43
44
  render(container) {
44
45
  super.render(container);
@@ -46,7 +47,7 @@ let UnifiedSubmenuActionView = class UnifiedSubmenuActionView extends SubmenuEnt
46
47
  container.classList.add('notebook-action-view-item-unified');
47
48
  this._actionLabel = document.createElement('a');
48
49
  container.appendChild(this._actionLabel);
49
- this._hover = this._register(setupCustomHover(this.options.hoverDelegate ?? getDefaultHoverDelegate('element'), this._actionLabel, ''));
50
+ this._hover = this._register(this._hoverService.setupUpdatableHover(this.options.hoverDelegate ?? getDefaultHoverDelegate('element'), this._actionLabel, ''));
50
51
  this.updateLabel();
51
52
  for (const event of [EventType.CLICK, EventType.MOUSE_DOWN, EventType$1.Tap]) {
52
53
  this._register(addDisposableListener(container, event, e => this.onClick(e, true)));
@@ -92,6 +93,7 @@ let UnifiedSubmenuActionView = class UnifiedSubmenuActionView extends SubmenuEnt
92
93
  UnifiedSubmenuActionView = ( __decorate([
93
94
  ( __param(5, IKeybindingService)),
94
95
  ( __param(6, IContextMenuService)),
95
- ( __param(7, IThemeService))
96
+ ( __param(7, IThemeService)),
97
+ ( __param(8, IHoverService))
96
98
  ], UnifiedSubmenuActionView));
97
99
  export { ActionViewWithLabel, CodiconActionViewItem, UnifiedSubmenuActionView };
@@ -34,10 +34,10 @@ let CellComments = class CellComments extends CellContentPart {
34
34
  this._initialized = true;
35
35
  const info = await this._getCommentThreadForCell(element);
36
36
  if (info) {
37
- this._createCommentTheadWidget(info.owner, info.thread);
37
+ await this._createCommentTheadWidget(info.owner, info.thread);
38
38
  }
39
39
  }
40
- _createCommentTheadWidget(owner, commentThread) {
40
+ async _createCommentTheadWidget(owner, commentThread) {
41
41
  this._commentThreadWidget?.dispose();
42
42
  this.commentTheadDisposables.clear();
43
43
  this._commentThreadWidget = this.instantiationService.createInstance(CommentThreadWidget, this.container, this.notebookEditor, owner, this.notebookEditor.textModel.uri, this.contextKeyService, this.instantiationService, commentThread, undefined, undefined, {
@@ -48,7 +48,7 @@ let CellComments = class CellComments extends CellContentPart {
48
48
  collapse: () => { }
49
49
  });
50
50
  const layoutInfo = this.notebookEditor.getLayoutInfo();
51
- this._commentThreadWidget.display(layoutInfo.fontInfo.lineHeight);
51
+ await this._commentThreadWidget.display(layoutInfo.fontInfo.lineHeight);
52
52
  this._applyTheme();
53
53
  this.commentTheadDisposables.add(this._commentThreadWidget.onDidResize(() => {
54
54
  if (this.currentElement?.cellKind === CellKind.Code && this._commentThreadWidget) {
@@ -61,7 +61,7 @@ let CellComments = class CellComments extends CellContentPart {
61
61
  if (this.currentElement) {
62
62
  const info = await this._getCommentThreadForCell(this.currentElement);
63
63
  if (!this._commentThreadWidget && info) {
64
- this._createCommentTheadWidget(info.owner, info.thread);
64
+ await this._createCommentTheadWidget(info.owner, info.thread);
65
65
  const layoutInfo = this.currentElement.layoutInfo;
66
66
  this.container.style.top = `${layoutInfo.outputContainerOffset + layoutInfo.outputTotalHeight}px`;
67
67
  this.currentElement.commentHeight = this._calculateCommentThreadHeight(this._commentThreadWidget.getDimensions().height);
@@ -77,7 +77,7 @@ let CellComments = class CellComments extends CellContentPart {
77
77
  this.currentElement.commentHeight = this._calculateCommentThreadHeight(this._commentThreadWidget.getDimensions().height);
78
78
  return;
79
79
  }
80
- this._commentThreadWidget.updateCommentThread(info.thread);
80
+ await this._commentThreadWidget.updateCommentThread(info.thread);
81
81
  this.currentElement.commentHeight = this._calculateCommentThreadHeight(this._commentThreadWidget.getDimensions().height);
82
82
  }
83
83
  }
@@ -64,15 +64,15 @@ class CellEditorOptions extends CellContentPart {
64
64
  _computeEditorOptions() {
65
65
  const value = this.base.value;
66
66
  const cellEditorOverridesRaw = this.notebookOptions.getDisplayOptions().editorOptionsCustomizations;
67
- const indentSize = cellEditorOverridesRaw['editor.indentSize'];
67
+ const indentSize = cellEditorOverridesRaw?.['editor.indentSize'];
68
68
  if (indentSize !== undefined) {
69
69
  this.indentSize = indentSize;
70
70
  }
71
- const insertSpaces = cellEditorOverridesRaw['editor.insertSpaces'];
71
+ const insertSpaces = cellEditorOverridesRaw?.['editor.insertSpaces'];
72
72
  if (insertSpaces !== undefined) {
73
73
  this.insertSpaces = insertSpaces;
74
74
  }
75
- const tabSize = cellEditorOverridesRaw['editor.tabSize'];
75
+ const tabSize = cellEditorOverridesRaw?.['editor.tabSize'];
76
76
  if (tabSize !== undefined) {
77
77
  this.tabSize = tabSize;
78
78
  }
@@ -15,7 +15,6 @@ import { IThemeService } from '../../../../../../platform/theme/common/themeServ
15
15
  import { CellFocusMode } from '../../notebookBrowser.js';
16
16
  import { CellContentPart } from '../cellPart.js';
17
17
  import { CodeCellViewModel } from '../../viewModel/codeCellViewModel.js';
18
- import { setupCustomHover } from '../../../../../../base/browser/ui/hover/updatableHoverWidget.js';
19
18
  import { IHoverService } from '../../../../../../platform/hover/browser/hover.service.js';
20
19
  import { IConfigurationService } from '../../../../../../platform/configuration/common/configuration.service.js';
21
20
  const $ = $$1;
@@ -211,7 +210,7 @@ let CellStatusBarItem = class CellStatusBarItem extends Disposable {
211
210
  set maxWidth(v) {
212
211
  this.container.style.maxWidth = v + 'px';
213
212
  }
214
- constructor(_context, _hoverDelegate, _editor, itemModel, maxWidth, _telemetryService, _commandService, _notificationService, _themeService) {
213
+ constructor(_context, _hoverDelegate, _editor, itemModel, maxWidth, _telemetryService, _commandService, _notificationService, _themeService, _hoverService) {
215
214
  super();
216
215
  this._context = _context;
217
216
  this._hoverDelegate = _hoverDelegate;
@@ -220,6 +219,7 @@ let CellStatusBarItem = class CellStatusBarItem extends Disposable {
220
219
  this._commandService = _commandService;
221
220
  this._notificationService = _notificationService;
222
221
  this._themeService = _themeService;
222
+ this._hoverService = _hoverService;
223
223
  this.container = $('.cell-status-item');
224
224
  this._itemDisposables = this._register(( new DisposableStore()));
225
225
  this.updateItem(itemModel, maxWidth);
@@ -254,7 +254,7 @@ let CellStatusBarItem = class CellStatusBarItem extends Disposable {
254
254
  this.container.setAttribute('role', role || '');
255
255
  if (item.tooltip) {
256
256
  const hoverContent = typeof item.tooltip === 'string' ? item.tooltip : { markdown: item.tooltip };
257
- this._itemDisposables.add(setupCustomHover(this._hoverDelegate, this.container, hoverContent));
257
+ this._itemDisposables.add(this._hoverService.setupUpdatableHover(this._hoverDelegate, this.container, hoverContent));
258
258
  }
259
259
  this.container.classList.toggle('cell-status-item-has-command', !!item.command);
260
260
  if (item.command) {
@@ -298,6 +298,7 @@ CellStatusBarItem = ( __decorate([
298
298
  ( __param(5, ITelemetryService)),
299
299
  ( __param(6, ICommandService)),
300
300
  ( __param(7, INotificationService)),
301
- ( __param(8, IThemeService))
301
+ ( __param(8, IThemeService)),
302
+ ( __param(9, IHoverService))
302
303
  ], CellStatusBarItem));
303
304
  export { CellEditorStatusBar };
@@ -63,6 +63,7 @@ let BetweenCellToolbar = class BetweenCellToolbar extends CellOverlayPart {
63
63
  ui: true,
64
64
  cell: element,
65
65
  notebookEditor: this._notebookEditor,
66
+ source: 'insertToolbar',
66
67
  $mid: 13
67
68
  };
68
69
  this.updateInternalLayoutNow(element);
@@ -153,6 +154,7 @@ let CellTitleToolbarPart = class CellTitleToolbarPart extends CellOverlayPart {
153
154
  ui: true,
154
155
  cell: element,
155
156
  notebookEditor: this._notebookEditor,
157
+ source: 'cellToolbar',
156
158
  $mid: 13
157
159
  });
158
160
  }
@@ -37,7 +37,7 @@ let FoldedCellHint = class FoldedCellHint extends CellContentPart {
37
37
  else if (element.foldingState === 2 ) {
38
38
  const idx = this._notebookEditor.getViewModel().getCellIndex(element);
39
39
  const length = this._notebookEditor.getViewModel().getFoldedLength(idx);
40
- reset(this._container, this.getRunFoldedSectionButton({ start: idx, end: idx + length }), this.getHiddenCellsLabel(length), this.getHiddenCellHintButton(element));
40
+ reset(this._container, this.getRunFoldedSectionButton({ start: idx, end: idx + length + 1 }), this.getHiddenCellsLabel(length), this.getHiddenCellHintButton(element));
41
41
  show(this._container);
42
42
  const foldHintTop = element.layoutInfo.previewHeight;
43
43
  this._container.style.top = `${foldHintTop}px`;
@@ -17,11 +17,10 @@ class NotebookCellAnchor {
17
17
  const newFocusBottom = cellListView.elementTop(focusedIndex) + cellListView.elementHeight(focusedIndex) + heightDelta;
18
18
  const viewBottom = cellListView.renderHeight + cellListView.getScrollTop();
19
19
  const focusStillVisible = viewBottom > newFocusBottom;
20
- const anchorFocusedSetting = this.configurationService.getValue(NotebookSetting.anchorToFocusedCell);
21
20
  const allowScrolling = this.configurationService.getValue(NotebookSetting.scrollToRevealCell) !== 'none';
22
21
  const growing = heightDelta > 0;
23
- const autoAnchor = allowScrolling && growing && !focusStillVisible && anchorFocusedSetting !== 'off';
24
- if (autoAnchor || anchorFocusedSetting === 'on') {
22
+ const autoAnchor = allowScrolling && growing && !focusStillVisible;
23
+ if (autoAnchor) {
25
24
  this.watchAchorDuringExecution(executingCellUri);
26
25
  return true;
27
26
  }
@@ -164,6 +164,7 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
164
164
  outputScrolling: this.options.outputScrolling,
165
165
  outputWordWrap: this.options.outputWordWrap,
166
166
  linkifyFilePaths: this.options.outputLinkifyFilePaths,
167
+ minimalError: this.options.minimalError
167
168
  }
168
169
  });
169
170
  }
@@ -194,7 +195,8 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
194
195
  lineLimit: this.options.outputLineLimit,
195
196
  outputScrolling: this.options.outputScrolling,
196
197
  outputWordWrap: this.options.outputWordWrap,
197
- linkifyFilePaths: this.options.outputLinkifyFilePaths
198
+ linkifyFilePaths: this.options.outputLinkifyFilePaths,
199
+ minimalError: this.options.minimalError
198
200
  };
199
201
  const preloadScript = preloadsScriptStr({
200
202
  ...this.options,
@@ -762,6 +764,9 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
762
764
  }
763
765
  case 'notebookPerformanceMessage': {
764
766
  this.notebookEditor.updatePerformanceMetadata(data.cellId, data.executionId, data.duration, data.rendererId);
767
+ if (data.mimeType && data.outputSize && data.rendererId === 'vscode.builtin-renderer') {
768
+ this._sendPerformanceData(data.mimeType, data.outputSize, data.duration);
769
+ }
765
770
  break;
766
771
  }
767
772
  case 'outputInputFocus': {
@@ -778,6 +783,14 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
778
783
  }));
779
784
  return initializePromise.p;
780
785
  }
786
+ _sendPerformanceData(mimeType, outputSize, renderTime) {
787
+ const telemetryData = {
788
+ mimeType,
789
+ outputSize,
790
+ renderTime
791
+ };
792
+ this.telemetryService.publicLog2('NotebookCellOutputRender', telemetryData);
793
+ }
781
794
  _handleNotebookCellResource(uri) {
782
795
  const notebookResource = uri.path.length > 0 ? uri : this.documentUri;
783
796
  const lineMatch = /(?:^|&)line=([^&]+)/.exec(uri.query);
@@ -1448,6 +1461,14 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
1448
1461
  alternateId: alternateId
1449
1462
  });
1450
1463
  }
1464
+ blurOutput() {
1465
+ if (this._disposed) {
1466
+ return;
1467
+ }
1468
+ this._sendMessageToWebview({
1469
+ type: 'blur-output'
1470
+ });
1471
+ }
1451
1472
  async find(query, options) {
1452
1473
  if (query === '') {
1453
1474
  this._sendMessageToWebview({