@codingame/monaco-vscode-api 5.3.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (998) hide show
  1. package/api.js +1 -1
  2. package/extensions.d.ts +4 -4
  3. package/localExtensionHost.js +2 -1
  4. package/missing-services.js +70 -28
  5. package/package.json +8 -8
  6. package/service-override/dialogs.d.ts +1 -8
  7. package/service-override/files.d.ts +0 -1
  8. package/service-override/search.d.ts +1 -8
  9. package/service-override/tools/editor.js +11 -2
  10. package/services.js +2 -2
  11. package/vscode/src/vs/base/browser/canIUse.js +10 -4
  12. package/vscode/src/vs/base/browser/deviceAccess.js +60 -0
  13. package/vscode/src/vs/base/browser/dom.js +25 -9
  14. package/vscode/src/vs/base/browser/formattedTextRenderer.js +36 -24
  15. package/vscode/src/vs/base/browser/keyboardEvent.js +24 -24
  16. package/vscode/src/vs/base/browser/markdownRenderer.js +130 -30
  17. package/vscode/src/vs/base/browser/performance.js +24 -18
  18. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +22 -16
  19. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +3 -2
  20. package/vscode/src/vs/base/browser/ui/button/button.js +19 -7
  21. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +43 -17
  23. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +7 -6
  24. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +4 -2
  25. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +3 -2
  26. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +5 -4
  27. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +5 -4
  28. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +5 -0
  29. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +1 -0
  30. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  31. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +10 -6
  32. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +16 -1
  33. package/vscode/src/vs/base/browser/ui/iconLabel/iconlabel.css.js +1 -1
  34. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +2 -1
  35. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +17 -9
  36. package/vscode/src/vs/base/browser/ui/list/list.js +12 -1
  37. package/vscode/src/vs/base/browser/ui/list/listView.js +19 -11
  38. package/vscode/src/vs/base/browser/ui/list/listWidget.js +17 -16
  39. package/vscode/src/vs/base/browser/ui/menu/menu.js +17 -15
  40. package/vscode/src/vs/base/browser/ui/menu/menubar.js +14 -14
  41. package/vscode/src/vs/base/browser/ui/resizable/resizable.js +9 -9
  42. package/vscode/src/vs/base/browser/ui/sash/sash.js +30 -18
  43. package/vscode/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +5 -4
  44. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +3 -3
  45. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +3 -2
  46. package/vscode/src/vs/base/browser/ui/scrollbar/verticalScrollbar.js +3 -2
  47. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +3 -0
  48. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +25 -20
  49. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxNative.js +6 -2
  50. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +26 -24
  51. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +33 -27
  52. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +5 -3
  53. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +4 -2
  54. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -2
  55. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +30 -24
  56. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +7 -7
  57. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +15 -15
  58. package/vscode/src/vs/base/browser/ui/tree/tree.js +13 -1
  59. package/vscode/src/vs/base/common/actions.js +1 -1
  60. package/vscode/src/vs/base/common/arrays.js +2 -5
  61. package/vscode/src/vs/base/common/assert.js +7 -2
  62. package/vscode/src/vs/base/common/async.js +38 -14
  63. package/vscode/src/vs/base/common/charCode.js +296 -0
  64. package/vscode/src/vs/base/common/codicons.d.ts +1 -0
  65. package/vscode/src/vs/base/common/codiconsLibrary.js +1 -0
  66. package/vscode/src/vs/base/common/color.js +24 -23
  67. package/vscode/src/vs/base/common/diff/diff.js +15 -10
  68. package/vscode/src/vs/base/common/event.js +83 -26
  69. package/vscode/src/vs/base/common/extpath.js +10 -9
  70. package/vscode/src/vs/base/common/filters.js +40 -32
  71. package/vscode/src/vs/base/common/fuzzyScorer.js +10 -9
  72. package/vscode/src/vs/base/common/glob.js +2 -1
  73. package/vscode/src/vs/base/common/hash.js +15 -10
  74. package/vscode/src/vs/base/common/htmlContent.js +8 -3
  75. package/vscode/src/vs/base/common/json.js +323 -149
  76. package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -9
  77. package/vscode/src/vs/base/common/jsonFormatter.js +30 -30
  78. package/vscode/src/vs/base/common/keyCodes.js +591 -249
  79. package/vscode/src/vs/base/common/keybindingLabels.js +4 -3
  80. package/vscode/src/vs/base/common/keybindings.js +30 -17
  81. package/vscode/src/vs/base/common/labels.js +10 -10
  82. package/vscode/src/vs/base/common/lifecycle.js +5 -0
  83. package/vscode/src/vs/base/common/map.js +20 -14
  84. package/vscode/src/vs/base/common/marshalling.js +5 -4
  85. package/vscode/src/vs/base/common/marshallingIds.js +22 -0
  86. package/vscode/src/vs/base/common/naturalLanguage/korean.js +213 -129
  87. package/vscode/src/vs/base/common/network.js +3 -2
  88. package/vscode/src/vs/base/common/objects.js +8 -1
  89. package/vscode/src/vs/base/common/observableInternal/autorun.js +19 -13
  90. package/vscode/src/vs/base/common/observableInternal/base.js +1 -1
  91. package/vscode/src/vs/base/common/observableInternal/derived.js +35 -19
  92. package/vscode/src/vs/base/common/observableInternal/utils.js +9 -1
  93. package/vscode/src/vs/base/common/platform.js +26 -10
  94. package/vscode/src/vs/base/common/prefixTree.js +3 -0
  95. package/vscode/src/vs/base/common/processes.js +32 -0
  96. package/vscode/src/vs/base/common/resources.js +4 -3
  97. package/vscode/src/vs/base/common/scrollable.js +7 -1
  98. package/vscode/src/vs/base/common/strings.d.ts +9 -0
  99. package/vscode/src/vs/base/common/strings.js +94 -47
  100. package/vscode/src/vs/base/common/ternarySearchTree.js +54 -39
  101. package/vscode/src/vs/base/common/uint.js +14 -5
  102. package/vscode/src/vs/base/common/uri.js +41 -39
  103. package/vscode/src/vs/base/common/uriIpc.js +2 -1
  104. package/vscode/src/vs/base/common/worker/simpleWorker.js +20 -12
  105. package/vscode/src/vs/base/parts/ipc/common/ipc.js +77 -55
  106. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +108 -51
  107. package/vscode/src/vs/base/parts/storage/common/storage.js +3 -1
  108. package/vscode/src/vs/editor/browser/config/charWidthReader.js +10 -4
  109. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +4 -3
  110. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +21 -21
  111. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +28 -25
  112. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +68 -50
  113. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +5 -3
  114. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +49 -44
  115. package/vscode/src/vs/editor/browser/controller/textAreaInput.js +8 -6
  116. package/vscode/src/vs/editor/browser/controller/textAreaState.js +8 -7
  117. package/vscode/src/vs/editor/browser/coreCommands.js +215 -198
  118. package/vscode/src/vs/editor/browser/editorBrowser.js +30 -1
  119. package/vscode/src/vs/editor/browser/editorExtensions.js +19 -10
  120. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +28 -18
  121. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +2 -1
  122. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -10
  123. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +70 -62
  124. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +5 -3
  125. package/vscode/src/vs/editor/browser/services/markerDecorations.js +2 -2
  126. package/vscode/src/vs/editor/browser/stableEditorScroll.js +4 -3
  127. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +27 -21
  128. package/vscode/src/vs/editor/browser/view/viewController.js +5 -4
  129. package/vscode/src/vs/editor/browser/view/viewLayer.js +2 -1
  130. package/vscode/src/vs/editor/browser/view/viewOverlays.js +9 -8
  131. package/vscode/src/vs/editor/browser/view/viewPart.js +15 -2
  132. package/vscode/src/vs/editor/browser/view/viewUserInputEvents.js +2 -1
  133. package/vscode/src/vs/editor/browser/view.js +9 -8
  134. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +2 -1
  135. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +47 -20
  136. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +7 -6
  137. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +3 -2
  138. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +19 -17
  139. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +16 -10
  140. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +7 -6
  141. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +9 -8
  142. package/vscode/src/vs/editor/browser/viewParts/lines/rangeUtil.js +4 -3
  143. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +29 -24
  144. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +35 -31
  145. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +3 -2
  146. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +5 -4
  147. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +39 -29
  148. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRenderer.js +9 -9
  149. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRendererFactory.js +22 -22
  150. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharSheet.js +20 -7
  151. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +41 -20
  152. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +37 -19
  153. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +7 -6
  154. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +5 -4
  155. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +4 -3
  156. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +33 -26
  157. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +9 -9
  158. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +22 -21
  159. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +6 -5
  160. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +18 -16
  161. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorContributions.js +12 -11
  162. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +195 -149
  163. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +7 -5
  164. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +24 -23
  165. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +47 -35
  166. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +15 -12
  167. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +9 -6
  168. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +10 -10
  169. package/vscode/src/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js +19 -18
  170. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +7 -6
  171. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +9 -3
  172. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +26 -9
  173. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +2 -2
  174. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +29 -12
  175. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +13 -10
  176. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +2 -1
  177. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  178. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +4 -7
  179. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js +2 -1
  180. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +49 -39
  181. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css.js +1 -1
  182. package/vscode/src/vs/editor/common/commands/replaceCommand.js +2 -2
  183. package/vscode/src/vs/editor/common/commands/shiftCommand.js +6 -5
  184. package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +2 -1
  185. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +2 -2
  186. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +4 -0
  187. package/vscode/src/vs/editor/common/config/editorOptions.js +719 -559
  188. package/vscode/src/vs/editor/common/config/fontInfo.js +8 -8
  189. package/vscode/src/vs/editor/common/core/characterClassifier.js +8 -3
  190. package/vscode/src/vs/editor/common/core/cursorColumns.js +3 -2
  191. package/vscode/src/vs/editor/common/core/eolCounter.js +16 -8
  192. package/vscode/src/vs/editor/common/core/lineRange.d.ts +0 -9
  193. package/vscode/src/vs/editor/common/core/lineRange.js +0 -28
  194. package/vscode/src/vs/editor/common/core/selection.js +12 -7
  195. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +12 -5
  196. package/vscode/src/vs/editor/common/cursor/cursor.js +34 -31
  197. package/vscode/src/vs/editor/common/cursor/cursorAtomicMoveOperations.js +17 -10
  198. package/vscode/src/vs/editor/common/cursor/cursorColumnSelection.js +3 -3
  199. package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.js +4 -4
  200. package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +52 -50
  201. package/vscode/src/vs/editor/common/cursor/cursorMoveOperations.js +14 -12
  202. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +35 -33
  203. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +79 -65
  204. package/vscode/src/vs/editor/common/cursor/oneCursor.js +7 -6
  205. package/vscode/src/vs/editor/common/cursorCommon.js +54 -38
  206. package/vscode/src/vs/editor/common/cursorEvents.js +11 -0
  207. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +1 -1
  208. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.js +2 -1
  209. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +43 -30
  210. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/utils.js +2 -1
  211. package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.js +5 -4
  212. package/vscode/src/vs/editor/common/editorCommon.js +16 -1
  213. package/vscode/src/vs/editor/common/encodedTokenAttributes.js +71 -19
  214. package/vscode/src/vs/editor/common/languages/autoIndent.js +83 -89
  215. package/vscode/src/vs/editor/common/languages/enterAction.js +10 -20
  216. package/vscode/src/vs/editor/common/languages/languageConfiguration.js +9 -7
  217. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +3 -10
  218. package/vscode/src/vs/editor/common/languages/linkComputer.js +94 -69
  219. package/vscode/src/vs/editor/common/languages/nullTokenize.js +6 -5
  220. package/vscode/src/vs/editor/common/languages/supports/indentRules.js +12 -5
  221. package/vscode/src/vs/editor/common/languages/supports/indentationLineProcessor.js +150 -0
  222. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.d.ts +2 -0
  223. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.js +5 -0
  224. package/vscode/src/vs/editor/common/languages/supports/onEnter.js +4 -3
  225. package/vscode/src/vs/editor/common/languages/supports/richEditBrackets.js +3 -3
  226. package/vscode/src/vs/editor/common/languages/supports/tokenization.js +25 -24
  227. package/vscode/src/vs/editor/common/languages/supports.d.ts +5 -1
  228. package/vscode/src/vs/editor/common/languages/supports.js +13 -1
  229. package/vscode/src/vs/editor/common/languages/textToHtmlTokenizer.js +14 -12
  230. package/vscode/src/vs/editor/common/languages.d.ts +6 -15
  231. package/vscode/src/vs/editor/common/languages.js +204 -113
  232. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js +18 -10
  233. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +18 -16
  234. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js +4 -4
  235. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js +3 -3
  236. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js +8 -7
  237. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js +15 -33
  238. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js +5 -4
  239. package/vscode/src/vs/editor/common/model/editStack.js +6 -4
  240. package/vscode/src/vs/editor/common/model/indentationGuesser.js +7 -6
  241. package/vscode/src/vs/editor/common/model/intervalTree.js +119 -71
  242. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +17 -16
  243. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +11 -11
  244. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js +5 -3
  245. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js +46 -41
  246. package/vscode/src/vs/editor/common/model/textModel.js +35 -26
  247. package/vscode/src/vs/editor/common/model/textModelSearch.js +15 -14
  248. package/vscode/src/vs/editor/common/model/textModelTokens.js +8 -3
  249. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +8 -5
  250. package/vscode/src/vs/editor/common/model/utils.js +3 -2
  251. package/vscode/src/vs/editor/common/model.js +46 -1
  252. package/vscode/src/vs/editor/common/modelLineProjectionData.js +10 -10
  253. package/vscode/src/vs/editor/common/services/editorBaseApi.js +5 -5
  254. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +1 -1
  255. package/vscode/src/vs/editor/common/services/getIconClasses.js +6 -1
  256. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +2 -2
  257. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -2
  258. package/vscode/src/vs/editor/common/services/languagesRegistry.js +4 -3
  259. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +19 -18
  260. package/vscode/src/vs/editor/common/services/modelService.js +9 -8
  261. package/vscode/src/vs/editor/common/services/semanticTokensDto.js +8 -3
  262. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +27 -16
  263. package/vscode/src/vs/editor/common/services/semanticTokensStylingService.js +2 -2
  264. package/vscode/src/vs/editor/common/services/treeViewsDndService.js +2 -2
  265. package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.js +31 -18
  266. package/vscode/src/vs/editor/common/standaloneStrings.js +18 -39
  267. package/vscode/src/vs/editor/common/textModelEvents.js +14 -6
  268. package/vscode/src/vs/editor/common/tokenizationRegistry.js +3 -2
  269. package/vscode/src/vs/editor/common/tokenizationTextModelPart.js +6 -0
  270. package/vscode/src/vs/editor/common/tokens/contiguousTokensStore.js +7 -7
  271. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +12 -1
  272. package/vscode/src/vs/editor/common/tokens/lineTokens.js +64 -8
  273. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +5 -4
  274. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +7 -6
  275. package/vscode/src/vs/editor/common/viewEventHandler.js +19 -18
  276. package/vscode/src/vs/editor/common/viewEvents.js +50 -19
  277. package/vscode/src/vs/editor/common/viewLayout/lineDecorations.js +9 -6
  278. package/vscode/src/vs/editor/common/viewLayout/linePart.js +12 -3
  279. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +25 -23
  280. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +97 -72
  281. package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.js +3 -2
  282. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +2 -1
  283. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +30 -19
  284. package/vscode/src/vs/editor/common/viewModel/overviewZoneManager.js +5 -1
  285. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +11 -9
  286. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +42 -38
  287. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +15 -8
  288. package/vscode/src/vs/editor/common/viewModel.js +9 -2
  289. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +30 -14
  290. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +12 -10
  291. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +15 -12
  292. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +4 -2
  293. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +19 -16
  294. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -2
  295. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +21 -19
  296. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +6 -6
  297. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +14 -11
  298. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +2 -2
  299. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +4 -3
  300. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +19 -17
  301. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +21 -12
  302. package/vscode/src/vs/editor/contrib/codeAction/common/types.js +10 -4
  303. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +6 -6
  304. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +14 -13
  305. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +4 -2
  306. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +8 -5
  307. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +9 -8
  308. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +7 -4
  309. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +6 -4
  310. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +8 -5
  311. package/vscode/src/vs/editor/contrib/comment/browser/blockCommentCommand.js +5 -4
  312. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +18 -16
  313. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +20 -12
  314. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +23 -18
  315. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +6 -4
  316. package/vscode/src/vs/editor/contrib/dnd/browser/dnd.js +17 -12
  317. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +2 -2
  318. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +8 -6
  319. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +12 -9
  320. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +10 -8
  321. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +4 -3
  322. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +76 -34
  323. package/vscode/src/vs/editor/contrib/editorState/browser/editorState.js +16 -9
  324. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +6 -4
  325. package/vscode/src/vs/editor/contrib/find/browser/findController.js +95 -85
  326. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +10 -8
  327. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +31 -25
  328. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +2 -1
  329. package/vscode/src/vs/editor/contrib/find/browser/findState.js +17 -11
  330. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +58 -49
  331. package/vscode/src/vs/editor/contrib/find/browser/replacePattern.js +25 -19
  332. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +68 -64
  333. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +14 -13
  334. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.js +6 -6
  335. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.js +20 -14
  336. package/vscode/src/vs/editor/contrib/format/browser/format.js +31 -10
  337. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +18 -16
  338. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +17 -14
  339. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +8 -5
  340. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +2 -2
  341. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -38
  342. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +13 -3
  343. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +9 -7
  344. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +9 -7
  345. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +31 -28
  346. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +8 -4
  347. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +2 -6
  348. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +10 -8
  349. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +4 -2
  350. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +31 -12
  351. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +14 -10
  352. package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +1 -1
  353. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +247 -0
  354. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +7 -1
  355. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +38 -34
  356. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +7 -2
  357. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +46 -17
  358. package/vscode/src/vs/editor/contrib/hover/browser/hoverOperation.js +37 -18
  359. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +12 -7
  360. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverWidget.js +9 -7
  361. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +100 -60
  362. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +7 -4
  363. package/vscode/src/vs/editor/contrib/hover/browser/resizableContentWidget.js +6 -4
  364. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +10 -11
  365. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -6
  366. package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +25 -20
  367. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsContribution.js +2 -2
  368. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +26 -20
  369. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +4 -2
  370. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +3 -2
  371. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +9 -7
  372. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +0 -1
  373. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +19 -18
  374. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +9 -7
  375. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +5 -2
  376. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +55 -0
  377. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +10 -8
  378. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +26 -14
  379. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +8 -5
  380. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -1
  381. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +2 -1
  382. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +2 -2
  383. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +12 -10
  384. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +3 -2
  385. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +8 -6
  386. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +2 -2
  387. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +5 -4
  388. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +6 -3
  389. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +7 -4
  390. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +6 -3
  391. package/vscode/src/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js +2 -2
  392. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +35 -33
  393. package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +4 -2
  394. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +14 -10
  395. package/vscode/src/vs/editor/contrib/links/browser/links.js +13 -10
  396. package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +6 -4
  397. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +14 -9
  398. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +53 -51
  399. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +15 -13
  400. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +18 -16
  401. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +19 -6
  402. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +8 -7
  403. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +8 -6
  404. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +5 -3
  405. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +38 -34
  406. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +4 -3
  407. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +22 -20
  408. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +15 -11
  409. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +15 -12
  410. package/vscode/src/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js +2 -2
  411. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +14 -11
  412. package/vscode/src/vs/editor/contrib/smartSelect/browser/wordSelections.js +3 -2
  413. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +13 -10
  414. package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +100 -81
  415. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +10 -7
  416. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  417. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +7 -5
  418. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.js +2 -2
  419. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +19 -16
  420. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +2 -1
  421. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +3 -2
  422. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +14 -11
  423. package/vscode/src/vs/editor/contrib/suggest/browser/completionModel.js +18 -10
  424. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +24 -16
  425. package/vscode/src/vs/editor/contrib/suggest/browser/suggestCommitCharacters.js +4 -2
  426. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +83 -69
  427. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +6 -4
  428. package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.js +6 -6
  429. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +66 -57
  430. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +71 -59
  431. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +6 -5
  432. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +10 -9
  433. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +3 -2
  434. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +4 -2
  435. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +6 -4
  436. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +28 -25
  437. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +7 -6
  438. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +10 -10
  439. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +16 -12
  440. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +54 -50
  441. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +21 -19
  442. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +12 -9
  443. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +6 -4
  444. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +5 -3
  445. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditorService.js +5 -4
  446. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +2 -2
  447. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +50 -43
  448. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +5 -5
  449. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +3 -3
  450. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +58 -0
  451. package/vscode/src/vs/{workbench/contrib → platform}/accessibility/browser/accessibleView.service.js +1 -1
  452. package/vscode/src/vs/platform/accessibility/browser/accessibleViewRegistry.js +35 -0
  453. package/vscode/src/vs/platform/accessibility/common/accessibility.js +7 -1
  454. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +3 -0
  455. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +61 -51
  456. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.d.ts +1 -0
  457. package/vscode/src/vs/platform/action/common/action.d.ts +4 -0
  458. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +13 -8
  459. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +16 -14
  460. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +3 -2
  461. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +6 -4
  462. package/vscode/src/vs/platform/actions/browser/toolbar.js +10 -4
  463. package/vscode/src/vs/platform/actions/common/actions.contribution.js +1 -0
  464. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  465. package/vscode/src/vs/platform/actions/common/actions.js +14 -10
  466. package/vscode/src/vs/platform/actions/common/menuService.js +9 -8
  467. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +5 -5
  468. package/vscode/src/vs/platform/configuration/common/configuration.js +20 -9
  469. package/vscode/src/vs/platform/configuration/common/configurationModels.js +4 -3
  470. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +15 -15
  471. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +4 -2
  472. package/vscode/src/vs/platform/contextkey/common/contextkey.js +98 -78
  473. package/vscode/src/vs/platform/contextkey/common/scanner.js +94 -69
  474. package/vscode/src/vs/platform/contextview/browser/contextMenuHandler.js +2 -2
  475. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +6 -6
  476. package/vscode/src/vs/platform/diagnostics/common/diagnostics.js +4 -1
  477. package/vscode/src/vs/platform/editor/common/editor.js +14 -1
  478. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +9 -8
  479. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  480. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +106 -61
  481. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +5 -3
  482. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +13 -12
  483. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +16 -9
  484. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +26 -26
  485. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +6 -4
  486. package/vscode/src/vs/platform/extensions/common/extensions.js +22 -1
  487. package/vscode/src/vs/platform/externalServices/common/serviceMachineId.js +3 -2
  488. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +4 -4
  489. package/vscode/src/vs/platform/files/common/files.js +53 -25
  490. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +10 -10
  491. package/vscode/src/vs/platform/files/common/watcher.js +26 -10
  492. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +8 -7
  493. package/vscode/src/vs/platform/hover/browser/hover.js +5 -4
  494. package/vscode/src/vs/platform/instantiation/common/extensions.js +6 -1
  495. package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +5 -1
  496. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +16 -7
  497. package/vscode/src/vs/platform/issue/common/issue.service.js +3 -0
  498. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +7 -6
  499. package/vscode/src/vs/platform/keybinding/common/keybindingResolver.js +15 -9
  500. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +3 -0
  501. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.js +12 -4
  502. package/vscode/src/vs/platform/keybinding/common/resolvedKeybindingItem.js +2 -1
  503. package/vscode/src/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js +64 -63
  504. package/vscode/src/vs/platform/label/common/label.js +7 -0
  505. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +11 -0
  506. package/vscode/src/vs/platform/list/browser/listService.js +3 -2
  507. package/vscode/src/vs/platform/markers/common/markerService.js +1 -0
  508. package/vscode/src/vs/platform/markers/common/markers.js +6 -1
  509. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +19 -0
  510. package/vscode/src/vs/platform/opener/browser/link.js +2 -1
  511. package/vscode/src/vs/platform/product/common/product.js +1 -1
  512. package/vscode/src/vs/platform/progress/common/progress.js +10 -47
  513. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +7 -0
  514. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +9 -8
  515. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +81 -113
  516. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +145 -0
  517. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +3 -2
  518. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +39 -13
  519. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +1 -0
  520. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +63 -85
  521. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +2 -1
  522. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +3 -2
  523. package/vscode/src/vs/platform/quickinput/common/quickAccess.d.ts +16 -0
  524. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +76 -1
  525. package/vscode/src/vs/platform/quickinput/common/quickInput.js +19 -1
  526. package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +5 -1
  527. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +29 -15
  528. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.js +8 -3
  529. package/vscode/src/vs/platform/request/common/request.js +2 -2
  530. package/vscode/src/vs/platform/storage/common/storage.js +22 -22
  531. package/vscode/src/vs/platform/telemetry/common/telemetry.js +15 -1
  532. package/vscode/src/vs/platform/telemetry/common/telemetry.service.d.ts +1 -0
  533. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +12 -12
  534. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -0
  535. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.js +14 -0
  536. package/vscode/src/vs/platform/terminal/common/terminal.js +168 -6
  537. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -15
  538. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  539. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +66 -64
  540. package/vscode/src/vs/platform/tunnel/common/tunnel.js +3 -1
  541. package/vscode/src/vs/platform/undoRedo/common/undoRedo.js +6 -1
  542. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +29 -24
  543. package/vscode/src/vs/platform/update/common/update.js +37 -10
  544. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +3 -1
  545. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +12 -3
  546. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +56 -58
  547. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +75 -8
  548. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +6 -5
  549. package/vscode/src/vs/platform/userDataSync/common/userDataSyncStoreService.js +49 -48
  550. package/vscode/src/vs/platform/window/common/window.js +24 -7
  551. package/vscode/src/vs/platform/workspace/common/workspace.js +7 -1
  552. package/vscode/src/vs/platform/workspace/common/workspaceTrust.js +7 -0
  553. package/vscode/src/vs/workbench/api/browser/statusBarService.js +12 -6
  554. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +59 -40
  555. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +27 -27
  556. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +68 -3
  557. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +19 -0
  558. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +6 -6
  559. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +115 -45
  560. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +14 -9
  561. package/vscode/src/vs/workbench/api/common/extHostComments.js +14 -12
  562. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +10 -9
  563. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.js +13 -8
  564. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +5 -3
  565. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +19 -19
  566. package/vscode/src/vs/workbench/api/common/extHostEmbedding.js +64 -0
  567. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  568. package/vscode/src/vs/workbench/api/common/extHostFileSystem.js +17 -15
  569. package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +2 -2
  570. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +13 -12
  571. package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.js +2 -1
  572. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +79 -76
  573. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +121 -87
  574. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +24 -8
  575. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +1 -0
  576. package/vscode/src/vs/workbench/api/common/extHostSCM.js +34 -28
  577. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +38 -2
  578. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -2
  579. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +7 -5
  580. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +8 -6
  581. package/vscode/src/vs/workbench/api/common/extHostTestItem.js +7 -7
  582. package/vscode/src/vs/workbench/api/common/extHostTesting.js +140 -45
  583. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +2 -1
  584. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +259 -278
  585. package/vscode/src/vs/workbench/api/common/extHostTypes.js +83 -22
  586. package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.js +23 -22
  587. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -1
  588. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +2 -2
  589. package/vscode/src/vs/workbench/api/worker/extHost.worker.services.js +3 -3
  590. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +4 -4
  591. package/vscode/src/vs/workbench/browser/actions/developerActions.js +13 -10
  592. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +95 -100
  593. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +7 -6
  594. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +8 -7
  595. package/vscode/src/vs/workbench/browser/actions/windowActions.js +24 -23
  596. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +17 -16
  597. package/vscode/src/vs/workbench/browser/codeeditor.js +12 -9
  598. package/vscode/src/vs/workbench/browser/labels.js +3 -0
  599. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +11 -8
  600. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +29 -28
  601. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +34 -33
  602. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +4 -2
  603. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +37 -33
  604. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution._autosave.js +2 -2
  605. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +2 -0
  606. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +224 -219
  607. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +30 -27
  608. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +204 -161
  609. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +151 -80
  610. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +9 -5
  611. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +4 -3
  612. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +3 -3
  613. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -3
  614. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +7 -6
  615. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +28 -22
  616. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +12 -10
  617. package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +3 -0
  618. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +19 -17
  619. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +1 -1
  620. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  621. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +218 -76
  622. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +4 -0
  623. package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +1 -0
  624. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +16 -15
  625. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +10 -11
  626. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -1
  627. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +7 -5
  628. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +12 -10
  629. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +7 -4
  630. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +13 -9
  631. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -2
  632. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +10 -8
  633. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +33 -33
  634. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +8 -6
  635. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +12 -8
  636. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +12 -6
  637. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +1 -1
  638. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +32 -36
  639. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +1 -1
  640. package/vscode/src/vs/workbench/browser/parts/titlebar/media/menubarControl.css.js +1 -1
  641. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +22 -16
  642. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +21 -14
  643. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +8 -12
  644. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.d.ts +2 -0
  645. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +13 -6
  646. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +13 -9
  647. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +57 -46
  648. package/vscode/src/vs/workbench/browser/window.js +329 -0
  649. package/vscode/src/vs/workbench/browser/workbench.contribution.js +207 -199
  650. package/vscode/src/vs/workbench/common/configuration.js +94 -20
  651. package/vscode/src/vs/workbench/common/contextkeys.js +50 -40
  652. package/vscode/src/vs/workbench/common/contributions.js +23 -22
  653. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +16 -16
  654. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +125 -63
  655. package/vscode/src/vs/workbench/common/editor/editorInput.js +6 -6
  656. package/vscode/src/vs/workbench/common/editor/editorOptions.js +5 -4
  657. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +9 -6
  658. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +13 -12
  659. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +7 -7
  660. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +3 -2
  661. package/vscode/src/vs/workbench/common/editor.d.ts +13 -11
  662. package/vscode/src/vs/workbench/common/editor.js +49 -1
  663. package/vscode/src/vs/workbench/common/memento.js +10 -9
  664. package/vscode/src/vs/workbench/common/notifications.js +32 -11
  665. package/vscode/src/vs/workbench/common/theme.js +167 -137
  666. package/vscode/src/vs/workbench/common/views.js +5 -6
  667. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +477 -378
  668. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +87 -49
  669. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +19 -29
  670. package/vscode/src/vs/workbench/contrib/accessibility/common/accessibilityCommands.js +15 -0
  671. package/vscode/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.js +6 -1
  672. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +74 -48
  673. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +10 -8
  674. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +5 -3
  675. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +3 -2
  676. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +50 -43
  677. package/vscode/src/vs/workbench/contrib/chat/browser/chatConfirmationWidget.js +47 -0
  678. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -1
  679. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +8 -21
  680. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +101 -47
  681. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +276 -140
  682. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +120 -29
  683. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +65 -0
  684. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +51 -34
  685. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  686. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +55 -34
  687. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +20 -18
  688. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  689. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  690. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatConfirmationWidget.css.js +4 -0
  691. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +7 -7
  692. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +79 -23
  693. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +2 -1
  694. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +189 -103
  695. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +9 -10
  696. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +21 -5
  697. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
  698. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +19 -12
  699. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +8 -15
  700. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +11 -2
  701. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +170 -0
  702. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +2 -1
  703. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +2 -2
  704. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +20 -12
  705. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +77 -0
  706. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +9 -89
  707. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +2 -2
  708. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js +7 -5
  709. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +4 -7
  710. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +2 -2
  711. package/vscode/src/vs/workbench/contrib/codeEditor/browser/menuPreventer.js +5 -4
  712. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +10 -6
  713. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -12
  714. package/vscode/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +2 -1
  715. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +5 -3
  716. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +2 -1
  717. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +17 -14
  718. package/vscode/src/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js +2 -2
  719. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +2 -1
  720. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +2 -1
  721. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +14 -12
  722. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +23 -15
  723. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +2 -1
  724. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -2
  725. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -1
  726. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +12 -10
  727. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +11 -14
  728. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +49 -76
  729. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +50 -40
  730. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +15 -8
  731. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +4 -2
  732. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +8 -6
  733. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +9 -8
  734. package/vscode/src/vs/workbench/contrib/comments/common/commentCommandIds.js +15 -0
  735. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +2 -1
  736. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +14 -14
  737. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +3 -2
  738. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +19 -17
  739. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +33 -32
  740. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +25 -20
  741. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +4 -3
  742. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +62 -60
  743. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +40 -4
  744. package/vscode/src/vs/workbench/contrib/debug/common/debug.service.d.ts +2 -2
  745. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +4 -1
  746. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +15 -16
  747. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +2 -1
  748. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +118 -109
  749. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  750. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +24 -1
  751. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -1
  752. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +4 -2
  753. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +3 -2
  754. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +23 -16
  755. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +12 -9
  756. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +3 -2
  757. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +14 -12
  758. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +10 -2
  759. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +9 -7
  760. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +12 -9
  761. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +23 -22
  762. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +13 -11
  763. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +25 -25
  764. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +7 -7
  765. package/vscode/src/vs/workbench/contrib/files/browser/files.js +8 -1
  766. package/vscode/src/vs/workbench/contrib/files/browser/media/explorerviewlet.css.js +1 -1
  767. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -2
  768. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +16 -10
  769. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +55 -111
  770. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +42 -35
  771. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +2 -1
  772. package/vscode/src/vs/workbench/contrib/files/common/explorerFileNestingTrie.js +15 -8
  773. package/vscode/src/vs/workbench/contrib/files/common/explorerModel.js +5 -3
  774. package/vscode/src/vs/workbench/contrib/files/common/files.js +25 -2
  775. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +2 -1
  776. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +8 -6
  777. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +7 -4
  778. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +2 -2
  779. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +6 -4
  780. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +82 -137
  781. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +11 -8
  782. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +292 -328
  783. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +69 -67
  784. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +79 -417
  785. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +50 -61
  786. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +32 -124
  787. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +41 -20
  788. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  789. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +5 -1
  790. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +59 -53
  791. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +5 -4
  792. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +2 -2
  793. package/vscode/src/vs/workbench/contrib/markers/common/markers.js +7 -2
  794. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +3 -3
  795. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +15 -13
  796. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +1 -1
  797. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +3 -2
  798. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +26 -20
  799. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +13 -8
  800. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +22 -10
  801. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +5 -11
  802. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +4 -3
  803. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -57
  804. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +25 -1
  805. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -6
  806. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +103 -23
  807. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +6 -5
  808. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +16 -15
  809. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -2
  810. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +137 -261
  811. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +26 -8
  812. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +25 -23
  813. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +23 -21
  814. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +1 -1
  815. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +4 -2
  816. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +21 -1
  817. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +16 -11
  818. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +36 -18
  819. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +24 -13
  820. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +1 -1
  821. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +8 -7
  822. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +3 -3
  823. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +5 -3
  824. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +1 -1
  825. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +17 -10
  826. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +14 -9
  827. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +3 -2
  828. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellWidgets.js +7 -0
  829. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +11 -1
  830. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -1
  831. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +15 -5
  832. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +7 -4
  833. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +36 -25
  834. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +14 -3
  835. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +20 -10
  836. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +2 -1
  837. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +2 -1
  838. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +7 -10
  839. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +3 -2
  840. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +2 -2
  841. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +19 -9
  842. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +5 -3
  843. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +5 -4
  844. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +15 -11
  845. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +2 -2
  846. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +4 -3
  847. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +35 -2
  848. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +14 -12
  849. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +41 -15
  850. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +8 -2
  851. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +5 -3
  852. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +29 -23
  853. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +1 -1
  854. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +31 -24
  855. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +11 -8
  856. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +29 -27
  857. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +2 -2
  858. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +27 -45
  859. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +13 -1
  860. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +785 -0
  861. package/vscode/src/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +4 -0
  862. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  863. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +23 -22
  864. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +36 -32
  865. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +222 -0
  866. package/vscode/src/vs/workbench/contrib/search/common/cacheState.js +85 -0
  867. package/vscode/src/vs/workbench/contrib/search/common/cellSearchModel.js +3 -2
  868. package/vscode/src/vs/workbench/contrib/search/common/constants.js +49 -1
  869. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +6 -5
  870. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +8 -2
  871. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +16 -13
  872. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +11 -11
  873. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +47 -30
  874. package/vscode/src/vs/workbench/contrib/tags/browser/workspaceTagsService.js +1 -0
  875. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +80 -11
  876. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +5 -3
  877. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.js +27 -1
  878. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +8 -5
  879. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +721 -0
  880. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +9 -8
  881. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +0 -9
  882. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -5
  883. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +166 -71
  884. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +92 -144
  885. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +41 -0
  886. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminal.accessibility.js +12 -0
  887. package/vscode/src/vs/workbench/contrib/terminalContrib/find/common/terminal.find.js +22 -0
  888. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminal.suggest.js +18 -0
  889. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +103 -0
  890. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +4 -3
  891. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +79 -22
  892. package/vscode/src/vs/workbench/contrib/testing/common/testId.js +46 -18
  893. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +51 -41
  894. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +33 -19
  895. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +108 -38
  896. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +19 -18
  897. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.js +1 -2
  898. package/vscode/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.js +6 -1
  899. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.js +77 -0
  900. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.service.js +3 -0
  901. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +119 -0
  902. package/vscode/src/vs/workbench/contrib/webview/browser/webview.js +9 -2
  903. package/vscode/src/vs/workbench/contrib/webview/common/webview.js +4 -3
  904. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +3 -2
  905. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +2 -1
  906. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +2 -1
  907. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.js +22 -10
  908. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +25 -9
  909. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +370 -0
  910. package/vscode/src/vs/workbench/services/configuration/common/configuration.js +8 -7
  911. package/vscode/src/vs/workbench/services/driver/browser/driver.js +187 -0
  912. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +3 -1
  913. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +42 -29
  914. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +1 -0
  915. package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.js +5 -5
  916. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +5 -5
  917. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +36 -1
  918. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  919. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +11 -2
  920. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +6 -1
  921. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +3 -0
  922. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +1 -0
  923. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +20 -1
  924. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  925. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.js +11 -0
  926. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +4 -7
  927. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +8 -2
  928. package/vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js +16 -10
  929. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.js +18 -7
  930. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.js +1 -0
  931. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.js +4 -3
  932. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +17 -6
  933. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +4 -4
  934. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.d.ts +2 -1
  935. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +5 -0
  936. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +103 -64
  937. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +31 -15
  938. package/vscode/src/vs/workbench/services/{views/browser/treeViewsService.service.js → integrity/common/integrity.service.js} +2 -2
  939. package/vscode/src/vs/workbench/services/language/common/languageService.js +2 -1
  940. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +71 -24
  941. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.js +28 -8
  942. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +11 -11
  943. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +1 -0
  944. package/vscode/src/vs/workbench/services/outline/browser/outline.js +22 -0
  945. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +10 -9
  946. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +19 -17
  947. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +4 -2
  948. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +16 -16
  949. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +3 -2
  950. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +9 -9
  951. package/vscode/src/vs/workbench/services/search/common/replace.js +12 -11
  952. package/vscode/src/vs/workbench/services/search/common/search.js +32 -1
  953. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +6 -6
  954. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.js +6 -1
  955. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +13 -13
  956. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +6 -2
  957. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -0
  958. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +28 -27
  959. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +27 -3
  960. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +2 -2
  961. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +2 -2
  962. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +43 -1
  963. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +2 -2
  964. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +2 -2
  965. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +12 -11
  966. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +19 -13
  967. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +29 -25
  968. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.js +6 -0
  969. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +3 -2
  970. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +52 -32
  971. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopy.js +7 -1
  972. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +17 -14
  973. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -0
  974. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +90 -97
  975. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +76 -0
  976. package/vscode-dts/vscode.proposed.chatProvider.d.ts +24 -7
  977. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +82 -2
  978. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +0 -5
  979. package/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts +2 -2
  980. package/vscode-dts/vscode.proposed.embeddings.d.ts +33 -0
  981. package/vscode-dts/vscode.proposed.interactive.d.ts +2 -110
  982. package/vscode-dts/vscode.proposed.languageModelSystem.d.ts +17 -0
  983. package/vscode-dts/vscode.proposed.resolvers.d.ts +2 -1
  984. package/vscode-dts/vscode.proposed.speech.d.ts +26 -6
  985. package/vscode-dts/vscode.proposed.testObserver.d.ts +9 -0
  986. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +0 -194
  987. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +0 -876
  988. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewContributions.js +0 -407
  989. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +0 -196
  990. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.service.js +0 -3
  991. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.js +0 -595
  992. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnostics.js +0 -102
  993. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +0 -458
  994. package/vscode-dts/vscode.proposed.debugFocus.d.ts +0 -66
  995. package/vscode-dts/vscode.proposed.languageModels.d.ts +0 -291
  996. package/vscode-dts/vscode.proposed.testPreserveFocus.d.ts +0 -28
  997. /package/vscode/src/vs/workbench/{services → contrib}/issue/browser/issueTroubleshoot.service.js +0 -0
  998. /package/vscode/src/vs/workbench/{services → contrib}/issue/common/issue.service.js +0 -0
