@codingame/monaco-vscode-api 3.2.3 → 4.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 (772) hide show
  1. package/api.js +4 -7
  2. package/debugProtocol.d.ts +14 -39
  3. package/extensions.d.ts +7 -1
  4. package/missing-services.js +116 -32
  5. package/monaco.d.ts +1 -1
  6. package/monaco.js +11 -1
  7. package/override/vs/platform/dialogs/common/dialogs.js +1 -0
  8. package/package.json +8 -8
  9. package/service-override/tools/editor.js +82 -3
  10. package/service-override/tools/views.d.ts +2 -1
  11. package/service-override/tools/views.js +5 -1
  12. package/services.js +4 -3
  13. package/vscode/src/vs/base/browser/dom.js +1 -7
  14. package/vscode/src/vs/base/browser/fonts.js +3 -0
  15. package/vscode/src/vs/base/browser/keyboardEvent.js +1 -1
  16. package/vscode/src/vs/base/browser/markdownRenderer.js +4 -4
  17. package/vscode/src/vs/base/browser/touch.js +13 -2
  18. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +1 -1
  19. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +5 -6
  20. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  21. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +2 -2
  22. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.d.ts +1 -0
  23. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +4 -2
  24. package/vscode/src/vs/base/browser/ui/button/button.js +16 -9
  25. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  26. package/vscode/src/vs/base/browser/ui/contextview/contextview.d.ts +1 -0
  27. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +4 -4
  29. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +3 -3
  30. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +5 -0
  31. package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +4 -0
  32. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +3 -1
  33. package/vscode/src/vs/base/browser/ui/grid/gridview.js +1 -0
  34. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +14 -3
  35. package/vscode/src/vs/base/browser/ui/{iconLabel/iconHoverDelegate.d.ts → hover/hoverDelegate.d.ts} +3 -6
  36. package/vscode/src/vs/base/browser/ui/hover/{hoverDelegate.js → hoverDelegateFactory.js} +5 -5
  37. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/{iconLabel/iconLabelHover.d.ts → hover/updatableHoverWidget.d.ts} +6 -1
  39. package/vscode/src/vs/base/browser/ui/{iconLabel/iconLabelHover.js → hover/updatableHoverWidget.js} +27 -7
  40. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +10 -9
  41. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +11 -1
  42. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +19 -1
  43. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +8 -7
  44. package/vscode/src/vs/base/browser/ui/list/listView.js +4 -1
  45. package/vscode/src/vs/base/browser/ui/list/listWidget.js +27 -10
  46. package/vscode/src/vs/base/browser/ui/menu/menu.js +15 -9
  47. package/vscode/src/vs/base/browser/ui/menu/menubar.js +15 -8
  48. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +18 -2
  49. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +1 -0
  50. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +14 -7
  51. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +6 -4
  52. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +7 -6
  53. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -2
  54. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +55 -10
  55. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +4 -1
  56. package/vscode/src/vs/base/browser/window.d.ts +5 -0
  57. package/vscode/src/vs/base/browser/window.js +1 -2
  58. package/vscode/src/vs/base/common/arrays.js +20 -1
  59. package/vscode/src/vs/base/common/cache.js +3 -2
  60. package/vscode/src/vs/base/common/codicons.d.ts +62 -38
  61. package/vscode/src/vs/base/common/codicons.js +19 -571
  62. package/vscode/src/vs/base/common/codiconsLibrary.js +570 -0
  63. package/vscode/src/vs/base/common/codiconsUtil.js +17 -0
  64. package/vscode/src/vs/base/common/event.js +4 -1
  65. package/vscode/src/vs/base/common/glob.js +1 -0
  66. package/vscode/src/vs/base/common/hierarchicalKind.d.ts +13 -0
  67. package/vscode/src/vs/base/common/hierarchicalKind.js +21 -0
  68. package/vscode/src/vs/base/common/labels.js +2 -2
  69. package/vscode/src/vs/base/common/network.js +14 -5
  70. package/vscode/src/vs/base/common/observableInternal/promise.js +1 -0
  71. package/vscode/src/vs/base/common/observableInternal/utils.js +35 -14
  72. package/vscode/src/vs/base/common/platform.js +1 -1
  73. package/vscode/src/vs/base/common/product.d.ts +7 -1
  74. package/vscode/src/vs/base/common/severity.js +2 -1
  75. package/vscode/src/vs/base/common/strings.js +16 -4
  76. package/vscode/src/vs/base/parts/ipc/common/ipc.js +4 -0
  77. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +5 -5
  78. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +55 -43
  79. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +5 -5
  80. package/vscode/src/vs/editor/browser/coreCommands.js +13 -13
  81. package/vscode/src/vs/editor/browser/editorDom.js +11 -1
  82. package/vscode/src/vs/editor/browser/editorExtensions.js +1 -1
  83. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +10 -2
  84. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +31 -0
  85. package/vscode/src/vs/editor/browser/services/{hoverService.js → hoverService/hoverService.js} +38 -27
  86. package/vscode/src/vs/editor/browser/{widget/hoverWidget → services/hoverService}/hoverWidget.js +13 -14
  87. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -4
  88. package/vscode/src/vs/editor/browser/view/viewOverlays.js +12 -23
  89. package/vscode/src/vs/editor/browser/view.js +5 -5
  90. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  91. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +3 -3
  92. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css.js +1 -1
  93. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +4 -6
  94. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.css.js +1 -1
  95. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +8 -14
  96. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +2 -2
  97. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +2 -2
  98. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.css.js +1 -1
  99. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +3 -6
  100. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css.js +1 -1
  101. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +5 -1
  102. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +4 -4
  103. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.css.js +1 -1
  104. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +5 -5
  105. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  106. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +2 -2
  107. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +142 -27
  108. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
  109. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +34 -16
  110. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +3 -3
  111. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +1 -1
  112. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +23 -20
  113. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +25 -3
  114. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +21 -13
  115. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  116. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +2 -2
  117. package/vscode/src/vs/editor/browser/widget/{codeEditorContributions.js → codeEditor/codeEditorContributions.js} +3 -3
  118. package/vscode/src/vs/editor/browser/widget/{codeEditorWidget.js → codeEditor/codeEditorWidget.js} +81 -70
  119. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +4 -0
  120. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js +44 -0
  121. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +281 -0
  122. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +7 -5
  123. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +4 -1
  124. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +15 -9
  125. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +2 -0
  126. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +9 -8
  127. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +1 -1
  128. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +33 -246
  129. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +22 -7
  130. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +5 -5
  131. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +71 -41
  132. package/vscode/src/vs/editor/browser/widget/diffEditor/embeddedDiffEditorWidget.js +36 -0
  133. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +227 -0
  134. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +22 -19
  135. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +5 -4
  136. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +15 -4
  137. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +13 -5
  138. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +11 -1
  139. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  140. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +104 -0
  141. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +8 -15
  142. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/colors.js +14 -4
  143. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/diffEditorItemTemplate.js +6 -5
  144. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/model.js +14 -0
  145. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorViewModel.js +5 -2
  146. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorWidget.js +5 -3
  147. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorWidgetImpl.js +9 -10
  148. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/style.css.js +1 -1
  149. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/utils.js +2 -1
  150. package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +14 -3
  151. package/vscode/src/vs/editor/common/config/diffEditor.js +1 -0
  152. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +10 -1
  153. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -0
  154. package/vscode/src/vs/editor/common/config/editorOptions.js +115 -33
  155. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +32 -2
  156. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  157. package/vscode/src/vs/editor/common/core/lineRange.js +12 -0
  158. package/vscode/src/vs/editor/common/core/positionToOffset.js +43 -0
  159. package/vscode/src/vs/editor/common/core/textEdit.js +169 -0
  160. package/vscode/src/vs/editor/common/core/textLength.js +110 -0
  161. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.d.ts +14 -2
  162. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +66 -10
  163. package/vscode/src/vs/editor/common/core/wordHelper.js +1 -0
  164. package/vscode/src/vs/editor/common/cursor/cursor.js +17 -4
  165. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +1 -1
  166. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +22 -3
  167. package/vscode/src/vs/editor/common/cursorCommon.js +7 -5
  168. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +7 -4
  169. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +1 -1
  170. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +2 -0
  171. package/vscode/src/vs/editor/common/diff/rangeMapping.js +10 -0
  172. package/vscode/src/vs/editor/common/editorContextKeys.js +25 -0
  173. package/vscode/src/vs/editor/common/languages.d.ts +43 -11
  174. package/vscode/src/vs/editor/common/languages.js +15 -1
  175. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +1 -1
  176. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +3 -58
  177. package/vscode/src/vs/editor/common/model/textModel.js +2 -0
  178. package/vscode/src/vs/editor/common/model/textModelSearch.js +1 -1
  179. package/vscode/src/vs/editor/common/model/textModelText.js +17 -0
  180. package/vscode/src/vs/editor/common/model/textModelTokens.js +4 -0
  181. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +10 -0
  182. package/vscode/src/vs/editor/common/model.d.ts +17 -2
  183. package/vscode/src/vs/editor/common/model.js +1 -6
  184. package/vscode/src/vs/editor/common/services/editorSimpleWorker.js +8 -0
  185. package/vscode/src/vs/editor/common/services/editorWorker.d.ts +2 -0
  186. package/vscode/src/vs/editor/common/services/findSectionHeaders.d.ts +28 -0
  187. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +71 -0
  188. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +15 -5
  189. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +32 -20
  190. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +2 -1
  191. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +5 -5
  192. package/vscode/src/vs/editor/common/viewLayout/viewLinesViewportData.js +1 -0
  193. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +1 -1
  194. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
  195. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +10 -7
  196. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +11 -1
  197. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +6 -5
  198. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +5 -4
  199. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +25 -3
  200. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +3 -2
  201. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +3 -2
  202. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +13 -2
  203. package/vscode/src/vs/editor/contrib/codeAction/common/types.js +18 -33
  204. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  205. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
  206. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +1 -1
  207. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +11 -1
  208. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +1 -1
  209. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +9 -9
  210. package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +5 -3
  211. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +1 -1
  212. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +40 -20
  213. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +83 -47
  214. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +40 -31
  215. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +16 -1
  216. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +8 -8
  217. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +5 -3
  218. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +7 -6
  219. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +14 -4
  220. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -6
  221. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +16 -1
  222. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +23 -3
  223. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -3
  224. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +11 -1
  225. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +3 -3
  226. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +5 -3
  227. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +1 -1
  228. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +12 -2
  229. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +3 -91
  230. package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +92 -0
  231. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +14 -4
  232. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +4 -0
  233. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +18 -19
  234. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +5 -4
  235. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +4 -2
  236. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +4 -1
  237. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +6 -5
  238. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +5 -4
  239. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +28 -19
  240. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +7 -4
  241. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +1 -1
  242. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +64 -72
  243. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +11 -5
  244. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +5 -85
  245. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +2 -2
  246. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +6 -4
  247. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +4 -1
  248. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +28 -17
  249. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +5 -4
  250. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  251. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +53 -6
  252. package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +1 -1
  253. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +11 -1
  254. package/vscode/src/vs/editor/contrib/links/browser/links.js +2 -2
  255. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +7 -7
  256. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +11 -1
  257. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +12 -2
  258. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +1 -1
  259. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +27 -33
  260. package/vscode/src/vs/editor/contrib/rename/browser/{renameInputField.js → renameWidget.js} +282 -194
  261. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +154 -0
  262. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +60 -61
  263. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +23 -14
  264. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -1
  265. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +12 -2
  266. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +11 -1
  267. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +1 -1
  268. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +16 -6
  269. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +2 -2
  270. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +12 -12
  271. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +2 -2
  272. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +1 -1
  273. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +2 -2
  274. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +1 -1
  275. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +12 -12
  276. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +11 -1
  277. package/vscode/src/vs/editor/standalone/common/themes.js +11 -1
  278. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +16 -9
  279. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +42 -18
  280. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +16 -5
  281. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +11 -1
  282. package/vscode/src/vs/platform/actions/browser/buttonbar.js +13 -5
  283. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +3 -1
  284. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +11 -1
  285. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +11 -1
  286. package/vscode/src/vs/platform/actions/common/actions.d.ts +7 -0
  287. package/vscode/src/vs/platform/actions/common/actions.js +7 -0
  288. package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +1 -0
  289. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +12 -15
  290. package/vscode/src/vs/platform/dialogs/common/dialogs.js +4 -2
  291. package/vscode/src/vs/platform/editor/common/editor.d.ts +12 -0
  292. package/vscode/src/vs/platform/environment/common/environmentService.js +6 -0
  293. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +19 -7
  294. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +7 -1
  295. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +333 -0
  296. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +901 -0
  297. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +3 -4
  298. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +16 -16
  299. package/vscode/src/vs/platform/extensions/common/extensions.js +5 -1
  300. package/vscode/src/vs/platform/files/common/files.d.ts +1 -11
  301. package/vscode/src/vs/platform/files/common/files.js +2 -0
  302. package/vscode/src/vs/platform/files/common/watcher.js +2 -0
  303. package/vscode/src/vs/platform/hover/browser/hover.d.ts +1 -1
  304. package/vscode/src/vs/platform/hover/browser/hover.js +21 -6
  305. package/vscode/src/vs/platform/keyboardLayout/common/keyboardLayout.js +1 -0
  306. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +5 -0
  307. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +8 -6
  308. package/vscode/src/vs/platform/log/browser/log.js +1 -0
  309. package/vscode/src/vs/platform/log/common/log.js +13 -1
  310. package/vscode/src/vs/platform/markers/common/markerService.js +1 -1
  311. package/vscode/src/vs/platform/markers/common/markers.js +9 -9
  312. package/vscode/src/vs/platform/opener/browser/link.js +16 -4
  313. package/vscode/src/vs/platform/policy/common/policy.js +2 -0
  314. package/vscode/src/vs/platform/product/common/product.js +2 -1
  315. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css.js +1 -1
  316. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +36 -33
  317. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +5 -0
  318. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +38 -9
  319. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +7 -4
  320. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +22 -12
  321. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +13 -5
  322. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1348 -0
  323. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  324. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +14 -0
  325. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +2 -2
  326. package/vscode/src/vs/platform/remote/common/remoteHosts.js +1 -4
  327. package/vscode/src/vs/platform/secrets/common/secrets.js +5 -0
  328. package/vscode/src/vs/platform/severityIcon/browser/severityIcon.js +5 -5
  329. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +2 -0
  330. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -1
  331. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +3 -9
  332. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -1
  333. package/vscode/src/vs/platform/terminal/common/terminal.js +1 -0
  334. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +4 -1
  335. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +11 -1
  336. package/vscode/src/vs/platform/theme/common/colorUtils.js +187 -0
  337. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +89 -0
  338. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +46 -0
  339. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +469 -0
  340. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +196 -0
  341. package/vscode/src/vs/platform/theme/common/colors/listColors.js +166 -0
  342. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +41 -0
  343. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +61 -0
  344. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +45 -0
  345. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +51 -0
  346. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +19 -0
  347. package/vscode/src/vs/platform/theme/common/iconRegistry.js +2 -1
  348. package/vscode/src/vs/platform/theme/common/themeService.d.ts +1 -1
  349. package/vscode/src/vs/platform/tunnel/common/tunnel.js +2 -0
  350. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +2 -2
  351. package/vscode/src/vs/platform/update/common/update.js +1 -1
  352. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +1 -0
  353. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileIpc.js +2 -0
  354. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +69 -32
  355. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +6 -0
  356. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +3 -1
  357. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +12 -5
  358. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -8
  359. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +58 -88
  360. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +8 -4
  361. package/vscode/src/vs/workbench/api/common/extHostComments.js +49 -13
  362. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +16 -17
  363. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +3 -1
  364. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +1 -1
  365. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +17 -4
  366. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +1 -1
  367. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +57 -40
  368. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +305 -0
  369. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +2 -2
  370. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +1 -1
  371. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +26 -6
  372. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +9 -9
  373. package/vscode/src/vs/workbench/api/common/extHostSCM.js +1 -1
  374. package/vscode/src/vs/workbench/api/common/extHostSearch.js +34 -3
  375. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +1 -1
  376. package/vscode/src/vs/workbench/api/common/extHostTask.js +1 -0
  377. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +32 -18
  378. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +214 -0
  379. package/vscode/src/vs/workbench/api/common/extHostTesting.js +85 -98
  380. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +1 -0
  381. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +5 -2
  382. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +119 -70
  383. package/vscode/src/vs/workbench/api/common/extHostTypes.js +90 -28
  384. package/vscode/src/vs/workbench/browser/actions/developerActions.js +4 -4
  385. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +2 -2
  386. package/vscode/src/vs/workbench/browser/actions/windowActions.js +3 -3
  387. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +3 -3
  388. package/vscode/src/vs/workbench/browser/codeeditor.js +1 -1
  389. package/vscode/src/vs/workbench/browser/composite.d.ts +3 -5
  390. package/vscode/src/vs/workbench/browser/composite.js +2 -10
  391. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  392. package/vscode/src/vs/workbench/browser/labels.js +2 -1
  393. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  394. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  395. package/vscode/src/vs/workbench/browser/part.d.ts +25 -3
  396. package/vscode/src/vs/workbench/browser/part.js +84 -9
  397. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +67 -10
  398. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +2 -2
  399. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +92 -14
  400. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css.js +1 -1
  401. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +5 -4
  402. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +13 -3
  403. package/vscode/src/vs/workbench/browser/parts/compositePart.js +13 -5
  404. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +12 -0
  405. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +10 -10
  406. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  407. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +8 -7
  408. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +16 -8
  409. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +217 -0
  410. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +14 -16
  411. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +2 -2
  412. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +8 -7
  413. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +4 -202
  414. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +1 -1
  415. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +11 -1
  416. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +92 -23
  417. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +15 -3
  418. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.d.ts +7 -8
  419. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +7 -6
  420. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +12 -32
  421. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +11 -1
  422. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +1 -0
  423. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +27 -28
  424. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +19 -20
  425. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +12 -2
  426. package/vscode/src/vs/workbench/browser/parts/editor/editorWithViewState.js +14 -17
  427. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +11 -1
  428. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +12 -12
  429. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +16 -16
  430. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +3 -3
  431. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +17 -17
  432. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +36 -13
  433. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +22 -22
  434. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +29 -21
  435. package/vscode/src/vs/workbench/browser/parts/media/compositepart.css.js +1 -1
  436. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
  437. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +13 -2
  438. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +11 -1
  439. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +16 -16
  440. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -0
  441. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +122 -33
  442. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +14 -3
  443. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +15 -2
  444. package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +1 -1
  445. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +37 -0
  446. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +36 -18
  447. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +7 -4
  448. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +6 -4
  449. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -3
  450. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
  451. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +3 -3
  452. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +13 -3
  453. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +6 -0
  454. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +28 -11
  455. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +19 -15
  456. package/vscode/src/vs/workbench/browser/quickaccess.js +42 -15
  457. package/vscode/src/vs/workbench/browser/style.js +52 -3
  458. package/vscode/src/vs/workbench/browser/web.api.d.ts +6 -0
  459. package/vscode/src/vs/workbench/browser/window.js +28 -20
  460. package/vscode/src/vs/workbench/browser/workbench.contribution.js +83 -9
  461. package/vscode/src/vs/workbench/common/component.js +0 -1
  462. package/vscode/src/vs/workbench/common/contextkeys.js +4 -4
  463. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +59 -5
  464. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +10 -0
  465. package/vscode/src/vs/workbench/common/editor/editorInput.js +3 -0
  466. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +1 -0
  467. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.d.ts +3 -1
  468. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +7 -3
  469. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +3 -3
  470. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.d.ts +2 -1
  471. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +9 -6
  472. package/vscode/src/vs/workbench/common/editor.d.ts +33 -13
  473. package/vscode/src/vs/workbench/common/editor.js +6 -7
  474. package/vscode/src/vs/workbench/common/theme.js +45 -5
  475. package/vscode/src/vs/workbench/common/views.d.ts +1 -0
  476. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +59 -184
  477. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +1 -0
  478. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +140 -13
  479. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +1 -1
  480. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +1 -0
  481. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +4 -2
  482. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +35 -36
  483. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +1 -1
  484. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +1 -1
  485. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +4 -5
  486. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +21 -12
  487. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +70 -32
  488. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +4 -1
  489. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +4 -1
  490. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +118 -0
  491. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +11 -6
  492. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +154 -61
  493. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +186 -224
  494. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +6 -75
  495. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +158 -49
  496. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +84 -175
  497. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +38 -5
  498. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  499. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +105 -0
  500. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +137 -43
  501. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +44 -0
  502. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +17 -1
  503. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +82 -34
  504. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +17 -3
  505. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +20 -22
  506. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +68 -9
  507. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +115 -0
  508. package/vscode/src/vs/workbench/contrib/chat/common/{chatProvider.js → languageModels.js} +9 -9
  509. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +5 -4
  510. package/vscode/src/vs/workbench/contrib/codeActions/browser/documentationContribution.js +2 -1
  511. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +5 -5
  512. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +33 -7
  513. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +11 -1
  514. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -3
  515. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +9 -6
  516. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +13 -3
  517. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +1 -1
  518. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +2 -2
  519. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +1 -1
  520. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +1 -1
  521. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +6 -6
  522. package/vscode/src/vs/workbench/contrib/codeEditor/{browser → common}/languageConfigurationExtensionPoint.js +79 -74
  523. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +11 -1
  524. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +11 -1
  525. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +25 -18
  526. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +14 -2
  527. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +80 -52
  528. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +12 -2
  529. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +33 -13
  530. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +129 -57
  531. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +15 -15
  532. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +145 -20
  533. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +61 -95
  534. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +2 -2
  535. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  536. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -2
  537. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +4 -3
  538. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +18 -11
  539. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +6 -0
  540. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +62 -4
  541. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +6 -4
  542. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +34 -5
  543. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +48 -29
  544. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +216 -23
  545. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +11 -1
  546. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -2
  547. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +6 -1
  548. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +23 -5
  549. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +24 -1
  550. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +15 -1
  551. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +30 -6
  552. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +2 -2
  553. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +106 -37
  554. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +1 -1
  555. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.js +1 -0
  556. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +8 -11
  557. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +5 -3
  558. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +23 -24
  559. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +17 -12
  560. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +3 -3
  561. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +9 -9
  562. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.save.js +1 -1
  563. package/vscode/src/vs/workbench/contrib/files/browser/files.configuration.contribution.js +10 -0
  564. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +11 -1
  565. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +11 -1
  566. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +1 -3
  567. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +1 -1
  568. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +15 -6
  569. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +4 -8
  570. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +674 -0
  571. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +154 -0
  572. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +316 -344
  573. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatFileCreationWidget.js +223 -0
  574. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +8 -25
  575. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +427 -0
  576. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +45 -160
  577. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +358 -702
  578. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +165 -0
  579. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +4 -0
  580. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +4 -0
  581. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +1 -1
  582. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +16 -27
  583. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +19 -4
  584. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +9 -9
  585. package/vscode/src/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css.js +1 -1
  586. package/vscode/src/vs/workbench/contrib/limitIndicator/browser/limitIndicator.contribution.js +2 -2
  587. package/vscode/src/vs/workbench/contrib/logs/common/defaultLogLevels.js +17 -2
  588. package/vscode/src/vs/workbench/contrib/logs/common/logsActions.js +236 -0
  589. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +2 -2
  590. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +9 -4
  591. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +8 -6
  592. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +8 -0
  593. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +5 -5
  594. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +5 -5
  595. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +2 -0
  596. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +4 -2
  597. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/colors.js +11 -1
  598. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +5 -3
  599. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editorGutter.js +5 -3
  600. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js +6 -4
  601. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.js +5 -4
  602. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js +7 -5
  603. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js +6 -4
  604. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/lineAlignment.js +2 -2
  605. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +23 -19
  606. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/scrollSynchronizer.js +4 -1
  607. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.js +5 -3
  608. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +9 -0
  609. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +303 -0
  610. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.js +655 -0
  611. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnostics.js +101 -0
  612. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +56 -1
  613. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +11 -1
  614. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +11 -4
  615. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +29 -0
  616. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +888 -0
  617. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +2 -1
  618. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +1 -1
  619. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +1 -1
  620. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFolding.css.js +1 -1
  621. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookOutline.css.js +1 -1
  622. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookToolbar.css.js +1 -1
  623. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +88 -0
  624. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +60 -46
  625. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +42 -52
  626. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +18 -7
  627. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +1 -1
  628. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +28 -1
  629. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +2 -2
  630. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +11 -7
  631. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -1
  632. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +48 -4
  633. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  634. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +3 -1
  635. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +13 -2
  636. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +57 -10
  637. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +11 -4
  638. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +161 -15
  639. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +4 -2
  640. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +21 -2
  641. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +1 -1
  642. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +5 -0
  643. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +14 -4
  644. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +14 -8
  645. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +3 -0
  646. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +25 -64
  647. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +27 -22
  648. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +1 -1
  649. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +4 -4
  650. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +2 -2
  651. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +8 -1
  652. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +3 -1
  653. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +7 -14
  654. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +4 -4
  655. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +10 -0
  656. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +16 -4
  657. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +17 -4
  658. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +11 -1
  659. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +26 -8
  660. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +16 -6
  661. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +11 -1
  662. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +18 -8
  663. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +235 -0
  664. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +182 -69
  665. package/vscode/src/vs/workbench/contrib/search/common/constants.js +2 -0
  666. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +203 -1
  667. package/vscode/src/vs/workbench/contrib/tags/browser/workspaceTagsService.js +3 -0
  668. package/vscode/src/vs/workbench/contrib/tags/common/workspaceTags.js +2 -0
  669. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +11 -3
  670. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +2 -2
  671. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +58 -8
  672. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +3 -1
  673. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +1 -0
  674. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +12 -1
  675. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +11 -1
  676. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +53 -57
  677. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +11 -26
  678. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +6 -3
  679. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +12 -12
  680. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +8 -0
  681. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.js +2 -0
  682. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +1 -1
  683. package/vscode/src/vs/workbench/contrib/webview/browser/overlayWebview.js +30 -7
  684. package/vscode/src/vs/workbench/contrib/webview/browser/themeing.js +12 -2
  685. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +50 -41
  686. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -5
  687. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +20 -22
  688. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +4 -1
  689. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +1 -0
  690. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +3 -3
  691. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +1 -1
  692. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +2 -0
  693. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +6 -0
  694. package/vscode/src/vs/workbench/services/authentication/browser/authenticationAccessService.js +69 -0
  695. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +69 -811
  696. package/vscode/src/vs/workbench/services/authentication/browser/authenticationUsageService.js +50 -0
  697. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -1
  698. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +50 -25
  699. package/vscode/src/vs/workbench/services/banner/browser/bannerService.d.ts +1 -1
  700. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +1 -0
  701. package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +1 -0
  702. package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +21 -17
  703. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.d.ts +12 -0
  704. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +144 -0
  705. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +10 -6
  706. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +3 -3
  707. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +16 -4
  708. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +12 -1
  709. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +46 -121
  710. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +5 -2
  711. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +6 -3
  712. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +9 -1
  713. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +4 -4
  714. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +2 -1
  715. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +8 -1
  716. package/vscode/src/vs/workbench/services/history/browser/historyService.js +44 -36
  717. package/vscode/src/vs/workbench/services/history/common/history.d.ts +0 -5
  718. package/vscode/src/vs/workbench/services/language/common/languageService.js +4 -3
  719. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -1
  720. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +2 -1
  721. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +8 -6
  722. package/vscode/src/vs/workbench/services/output/common/output.js +4 -1
  723. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +2 -2
  724. package/vscode/src/vs/workbench/services/search/common/search.js +1 -0
  725. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +15 -5
  726. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +6 -1
  727. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +1 -1
  728. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
  729. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +11 -1
  730. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +5 -3
  731. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +1 -1
  732. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +1 -0
  733. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +7 -7
  734. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +261 -0
  735. package/vscode-dts/vscode.proposed.authLearnMore.d.ts +16 -0
  736. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +49 -78
  737. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +13 -16
  738. package/vscode-dts/vscode.proposed.chatProvider.d.ts +1 -1
  739. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +32 -0
  740. package/vscode-dts/vscode.proposed.commentingRangeHint.d.ts +16 -0
  741. package/vscode-dts/vscode.proposed.contribCommentsViewThreadMenus.d.ts +6 -0
  742. package/vscode-dts/vscode.proposed.contribDiffEditorGutterToolBarMenus.d.ts +6 -0
  743. package/vscode-dts/vscode.proposed.debugFocus.d.ts +15 -23
  744. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +10 -0
  745. package/vscode-dts/vscode.proposed.documentPaste.d.ts +115 -30
  746. package/vscode-dts/vscode.proposed.dropMetadata.d.ts +19 -14
  747. package/vscode-dts/vscode.proposed.fileComments.d.ts +2 -4
  748. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +18 -0
  749. package/vscode-dts/vscode.proposed.interactive.d.ts +0 -16
  750. package/vscode-dts/vscode.proposed.languageModels.d.ts +115 -53
  751. package/vscode-dts/vscode.proposed.notebookCellExecution.d.ts +44 -0
  752. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +3 -0
  753. package/vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts +22 -0
  754. package/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts +2 -0
  755. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +207 -0
  756. package/vscode/src/vs/editor/browser/services/hoverService.d.ts +0 -30
  757. package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +0 -74
  758. package/vscode/src/vs/editor/browser/widget/media/editor.css.js +0 -4
  759. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +0 -881
  760. package/vscode/src/vs/platform/theme/common/colorRegistry.js +0 -1316
  761. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +0 -253
  762. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.css.js +0 -4
  763. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +0 -74
  764. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +0 -4
  765. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +0 -424
  766. package/vscode-dts/vscode.proposed.testCoverage.d.ts +0 -222
  767. /package/vscode/src/vs/base/browser/ui/hover/{hover.css.js → hoverWidget.css.js} +0 -0
  768. /package/vscode/src/vs/editor/browser/{widget/hoverWidget → services/hoverService}/hover.css.js +0 -0
  769. /package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/objectPool.js +0 -0
  770. /package/vscode/src/vs/editor/contrib/indentation/{browser → common}/indentUtils.js +0 -0
  771. /package/vscode/src/vs/editor/contrib/rename/browser/{renameInputField.css.js → renameWidget.css.js} +0 -0
  772. /package/vscode/src/vs/platform/theme/common/{colorRegistry.d.ts → colorUtils.d.ts} +0 -0