@@ -1,17 +1,16 @@
1
1
  import { __decorate, __param } from '../../../../../../../../../external/tslib/tslib.es6.js';
2
2
  import { getWindow, scheduleAtNextAnimationFrame, trackFocus, Dimension, WindowIntervalTimer } from '../../../../../../base/browser/dom.js';
3
- import { disposableTimeout, createCancelablePromise, raceCancellationError, Queue } from '../../../../../../base/common/async.js';
3
+ import { disposableTimeout, createCancelablePromise, Queue, DeferredPromise } from '../../../../../../base/common/async.js';
4
4
  import { CancellationTokenSource } from '../../../../../../base/common/cancellation.js';
5
- import { Emitter, Event } from '../../../../../../base/common/event.js';
6
- import { MarkdownString } from '../../../../../../base/common/htmlContent.js';
7
- import { Disposable, DisposableStore, toDisposable } from '../../../../../../base/common/lifecycle.js';
5
+ import { Emitter } from '../../../../../../base/common/event.js';
6
+ import { Disposable, DisposableStore, MutableDisposable, toDisposable } from '../../../../../../base/common/lifecycle.js';
8
7
  import { LRUCache } from '../../../../../../base/common/map.js';
9
8
  import { Schemas } from '../../../../../../base/common/network.js';
10
9
  import { MovingAverage } from '../../../../../../base/common/numbers.js';
10
+ import { isEqual } from '../../../../../../base/common/resources.js';
11
11
  import { StopWatch } from '../../../../../../base/common/stopwatch.js';
12
12
  import { assertType } from '../../../../../../base/common/types.js';
13
13
  import { URI } from '../../../../../../base/common/uri.js';
14
- import { generateUuid } from '../../../../../../base/common/uuid.js';
15
14
  import { CodeEditorWidget } from '../../../../../../editor/browser/widget/codeEditor/codeEditorWidget.js';
16
15
  import { Selection } from '../../../../../../editor/common/core/selection.js';
17
16
  import { TextEdit } from '../../../../../../editor/common/languages.js';
@@ -19,22 +18,19 @@ import { ILanguageService } from '../../../../../../editor/common/languages/lang
19
18
  import { IEditorWorkerService } from '../../../../../../editor/common/services/editorWorker.js';
20
19
  import { IModelService } from '../../../../../../editor/common/services/model.js';
21
20
  import { localizeWithPath } from '../../../../../../nls.js';
22
- import { ICommandService } from '../../../../../../platform/commands/common/commands.service.js';
21
+ import { MenuId } from '../../../../../../platform/actions/common/actions.js';
23
22
  import { IContextKeyService } from '../../../../../../platform/contextkey/common/contextkey.service.js';