@@ -26,7 +26,17 @@ import { IFileService } from '../../../../../../platform/files/common/files.js';
26
26
  import { IOpenerService } from '../../../../../../platform/opener/common/opener.js';
27
27
  import { IStorageService } from '../../../../../../platform/storage/common/storage.js';
28
28
  import { ITelemetryService } from '../../../../../../platform/telemetry/common/telemetry.js';
29
- import { editorFindMatch, editorFindMatchHighlight } from '../../../../../../platform/theme/common/colorRegistry.js';
29
+ import '../../../../../../platform/theme/common/colorUtils.js';
30
+ import '../../../../../../platform/theme/common/colors/baseColors.js';
31
+ import '../../../../../../platform/theme/common/colors/chartsColors.js';
32
+ import { editorFindMatch, editorFindMatchHighlight } from '../../../../../../platform/theme/common/colors/editorColors.js';
33
+ import '../../../../../../platform/theme/common/colors/inputColors.js';
34
+ import '../../../../../../platform/theme/common/colors/listColors.js';
35
+ import '../../../../../../platform/theme/common/colors/menuColors.js';
36
+ import '../../../../../../platform/theme/common/colors/minimapColors.js';
37
+ import '../../../../../../platform/theme/common/colors/miscColors.js';
38
+ import '../../../../../../platform/theme/common/colors/quickpickColors.js';
39
+ import '../../../../../../platform/theme/common/colors/searchColors.js';
30
40
  import { Themable, IThemeService } from '../../../../../../platform/theme/common/themeService.js';