24
23
  import { IInstantiationService } from '../../../../../../platform/instantiation/common/instantiation.js';
25
- import { AsyncProgress } from '../../../../../../platform/progress/common/progress.js';
24
+ import { StorageScope, StorageTarget } from '../../../../../../platform/storage/common/storage.js';
26
25
  import { IStorageService } from '../../../../../../platform/storage/common/storage.service.js';
27
- import { GeneratingPhrase } from '../../../../chat/browser/chat.js';
28
26
  import { ChatAgentLocation } from '../../../../chat/common/chatAgents.js';
27
+ import { IChatService } from '../../../../chat/common/chatService.service.js';
29
28
  import { countWords } from '../../../../chat/common/chatWordCounter.js';
30
- import { IInlineChatSavingService } from '../../../../inlineChat/browser/inlineChatSavingService.service.js';
31
- import { SessionPrompt, ReplyResponse, SessionExchange, EmptyResponse, ErrorResponse } from '../../../../inlineChat/browser/inlineChatSession.js';
32
- import { IInlineChatSessionService } from '../../../../inlineChat/browser/inlineChatSessionService.service.js';
33
29
  import { InlineChatWidget } from '../../../../inlineChat/browser/inlineChatWidget.js';
34
30
  import { performAsyncTextEdit, asProgressiveEdit } from '../../../../inlineChat/browser/utils.js';
35
- import { CTX_INLINE_CHAT_LAST_RESPONSE_TYPE } from '../../../../inlineChat/common/inlineChat.js';
31
+ import { MENU_INLINE_CHAT_WIDGET } from '../../../../inlineChat/common/inlineChat.js';
36
32
  import { insertCell, runDeleteAction } from '../cellOperations.js';
37
- import { CTX_NOTEBOOK_CHAT_HAS_ACTIVE_REQUEST, CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_NOTEBOOK_CHAT_USER_DID_EDIT, CTX_NOTEBOOK_CHAT_OUTER_FOCUS_POSITION, MENU_CELL_CHAT_INPUT, MENU_CELL_CHAT_WIDGET, MENU_CELL_CHAT_WIDGET_STATUS, MENU_CELL_CHAT_WIDGET_FEEDBACK } from './notebookChatContext.js';
33
+ import { CTX_NOTEBOOK_CHAT_HAS_ACTIVE_REQUEST, CTX_NOTEBOOK_CELL_CHAT_FOCUSED, CTX_NOTEBOOK_CHAT_USER_DID_EDIT, CTX_NOTEBOOK_CHAT_OUTER_FOCUS_POSITION, MENU_CELL_CHAT_WIDGET_STATUS } from './notebookChatContext.js';
38
34
  import { registerNotebookContribution } from '../../notebookEditorExtensions.js';
39
35
  import { CellKind } from '../../../common/notebookCommon.js';
40
36
  import { NotebookExecutionType } from '../../../common/notebookExecutionStateService.js';