31
41
  import { IWorkspaceContextService } from '../../../../../../platform/workspace/common/workspace.js';
32
42
  import { IWorkspaceTrustManagementService } from '../../../../../../platform/workspace/common/workspaceTrust.js';
@@ -288,6 +298,14 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
288
298
  background-color: var(--theme-notebook-symbol-highlight-background);
289
299
  }
290
300
 
301
+ #container .nb-symbolHighlight .output_container .output {
302
+ background-color: var(--theme-notebook-symbol-highlight-background);
303
+ }
304
+
305
+ #container .nb-chatGenerationHighlight .output_container .output {
306
+ background-color: var(--vscode-notebook-selectedCellBackground);
307
+ }
308
+
291
309
  #container > div.nb-cellDeleted .output_container {
292
310
  background-color: var(--theme-notebook-diff-removed-background);
293
311
  }
@@ -402,10 +420,10 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
402
420
  isResolved() {
403
421
  return !!this.webview;
404
422
  }
405
- createWebview(codeWindow) {
423
+ createWebview(targetWindow) {
406
424
  const baseUrl = this.asWebviewUri(this.getNotebookBaseUri(), undefined);
407
425
  const htmlContent = this.generateContent(( baseUrl.toString()));
408
- return this._initialize(htmlContent, codeWindow);
426
+ return this._initialize(htmlContent, targetWindow);
409
427
  }
410
428
  getNotebookBaseUri() {
411
429
  if (this.documentUri.scheme === Schemas.untitled) {
@@ -431,14 +449,14 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
431
449
  dirname(( FileAccess.asFileUri('vs/loader.js'))),
432
450
  ];
433
451
  }
434
- _initialize(content, codeWindow) {
452
+ _initialize(content, targetWindow) {
435
453
  if (!getWindow(this.element).document.body.contains(this.element)) {
436
454
  throw new Error('Element is already detached from the DOM tree');
437
455
  }
438
- this.webview = this._createInset(this.webviewService, content, codeWindow);
439
- this.webview.mountTo(this.element);
456
+ this.webview = this._createInset(this.webviewService, content);
457
+ this.webview.mountTo(this.element, targetWindow);
440
458
  this._register(this.webview);
441
- this._register(( new WebviewWindowDragMonitor(() => this.webview)));
459
+ this._register(( new WebviewWindowDragMonitor(targetWindow, () => this.webview)));
442
460
  const initializePromise = ( new DeferredPromise());
443
461
  this._register(this.webview.onFatalError(e => {
444
462
  initializePromise.error(( new Error(`Could not initialize webview: ${e.message}}`)));
@@ -543,6 +561,7 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
543
561
  const latestCell = this.notebookEditor.getCellByInfo(resolvedResult.cellInfo);
544
562
  if (latestCell) {
545
563
  latestCell.outputIsFocused = false;
564
+ latestCell.inputInOutputIsFocused = false;
546
565
  }
547
566
  }
548
567
  break;
@@ -752,6 +771,13 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
752
771
  break;
753
772
  }
754
773
  case 'outputInputFocus': {
774
+ const resolvedResult = this.resolveOutputId(data.id);
775
+ if (resolvedResult) {
776
+ const latestCell = this.notebookEditor.getCellByInfo(resolvedResult.cellInfo);
777
+ if (latestCell) {
778
+ latestCell.inputInOutputIsFocused = data.inputFocused;
779
+ }
780
+ }
755
781
  this.notebookEditor.didFocusOutputInputChange(data.inputFocused);
756
782
  }
757
783
  }
@@ -937,7 +963,7 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
937
963
  await this.fileService.writeFile(newFileUri, buff);
938
964
  await this.openerService.open(newFileUri);
939
965
  }
940
- _createInset(webviewService, content, codeWindow) {
966
+ _createInset(webviewService, content) {
941
967
  this.localResourceRootsCache = this._getResourceRootsCache();
942
968
  const webview = webviewService.createWebviewElement({
943
969
  origin: BackLayerWebView_1.getOriginStore(this.storageService).getOrigin(this.notebookViewType, undefined),
@@ -957,8 +983,7 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
957
983
  localResourceRoots: this.localResourceRootsCache,
958
984
  },
959
985
  extension: undefined,
960
- providedViewType: 'notebook.output',
961
- codeWindow: codeWindow
986
+ providedViewType: 'notebook.output'
962
987
  });
963
988
  webview.setHtml(content);
964
989
  webview.setContextKeyService(this.contextKeyService);
@@ -1398,6 +1423,28 @@ let BackLayerWebView = class BackLayerWebView extends Themable {
1398
1423
  }
1399
1424
  this.webview?.focus();
1400
1425
  }
1426
+ selectOutputContents(cell) {
1427
+ if (this._disposed) {
1428
+ return;
1429
+ }
1430
+ const output = cell.outputsViewModels.find(o => o.model.outputId === cell.focusedOutputId);
1431
+ const outputId = output ? this.insetMapping.get(output)?.outputId : undefined;
1432
+ this._sendMessageToWebview({
1433
+ type: 'select-output-contents',
1434
+ cellOrOutputId: outputId || cell.id
1435
+ });
1436
+ }
1437
+ selectInputContents(cell) {
1438
+ if (this._disposed) {
1439
+ return;
1440
+ }
1441
+ const output = cell.outputsViewModels.find(o => o.model.outputId === cell.focusedOutputId);
1442
+ const outputId = output ? this.insetMapping.get(output)?.outputId : undefined;
1443
+ this._sendMessageToWebview({
1444
+ type: 'select-input-contents',
1445
+ cellOrOutputId: outputId || cell.id
1446
+ });
1447
+ }
1401
1448
  focusOutput(cellOrOutputId, alternateId, viewFocused) {
1402
1449
  if (this._disposed) {
1403
1450
  return;
@@ -3,7 +3,7 @@ import { PixelRatio } from '../../../../../../base/browser/pixelRatio.js';
3
3
  import { append, $ as $$1, getWindow } from '../../../../../../base/browser/dom.js';
4
4
  import { FastDomNode } from '../../../../../../base/browser/fastDomNode.js';
5
5
  import { DisposableStore, Disposable } from '../../../../../../base/common/lifecycle.js';
6
- import { CodeEditorWidget } from '../../../../../../editor/browser/widget/codeEditorWidget.js';
6
+ import { CodeEditorWidget } from '../../../../../../editor/browser/widget/codeEditor/codeEditorWidget.js';
7
7
  import { BareFontInfo } from '../../../../../../editor/common/config/fontInfo.js';
8
8
  import { EditorContextKeys } from '../../../../../../editor/common/editorContextKeys.js';
9
9
  import { PLAINTEXT_LANGUAGE_ID } from '../../../../../../editor/common/languages/modesRegistry.js';
@@ -37,6 +37,7 @@ import { CollapsedCellOutput } from '../cellParts/collapsedCellOutput.js';
37
37
  import { FoldedCellHint } from '../cellParts/foldedCellHint.js';
38
38
  import { MarkupCell } from '../cellParts/markupCell.js';
39
39
  import { CellKind } from '../../../common/notebookCommon.js';
40
+ import { INotebookExecutionStateService } from '../../../common/notebookExecutionStateService.js';
40
41
  var MarkupCellRenderer_1, CodeCellRenderer_1;
41
42
  const $ = $$1;
42
43
  let NotebookCellListDelegate = class NotebookCellListDelegate extends Disposable {
@@ -88,9 +89,10 @@ class AbstractCellRenderer {
88
89
  let MarkupCellRenderer = class MarkupCellRenderer extends AbstractCellRenderer {
89
90
  static { MarkupCellRenderer_1 = this; }
90
91
  static { this.TEMPLATE_ID = 'markdown_cell'; }
91
- constructor(notebookEditor, dndController, renderedEditors, contextKeyServiceProvider, configurationService, instantiationService, contextMenuService, menuService, keybindingService, notificationService) {
92
+ constructor(notebookEditor, dndController, renderedEditors, contextKeyServiceProvider, configurationService, instantiationService, contextMenuService, menuService, keybindingService, notificationService, notebookExecutionStateService) {
92
93
  super(instantiationService, notebookEditor, contextMenuService, menuService, configurationService, keybindingService, notificationService, contextKeyServiceProvider, 'markdown', dndController);
93
94
  this.renderedEditors = renderedEditors;
95
+ this._notebookExecutionStateService = notebookExecutionStateService;
94
96
  }
95
97
  get templateId() {
96
98
  return MarkupCellRenderer_1.TEMPLATE_ID;
@@ -139,7 +141,11 @@ let MarkupCellRenderer = class MarkupCellRenderer extends AbstractCellRenderer {
139
141
  focusIndicatorRight,
140
142
  focusIndicatorBottom
141
143
  ))),
142
- templateDisposables.add(( new FoldedCellHint(this.notebookEditor, append(container, $('.notebook-folded-hint'))))),
144
+ templateDisposables.add(( new FoldedCellHint(
145
+ this.notebookEditor,
146
+ append(container, $('.notebook-folded-hint')),
147
+ this._notebookExecutionStateService
148
+ ))),
143
149
  templateDisposables.add(( new CellDecorations(rootContainer, decorationContainer))),
144
150
  templateDisposables.add(scopedInstaService.createInstance(CellComments, this.notebookEditor, cellCommentPartContainer)),
145
151
  templateDisposables.add(( new CollapsedCellInput(this.notebookEditor, cellInputCollapsedContainer))),
@@ -194,7 +200,8 @@ MarkupCellRenderer = MarkupCellRenderer_1 = ( __decorate([
194
200
  ( __param(6, IContextMenuService)),
195
201
  ( __param(7, IMenuService)),
196
202
  ( __param(8, IKeybindingService)),
197
- ( __param(9, INotificationService))
203
+ ( __param(9, INotificationService)),
204
+ ( __param(10, INotebookExecutionStateService))
198
205
  ], MarkupCellRenderer));
199
206
  let CodeCellRenderer = class CodeCellRenderer extends AbstractCellRenderer {
200
207
  static { CodeCellRenderer_1 = this; }
@@ -58,15 +58,41 @@ async function webviewPreloads(ctx) {
58
58
  }
59
59
  };
60
60
  };
61
- const checkOutputInputFocus = () => {
61
+ function getOutputContainer(event) {
62
+ for (const node of event.composedPath()) {
63
+ if (node instanceof HTMLElement && node.classList.contains('output')) {
64
+ return {
65
+ id: node.id
66
+ };
67
+ }
68
+ }
69
+ return;
70
+ }
71
+ let lastFocusedOutput = undefined;
72
+ const handleOutputFocusOut = (event) => {
73
+ const outputFocus = event && getOutputContainer(event);
74
+ if (!outputFocus) {
75
+ return;
76
+ }
77
+ lastFocusedOutput = undefined;
78
+ setTimeout(() => {
79
+ if (lastFocusedOutput?.id === outputFocus.id) {
80
+ return;
81
+ }
82
+ postNotebookMessage('outputBlur', outputFocus);
83
+ }, 0);
84
+ };
85
+ const checkOutputInputFocus = (e) => {
86
+ lastFocusedOutput = getOutputContainer(e);
62
87
  const activeElement = window.document.activeElement;
63
88
  if (!activeElement) {
64
89
  return;
65
90
  }
66
- if (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA') {
67
- postNotebookMessage('outputInputFocus', { inputFocused: true });
91
+ const id = lastFocusedOutput?.id;
92
+ if (id && (activeElement.tagName === 'INPUT' || activeElement.tagName === 'TEXTAREA')) {
93
+ postNotebookMessage('outputInputFocus', { inputFocused: true, id });
68
94
  activeElement.addEventListener('blur', () => {
69
- postNotebookMessage('outputInputFocus', { inputFocused: false });
95
+ postNotebookMessage('outputInputFocus', { inputFocused: false, id });
70
96
  }, { once: true });
71
97
  }
72
98
  };
@@ -74,15 +100,7 @@ async function webviewPreloads(ctx) {
74
100
  if (!event || !event.view || !event.view.document) {
75
101
  return;
76
102
  }
77
- let outputFocus = undefined;
78
- for (const node of event.composedPath()) {
79
- if (node instanceof HTMLElement && node.classList.contains('output')) {
80
- outputFocus = {
81
- id: node.id
82
- };
83
- break;
84
- }
85
- }
103
+ const outputFocus = lastFocusedOutput = getOutputContainer(event);
86
104
  for (const node of event.composedPath()) {
87
105
  if (node instanceof HTMLAnchorElement && node.href) {
88
106
  if (node.href.startsWith('blob:')) {
@@ -136,6 +154,74 @@ async function webviewPreloads(ctx) {
136
154
  postNotebookMessage('outputFocus', outputFocus);
137
155
  }
138
156
  };
157
+ const selectOutputContents = (cellOrOutputId) => {
158
+ const selection = window.getSelection();
159
+ if (!selection) {
160
+ return;
161
+ }
162
+ const cellOutputContainer = window.document.getElementById(cellOrOutputId);
163
+ if (!cellOutputContainer) {
164
+ return;
165
+ }
166
+ selection.removeAllRanges();
167
+ const range = document.createRange();
168
+ range.selectNode(cellOutputContainer);
169
+ selection.addRange(range);
170
+ };
171
+ const selectInputContents = (cellOrOutputId) => {
172
+ const cellOutputContainer = window.document.getElementById(cellOrOutputId);
173
+ if (!cellOutputContainer) {
174
+ return;
175
+ }
176
+ const activeElement = window.document.activeElement;
177
+ if (activeElement?.tagName === 'INPUT' || activeElement?.tagName === 'TEXTAREA') {
178
+ activeElement.select();
179
+ }
180
+ };
181
+ const onPageUpDownSelectionHandler = (e) => {
182
+ if (!lastFocusedOutput?.id || !e.shiftKey) {
183
+ return;
184
+ }
185
+ if (!(e.code === 'PageUp' || e.code === 'PageDown') && !(e.metaKey && (e.code === 'ArrowDown' || e.code === 'ArrowUp'))) {
186
+ return;
187
+ }
188
+ const outputContainer = window.document.getElementById(lastFocusedOutput.id);
189
+ const selection = window.getSelection();
190
+ if (!outputContainer || !selection?.anchorNode) {
191
+ return;
192
+ }
193
+ const activeElement = window.document.activeElement;
194
+ if (activeElement?.tagName === 'INPUT' || activeElement?.tagName === 'TEXTAREA') {
195
+ return;
196
+ }
197
+ e.stopPropagation();
198
+ e.preventDefault();
199
+ const { anchorNode, anchorOffset } = selection;
200
+ const range = document.createRange();
201
+ if (e.code === 'PageDown' || e.code === 'ArrowDown') {
202
+ range.setStart(anchorNode, anchorOffset);
203
+ range.setEnd(outputContainer, 1);
204
+ }
205
+ else {
206
+ range.setStart(outputContainer, 0);
207
+ range.setEnd(anchorNode, anchorOffset);
208
+ }
209
+ selection.removeAllRanges();
210
+ selection.addRange(range);
211
+ };
212
+ const disableNativeSelectAll = (e) => {
213
+ if (!lastFocusedOutput?.id) {
214
+ return;
215
+ }
216
+ const activeElement = window.document.activeElement;
217
+ if (activeElement?.tagName === 'INPUT' || activeElement?.tagName === 'TEXTAREA') {
218
+ return;
219
+ }
220
+ if ((e.key === 'a' && e.ctrlKey) || (e.metaKey && e.key === 'a')) {
221
+ e.preventDefault();
222
+ return;
223
+ }
224
+ };
139
225
  const handleDataUrl = async (data, downloadName) => {
140
226
  postNotebookMessage('clicked-data-url', {
141
227
  data,
@@ -158,6 +244,9 @@ async function webviewPreloads(ctx) {
158
244
  };
159
245
  window.document.body.addEventListener('click', handleInnerClick);
160
246
  window.document.body.addEventListener('focusin', checkOutputInputFocus);
247
+ window.document.body.addEventListener('focusout', handleOutputFocusOut);
248
+ window.document.body.addEventListener('keydown', onPageUpDownSelectionHandler);
249
+ window.document.body.addEventListener('keydown', disableNativeSelectAll);
161
250
  function createKernelContext() {
162
251
  return ( Object.freeze({
163
252
  onDidReceiveKernelMessage: onDidReceiveKernelMessage.event,
@@ -285,12 +374,51 @@ async function webviewPreloads(ctx) {
285
374
  }, 250);
286
375
  }
287
376
  });
288
- function scrollWillGoToParent(event) {
377
+ let previousDelta;
378
+ let scrollTimeout;
379
+ let scrolledElement;
380
+ let lastTimeScrolled;
381
+ function flagRecentlyScrolled(node, deltaY) {
382
+ scrolledElement = node;
383
+ if (deltaY === undefined) {
384
+ lastTimeScrolled = Date.now();
385
+ previousDelta = undefined;
386
+ node.setAttribute('recentlyScrolled', 'true');
387
+ clearTimeout(scrollTimeout);
388
+ scrollTimeout = setTimeout(() => { scrolledElement?.removeAttribute('recentlyScrolled'); }, 300);
389
+ return true;
390
+ }
391
+ if (node.hasAttribute('recentlyScrolled')) {
392
+ if (lastTimeScrolled && Date.now() - lastTimeScrolled > 300) {
393
+ if (!!previousDelta && deltaY < 0 && deltaY < previousDelta - 2) {
394
+ clearTimeout(scrollTimeout);
395
+ scrolledElement?.removeAttribute('recentlyScrolled');
396
+ return false;
397
+ }
398
+ else if (!!previousDelta && deltaY > 0 && deltaY > previousDelta + 2) {
399
+ clearTimeout(scrollTimeout);
400
+ scrolledElement?.removeAttribute('recentlyScrolled');
401
+ return false;
402
+ }
403
+ clearTimeout(scrollTimeout);
404
+ scrollTimeout = setTimeout(() => { scrolledElement?.removeAttribute('recentlyScrolled'); }, 50);
405
+ }
406
+ else {
407
+ clearTimeout(scrollTimeout);
408
+ scrollTimeout = setTimeout(() => { scrolledElement?.removeAttribute('recentlyScrolled'); }, 300);
409
+ }
410
+ previousDelta = deltaY;
411
+ return true;
412
+ }
413
+ return false;
414
+ }
415
+ function eventTargetShouldHandleScroll(event) {
289
416
  for (let node = event.target; node; node = node.parentNode) {
290
417
  if (!(node instanceof Element) || node.id === 'container' || node.classList.contains('cell_container') || node.classList.contains('markup') || node.classList.contains('output_container')) {
291
418
  return false;
292
419
  }
293
420
  if (event.deltaY < 0 && node.scrollTop > 0) {
421
+ flagRecentlyScrolled(node);
294
422
  return true;
295
423
  }
296
424
  if (event.deltaY > 0 && node.scrollTop + node.clientHeight < node.scrollHeight) {
@@ -300,13 +428,17 @@ async function webviewPreloads(ctx) {
300
428
  if (window.getComputedStyle(node).overflowY === 'hidden' || window.getComputedStyle(node).overflowY === 'visible') {
301
429
  continue;
302
430
  }
431
+ flagRecentlyScrolled(node);
432
+ return true;
433
+ }
434
+ if (flagRecentlyScrolled(node, event.deltaY)) {
303
435
  return true;
304
436
  }
305
437
  }
306
438
  return false;
307
439
  }
308
440
  const handleWheel = (event) => {
309
- if (event.defaultPrevented || scrollWillGoToParent(event)) {
441
+ if (event.defaultPrevented || eventTargetShouldHandleScroll(event)) {
310
442
  return;
311
443
  }
312
444
  postNotebookMessage('did-scroll-wheel', {
@@ -331,11 +463,19 @@ async function webviewPreloads(ctx) {
331
463
  if (cellOutputContainer.contains(window.document.activeElement)) {
332
464
  return;
333
465
  }
466
+ const id = cellOutputContainer.id;
334
467
  let focusableElement = cellOutputContainer.querySelector('[tabindex="0"], [href], button, input, option, select, textarea');
335
468
  if (!focusableElement) {
336
469
  focusableElement = cellOutputContainer;
337
470
  focusableElement.tabIndex = -1;
471
+ postNotebookMessage('outputInputFocus', { inputFocused: false, id });
338
472
  }
473
+ else {
474
+ const inputFocused = focusableElement.tagName === 'INPUT' || focusableElement.tagName === 'TEXTAREA';
475
+ postNotebookMessage('outputInputFocus', { inputFocused, id });
476
+ }
477
+ lastFocusedOutput = cellOutputContainer;
478
+ postNotebookMessage('outputFocus', { id: cellOutputContainer.id });
339
479
  focusableElement.focus();
340
480
  }
341
481
  }
@@ -1128,6 +1268,12 @@ async function webviewPreloads(ctx) {
1128
1268
  case 'focus-output':
1129
1269
  focusFirstFocusableOrContainerInOutput(event.data.cellOrOutputId, event.data.alternateId);
1130
1270
  break;
1271
+ case 'select-output-contents':
1272
+ selectOutputContents(event.data.cellOrOutputId);
1273
+ break;
1274
+ case 'select-input-contents':
1275
+ selectInputContents(event.data.cellOrOutputId);
1276
+ break;
1131
1277
  case 'decorations': {
1132
1278
  let outputContainer = window.document.getElementById(event.data.cellId);
1133
1279
  if (!outputContainer) {
@@ -1,5 +1,5 @@
1
1
  import { Emitter } from '../../../../../base/common/event.js';
2
- import { Disposable, dispose } from '../../../../../base/common/lifecycle.js';
2
+ import { Disposable, MutableDisposable, dispose } from '../../../../../base/common/lifecycle.js';
3
3
  import { Mimes } from '../../../../../base/common/mime.js';
4
4
  import { Range } from '../../../../../editor/common/core/range.js';
5
5
  import { Selection } from '../../../../../editor/common/core/selection.js';
@@ -106,6 +106,7 @@ class BaseCellViewModel extends Disposable {
106
106
  this._editorViewStates = null;
107
107
  this._editorTransientState = null;
108
108
  this._resolvedCellDecorations = ( new Map());
109
+ this._textModelRefChangeDisposable = this._register(( new MutableDisposable()));
109
110
  this._cellDecorationsChanged = this._register(( new Emitter()));
110
111
  this.onCellDecorationsChanged = this._cellDecorationsChanged.event;
111
112
  this._resolvedDecorations = ( new Map());
@@ -212,6 +213,7 @@ class BaseCellViewModel extends Disposable {
212
213
  this._textModelRef.dispose();
213
214
  this._textModelRef = undefined;
214
215
  }
216
+ this._textModelRefChangeDisposable.clear();
215
217
  }
216
218
  getText() {
217
219
  return this.model.getValue();
@@ -462,7 +464,7 @@ class BaseCellViewModel extends Disposable {
462
464
  if (!this._textModelRef) {
463
465
  throw new Error(`Cannot resolve text model for ${this.uri}`);
464
466
  }
465
- this._register(this.textModel.onDidChangeContent(() => this.onDidChangeTextModelContent()));
467
+ this._textModelRefChangeDisposable.value = this.textModel.onDidChangeContent(() => this.onDidChangeTextModelContent());
466
468
  }
467
469
  return this.textModel;
468
470
  }
@@ -12,8 +12,13 @@ import { CellOutputViewModel } from './cellOutputViewModel.js';
12
12
  import { CellKind } from '../../common/notebookCommon.js';
13
13
  import { INotebookService } from '../../common/notebookService.js';
14
14
  import { BaseCellViewModel } from './baseCellViewModel.js';
15
+ import { CellDiagnostics } from '../contrib/cellDiagnostics/cellDiagnostics.js';
16
+ import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
15
17
  const outputDisplayLimit = 500;
16
18
  let CodeCellViewModel = class CodeCellViewModel extends BaseCellViewModel {
19
+ get cellDiagnostics() {
20
+ return this._cellDiagnostics;
21
+ }
17
22
  set editorHeight(height) {
18
23
  if (this._editorHeight === height) {
19
24
  return;
@@ -55,6 +60,12 @@ let CodeCellViewModel = class CodeCellViewModel extends BaseCellViewModel {
55
60
  this._focusOnOutput = v;
56
61
  this._onDidChangeState.fire({ outputIsFocusedChanged: true });
57
62
  }
63
+ get inputInOutputIsFocused() {
64
+ return this._focusInputInOutput;
65
+ }
66
+ set inputInOutputIsFocused(v) {
67
+ this._focusInputInOutput = v;
68
+ }
58
69
  get outputMinHeight() {
59
70
  return this._outputMinHeight;
60
71
  }
@@ -67,7 +78,7 @@ let CodeCellViewModel = class CodeCellViewModel extends BaseCellViewModel {
67
78
  get outputsViewModels() {
68
79
  return this._outputViewModels;
69
80
  }
70
- constructor(viewType, model, initialNotebookLayoutInfo, viewContext, configurationService, _notebookService, modelService, undoRedoService, codeEditorService) {
81
+ constructor(viewType, model, initialNotebookLayoutInfo, viewContext, configurationService, _notebookService, modelService, undoRedoService, codeEditorService, instantiationService) {
71
82
  super(viewType, model, generateUuid(), viewContext, configurationService, modelService, undoRedoService, codeEditorService);
72
83
  this.viewContext = viewContext;
73
84
  this._notebookService = _notebookService;
@@ -91,6 +102,7 @@ let CodeCellViewModel = class CodeCellViewModel extends BaseCellViewModel {
91
102
  this._commentHeight = 0;
92
103
  this._hoveringOutput = false;
93
104
  this._focusOnOutput = false;
105
+ this._focusInputInOutput = false;
94
106
  this._outputMinHeight = 0;
95
107
  this._hasFindResult = this._register(( new Emitter()));
96
108
  this.hasFindResult = this._hasFindResult.event;
@@ -111,9 +123,14 @@ let CodeCellViewModel = class CodeCellViewModel extends BaseCellViewModel {
111
123
  if (outputLayoutChange) {
112
124
  this.layoutChange({ outputHeight: true }, 'CodeCellViewModel#model.onDidChangeOutputs');
113
125
  }
126
+ if (this._outputCollection.length === 0) {
127
+ this._cellDiagnostics.clear();
128
+ }
114
129
  dispose(removedOutputs);
115
130
  }));
116
131
  this._outputCollection = ( new Array(this.model.outputs.length));
132
+ this._cellDiagnostics = instantiationService.createInstance(CellDiagnostics, this);
133
+ this._register(this._cellDiagnostics);
117
134
  this._layoutInfo = {
118
135
  fontInfo: initialNotebookLayoutInfo?.fontInfo || null,
119
136
  editorHeight: 0,
@@ -350,6 +367,7 @@ let CodeCellViewModel = class CodeCellViewModel extends BaseCellViewModel {
350
367
  this.updateEditState(CellEditState.Editing, 'onDidChangeTextModelContent');
351
368
  this._onDidChangeState.fire({ contentChanged: true });
352
369
  }
370
+ this._cellDiagnostics.clear();
353
371
  }
354
372
  onDeselect() {
355
373
  this.updateEditState(CellEditState.Preview, 'onDeselect');
@@ -430,6 +448,7 @@ CodeCellViewModel = ( __decorate([
430
448
  ( __param(5, INotebookService)),
431
449
  ( __param(6, ITextModelService)),
432
450
  ( __param(7, IUndoRedoService)),
433
- ( __param(8, ICodeEditorService))
451
+ ( __param(8, ICodeEditorService)),
452
+ ( __param(9, IInstantiationService))
434
453
  ], CodeCellViewModel));
435
454
  export { CodeCellViewModel, outputDisplayLimit };
@@ -249,7 +249,7 @@ function* getMarkdownHeadersInCell(cellContent) {
249
249
  if (token.type === 'heading') {
250
250
  yield {
251
251
  depth: token.depth,
252
- text: renderMarkdownAsPlaintext({ value: token.text }).trim()
252
+ text: renderMarkdownAsPlaintext({ value: token.raw }).trim()
253
253
  };
254
254
  }
255
255
  }
@@ -54,6 +54,11 @@ let MarkupCellViewModel = class MarkupCellViewModel extends BaseCellViewModel {
54
54
  set outputIsFocused(v) {
55
55
  this._focusOnOutput = v;
56
56
  }
57
+ get inputInOutputIsFocused() {
58
+ return false;
59
+ }
60
+ set inputInOutputIsFocused(_) {
61
+ }
57
62
  get cellIsHovered() {
58
63
  return this._hoveringCell;
59
64
  }
@@ -8,7 +8,7 @@ class NotebookOutlineEntryFactory {
8
8
  this.executionStateService = executionStateService;
9
9
  this.cellOutlineEntryCache = {};
10
10
  }
11
- getOutlineEntries(cell, index) {
11
+ getOutlineEntries(cell, target, index) {
12
12
  const entries = [];
13
13
  const isMarkdown = cell.cellKind === CellKind.Markup;
14
14
  let content = getCellFirstNonEmptyLine(cell);
@@ -33,9 +33,21 @@ class NotebookOutlineEntryFactory {
33
33
  }
34
34
  }
35
35
  if (!hasHeader) {
36
+ const exeState = !isMarkdown && this.executionStateService.getCellExecution(cell.uri);
37
+ let preview = content.trim();
36
38
  if (!isMarkdown && cell.model.textModel) {
37
39
  const cachedEntries = this.cellOutlineEntryCache[cell.model.textModel.id];
38
40
  if (cachedEntries) {
41
+ if (target === 1 ) {
42
+ entries.push(( new OutlineEntry(
43
+ index++,
44
+ 7,
45
+ cell,
46
+ preview,
47
+ !!exeState,
48
+ exeState ? exeState.isPaused : false
49
+ )));
50
+ }
39
51
  cachedEntries.forEach((cached) => {
40
52
  entries.push(( new OutlineEntry(
41
53
  index++,
@@ -50,9 +62,7 @@ class NotebookOutlineEntryFactory {
50
62
  });
51
63
  }
52
64
  }
53
- const exeState = !isMarkdown && this.executionStateService.getCellExecution(cell.uri);
54
65
  if (entries.length === 0) {
55
- let preview = content.trim();
56
66
  if (preview.length === 0) {
57
67
  preview = ( localizeWithPath(
58
68
  'vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory',
@@ -75,7 +85,7 @@ class NotebookOutlineEntryFactory {
75
85
  async cacheSymbols(cell, outlineModelService, cancelToken) {
76
86
  const textModel = await cell.resolveTextModel();
77
87
  const outlineModel = await outlineModelService.getOrCreate(textModel, cancelToken);
78
- const entries = createOutlineEntries(outlineModel.getTopLevelSymbols(), 7);
88
+ const entries = createOutlineEntries(outlineModel.getTopLevelSymbols(), 8);
79
89
  this.cellOutlineEntryCache[textModel.id] = entries;
80
90
  }
81
91
  }
@@ -5,7 +5,7 @@ import { isEqual } from '../../../../../base/common/resources.js';
5
5
  import { IConfigurationService } from '../../../../../platform/configuration/common/configuration.js';
6
6
  import { IMarkerService } from '../../../../../platform/markers/common/markers.js';
7
7
  import { IThemeService } from '../../../../../platform/theme/common/themeService.js';
8
- import { CellKind } from '../../common/notebookCommon.js';
8
+ import { NotebookSetting, CellKind } from '../../common/notebookCommon.js';
9
9
  import { NotebookExecutionType, INotebookExecutionStateService } from '../../common/notebookExecutionStateService.js';
10
10
  import { IOutlineModelService } from '../../../../../editor/contrib/documentSymbols/browser/outlineModel.js';
11
11
  import { NotebookOutlineEntryFactory } from './notebookOutlineEntryFactory.js';
@@ -33,7 +33,10 @@ let NotebookCellOutlineProvider = class NotebookCellOutlineProvider {
33
33
  this._dispoables.add(selectionListener);
34
34
  selectionListener.value = combinedDisposable(Event.debounce(_editor.onDidChangeSelection, (last, _current) => last, 200)(this._recomputeActive, this), Event.debounce(_editor.onDidChangeViewCells, (last, _current) => last ?? _current, 200)(this._recomputeState, this));
35
35
  this._dispoables.add(_configurationService.onDidChangeConfiguration(e => {
36
- if (e.affectsConfiguration('notebook.outline.showCodeCells')) {
36
+ if (e.affectsConfiguration(NotebookSetting.outlineShowMarkdownHeadersOnly) ||
37
+ e.affectsConfiguration(NotebookSetting.outlineShowCodeCells) ||
38
+ e.affectsConfiguration(NotebookSetting.outlineShowCodeCellSymbols) ||
39
+ e.affectsConfiguration(NotebookSetting.breadcrumbsShowCodeCells)) {
37
40
  this._recomputeState();
38
41
  }
39
42
  }));
@@ -82,16 +85,19 @@ let NotebookCellOutlineProvider = class NotebookCellOutlineProvider {
82
85
  return;
83
86
  }
84
87
  let includeCodeCells = true;
85
- if (this._target === 1 ) {
86
- includeCodeCells = this._configurationService.getValue('notebook.outline.showCodeCells');
87
- }
88
- else if (this._target === 2 ) {
88
+ if (this._target === 2 ) {
89
89
  includeCodeCells = this._configurationService.getValue('notebook.breadcrumbs.showCodeCells');
90
90
  }
91
- const notebookCells = notebookEditorWidget.getViewModel().viewCells.filter((cell) => cell.cellKind === CellKind.Markup || includeCodeCells);
91
+ let notebookCells;
92
+ if (this._target === 2 ) {
93
+ notebookCells = notebookEditorWidget.getViewModel().viewCells.filter((cell) => cell.cellKind === CellKind.Markup || includeCodeCells);
94
+ }
95
+ else {
96
+ notebookCells = notebookEditorWidget.getViewModel().viewCells;
97
+ }
92
98
  const entries = [];
93
99
  for (const cell of notebookCells) {
94
- entries.push(...this._outlineEntryFactory.getOutlineEntries(cell, entries.length));
100
+ entries.push(...this._outlineEntryFactory.getOutlineEntries(cell, this._target, entries.length));
95
101
  this._entriesDisposables.add(cell.model.onDidChangeContent(() => {
96
102
  this._recomputeState();
97
103
  this._onDidChange.fire({});