@@ -68,15 +64,28 @@ class NotebookChatWidget extends Disposable {
68
64
  this.parentEditor = parentEditor;
69
65
  this._languageService = _languageService;
70
66
  this._editingCell = null;
71
- this._register(inlineChatWidget.onDidChangeHeight(() => {
67
+ const updateHeight = () => {
68
+ if (this.heightInPx === inlineChatWidget.contentHeight) {
69
+ return;
70
+ }
72
71
  this.heightInPx = inlineChatWidget.contentHeight;
73
72
  this._notebookEditor.changeViewZones(accessor => {
74
73
  accessor.layoutZone(id);
75
74
  });
76
75
  this._layoutWidget(inlineChatWidget, widgetContainer);
76
+ };
77
+ this._register(inlineChatWidget.onDidChangeHeight(() => {
78
+ updateHeight();
77
79
  }));
80
+ this._register(inlineChatWidget.chatWidget.onDidChangeHeight(() => {
81
+ updateHeight();
82
+ }));
83
+ this.heightInPx = inlineChatWidget.contentHeight;
78
84
  this._layoutWidget(inlineChatWidget, widgetContainer);
79
85
  }
86
+ layout() {
87
+ this._layoutWidget(this.inlineChatWidget, this.widgetContainer);
88
+ }
80
89
  restoreEditingCell(initEditingCell) {
81
90
  this._editingCell = initEditingCell;
82
91
  const decorationIds = this._notebookEditor.deltaCellDecorations([], [{
@@ -190,19 +199,17 @@ let NotebookChatController = class NotebookChatController extends Disposable {
190
199
  }
191
200
  static { this._storageKey = 'inline-chat-history'; }
192
201
  static { this._promptHistory = []; }
193
- constructor(_notebookEditor, _instantiationService, _inlineChatSessionService, _contextKeyService, _commandService, _editorWorkerService, _inlineChatSavingService, _modelService, _languageService, _executionStateService, _storageService) {
202
+ constructor(_notebookEditor, _instantiationService, _contextKeyService, _editorWorkerService, _modelService, _languageService, _executionStateService, _storageService, _chatService) {
194
203
  super();
195
204
  this._notebookEditor = _notebookEditor;
196
205
  this._instantiationService = _instantiationService;
197
- this._inlineChatSessionService = _inlineChatSessionService;
198
206
  this._contextKeyService = _contextKeyService;
199
- this._commandService = _commandService;
200
207
  this._editorWorkerService = _editorWorkerService;
201
- this._inlineChatSavingService = _inlineChatSavingService;
202
208
  this._modelService = _modelService;
203
209
  this._languageService = _languageService;
204
210
  this._executionStateService = _executionStateService;
205
211
  this._storageService = _storageService;
212
+ this._chatService = _chatService;
206
213
  this._historyOffset = -1;
207
214
  this._historyCandidate = '';
208
215
  this._promptCache = ( (new LRUCache(1000, 0.7)));
@@ -210,13 +217,13 @@ let NotebookChatController = class NotebookChatController extends Disposable {
210
217
  this.onDidChangePromptCache = this._onDidChangePromptCache.event;
211
218
  this._userEditingDisposables = this._register(( (new DisposableStore())));
212
219
  this._widgetDisposableStore = this._register(( (new DisposableStore())));
220
+ this._model = this._register(( (new MutableDisposable())));
213
221
  this._ctxHasActiveRequest = CTX_NOTEBOOK_CHAT_HAS_ACTIVE_REQUEST.bindTo(this._contextKeyService);
214
222
  this._ctxCellWidgetFocused = CTX_NOTEBOOK_CELL_CHAT_FOCUSED.bindTo(this._contextKeyService);
215
- this._ctxLastResponseType = CTX_INLINE_CHAT_LAST_RESPONSE_TYPE.bindTo(this._contextKeyService);
216
223
  this._ctxUserDidEdit = CTX_NOTEBOOK_CHAT_USER_DID_EDIT.bindTo(this._contextKeyService);
217
224
  this._ctxOuterFocusPosition = CTX_NOTEBOOK_CHAT_OUTER_FOCUS_POSITION.bindTo(this._contextKeyService);
218
225
  this._registerFocusTracker();
219
- NotebookChatController_1._promptHistory = JSON.parse(this._storageService.get(NotebookChatController_1._storageKey, 0 , '[]'));
226
+ NotebookChatController_1._promptHistory = JSON.parse(this._storageService.get(NotebookChatController_1._storageKey, StorageScope.PROFILE, '[]'));
220
227
  this._historyUpdate = (prompt) => {
221
228
  const idx = NotebookChatController_1._promptHistory.indexOf(prompt);
222
229
  if (idx >= 0) {
@@ -225,7 +232,7 @@ let NotebookChatController = class NotebookChatController extends Disposable {
225
232
  NotebookChatController_1._promptHistory.unshift(prompt);
226
233
  this._historyOffset = -1;
227
234
  this._historyCandidate = '';
228
- this._storageService.store(NotebookChatController_1._storageKey, JSON.stringify(NotebookChatController_1._promptHistory), 0 , 0 );
235
+ this._storageService.store(NotebookChatController_1._storageKey, JSON.stringify(NotebookChatController_1._promptHistory), StorageScope.PROFILE, StorageTarget.USER);
229
236
  };
230
237
  }
231
238
  _registerFocusTracker() {
@@ -310,10 +317,15 @@ let NotebookChatController = class NotebookChatController extends Disposable {
310
317
  fakeParentEditor.setModel(result);
311
318
  const inlineChatWidget = this._widgetDisposableStore.add(this._instantiationService.createInstance(InlineChatWidget, ChatAgentLocation.Notebook, {
312
319
  telemetrySource: 'notebook-generate-cell',
313
- inputMenuId: MENU_CELL_CHAT_INPUT,
314
- widgetMenuId: MENU_CELL_CHAT_WIDGET,
320
+ inputMenuId: MenuId.ChatExecute,
321
+ widgetMenuId: MENU_INLINE_CHAT_WIDGET,
315
322
  statusMenuId: MENU_CELL_CHAT_WIDGET_STATUS,
316
- feedbackMenuId: MENU_CELL_CHAT_WIDGET_FEEDBACK
323
+ rendererOptions: {
324
+ renderTextEditsAsSummary: (uri) => {
325
+ return isEqual(uri, this._widget?.parentEditor.getModel()?.uri)
326
+ || isEqual(uri, this._notebookEditor.textModel?.uri);
327
+ }
328
+ }
317
329
  }));
318
330
  inlineChatWidget.placeholder = ( localizeWithPath(_moduleId, 0, "Ask a question"));
319
331
  inlineChatWidget.updateInfo(( localizeWithPath(_moduleId, 1, "AI-generated code may be incorrect")));
@@ -349,14 +361,9 @@ let NotebookChatController = class NotebookChatController extends Disposable {
349
361
  this._focusWidget();
350
362
  }, 0, this._store);
351
363
  this._sessionCtor = createCancelablePromise(async (token) => {
364
+ await this._startSession(token);
352
365
  if (fakeParentEditor.hasModel()) {
353
- await this._startSession(fakeParentEditor, token);
354
- this._warmupRequestCts = ( (new CancellationTokenSource()));
355
- this._startInitialFolowups(fakeParentEditor, this._warmupRequestCts.token);
356
366
  if (this._widget) {
357
- this._widget.inlineChatWidget.placeholder = this._activeSession?.session.placeholder ?? ( localizeWithPath(_moduleId, 0, "Ask a question"));
358
- this._widget.inlineChatWidget.updateInfo(this._activeSession?.session.message ?? ( localizeWithPath(_moduleId, 1, "AI-generated code may be incorrect")));
359
- this._widget.inlineChatWidget.updateSlashCommands(this._activeSession?.session.slashCommands ?? []);
360
367
  this._focusWidget();
361
368
  }
362
369
  if (this._widget && input) {
@@ -369,6 +376,15 @@ let NotebookChatController = class NotebookChatController extends Disposable {
369
376
  });
370
377
  });
371
378
  }
379
+ async _startSession(token) {
380
+ if (!this._model.value) {
381
+ this._model.value = this._chatService.startSession(ChatAgentLocation.Editor, token);
382
+ if (!this._model.value) {
383
+ throw ( (new Error('Failed to start chat session')));
384
+ }
385
+ }
386
+ this._strategy = ( (new EditStrategy()));
387
+ }
372
388
  _scrollWidgetIntoView(index) {
373
389
  if (index === 0 || this._notebookEditor.getLength() === 0) {
374
390
  this._notebookEditor.revealOffsetInCenterIfOutsideViewport(0);
@@ -395,19 +411,24 @@ let NotebookChatController = class NotebookChatController extends Disposable {
395
411
  }
396
412
  this._widget.updateNotebookEditorFocusNSelections();
397
413
  }
414
+ hasSession(chatModel) {
415
+ return this._model.value === chatModel;
416
+ }
417
+ getSessionInputUri() {
418
+ return this._widget?.parentEditor.getModel()?.uri;
419
+ }
398
420
  async acceptInput() {
399
421
  assertType(this._widget);
400
422
  await this._sessionCtor;
401
- assertType(this._activeSession);
402
- this._warmupRequestCts?.dispose(true);
403
- this._warmupRequestCts = undefined;
404
- this._activeSession.addInput(( (new SessionPrompt(this._widget.inlineChatWidget.value))));
405
- assertType(this._activeSession.lastInput);
406
- const value = this._activeSession.lastInput.value;
407
- this._historyUpdate(value);
423
+ assertType(this._model.value);
424
+ assertType(this._strategy);
425
+ const model = this._model.value;
426
+ this._widget.inlineChatWidget.setChatModel(model);
427
+ const lastInput = this._widget.inlineChatWidget.value;
428
+ this._historyUpdate(lastInput);
408
429
  const editor = this._widget.parentEditor;
409
- const model = editor.getModel();
410
- if (!editor.hasModel() || !model) {
430
+ const textModel = editor.getModel();
431
+ if (!editor.hasModel() || !textModel) {
411
432
  return;
412
433
  }
413
434
  if (this._widget.editingCell && this._widget.editingCell.textBuffer.getLength() > 0) {
@@ -428,187 +449,83 @@ let NotebookChatController = class NotebookChatController extends Disposable {
428
449
  }]);
429
450
  }
430
451
  this._ctxHasActiveRequest.set(true);
431
- this._widget.inlineChatWidget.updateSlashCommands(this._activeSession.session.slashCommands ?? []);
432
- this._widget?.inlineChatWidget.updateProgress(true);
433
- const request = {
434
- requestId: generateUuid(),
435
- prompt: value,
436
- attempt: 0,
437
- selection: { selectionStartLineNumber: 1, selectionStartColumn: 1, positionLineNumber: 1, positionColumn: 1 },
438
- wholeRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 },
439
- live: true,
440
- previewDocument: model.uri,
441
- withIntentDetection: true,
442
- };
443
452
  this._activeRequestCts?.cancel();
444
453
  this._activeRequestCts = ( (new CancellationTokenSource()));
445
- const progressEdits = [];
446
- const progressiveEditsQueue = ( (new Queue()));
447
- const progressiveEditsClock = StopWatch.create();
448
- const progressiveEditsAvgDuration = ( (new MovingAverage()));
449
- const progressiveEditsCts = ( (new CancellationTokenSource(this._activeRequestCts.token)));
450
- let progressiveChatResponse;
451
- const progress = ( (new AsyncProgress(async (data) => {
452
- if (this._activeRequestCts?.token.isCancellationRequested) {
453
- return;
454
- }
455
- if (data.message) {
456
- this._widget?.inlineChatWidget.updateToolbar(false);
457
- this._widget?.inlineChatWidget.updateInfo(data.message);
458
- }
459
- if (data.edits?.length) {
460
- if (!request.live) {
461
- throw ( (new Error('Progress in NOT supported in non-live mode')));
462
- }
463
- progressEdits.push(data.edits);
464
- progressiveEditsAvgDuration.update(progressiveEditsClock.elapsed());
465
- progressiveEditsClock.reset();
466
- progressiveEditsQueue.queue(async () => {
467
- await this._makeChanges(data.edits, data.editsShouldBeInstant
468
- ? undefined
469
- : { duration: progressiveEditsAvgDuration.value, token: progressiveEditsCts.token });
470
- });
471
- }
472
- if (data.markdownFragment) {
473
- if (!progressiveChatResponse) {
474
- const message = {
475
- message: ( (new MarkdownString(
476
- data.markdownFragment,
477
- { supportThemeIcons: true, supportHtml: true, isTrusted: false }
478
- ))),
479
- requestId: request.requestId,
480
- };
481
- progressiveChatResponse = this._widget?.inlineChatWidget.updateChatMessage(message, true);
482
- }
483
- else {
484
- progressiveChatResponse.appendContent(data.markdownFragment);
485
- }
486
- }
487
- })));
488
- const task = this._activeSession.provider.provideResponse(this._activeSession.session, request, progress, this._activeRequestCts.token);
489
- let response;
454
+ const store = ( (new DisposableStore()));
490
455
  try {
491
- this._widget?.inlineChatWidget.updateChatMessage(undefined);
492
- this._widget?.inlineChatWidget.updateFollowUps(undefined);
493
- this._widget?.inlineChatWidget.updateProgress(true);
494
- this._widget?.inlineChatWidget.updateInfo(!this._activeSession.lastExchange ? GeneratingPhrase + '\u2026' : '');
495
456
  this._ctxHasActiveRequest.set(true);
496
- const reply = await raceCancellationError(Promise.resolve(task), this._activeRequestCts.token);
497
- if (progressiveEditsQueue.size > 0) {
498
- await Event.toPromise(progressiveEditsQueue.onDrained);
499
- }
500
- await progress.drain();
501
- if (!reply) {
502
- response = ( (new EmptyResponse()));
503
- }
504
- else {
505
- const markdownContents = ( (new MarkdownString('', { supportThemeIcons: true, supportHtml: true, isTrusted: false })));
506
- const replyResponse = response = this._instantiationService.createInstance(ReplyResponse, reply, markdownContents, this._activeSession.textModelN.uri, this._activeSession.textModelN.getAlternativeVersionId(), progressEdits, request.requestId, undefined);
507
- for (let i = progressEdits.length; i < replyResponse.allLocalEdits.length; i++) {
508
- await this._makeChanges(replyResponse.allLocalEdits[i], undefined);
509
- }
510
- if (this._activeSession?.provider.provideFollowups) {
511
- const followupCts = ( (new CancellationTokenSource()));
512
- const followups = await this._activeSession.provider.provideFollowups(this._activeSession.session, replyResponse.raw, followupCts.token);
513
- if (followups && this._widget) {
514
- const widget = this._widget;
515
- widget.inlineChatWidget.updateFollowUps(followups, async (followup) => {
516
- if (followup.kind === 'reply') {
517
- widget.inlineChatWidget.value = followup.message;
518
- this.acceptInput();
519
- }
520
- else {
521
- await this.acceptSession();
522
- this._commandService.executeCommand(followup.commandId, ...(followup.args ?? []));
523
- }
524
- });
457
+ const progressiveEditsQueue = ( (new Queue()));
458
+ const progressiveEditsClock = StopWatch.create();
459
+ const progressiveEditsAvgDuration = ( (new MovingAverage()));
460
+ const progressiveEditsCts = ( (new CancellationTokenSource(this._activeRequestCts.token)));
461
+ const responsePromise = ( (new DeferredPromise()));
462
+ const response = await this._widget.inlineChatWidget.chatWidget.acceptInput();
463
+ if (response) {
464
+ let lastLength = 0;
465
+ store.add(response.onDidChange(e => {
466
+ if (response.isCanceled) {
467
+ progressiveEditsCts.cancel();
468
+ responsePromise.complete();
469
+ return;
525
470
  }
526
- }
527
- this._userEditingDisposables.clear();
528
- const editingCell = this._widget.getEditingCell();
529
- if (editingCell) {
530
- this._userEditingDisposables.add(editingCell.model.onDidChangeContent(() => this._updateUserEditingState()));
531
- this._userEditingDisposables.add(editingCell.model.onDidChangeLanguage(() => this._updateUserEditingState()));
532
- this._userEditingDisposables.add(editingCell.model.onDidChangeMetadata(() => this._updateUserEditingState()));
533
- this._userEditingDisposables.add(editingCell.model.onDidChangeInternalMetadata(() => this._updateUserEditingState()));
534
- this._userEditingDisposables.add(editingCell.model.onDidChangeOutputs(() => this._updateUserEditingState()));
535
- this._userEditingDisposables.add(this._executionStateService.onDidChangeExecution(e => {
536
- if (e.type === NotebookExecutionType.cell && e.affectsCell(editingCell.uri)) {
537
- this._updateUserEditingState();
471
+ if (response.isComplete) {
472
+ responsePromise.complete();
473
+ return;
474
+ }
475
+ const edits = ( (response.response.value.map(part => {
476
+ if (part.kind === 'textEditGroup'
477
+ ) {
478
+ return part.edits;
538
479
  }
539
- }));
540
- }
480
+ else {
481
+ return [];
482
+ }
483
+ }))).flat();
484
+ const newEdits = edits.slice(lastLength);
485
+ if (newEdits.length === 0) {
486
+ return;
487
+ }
488
+ lastLength = edits.length;
489
+ progressiveEditsAvgDuration.update(progressiveEditsClock.elapsed());
490
+ progressiveEditsClock.reset();
491
+ progressiveEditsQueue.queue(async () => {
492
+ for (const edits of newEdits) {
493
+ await this._makeChanges(edits, {
494
+ duration: progressiveEditsAvgDuration.value,
495
+ token: progressiveEditsCts.token
496
+ });
497
+ }
498
+ });
499
+ }));
500
+ }
501
+ await responsePromise.p;
502
+ await progressiveEditsQueue.whenIdle();
503
+ this._userEditingDisposables.clear();
504
+ const editingCell = this._widget.getEditingCell();
505
+ if (editingCell) {
506
+ this._userEditingDisposables.add(editingCell.model.onDidChangeContent(() => this._updateUserEditingState()));
507
+ this._userEditingDisposables.add(editingCell.model.onDidChangeLanguage(() => this._updateUserEditingState()));
508
+ this._userEditingDisposables.add(editingCell.model.onDidChangeMetadata(() => this._updateUserEditingState()));
509
+ this._userEditingDisposables.add(editingCell.model.onDidChangeInternalMetadata(() => this._updateUserEditingState()));
510
+ this._userEditingDisposables.add(editingCell.model.onDidChangeOutputs(() => this._updateUserEditingState()));
511
+ this._userEditingDisposables.add(this._executionStateService.onDidChangeExecution(e => {
512
+ if (e.type === NotebookExecutionType.cell && e.affectsCell(editingCell.uri)) {
513
+ this._updateUserEditingState();
514
+ }
515
+ }));
541
516
  }
542
517
  }
543
518
  catch (e) {
544
- response = ( (new ErrorResponse(e)));
545
519
  }
546
520
  finally {
521
+ store.dispose();
547
522
  this._ctxHasActiveRequest.set(false);
548
- this._widget?.inlineChatWidget.updateProgress(false);
549
- this._widget?.inlineChatWidget.updateInfo('');
550
- this._widget?.inlineChatWidget.updateToolbar(true);
551
- }
552
- this._ctxHasActiveRequest.set(false);
553
- this._widget?.inlineChatWidget.updateProgress(false);
554
- this._widget?.inlineChatWidget.updateInfo('');
555
- this._widget?.inlineChatWidget.updateToolbar(true);
556
- this._activeSession?.addExchange(( (new SessionExchange(this._activeSession.lastInput, response))));
557
- this._ctxLastResponseType.set(response instanceof ReplyResponse ? response.raw.type : undefined);
558
- }
559
- async _startSession(editor, token) {
560
- if (this._activeSession) {
561
- this._inlineChatSessionService.releaseSession(this._activeSession);
562
- }
563
- const session = await this._inlineChatSessionService.createSession(editor, { editMode: "live" }, token);
564
- if (!session) {
565
- return;
566
- }
567
- this._activeSession = session;
568
- this._strategy = ( (new EditStrategy(session)));
569
- }
570
- async _startInitialFolowups(editor, token) {
571
- if (!this._activeSession || !this._activeSession.provider.provideFollowups) {
572
- return;
573
- }
574
- const request = {
575
- requestId: generateUuid(),
576
- prompt: '',
577
- attempt: 0,
578
- selection: { selectionStartLineNumber: 1, selectionStartColumn: 1, positionLineNumber: 1, positionColumn: 1 },
579
- wholeRange: { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 },
580
- live: true,
581
- previewDocument: editor.getModel().uri,
582
- withIntentDetection: true
583
- };
584
- const progress = ( (new AsyncProgress(async (data) => { })));
585
- const task = this._activeSession.provider.provideResponse(this._activeSession.session, request, progress, token);
586
- const reply = await raceCancellationError(Promise.resolve(task), token);
587
- if (token.isCancellationRequested) {
588
- return;
589
- }
590
- if (!reply) {
591
- return;
592
- }
593
- const markdownContents = ( (new MarkdownString('', { supportThemeIcons: true, supportHtml: true, isTrusted: false })));
594
- const response = this._instantiationService.createInstance(ReplyResponse, reply, markdownContents, this._activeSession.textModelN.uri, this._activeSession.textModelN.getAlternativeVersionId(), [], request.requestId, undefined);
595
- const followups = await this._activeSession.provider.provideFollowups(this._activeSession.session, response.raw, token);
596
- if (followups && this._widget) {
597
- const widget = this._widget;
598
- widget.inlineChatWidget.updateFollowUps(followups, async (followup) => {
599
- if (followup.kind === 'reply') {
600
- widget.inlineChatWidget.value = followup.message;
601
- this.acceptInput();
602
- }
603
- else {
604
- await this.acceptSession();
605
- this._commandService.executeCommand(followup.commandId, ...(followup.args ?? []));
606
- }
607
- });
523
+ this._widget.inlineChatWidget.updateProgress(false);
524
+ this._widget.inlineChatWidget.updateInfo('');
525
+ this._widget.inlineChatWidget.updateToolbar(true);
608
526
  }
609
527
  }
610
528
  async _makeChanges(edits, opts) {
611
- assertType(this._activeSession);
612
529
  assertType(this._strategy);
613
530
  assertType(this._widget);
614
531
  const editingCell = await this._widget.getOrCreateEditingCell();
@@ -622,9 +539,7 @@ let NotebookChatController = class NotebookChatController extends Disposable {
622
539
  }
623
540
  const actualEdits = !opts && moreMinimalEdits ? moreMinimalEdits : edits;
624
541
  const editOperations = ( (actualEdits.map(TextEdit.asEditOperation)));
625
- this._inlineChatSavingService.markChanged(this._activeSession);
626
542
  try {
627
- this._activeSession.wholeRange.trackEdits(editOperations);
628
543
  if (opts) {
629
544
  await this._strategy.makeProgressiveChanges(editor, editOperations, opts);
630
545
  }
@@ -639,22 +554,22 @@ let NotebookChatController = class NotebookChatController extends Disposable {
639
554
  this._ctxUserDidEdit.set(true);
640
555
  }
641
556
  async acceptSession() {
642
- assertType(this._activeSession);
557
+ assertType(this._model);
643
558
  assertType(this._strategy);
644
559
  const editor = this._widget?.parentEditor;
645
560
  if (!editor?.hasModel()) {
646
561
  return;
647
562
  }
648
563
  const editingCell = this._widget?.getEditingCell();
649
- if (editingCell && this._notebookEditor.hasModel() && this._activeSession.lastInput) {
564
+ if (editingCell && this._notebookEditor.hasModel()) {
650
565
  const cellId = NotebookCellTextModelLikeId.str({ uri: editingCell.uri, viewType: this._notebookEditor.textModel.viewType });
651
- const prompt = this._activeSession.lastInput.value;
652
- this._promptCache.set(cellId, prompt);
566
+ if (this._widget?.inlineChatWidget.value) {
567
+ this._promptCache.set(cellId, this._widget.inlineChatWidget.value);
568
+ }
653
569
  this._onDidChangePromptCache.fire({ cell: editingCell.uri });
654
570
  }
655
571
  try {
656
- await this._strategy.apply(editor);
657
- this._inlineChatSessionService.releaseSession(this._activeSession);
572
+ this._model.clear();
658
573
  }
659
574
  catch (_err) { }
660
575
  this.dismiss(false);
@@ -733,26 +648,16 @@ let NotebookChatController = class NotebookChatController extends Disposable {
733
648
  this._widget.inlineChatWidget.selectAll();
734
649
  }
735
650
  async cancelCurrentRequest(discard) {
736
- if (discard) {
737
- this._strategy?.cancel();
738
- }
739
651
  this._activeRequestCts?.cancel();
740
652
  }
741
653
  getEditingCell() {
742
654
  return this._widget?.getEditingCell();
743
655
  }
744
656
  discard() {
745
- this._strategy?.cancel();
746
657
  this._activeRequestCts?.cancel();
747
658
  this._widget?.discardChange();
748
659
  this.dismiss(true);
749
660
  }
750
- async feedbackLast(kind) {
751
- if (this._activeSession?.lastExchange && this._activeSession.lastExchange.response instanceof ReplyResponse) {
752
- this._activeSession.provider.handleInlineChatResponseFeedback?.(this._activeSession.session, this._activeSession.lastExchange.response.raw, kind);
753
- this._widget?.inlineChatWidget.updateStatus('Thank you for your feedback!', { resetAfter: 1250 });
754
- }
755
- }
756
661
  dismiss(discard) {
757
662
  const widget = this._widget;
758
663
  const widgetIndex = widget?.afterModelPosition;
@@ -777,6 +682,7 @@ let NotebookChatController = class NotebookChatController extends Disposable {
777
682
  this._ctxUserDidEdit.set(false);
778
683
  this._sessionCtor?.cancel();
779
684
  this._sessionCtor = undefined;
685
+ this._model.clear();
780
686
  this._widget?.dispose();
781
687
  this._widget = undefined;
782
688
  this._widgetDisposableStore.clear();
@@ -804,19 +710,16 @@ let NotebookChatController = class NotebookChatController extends Disposable {
804
710
  };
805
711
  NotebookChatController = NotebookChatController_1 = ( (__decorate([
806
712
  ( (__param(1, IInstantiationService))),
807
- ( (__param(2, IInlineChatSessionService))),
808
- ( (__param(3, IContextKeyService))),
809
- ( (__param(4, ICommandService))),
810
- ( (__param(5, IEditorWorkerService))),
811
- ( (__param(6, IInlineChatSavingService))),
812
- ( (__param(7, IModelService))),
813
- ( (__param(8, ILanguageService))),
814
- ( (__param(9, INotebookExecutionStateService))),
815
- ( (__param(10, IStorageService)))
713
+ ( (__param(2, IContextKeyService))),
714
+ ( (__param(3, IEditorWorkerService))),
715
+ ( (__param(4, IModelService))),
716
+ ( (__param(5, ILanguageService))),
717
+ ( (__param(6, INotebookExecutionStateService))),
718
+ ( (__param(7, IStorageService))),
719
+ ( (__param(8, IChatService)))
816
720
  ], NotebookChatController)));
817
721
  class EditStrategy {
818
- constructor(_session) {
819
- this._session = _session;
722
+ constructor() {
820
723
  this._editCount = 0;
821
724
  }
822
725
  async makeProgressiveChanges(editor, edits, opts) {
@@ -843,33 +746,6 @@ class EditStrategy {
843
746
  }
844
747
  editor.executeEdits('inline-chat-live', edits, cursorStateComputerAndInlineDiffCollection);
845
748
  }
846
- async apply(editor) {
847
- if (this._editCount > 0) {
848
- editor.pushUndoStop();
849
- }
850
- if (!(this._session.lastExchange?.response instanceof ReplyResponse)) {
851
- return;
852
- }
853
- const { untitledTextModel } = this._session.lastExchange.response;
854
- if (untitledTextModel && !untitledTextModel.isDisposed() && untitledTextModel.isDirty()) {
855
- await untitledTextModel.save({ reason: 1 });
856
- }
857
- }
858
- async cancel() {
859
- const { textModelN: modelN, textModelNAltVersion, textModelNSnapshotAltVersion } = this._session;
860
- if (modelN.isDisposed()) {
861
- return;
862
- }
863
- const targetAltVersion = textModelNSnapshotAltVersion ?? textModelNAltVersion;
864
- while (targetAltVersion < modelN.getAlternativeVersionId() && modelN.canUndo()) {
865
- modelN.undo();
866
- }
867
- }
868
- createSnapshot() {
869
- if (this._session && !this._session.textModel0.equalsTextBuffer(this._session.textModelN.getTextBuffer())) {
870
- this._session.createSnapshot();
871
- }
872
- }
873
749
  }
874
750
  registerNotebookContribution(NotebookChatController.id, NotebookChatController);
875
751
  export { EditStrategy, NotebookChatController };