@codingame/monaco-vscode-api 25.1.1 → 26.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2254) hide show
  1. package/_virtual/_commonjsHelpers.js +5 -0
  2. package/_virtual/main.js +25 -0
  3. package/_virtual/main4.js +3 -0
  4. package/external/@vscode/tree-sitter-wasm/wasm/tree-sitter.js +3291 -0
  5. package/external/vscode-textmate/release/main.js +14 -0
  6. package/missing-services.js +277 -64
  7. package/package.json +8 -8
  8. package/services.js +5 -6
  9. package/vscode/product.json.js +1 -1
  10. package/vscode/src/vs/base/browser/broadcast.js +13 -12
  11. package/vscode/src/vs/base/browser/browser.js +19 -13
  12. package/vscode/src/vs/base/browser/cssValue.js +9 -9
  13. package/vscode/src/vs/base/browser/dom.d.ts +99 -2
  14. package/vscode/src/vs/base/browser/dom.js +468 -321
  15. package/vscode/src/vs/base/browser/domSanitize.js +139 -136
  16. package/vscode/src/vs/base/browser/domStylesheets.d.ts +0 -11
  17. package/vscode/src/vs/base/browser/domStylesheets.js +30 -24
  18. package/vscode/src/vs/base/browser/event.js +1 -1
  19. package/vscode/src/vs/base/browser/fastDomNode.js +30 -30
  20. package/vscode/src/vs/base/browser/fonts.js +2 -3
  21. package/vscode/src/vs/base/browser/formattedTextRenderer.js +41 -46
  22. package/vscode/src/vs/base/browser/globalPointerMoveMonitor.js +13 -8
  23. package/vscode/src/vs/base/browser/iframe.js +10 -9
  24. package/vscode/src/vs/base/browser/indexedDB.js +22 -19
  25. package/vscode/src/vs/base/browser/keyboardEvent.js +26 -24
  26. package/vscode/src/vs/base/browser/markdownRenderer.js +321 -234
  27. package/vscode/src/vs/base/browser/pixelRatio.js +9 -9
  28. package/vscode/src/vs/base/browser/touch.d.ts +7 -0
  29. package/vscode/src/vs/base/browser/touch.js +63 -35
  30. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +79 -72
  31. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css +8 -5
  32. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
  33. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +94 -96
  34. package/vscode/src/vs/base/browser/ui/aria/aria.js +14 -16
  35. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +52 -35
  36. package/vscode/src/vs/base/browser/ui/button/button.css +14 -5
  37. package/vscode/src/vs/base/browser/ui/button/button.d.ts +2 -0
  38. package/vscode/src/vs/base/browser/ui/button/button.js +154 -132
  39. package/vscode/src/vs/base/browser/ui/centered/centeredViewLayout.js +71 -30
  40. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css +2 -0
  41. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  42. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +108 -76
  43. package/vscode/src/vs/base/browser/ui/countBadge/countBadge.js +13 -9
  44. package/vscode/src/vs/base/browser/ui/dialog/dialog.css +2 -8
  45. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +130 -114
  46. package/vscode/src/vs/base/browser/ui/dnd/dnd.js +3 -3
  47. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +15 -16
  48. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +44 -28
  49. package/vscode/src/vs/base/browser/ui/findinput/findInput.d.ts +1 -0
  50. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +68 -52
  51. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +48 -40
  52. package/vscode/src/vs/base/browser/ui/grid/grid.js +180 -111
  53. package/vscode/src/vs/base/browser/ui/grid/gridview.js +235 -128
  54. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +10 -0
  55. package/vscode/src/vs/base/browser/ui/hover/hoverDelegateFactory.js +11 -7
  56. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +19 -20
  57. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +106 -75
  58. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabels.js +4 -2
  59. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +70 -52
  60. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.css +1 -1
  61. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.d.ts +1 -0
  62. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +161 -132
  63. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +39 -15
  64. package/vscode/src/vs/base/browser/ui/list/list.d.ts +3 -0
  65. package/vscode/src/vs/base/browser/ui/list/list.js +4 -3
  66. package/vscode/src/vs/base/browser/ui/list/listPaging.js +97 -32
  67. package/vscode/src/vs/base/browser/ui/list/listView.d.ts +1 -0
  68. package/vscode/src/vs/base/browser/ui/list/listView.js +381 -221
  69. package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +12 -1
  70. package/vscode/src/vs/base/browser/ui/list/listWidget.js +453 -319
  71. package/vscode/src/vs/base/browser/ui/list/rangeMap.js +33 -7
  72. package/vscode/src/vs/base/browser/ui/list/rowCache.js +19 -12
  73. package/vscode/src/vs/base/browser/ui/menu/menu.js +349 -324
  74. package/vscode/src/vs/base/browser/ui/menu/menubar.js +245 -222
  75. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +31 -30
  76. package/vscode/src/vs/base/browser/ui/radio/radio.css +69 -0
  77. package/vscode/src/vs/base/browser/ui/radio/radio.d.ts +37 -0
  78. package/vscode/src/vs/base/browser/ui/radio/radio.js +77 -0
  79. package/vscode/src/vs/base/browser/ui/resizable/resizable.js +83 -36
  80. package/vscode/src/vs/base/browser/ui/sash/sash.js +130 -106
  81. package/vscode/src/vs/base/browser/ui/scrollbar/abstractScrollbar.js +43 -33
  82. package/vscode/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +17 -8
  83. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +92 -88
  84. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarArrow.js +32 -28
  85. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarState.js +22 -7
  86. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +2 -3
  87. package/vscode/src/vs/base/browser/ui/scrollbar/verticalScrollbar.js +14 -7
  88. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.css +2 -2
  89. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +3 -4
  90. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.css +1 -1
  91. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +238 -184
  92. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxNative.js +23 -28
  93. package/vscode/src/vs/base/browser/ui/severityIcon/severityIcon.js +11 -11
  94. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +105 -70
  95. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +306 -159
  96. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +127 -44
  97. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +86 -79
  98. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.css +14 -2
  99. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +5 -0
  100. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +84 -49
  101. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +619 -331
  102. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.d.ts +1 -1
  103. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +277 -140
  104. package/vscode/src/vs/base/browser/ui/tree/compressedObjectTreeModel.js +113 -50
  105. package/vscode/src/vs/base/browser/ui/tree/dataTree.js +30 -12
  106. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +184 -77
  107. package/vscode/src/vs/base/browser/ui/tree/media/tree.css +2 -0
  108. package/vscode/src/vs/base/browser/ui/tree/objectTree.js +33 -19
  109. package/vscode/src/vs/base/browser/ui/tree/objectTreeModel.js +19 -19
  110. package/vscode/src/vs/base/browser/ui/tree/tree.js +4 -4
  111. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +1 -1
  112. package/vscode/src/vs/base/browser/ui/widget.js +18 -6
  113. package/vscode/src/vs/base/common/actions.js +54 -29
  114. package/vscode/src/vs/base/common/arrays.js +58 -51
  115. package/vscode/src/vs/base/common/arraysFind.js +6 -6
  116. package/vscode/src/vs/base/common/assert.js +8 -9
  117. package/vscode/src/vs/base/common/async.js +182 -130
  118. package/vscode/src/vs/base/common/buffer.js +73 -83
  119. package/vscode/src/vs/base/common/cache.js +4 -6
  120. package/vscode/src/vs/base/common/cancellation.js +16 -11
  121. package/vscode/src/vs/base/common/codicons.d.ts +4 -0
  122. package/vscode/src/vs/base/common/codicons.js +28 -28
  123. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +4 -0
  124. package/vscode/src/vs/base/common/codiconsLibrary.js +4 -0
  125. package/vscode/src/vs/base/common/codiconsUtil.js +3 -1
  126. package/vscode/src/vs/base/common/collections.js +12 -4
  127. package/vscode/src/vs/base/common/color.js +445 -246
  128. package/vscode/src/vs/base/common/comparers.js +39 -38
  129. package/vscode/src/vs/base/common/controlFlow.js +3 -6
  130. package/vscode/src/vs/base/common/dataTransfer.js +20 -16
  131. package/vscode/src/vs/base/common/date.js +62 -150
  132. package/vscode/src/vs/base/common/decorators.js +16 -19
  133. package/vscode/src/vs/base/common/defaultAccount.d.ts +41 -13
  134. package/vscode/src/vs/base/common/diff/diff.js +261 -106
  135. package/vscode/src/vs/base/common/equals.js +5 -6
  136. package/vscode/src/vs/base/common/errorMessage.js +11 -12
  137. package/vscode/src/vs/base/common/errors.js +28 -23
  138. package/vscode/src/vs/base/common/event.d.ts +18 -0
  139. package/vscode/src/vs/base/common/event.js +164 -87
  140. package/vscode/src/vs/base/common/extpath.js +21 -25
  141. package/vscode/src/vs/base/common/filters.js +190 -120
  142. package/vscode/src/vs/base/common/fuzzyScorer.js +208 -70
  143. package/vscode/src/vs/base/common/glob.js +125 -130
  144. package/vscode/src/vs/base/common/hash.js +43 -52
  145. package/vscode/src/vs/base/common/hierarchicalKind.js +10 -4
  146. package/vscode/src/vs/base/common/history.js +12 -11
  147. package/vscode/src/vs/base/common/htmlContent.js +43 -55
  148. package/vscode/src/vs/base/common/iconLabels.js +26 -13
  149. package/vscode/src/vs/base/common/idGenerator.js +1 -1
  150. package/vscode/src/vs/base/common/iterator.js +10 -9
  151. package/vscode/src/vs/base/common/json.js +301 -254
  152. package/vscode/src/vs/base/common/jsonEdit.js +86 -48
  153. package/vscode/src/vs/base/common/jsonErrorMessages.js +20 -11
  154. package/vscode/src/vs/base/common/jsonSchema.d.ts +1 -0
  155. package/vscode/src/vs/base/common/jsonSchema.js +34 -13
  156. package/vscode/src/vs/base/common/keyCodes.d.ts +3 -0
  157. package/vscode/src/vs/base/common/keyCodes.js +1798 -251
  158. package/vscode/src/vs/base/common/keybindingLabels.js +58 -58
  159. package/vscode/src/vs/base/common/keybindingParser.js +9 -10
  160. package/vscode/src/vs/base/common/keybindings.js +19 -41
  161. package/vscode/src/vs/base/common/labels.js +89 -55
  162. package/vscode/src/vs/base/common/lazy.js +11 -10
  163. package/vscode/src/vs/base/common/lifecycle.js +76 -55
  164. package/vscode/src/vs/base/common/linkedList.js +11 -17
  165. package/vscode/src/vs/base/common/linkedText.js +13 -9
  166. package/vscode/src/vs/base/common/map.js +82 -78
  167. package/vscode/src/vs/base/common/marshalling.js +10 -9
  168. package/vscode/src/vs/base/common/mime.js +72 -72
  169. package/vscode/src/vs/base/common/naturalLanguage/korean.js +139 -134
  170. package/vscode/src/vs/base/common/network.d.ts +6 -0
  171. package/vscode/src/vs/base/common/network.js +92 -82
  172. package/vscode/src/vs/base/common/normalization.js +5 -6
  173. package/vscode/src/vs/base/common/numbers.js +1 -1
  174. package/vscode/src/vs/base/common/oauth.js +138 -111
  175. package/vscode/src/vs/base/common/objects.js +13 -17
  176. package/vscode/src/vs/base/common/observableInternal/base.d.ts +4 -0
  177. package/vscode/src/vs/base/common/observableInternal/base.js +2 -2
  178. package/vscode/src/vs/base/common/observableInternal/changeTracker.js +16 -10
  179. package/vscode/src/vs/base/common/observableInternal/debugLocation.js +5 -6
  180. package/vscode/src/vs/base/common/observableInternal/debugName.js +5 -6
  181. package/vscode/src/vs/base/common/observableInternal/experimental/reducer.js +1 -1
  182. package/vscode/src/vs/base/common/observableInternal/experimental/utils.js +5 -4
  183. package/vscode/src/vs/base/common/observableInternal/index.js +1 -1
  184. package/vscode/src/vs/base/common/observableInternal/logging/consoleObservableLogger.js +121 -115
  185. package/vscode/src/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js +26 -26
  186. package/vscode/src/vs/base/common/observableInternal/logging/debugger/debuggerRpc.js +17 -16
  187. package/vscode/src/vs/base/common/observableInternal/logging/debugger/devToolsLogger.js +155 -81
  188. package/vscode/src/vs/base/common/observableInternal/logging/debugger/rpc.js +18 -11
  189. package/vscode/src/vs/base/common/observableInternal/logging/logging.js +2 -4
  190. package/vscode/src/vs/base/common/observableInternal/map.js +4 -2
  191. package/vscode/src/vs/base/common/observableInternal/observables/baseObservable.js +16 -11
  192. package/vscode/src/vs/base/common/observableInternal/observables/constObservable.js +2 -4
  193. package/vscode/src/vs/base/common/observableInternal/observables/derived.js +7 -5
  194. package/vscode/src/vs/base/common/observableInternal/observables/derivedImpl.js +58 -34
  195. package/vscode/src/vs/base/common/observableInternal/observables/lazyObservableValue.js +20 -10
  196. package/vscode/src/vs/base/common/observableInternal/observables/observableFromEvent.js +34 -15
  197. package/vscode/src/vs/base/common/observableInternal/observables/observableSignal.js +4 -6
  198. package/vscode/src/vs/base/common/observableInternal/observables/observableSignalFromEvent.js +4 -7
  199. package/vscode/src/vs/base/common/observableInternal/observables/observableValue.js +22 -13
  200. package/vscode/src/vs/base/common/observableInternal/reactions/autorun.js +17 -8
  201. package/vscode/src/vs/base/common/observableInternal/reactions/autorunImpl.js +21 -23
  202. package/vscode/src/vs/base/common/observableInternal/set.js +4 -2
  203. package/vscode/src/vs/base/common/observableInternal/transaction.js +15 -14
  204. package/vscode/src/vs/base/common/observableInternal/utils/promise.js +10 -4
  205. package/vscode/src/vs/base/common/observableInternal/utils/runOnChange.js +5 -2
  206. package/vscode/src/vs/base/common/observableInternal/utils/utils.js +28 -27
  207. package/vscode/src/vs/base/common/observableInternal/utils/utilsCancellation.js +7 -5
  208. package/vscode/src/vs/base/common/paging.js +15 -15
  209. package/vscode/src/vs/base/common/path.js +204 -283
  210. package/vscode/src/vs/base/common/platform.js +52 -54
  211. package/vscode/src/vs/base/common/policy.d.ts +2 -2
  212. package/vscode/src/vs/base/common/policy.js +1 -1
  213. package/vscode/src/vs/base/common/prefixTree.js +19 -10
  214. package/vscode/src/vs/base/common/processes.js +4 -6
  215. package/vscode/src/vs/base/common/product.d.ts +5 -12
  216. package/vscode/src/vs/base/common/resourceTree.js +8 -11
  217. package/vscode/src/vs/base/common/resources.js +42 -29
  218. package/vscode/src/vs/base/common/scrollable.js +25 -27
  219. package/vscode/src/vs/base/common/sseParser.js +41 -42
  220. package/vscode/src/vs/base/common/stream.js +59 -53
  221. package/vscode/src/vs/base/common/strings.d.ts +6 -0
  222. package/vscode/src/vs/base/common/strings.js +172 -126
  223. package/vscode/src/vs/base/common/ternarySearchTree.js +98 -144
  224. package/vscode/src/vs/base/common/tfIdf.js +20 -13
  225. package/vscode/src/vs/base/common/themables.js +26 -18
  226. package/vscode/src/vs/base/common/types.js +11 -19
  227. package/vscode/src/vs/base/common/uri.js +98 -137
  228. package/vscode/src/vs/base/common/uriIpc.js +2 -2
  229. package/vscode/src/vs/base/common/uriTransformer.d.ts +2 -0
  230. package/vscode/src/vs/base/common/uriTransformer.js +59 -0
  231. package/vscode/src/vs/base/common/uuid.js +8 -8
  232. package/vscode/src/vs/base/common/validation.js +117 -32
  233. package/vscode/src/vs/base/common/worker/webWorker.js +49 -50
  234. package/vscode/src/vs/base/common/worker/webWorkerBootstrap.js +4 -7
  235. package/vscode/src/vs/base/common/yaml.js +161 -147
  236. package/vscode/src/vs/base/parts/ipc/common/ipc.js +242 -138
  237. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +96 -58
  238. package/vscode/src/vs/base/parts/storage/common/storage.js +31 -19
  239. package/vscode/src/vs/editor/browser/config/charWidthReader.js +15 -16
  240. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +31 -22
  241. package/vscode/src/vs/editor/browser/config/elementSizeObserver.js +13 -11
  242. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +30 -19
  243. package/vscode/src/vs/editor/browser/config/migrateOptions.js +123 -110
  244. package/vscode/src/vs/editor/browser/controller/dragScrolling.js +21 -17
  245. package/vscode/src/vs/editor/browser/controller/editContext/clipboardUtils.d.ts +101 -11
  246. package/vscode/src/vs/editor/browser/controller/editContext/clipboardUtils.js +117 -40
  247. package/vscode/src/vs/editor/browser/controller/editContext/editContext.d.ts +8 -0
  248. package/vscode/src/vs/editor/browser/controller/editContext/editContext.js +10 -0
  249. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +7 -5
  250. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +149 -90
  251. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContextUtils.js +5 -7
  252. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentRich.js +46 -34
  253. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentSimple.js +22 -19
  254. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +29 -25
  255. package/vscode/src/vs/editor/browser/controller/editContext/screenReaderUtils.js +15 -22
  256. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +168 -111
  257. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.d.ts +8 -2
  258. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +134 -102
  259. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextState.js +40 -22
  260. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +115 -79
  261. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +202 -127
  262. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +59 -32
  263. package/vscode/src/vs/editor/browser/coreCommands.js +597 -371
  264. package/vscode/src/vs/editor/browser/dataTransfer.js +6 -11
  265. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +5 -0
  266. package/vscode/src/vs/editor/browser/editorDom.js +27 -23
  267. package/vscode/src/vs/editor/browser/editorExtensions.js +119 -85
  268. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.js +59 -23
  269. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlasPage.js +32 -20
  270. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlasShelfAllocator.js +6 -6
  271. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlasSlabAllocator.js +14 -14
  272. package/vscode/src/vs/editor/browser/gpu/contentSegmenter.js +3 -1
  273. package/vscode/src/vs/editor/browser/gpu/css/decorationCssRuleExtractor.d.ts +7 -0
  274. package/vscode/src/vs/editor/browser/gpu/css/decorationCssRuleExtractor.js +32 -14
  275. package/vscode/src/vs/editor/browser/gpu/css/decorationStyleCache.js +26 -4
  276. package/vscode/src/vs/editor/browser/gpu/gpuDisposable.js +4 -5
  277. package/vscode/src/vs/editor/browser/gpu/gpuUtils.js +9 -15
  278. package/vscode/src/vs/editor/browser/gpu/objectCollectionBuffer.js +11 -3
  279. package/vscode/src/vs/editor/browser/gpu/raster/glyphRasterizer.js +48 -40
  280. package/vscode/src/vs/editor/browser/gpu/rectangleRenderer.js +99 -60
  281. package/vscode/src/vs/editor/browser/gpu/renderStrategy/fullFileRenderStrategy.js +102 -57
  282. package/vscode/src/vs/editor/browser/gpu/renderStrategy/viewportRenderStrategy.d.ts +1 -0
  283. package/vscode/src/vs/editor/browser/gpu/renderStrategy/viewportRenderStrategy.js +100 -50
  284. package/vscode/src/vs/editor/browser/gpu/taskQueue.js +5 -5
  285. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.d.ts +3 -1
  286. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +103 -59
  287. package/vscode/src/vs/editor/browser/observableCodeEditor.d.ts +17 -0
  288. package/vscode/src/vs/editor/browser/observableCodeEditor.js +142 -56
  289. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +160 -123
  290. package/vscode/src/vs/editor/browser/services/bulkEditService.js +6 -12
  291. package/vscode/src/vs/editor/browser/services/bulkEditService.service.js +1 -1
  292. package/vscode/src/vs/editor/browser/services/codeEditorService.service.js +1 -1
  293. package/vscode/src/vs/editor/browser/services/contribution.js +12 -0
  294. package/vscode/src/vs/editor/browser/services/editorWorkerService.d.ts +1 -0
  295. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +88 -60
  296. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.js +62 -34
  297. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.service.js +1 -1
  298. package/vscode/src/vs/editor/browser/services/markerDecorations.js +5 -9
  299. package/vscode/src/vs/editor/browser/services/openerService.js +42 -40
  300. package/vscode/src/vs/editor/browser/services/renameSymbolTrackerService.d.ts +40 -0
  301. package/vscode/src/vs/editor/browser/services/renameSymbolTrackerService.js +13 -0
  302. package/vscode/src/vs/editor/browser/services/renameSymbolTrackerService.service.d.ts +10 -0
  303. package/vscode/src/vs/editor/browser/services/renameSymbolTrackerService.service.js +6 -0
  304. package/vscode/src/vs/editor/browser/stableEditorScroll.js +17 -3
  305. package/vscode/src/vs/editor/browser/triggerInlineEditCommandsRegistry.js +3 -1
  306. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +133 -89
  307. package/vscode/src/vs/editor/browser/view/renderingContext.js +6 -2
  308. package/vscode/src/vs/editor/browser/view/viewController.d.ts +13 -0
  309. package/vscode/src/vs/editor/browser/view/viewController.js +102 -62
  310. package/vscode/src/vs/editor/browser/view/viewLayer.js +57 -26
  311. package/vscode/src/vs/editor/browser/view/viewOverlays.js +11 -13
  312. package/vscode/src/vs/editor/browser/view/viewPart.d.ts +2 -0
  313. package/vscode/src/vs/editor/browser/view/viewPart.js +4 -3
  314. package/vscode/src/vs/editor/browser/view/viewUserInputEvents.js +4 -2
  315. package/vscode/src/vs/editor/browser/view.d.ts +11 -0
  316. package/vscode/src/vs/editor/browser/view.js +127 -60
  317. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +9 -13
  318. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +99 -62
  319. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +28 -17
  320. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +33 -19
  321. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +28 -16
  322. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +25 -26
  323. package/vscode/src/vs/editor/browser/viewParts/gpuMark/gpuMark.js +6 -4
  324. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +110 -69
  325. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +25 -19
  326. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +5 -5
  327. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +13 -10
  328. package/vscode/src/vs/editor/browser/viewParts/marginDecorations/marginDecorations.js +3 -3
  329. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +435 -241
  330. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRenderer.js +25 -4
  331. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRendererFactory.js +17 -10
  332. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapPreBaked.js +17 -13
  333. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +35 -29
  334. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +84 -120
  335. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +7 -9
  336. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.css +1 -0
  337. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +8 -9
  338. package/vscode/src/vs/editor/browser/viewParts/rulersGpu/rulersGpu.js +4 -7
  339. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +6 -8
  340. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +79 -46
  341. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +43 -39
  342. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +78 -65
  343. package/vscode/src/vs/editor/browser/viewParts/viewLines/rangeUtil.js +3 -6
  344. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.d.ts +1 -0
  345. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +89 -46
  346. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.d.ts +1 -0
  347. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +86 -50
  348. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.d.ts +14 -0
  349. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +244 -118
  350. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +57 -54
  351. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +64 -49
  352. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorContributions.js +7 -6
  353. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +9 -0
  354. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +508 -286
  355. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js +24 -15
  356. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +56 -52
  357. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +228 -155
  358. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +64 -25
  359. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +98 -42
  360. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +7 -5
  361. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/copySelection.js +11 -11
  362. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +158 -98
  363. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +51 -35
  364. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +71 -19
  365. package/vscode/src/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js +15 -6
  366. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +30 -27
  367. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +117 -37
  368. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +131 -84
  369. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +315 -137
  370. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +30 -26
  371. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.service.js +1 -1
  372. package/vscode/src/vs/editor/browser/widget/diffEditor/embeddedDiffEditorWidget.js +27 -11
  373. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +107 -65
  374. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +200 -136
  375. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +123 -65
  376. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +63 -36
  377. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +16 -13
  378. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +40 -35
  379. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +37 -23
  380. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +56 -37
  381. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/editorMarkdownCodeBlockRenderer.js +17 -18
  382. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +13 -3
  383. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +89 -77
  384. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +35 -24
  385. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +10 -6
  386. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +137 -79
  387. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/objectPool.js +2 -4
  388. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css +2 -41
  389. package/vscode/src/vs/editor/common/commands/replaceCommand.js +13 -6
  390. package/vscode/src/vs/editor/common/commands/shiftCommand.js +21 -26
  391. package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +2 -4
  392. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +198 -217
  393. package/vscode/src/vs/editor/common/config/editorOptions.js +1970 -1937
  394. package/vscode/src/vs/editor/common/config/editorZoom.js +1 -1
  395. package/vscode/src/vs/editor/common/config/fontInfo.js +23 -28
  396. package/vscode/src/vs/editor/common/core/2d/point.js +1 -2
  397. package/vscode/src/vs/editor/common/core/2d/rect.js +14 -18
  398. package/vscode/src/vs/editor/common/core/2d/size.js +4 -1
  399. package/vscode/src/vs/editor/common/core/characterClassifier.js +3 -5
  400. package/vscode/src/vs/editor/common/core/editorColorRegistry.d.ts +1 -0
  401. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +337 -171
  402. package/vscode/src/vs/editor/common/core/edits/edit.js +30 -21
  403. package/vscode/src/vs/editor/common/core/edits/lengthEdit.js +6 -2
  404. package/vscode/src/vs/editor/common/core/edits/lineEdit.js +43 -45
  405. package/vscode/src/vs/editor/common/core/edits/stringEdit.js +59 -26
  406. package/vscode/src/vs/editor/common/core/edits/textEdit.js +64 -84
  407. package/vscode/src/vs/editor/common/core/misc/rgba.js +4 -5
  408. package/vscode/src/vs/editor/common/core/position.js +8 -11
  409. package/vscode/src/vs/editor/common/core/range.js +10 -26
  410. package/vscode/src/vs/editor/common/core/ranges/columnRange.js +4 -3
  411. package/vscode/src/vs/editor/common/core/ranges/lineRange.js +39 -35
  412. package/vscode/src/vs/editor/common/core/ranges/offsetRange.d.ts +1 -0
  413. package/vscode/src/vs/editor/common/core/ranges/offsetRange.js +6 -5
  414. package/vscode/src/vs/editor/common/core/ranges/rangeSingleLine.js +3 -1
  415. package/vscode/src/vs/editor/common/core/selection.js +17 -15
  416. package/vscode/src/vs/editor/common/core/stringBuilder.js +6 -7
  417. package/vscode/src/vs/editor/common/core/text/abstractText.js +2 -2
  418. package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.js +11 -7
  419. package/vscode/src/vs/editor/common/core/text/textLength.js +14 -15
  420. package/vscode/src/vs/editor/common/core/textChange.js +8 -21
  421. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +6 -5
  422. package/vscode/src/vs/editor/common/core/wordHelper.js +14 -17
  423. package/vscode/src/vs/editor/common/cursor/cursor.js +221 -80
  424. package/vscode/src/vs/editor/common/cursor/cursorCollection.js +5 -9
  425. package/vscode/src/vs/editor/common/cursor/cursorColumnSelection.js +48 -7
  426. package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.js +37 -31
  427. package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +373 -229
  428. package/vscode/src/vs/editor/common/cursor/cursorMoveOperations.js +138 -49
  429. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +189 -112
  430. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +47 -7
  431. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +132 -97
  432. package/vscode/src/vs/editor/common/cursor/oneCursor.js +18 -8
  433. package/vscode/src/vs/editor/common/cursorCommon.js +24 -41
  434. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +22 -11
  435. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.js +6 -12
  436. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.js +6 -9
  437. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +66 -24
  438. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +71 -36
  439. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +33 -38
  440. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +18 -28
  441. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/utils.js +4 -2
  442. package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.js +139 -48
  443. package/vscode/src/vs/editor/common/diff/linesDiffComputer.js +5 -3
  444. package/vscode/src/vs/editor/common/diff/linesDiffComputers.js +1 -1
  445. package/vscode/src/vs/editor/common/diff/rangeMapping.js +15 -23
  446. package/vscode/src/vs/editor/common/editorContextKeys.d.ts +1 -0
  447. package/vscode/src/vs/editor/common/editorContextKeys.js +63 -62
  448. package/vscode/src/vs/editor/common/inputMode.js +1 -1
  449. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +24 -29
  450. package/vscode/src/vs/editor/common/languageSelector.js +45 -37
  451. package/vscode/src/vs/editor/common/languages/autoIndent.js +74 -44
  452. package/vscode/src/vs/editor/common/languages/defaultDocumentColorsComputer.js +47 -21
  453. package/vscode/src/vs/editor/common/languages/enterAction.js +6 -9
  454. package/vscode/src/vs/editor/common/languages/language.service.js +1 -1
  455. package/vscode/src/vs/editor/common/languages/languageConfiguration.js +29 -22
  456. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +47 -46
  457. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.service.js +1 -1
  458. package/vscode/src/vs/editor/common/languages/linkComputer.js +56 -61
  459. package/vscode/src/vs/editor/common/languages/modesRegistry.js +24 -25
  460. package/vscode/src/vs/editor/common/languages/nullTokenize.js +3 -7
  461. package/vscode/src/vs/editor/common/languages/supports/characterPair.js +21 -11
  462. package/vscode/src/vs/editor/common/languages/supports/indentationLineProcessor.js +19 -13
  463. package/vscode/src/vs/editor/common/languages/supports/inplaceReplaceSupport.js +15 -12
  464. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.js +15 -12
  465. package/vscode/src/vs/editor/common/languages/supports/onEnter.js +23 -24
  466. package/vscode/src/vs/editor/common/languages/supports/richEditBrackets.js +2 -2
  467. package/vscode/src/vs/editor/common/languages/supports/tokenization.d.ts +1 -1
  468. package/vscode/src/vs/editor/common/languages/supports/tokenization.js +82 -70
  469. package/vscode/src/vs/editor/common/languages/supports.js +9 -2
  470. package/vscode/src/vs/editor/common/languages/textToHtmlTokenizer.js +49 -46
  471. package/vscode/src/vs/editor/common/languages.d.ts +24 -3
  472. package/vscode/src/vs/editor/common/languages.js +184 -150
  473. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +139 -69
  474. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js +48 -42
  475. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper.js +15 -9
  476. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +136 -46
  477. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js +3 -4
  478. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/combineTextEditInfos.js +21 -20
  479. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js +18 -23
  480. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +2 -5
  481. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/nodeReader.js +7 -13
  482. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js +21 -22
  483. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js +6 -2
  484. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js +20 -27
  485. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.d.ts +2 -2
  486. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js +23 -14
  487. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js +12 -12
  488. package/vscode/src/vs/editor/common/model/decorationProvider.d.ts +2 -2
  489. package/vscode/src/vs/editor/common/model/editStack.js +39 -21
  490. package/vscode/src/vs/editor/common/model/guidesTextModelPart.js +58 -53
  491. package/vscode/src/vs/editor/common/model/indentationGuesser.js +14 -13
  492. package/vscode/src/vs/editor/common/model/intervalTree.js +89 -59
  493. package/vscode/src/vs/editor/common/model/mirrorTextModel.js +16 -9
  494. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +277 -197
  495. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +40 -36
  496. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js +23 -14
  497. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js +20 -39
  498. package/vscode/src/vs/editor/common/model/prefixSumComputer.js +2 -4
  499. package/vscode/src/vs/editor/common/model/textModel.js +553 -278
  500. package/vscode/src/vs/editor/common/model/textModelPart.js +1 -1
  501. package/vscode/src/vs/editor/common/model/textModelSearch.js +72 -27
  502. package/vscode/src/vs/editor/common/model/textModelStringEdit.js +5 -3
  503. package/vscode/src/vs/editor/common/model/textModelTokens.js +87 -40
  504. package/vscode/src/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +21 -9
  505. package/vscode/src/vs/editor/common/model/tokens/annotations.js +47 -27
  506. package/vscode/src/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.d.ts +1 -1
  507. package/vscode/src/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js +39 -27
  508. package/vscode/src/vs/editor/common/model/tokens/tokenizationTextModelPart.js +58 -35
  509. package/vscode/src/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.js +40 -33
  510. package/vscode/src/vs/editor/common/model/tokens/treeSitter/cursorUtils.d.ts +1 -1
  511. package/vscode/src/vs/editor/common/model/tokens/treeSitter/cursorUtils.js +7 -11
  512. package/vscode/src/vs/editor/common/model/tokens/treeSitter/tokenStore.js +99 -60
  513. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.js +31 -18
  514. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTokenizationImpl.d.ts +1 -1
  515. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTokenizationImpl.js +255 -97
  516. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.d.ts +1 -1
  517. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.js +98 -67
  518. package/vscode/src/vs/editor/common/model.d.ts +1 -1
  519. package/vscode/src/vs/editor/common/modelLineProjectionData.js +19 -28
  520. package/vscode/src/vs/editor/common/services/completionsEnablement.d.ts +30 -0
  521. package/vscode/src/vs/editor/common/services/completionsEnablement.js +32 -0
  522. package/vscode/src/vs/editor/common/services/editorWebWorker.js +116 -54
  523. package/vscode/src/vs/editor/common/services/editorWorker.service.js +1 -1
  524. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +19 -11
  525. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +6 -12
  526. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.service.js +1 -1
  527. package/vscode/src/vs/editor/common/services/languageFeatures.service.js +1 -1
  528. package/vscode/src/vs/editor/common/services/languageService.js +6 -4
  529. package/vscode/src/vs/editor/common/services/languagesAssociations.js +47 -22
  530. package/vscode/src/vs/editor/common/services/languagesRegistry.js +38 -24
  531. package/vscode/src/vs/editor/common/services/markerDecorations.service.js +1 -1
  532. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +56 -57
  533. package/vscode/src/vs/editor/common/services/model.service.js +1 -1
  534. package/vscode/src/vs/editor/common/services/modelService.js +134 -79
  535. package/vscode/src/vs/editor/common/services/resolverService.service.js +1 -1
  536. package/vscode/src/vs/editor/common/services/semanticTokensDto.js +24 -25
  537. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +61 -33
  538. package/vscode/src/vs/editor/common/services/semanticTokensStyling.service.js +1 -1
  539. package/vscode/src/vs/editor/common/services/semanticTokensStylingService.js +1 -5
  540. package/vscode/src/vs/editor/common/services/textModelSync/textModelSync.impl.js +45 -31
  541. package/vscode/src/vs/editor/common/services/textResourceConfiguration.service.js +2 -2
  542. package/vscode/src/vs/editor/common/services/treeSitter/treeSitterLibraryService.service.d.ts +1 -1
  543. package/vscode/src/vs/editor/common/services/treeSitter/treeSitterLibraryService.service.js +1 -1
  544. package/vscode/src/vs/editor/common/services/treeSitter/treeSitterThemeService.service.js +1 -1
  545. package/vscode/src/vs/editor/common/services/treeViewsDndService.service.js +1 -1
  546. package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.js +34 -32
  547. package/vscode/src/vs/editor/common/standaloneStrings.js +83 -83
  548. package/vscode/src/vs/editor/common/textModelEditSource.js +62 -37
  549. package/vscode/src/vs/editor/common/textModelEvents.d.ts +4 -4
  550. package/vscode/src/vs/editor/common/textModelEvents.js +17 -21
  551. package/vscode/src/vs/editor/common/textModelGuides.js +9 -4
  552. package/vscode/src/vs/editor/common/tokens/contiguousMultilineTokens.js +2 -4
  553. package/vscode/src/vs/editor/common/tokens/contiguousTokensEditing.js +3 -5
  554. package/vscode/src/vs/editor/common/tokens/contiguousTokensStore.js +37 -15
  555. package/vscode/src/vs/editor/common/tokens/lineTokens.js +21 -22
  556. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +77 -66
  557. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +27 -19
  558. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.js +4 -1
  559. package/vscode/src/vs/editor/common/viewLayout/lineDecorations.js +5 -13
  560. package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +29 -45
  561. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +39 -42
  562. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +24 -17
  563. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +175 -192
  564. package/vscode/src/vs/editor/common/viewModel/glyphLanesModel.js +1 -2
  565. package/vscode/src/vs/editor/common/viewModel/inlineDecorations.js +7 -2
  566. package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.js +3 -1
  567. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +75 -38
  568. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +103 -46
  569. package/vscode/src/vs/editor/common/viewModel/overviewZoneManager.js +2 -4
  570. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.d.ts +1 -1
  571. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +20 -7
  572. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +6 -1
  573. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +260 -123
  574. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +157 -80
  575. package/vscode/src/vs/editor/common/viewModel.d.ts +6 -1
  576. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +25 -12
  577. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +28 -22
  578. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +88 -62
  579. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +4 -4
  580. package/vscode/src/vs/editor/contrib/caretOperations/browser/moveCaretCommand.js +2 -4
  581. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +3 -5
  582. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +173 -127
  583. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +128 -99
  584. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.d.ts +3 -3
  585. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +112 -78
  586. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +27 -22
  587. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.d.ts +3 -0
  588. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +150 -77
  589. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +26 -25
  590. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +48 -17
  591. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +125 -65
  592. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.d.ts +18 -11
  593. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +225 -184
  594. package/vscode/src/vs/editor/contrib/codeAction/common/types.js +28 -29
  595. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +25 -17
  596. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.service.js +1 -1
  597. package/vscode/src/vs/editor/contrib/codelens/browser/codelens.js +23 -22
  598. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +76 -54
  599. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +31 -26
  600. package/vscode/src/vs/editor/contrib/colorPicker/browser/color.js +43 -15
  601. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +45 -28
  602. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerContribution.js +40 -9
  603. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerModel.js +4 -2
  604. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParticipantUtils.js +13 -4
  605. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerBody.js +8 -3
  606. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +8 -6
  607. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +32 -20
  608. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerInsertButton.js +3 -3
  609. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.js +24 -13
  610. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerStrip.js +25 -14
  611. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -3
  612. package/vscode/src/vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider.js +24 -11
  613. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerContribution.js +8 -4
  614. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +20 -20
  615. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +17 -14
  616. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerController.js +14 -9
  617. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerParticipant.js +19 -9
  618. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerWidget.js +59 -35
  619. package/vscode/src/vs/editor/contrib/comment/browser/blockCommentCommand.js +18 -16
  620. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +25 -20
  621. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +76 -26
  622. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +78 -57
  623. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +15 -9
  624. package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +27 -16
  625. package/vscode/src/vs/editor/contrib/dnd/browser/dnd.js +51 -47
  626. package/vscode/src/vs/editor/contrib/dnd/browser/dragAndDropCommand.js +8 -19
  627. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +22 -30
  628. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.service.js +1 -1
  629. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +52 -42
  630. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +172 -191
  631. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +89 -64
  632. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +52 -30
  633. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +8 -10
  634. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +85 -44
  635. package/vscode/src/vs/editor/contrib/editorState/browser/editorState.js +6 -10
  636. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +9 -6
  637. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.service.js +1 -1
  638. package/vscode/src/vs/editor/contrib/find/browser/findController.js +246 -185
  639. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +80 -63
  640. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +126 -81
  641. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +24 -20
  642. package/vscode/src/vs/editor/contrib/find/browser/findState.js +76 -41
  643. package/vscode/src/vs/editor/contrib/find/browser/findWidget.css +5 -6
  644. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +235 -180
  645. package/vscode/src/vs/editor/contrib/find/browser/findWidgetSearchHistory.js +17 -10
  646. package/vscode/src/vs/editor/contrib/find/browser/replacePattern.js +52 -56
  647. package/vscode/src/vs/editor/contrib/find/browser/replaceWidgetHistory.js +17 -10
  648. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.contribution.js +5 -1
  649. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +28 -20
  650. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.d.ts +9 -0
  651. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.js +77 -35
  652. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +243 -169
  653. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +143 -110
  654. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.js +62 -48
  655. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.js +23 -34
  656. package/vscode/src/vs/editor/contrib/folding/browser/hiddenRangeModel.js +8 -5
  657. package/vscode/src/vs/editor/contrib/folding/browser/indentRangeProvider.js +21 -12
  658. package/vscode/src/vs/editor/contrib/folding/browser/syntaxRangeProvider.js +17 -10
  659. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +6 -6
  660. package/vscode/src/vs/editor/contrib/format/browser/format.js +141 -58
  661. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +90 -40
  662. package/vscode/src/vs/editor/contrib/format/browser/formattingEdit.js +6 -7
  663. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.d.ts +14 -1
  664. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +65 -35
  665. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +138 -86
  666. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +13 -32
  667. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.service.js +1 -1
  668. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +276 -190
  669. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +121 -38
  670. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +39 -31
  671. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +68 -47
  672. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +95 -67
  673. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +46 -36
  674. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +106 -79
  675. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +39 -38
  676. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +27 -25
  677. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.service.js +1 -1
  678. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +96 -90
  679. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +3 -4
  680. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +36 -33
  681. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +78 -54
  682. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +8 -7
  683. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +1 -1
  684. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +108 -58
  685. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidgetWrapper.js +39 -29
  686. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +18 -9
  687. package/vscode/src/vs/editor/contrib/hover/browser/glyphHoverComputer.js +2 -2
  688. package/vscode/src/vs/editor/contrib/hover/browser/glyphHoverController.js +27 -18
  689. package/vscode/src/vs/editor/contrib/hover/browser/glyphHoverWidget.js +39 -32
  690. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +59 -48
  691. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +17 -17
  692. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +58 -59
  693. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +16 -4
  694. package/vscode/src/vs/editor/contrib/hover/browser/hoverCopyButton.js +5 -8
  695. package/vscode/src/vs/editor/contrib/hover/browser/hoverOperation.js +22 -22
  696. package/vscode/src/vs/editor/contrib/hover/browser/hoverUtils.d.ts +9 -0
  697. package/vscode/src/vs/editor/contrib/hover/browser/hoverUtils.js +6 -5
  698. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +110 -77
  699. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +82 -56
  700. package/vscode/src/vs/editor/contrib/hover/browser/resizableContentWidget.js +11 -7
  701. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +29 -20
  702. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +104 -78
  703. package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +9 -9
  704. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHints.js +16 -16
  705. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +147 -95
  706. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.service.js +1 -1
  707. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +51 -39
  708. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +34 -28
  709. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +116 -105
  710. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +48 -22
  711. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +192 -101
  712. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +41 -34
  713. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +149 -93
  714. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +5 -1
  715. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +10 -8
  716. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/animation.js +10 -5
  717. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +13 -11
  718. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/computeGhostText.js +16 -17
  719. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/editKind.js +81 -54
  720. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.js +22 -37
  721. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/graph.js +13 -6
  722. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +2 -1
  723. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +324 -211
  724. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +155 -101
  725. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +145 -71
  726. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +175 -62
  727. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.d.ts +50 -1
  728. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +230 -77
  729. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/singleTextEditHelpers.js +2 -3
  730. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +31 -20
  731. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/typingSpeed.js +31 -12
  732. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.js +12 -8
  733. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +12 -6
  734. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.css +7 -0
  735. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.d.ts +3 -0
  736. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +143 -86
  737. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +110 -93
  738. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.d.ts +14 -5
  739. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +200 -160
  740. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +20 -7
  741. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +65 -51
  742. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +190 -122
  743. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js +12 -3
  744. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +15 -13
  745. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +45 -43
  746. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +70 -59
  747. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +51 -49
  748. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +106 -85
  749. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +156 -123
  750. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +252 -202
  751. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +224 -205
  752. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/jumpToView.js +74 -59
  753. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +239 -148
  754. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +102 -73
  755. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistnaceWidgetPlacement.js +36 -14
  756. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +84 -55
  757. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +91 -58
  758. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js +10 -4
  759. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +69 -48
  760. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +59 -36
  761. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +20 -18
  762. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +4 -2
  763. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +8 -4
  764. package/vscode/src/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js +14 -10
  765. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +216 -196
  766. package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +79 -50
  767. package/vscode/src/vs/editor/contrib/linesOperations/browser/sortLinesCommand.js +4 -2
  768. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +62 -40
  769. package/vscode/src/vs/editor/contrib/links/browser/getLinks.js +14 -12
  770. package/vscode/src/vs/editor/contrib/links/browser/links.js +85 -76
  771. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +77 -49
  772. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.js +16 -14
  773. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +178 -104
  774. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +29 -19
  775. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +47 -33
  776. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +83 -76
  777. package/vscode/src/vs/editor/contrib/parameterHints/browser/provideSignatureHelp.js +17 -13
  778. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +145 -59
  779. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.service.js +1 -1
  780. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +6 -2
  781. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +33 -24
  782. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +69 -37
  783. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +113 -85
  784. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +14 -7
  785. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +137 -105
  786. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.css +1 -1
  787. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +218 -155
  788. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +25 -21
  789. package/vscode/src/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +60 -39
  790. package/vscode/src/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js +37 -17
  791. package/vscode/src/vs/editor/contrib/semanticTokens/common/getSemanticTokens.js +66 -42
  792. package/vscode/src/vs/editor/contrib/smartSelect/browser/bracketSelections.js +32 -14
  793. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +59 -48
  794. package/vscode/src/vs/editor/contrib/smartSelect/browser/wordSelections.js +19 -12
  795. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +78 -41
  796. package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +168 -214
  797. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +211 -95
  798. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +127 -131
  799. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +34 -30
  800. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +129 -103
  801. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +59 -50
  802. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +22 -18
  803. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +130 -82
  804. package/vscode/src/vs/editor/contrib/suggest/browser/completionModel.js +54 -44
  805. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +85 -61
  806. package/vscode/src/vs/editor/contrib/suggest/browser/suggestAlternatives.js +20 -9
  807. package/vscode/src/vs/editor/contrib/suggest/browser/suggestCommitCharacters.js +4 -1
  808. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +267 -181
  809. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +60 -33
  810. package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.js +48 -38
  811. package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.service.js +1 -1
  812. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +113 -72
  813. package/vscode/src/vs/editor/contrib/suggest/browser/suggestOvertypingCapturer.js +7 -2
  814. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +305 -227
  815. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +128 -73
  816. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +91 -68
  817. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +24 -17
  818. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +18 -12
  819. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +9 -5
  820. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +113 -113
  821. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +12 -9
  822. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +2 -2
  823. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +25 -22
  824. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +181 -138
  825. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +20 -18
  826. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +74 -41
  827. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js +10 -6
  828. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +165 -118
  829. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +129 -64
  830. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +26 -14
  831. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +80 -52
  832. package/vscode/src/vs/editor/editor.worker.start.js +3 -3
  833. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +16 -9
  834. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +101 -43
  835. package/vscode/src/vs/editor/standalone/browser/services/standaloneWebWorkerService.d.ts +1 -0
  836. package/vscode/src/vs/editor/standalone/browser/services/standaloneWebWorkerService.js +11 -6
  837. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +125 -83
  838. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditorService.js +4 -8
  839. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +13 -9
  840. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +340 -185
  841. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +46 -43
  842. package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterLibraryService.d.ts +1 -1
  843. package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterLibraryService.js +2 -2
  844. package/vscode/src/vs/editor/standalone/common/standaloneTheme.service.js +1 -1
  845. package/vscode/src/vs/nls.d.ts +2 -1
  846. package/vscode/src/vs/nls.js +16 -14
  847. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +16 -20
  848. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -0
  849. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +1 -0
  850. package/vscode/src/vs/platform/accessibility/browser/accessibleView.service.js +1 -1
  851. package/vscode/src/vs/platform/accessibility/common/accessibility.js +5 -6
  852. package/vscode/src/vs/platform/accessibility/common/accessibility.service.js +1 -1
  853. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +572 -347
  854. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.js +1 -1
  855. package/vscode/src/vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler.js +1 -3
  856. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  857. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +26 -1
  858. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +182 -102
  859. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +19 -5
  860. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +65 -40
  861. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.service.js +1 -1
  862. package/vscode/src/vs/platform/actions/browser/actionViewItemService.service.js +1 -1
  863. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +45 -45
  864. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +15 -17
  865. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +167 -117
  866. package/vscode/src/vs/platform/actions/browser/toolbar.js +79 -46
  867. package/vscode/src/vs/platform/actions/common/actions.d.ts +7 -0
  868. package/vscode/src/vs/platform/actions/common/actions.js +763 -254
  869. package/vscode/src/vs/platform/actions/common/actions.service.js +1 -1
  870. package/vscode/src/vs/platform/actions/common/menuResetAction.js +3 -3
  871. package/vscode/src/vs/platform/actions/common/menuService.js +132 -94
  872. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +77 -64
  873. package/vscode/src/vs/platform/clipboard/common/clipboardService.service.js +1 -1
  874. package/vscode/src/vs/platform/commands/common/commands.js +15 -7
  875. package/vscode/src/vs/platform/commands/common/commands.service.js +1 -1
  876. package/vscode/src/vs/platform/configuration/common/configuration.js +63 -70
  877. package/vscode/src/vs/platform/configuration/common/configuration.service.js +1 -1
  878. package/vscode/src/vs/platform/configuration/common/configurationModels.js +287 -100
  879. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +1 -0
  880. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +254 -154
  881. package/vscode/src/vs/platform/configuration/common/configurations.js +54 -36
  882. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +68 -48
  883. package/vscode/src/vs/platform/contextkey/common/contextkey.js +234 -197
  884. package/vscode/src/vs/platform/contextkey/common/contextkey.service.js +1 -1
  885. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +11 -11
  886. package/vscode/src/vs/platform/contextkey/common/scanner.js +171 -143
  887. package/vscode/src/vs/platform/contextview/browser/contextMenuHandler.js +36 -18
  888. package/vscode/src/vs/platform/contextview/browser/contextMenuService.js +17 -14
  889. package/vscode/src/vs/platform/contextview/browser/contextView.service.js +2 -2
  890. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +4 -9
  891. package/vscode/src/vs/platform/dataChannel/browser/forwardingTelemetryService.js +7 -7
  892. package/vscode/src/vs/platform/dataChannel/common/dataChannel.service.js +1 -1
  893. package/vscode/src/vs/platform/debug/common/extensionHostDebug.d.ts +1 -0
  894. package/vscode/src/vs/platform/debug/common/extensionHostDebug.service.js +1 -1
  895. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.d.ts +14 -0
  896. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.d.ts +11 -2
  897. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.js +1 -1
  898. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +5 -0
  899. package/vscode/src/vs/platform/dialogs/browser/dialog.js +20 -15
  900. package/vscode/src/vs/platform/dialogs/common/dialogs.js +39 -39
  901. package/vscode/src/vs/platform/dialogs/common/dialogs.service.js +2 -2
  902. package/vscode/src/vs/platform/dnd/browser/dnd.js +56 -47
  903. package/vscode/src/vs/platform/download/common/download.service.js +1 -1
  904. package/vscode/src/vs/platform/encryption/common/encryptionService.service.js +1 -1
  905. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +2 -0
  906. package/vscode/src/vs/platform/environment/common/environment.service.js +1 -1
  907. package/vscode/src/vs/platform/environment/common/environmentService.d.ts +2 -0
  908. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +37 -17
  909. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.d.ts +0 -1
  910. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.js +0 -1
  911. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.service.js +1 -1
  912. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  913. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +160 -151
  914. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.js +5 -5
  915. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +26 -19
  916. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +11 -15
  917. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +57 -32
  918. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.service.js +1 -1
  919. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +127 -78
  920. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.service.js +1 -1
  921. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +443 -243
  922. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.service.js +1 -1
  923. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +3 -4
  924. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.d.ts +2 -1
  925. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +91 -28
  926. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.service.js +1 -1
  927. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.service.js +1 -1
  928. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +99 -69
  929. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +12 -5
  930. package/vscode/src/vs/platform/extensions/common/extensions.js +47 -39
  931. package/vscode/src/vs/platform/extensions/common/extensions.service.js +1 -1
  932. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +26 -6
  933. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +178 -158
  934. package/vscode/src/vs/platform/externalServices/common/serviceMachineId.js +9 -7
  935. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +145 -84
  936. package/vscode/src/vs/platform/files/common/files.d.ts +21 -1
  937. package/vscode/src/vs/platform/files/common/files.js +108 -79
  938. package/vscode/src/vs/platform/files/common/files.service.d.ts +1 -0
  939. package/vscode/src/vs/platform/files/common/files.service.js +1 -1
  940. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +121 -39
  941. package/vscode/src/vs/platform/files/common/watcher.js +18 -9
  942. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +27 -23
  943. package/vscode/src/vs/platform/hover/browser/hover.js +17 -18
  944. package/vscode/src/vs/platform/hover/browser/hover.service.js +1 -1
  945. package/vscode/src/vs/platform/hover/browser/hoverService.d.ts +27 -5
  946. package/vscode/src/vs/platform/hover/browser/hoverService.js +251 -113
  947. package/vscode/src/vs/platform/hover/browser/hoverWidget.d.ts +8 -0
  948. package/vscode/src/vs/platform/hover/browser/hoverWidget.js +180 -131
  949. package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +9 -13
  950. package/vscode/src/vs/platform/imageResize/common/imageResizeService.service.js +1 -1
  951. package/vscode/src/vs/platform/instantiation/common/extensions.js +1 -1
  952. package/vscode/src/vs/platform/instantiation/common/graph.js +3 -3
  953. package/vscode/src/vs/platform/instantiation/common/instantiation.js +15 -10
  954. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +100 -58
  955. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +3 -3
  956. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.d.ts +1 -0
  957. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +132 -62
  958. package/vscode/src/vs/platform/keybinding/common/baseResolvedKeybinding.js +16 -8
  959. package/vscode/src/vs/platform/keybinding/common/keybinding.service.d.ts +5 -0
  960. package/vscode/src/vs/platform/keybinding/common/keybinding.service.js +1 -1
  961. package/vscode/src/vs/platform/keybinding/common/keybindingResolver.js +38 -26
  962. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.js +10 -8
  963. package/vscode/src/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js +118 -69
  964. package/vscode/src/vs/platform/keyboardLayout/common/keyboardLayout.js +12 -12
  965. package/vscode/src/vs/platform/keyboardLayout/common/keyboardLayout.service.js +1 -1
  966. package/vscode/src/vs/platform/label/common/label.service.js +1 -1
  967. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +11 -16
  968. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.js +1 -1
  969. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
  970. package/vscode/src/vs/platform/layout/browser/layoutService.service.js +1 -1
  971. package/vscode/src/vs/platform/layout/browser/zIndexRegistry.js +3 -3
  972. package/vscode/src/vs/platform/list/browser/listService.js +579 -357
  973. package/vscode/src/vs/platform/list/browser/listService.service.js +1 -1
  974. package/vscode/src/vs/platform/log/browser/log.js +15 -5
  975. package/vscode/src/vs/platform/log/common/bufferLog.js +9 -4
  976. package/vscode/src/vs/platform/log/common/log.js +136 -96
  977. package/vscode/src/vs/platform/log/common/log.service.js +2 -2
  978. package/vscode/src/vs/platform/markdown/browser/markdownRenderer.js +7 -8
  979. package/vscode/src/vs/platform/markdown/browser/markdownRenderer.service.js +1 -1
  980. package/vscode/src/vs/platform/markers/common/markerService.js +50 -32
  981. package/vscode/src/vs/platform/markers/common/markers.js +44 -45
  982. package/vscode/src/vs/platform/markers/common/markers.service.js +1 -1
  983. package/vscode/src/vs/platform/mcp/common/mcpGalleryManifest.service.js +1 -1
  984. package/vscode/src/vs/platform/mcp/common/mcpManagement.d.ts +1 -0
  985. package/vscode/src/vs/platform/mcp/common/mcpManagement.js +2 -1
  986. package/vscode/src/vs/platform/mcp/common/mcpManagement.service.js +3 -3
  987. package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.service.js +1 -1
  988. package/vscode/src/vs/platform/native/common/native.d.ts +10 -0
  989. package/vscode/src/vs/platform/notification/common/notification.js +15 -15
  990. package/vscode/src/vs/platform/notification/common/notification.service.js +1 -1
  991. package/vscode/src/vs/platform/observable/common/observableMemento.js +4 -8
  992. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +12 -3
  993. package/vscode/src/vs/platform/observable/common/wrapInHotClass.js +1 -1
  994. package/vscode/src/vs/platform/opener/browser/link.js +26 -32
  995. package/vscode/src/vs/platform/opener/common/opener.service.js +1 -1
  996. package/vscode/src/vs/platform/policy/common/policy.d.ts +2 -2
  997. package/vscode/src/vs/platform/policy/common/policy.js +24 -6
  998. package/vscode/src/vs/platform/policy/common/policy.service.js +1 -1
  999. package/vscode/src/vs/platform/product/common/product.js +3 -3
  1000. package/vscode/src/vs/platform/product/common/productService.service.js +1 -1
  1001. package/vscode/src/vs/platform/progress/common/progress.js +17 -12
  1002. package/vscode/src/vs/platform/progress/common/progress.service.js +2 -2
  1003. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +3 -11
  1004. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +79 -76
  1005. package/vscode/src/vs/platform/quickinput/browser/quickAccess.d.ts +3 -1
  1006. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +20 -17
  1007. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +163 -141
  1008. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +120 -49
  1009. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +22 -17
  1010. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +354 -257
  1011. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +297 -272
  1012. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +33 -21
  1013. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +40 -33
  1014. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +16 -14
  1015. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +8 -9
  1016. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.js +67 -60
  1017. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +58 -33
  1018. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +77 -37
  1019. package/vscode/src/vs/platform/quickinput/common/quickAccess.d.ts +11 -4
  1020. package/vscode/src/vs/platform/quickinput/common/quickAccess.js +14 -9
  1021. package/vscode/src/vs/platform/quickinput/common/quickInput.js +9 -6
  1022. package/vscode/src/vs/platform/quickinput/common/quickInput.service.js +1 -1
  1023. package/vscode/src/vs/platform/registry/common/platform.js +2 -2
  1024. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +268 -131
  1025. package/vscode/src/vs/platform/remote/common/remoteAgentEnvironment.d.ts +1 -0
  1026. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.service.js +1 -1
  1027. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.js +1 -1
  1028. package/vscode/src/vs/platform/remote/common/remoteHosts.js +26 -8
  1029. package/vscode/src/vs/platform/remote/common/remoteSocketFactoryService.service.js +1 -1
  1030. package/vscode/src/vs/platform/request/common/request.js +188 -195
  1031. package/vscode/src/vs/platform/request/common/request.service.js +1 -1
  1032. package/vscode/src/vs/platform/secrets/common/secrets.service.js +1 -1
  1033. package/vscode/src/vs/platform/storage/common/storage.js +148 -89
  1034. package/vscode/src/vs/platform/storage/common/storage.service.js +1 -1
  1035. package/vscode/src/vs/platform/telemetry/common/commonProperties.js +1 -1
  1036. package/vscode/src/vs/platform/telemetry/common/telemetry.service.js +2 -2
  1037. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +76 -63
  1038. package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +7 -3
  1039. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +2 -1
  1040. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.js +94 -84
  1041. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +119 -54
  1042. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +219 -105
  1043. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +1 -1
  1044. package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +8 -4
  1045. package/vscode/src/vs/platform/terminal/common/capabilities/promptTypeDetectionCapability.js +3 -1
  1046. package/vscode/src/vs/platform/terminal/common/capabilities/shellEnvDetectionCapability.js +5 -3
  1047. package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +108 -67
  1048. package/vscode/src/vs/platform/terminal/common/environmentVariableShared.d.ts +1 -1
  1049. package/vscode/src/vs/platform/terminal/common/environmentVariableShared.js +9 -2
  1050. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -5
  1051. package/vscode/src/vs/platform/terminal/common/terminal.js +29 -23
  1052. package/vscode/src/vs/platform/terminal/common/terminal.service.js +1 -1
  1053. package/vscode/src/vs/platform/terminal/common/terminalDataBuffering.js +2 -2
  1054. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +212 -231
  1055. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +10 -16
  1056. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +157 -100
  1057. package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -1
  1058. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +12 -6
  1059. package/vscode/src/vs/platform/theme/browser/iconsStyleSheet.js +26 -14
  1060. package/vscode/src/vs/platform/theme/common/colorUtils.js +104 -56
  1061. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +130 -45
  1062. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +18 -8
  1063. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +484 -164
  1064. package/vscode/src/vs/platform/theme/common/colors/inputColors.d.ts +1 -0
  1065. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +226 -60
  1066. package/vscode/src/vs/platform/theme/common/colors/listColors.js +203 -90
  1067. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +22 -7
  1068. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +33 -13
  1069. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +92 -22
  1070. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +43 -15
  1071. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +18 -3
  1072. package/vscode/src/vs/platform/theme/common/iconRegistry.js +76 -36
  1073. package/vscode/src/vs/platform/theme/common/themeService.d.ts +2 -2
  1074. package/vscode/src/vs/platform/theme/common/themeService.js +16 -9
  1075. package/vscode/src/vs/platform/theme/common/themeService.service.js +1 -1
  1076. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +193 -158
  1077. package/vscode/src/vs/platform/tunnel/common/tunnel.js +103 -46
  1078. package/vscode/src/vs/platform/tunnel/common/tunnel.service.js +1 -1
  1079. package/vscode/src/vs/platform/undoRedo/common/undoRedo.js +13 -5
  1080. package/vscode/src/vs/platform/undoRedo/common/undoRedo.service.js +1 -1
  1081. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +170 -116
  1082. package/vscode/src/vs/platform/update/common/update.d.ts +23 -8
  1083. package/vscode/src/vs/platform/update/common/update.js +5 -3
  1084. package/vscode/src/vs/platform/update/common/update.service.d.ts +1 -0
  1085. package/vscode/src/vs/platform/update/common/update.service.js +1 -1
  1086. package/vscode/src/vs/platform/uriIdentity/common/uriIdentity.service.js +1 -1
  1087. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +16 -10
  1088. package/vscode/src/vs/platform/url/common/trustedDomains.js +8 -8
  1089. package/vscode/src/vs/platform/url/common/url.service.js +1 -1
  1090. package/vscode/src/vs/platform/url/common/urlGlob.js +60 -28
  1091. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +18 -5
  1092. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +231 -113
  1093. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.service.js +1 -1
  1094. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.service.js +1 -1
  1095. package/vscode/src/vs/platform/userDataSync/common/abstractJsonSynchronizer.js +151 -70
  1096. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +441 -204
  1097. package/vscode/src/vs/platform/userDataSync/common/extensionsMerge.js +116 -35
  1098. package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +380 -169
  1099. package/vscode/src/vs/platform/userDataSync/common/globalStateMerge.js +79 -14
  1100. package/vscode/src/vs/platform/userDataSync/common/globalStateSync.js +279 -134
  1101. package/vscode/src/vs/platform/userDataSync/common/ignoredExtensions.service.js +1 -1
  1102. package/vscode/src/vs/platform/userDataSync/common/keybindingsMerge.js +182 -39
  1103. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +169 -110
  1104. package/vscode/src/vs/platform/userDataSync/common/settingsMerge.js +194 -84
  1105. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +166 -95
  1106. package/vscode/src/vs/platform/userDataSync/common/snippetsMerge.js +53 -19
  1107. package/vscode/src/vs/platform/userDataSync/common/snippetsSync.js +291 -125
  1108. package/vscode/src/vs/platform/userDataSync/common/tasksSync.js +43 -29
  1109. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +64 -58
  1110. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.js +9 -9
  1111. package/vscode/src/vs/platform/userDataSync/common/userDataSyncAccount.service.js +1 -1
  1112. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +75 -39
  1113. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.service.js +1 -1
  1114. package/vscode/src/vs/platform/userDataSync/common/userDataSyncStoreService.js +296 -165
  1115. package/vscode/src/vs/platform/webContentExtractor/common/webContentExtractor.js +2 -2
  1116. package/vscode/src/vs/platform/webContentExtractor/common/webContentExtractor.service.js +2 -2
  1117. package/vscode/src/vs/platform/webWorker/browser/webWorkerDescriptor.d.ts +1 -1
  1118. package/vscode/src/vs/platform/webWorker/browser/webWorkerService.service.js +1 -1
  1119. package/vscode/src/vs/platform/webWorker/browser/webWorkerServiceImpl.d.ts +1 -0
  1120. package/vscode/src/vs/platform/webWorker/browser/webWorkerServiceImpl.js +68 -53
  1121. package/vscode/src/vs/platform/window/common/window.d.ts +1 -0
  1122. package/vscode/src/vs/platform/workspace/common/canonicalUri.service.js +1 -1
  1123. package/vscode/src/vs/platform/workspace/common/editSessions.service.js +1 -1
  1124. package/vscode/src/vs/platform/workspace/common/workspace.d.ts +7 -1
  1125. package/vscode/src/vs/platform/workspace/common/workspace.js +59 -33
  1126. package/vscode/src/vs/platform/workspace/common/workspace.service.js +1 -1
  1127. package/vscode/src/vs/platform/workspace/common/workspaceTrust.d.ts +4 -0
  1128. package/vscode/src/vs/platform/workspace/common/workspaceTrust.service.d.ts +4 -1
  1129. package/vscode/src/vs/platform/workspace/common/workspaceTrust.service.js +3 -3
  1130. package/vscode/src/vs/platform/workspaces/common/workspaces.js +87 -44
  1131. package/vscode/src/vs/platform/workspaces/common/workspaces.service.js +1 -1
  1132. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.d.ts +4 -0
  1133. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +163 -0
  1134. package/vscode/src/vs/workbench/api/browser/statusBarService.js +60 -26
  1135. package/vscode/src/vs/workbench/api/common/cache.js +3 -1
  1136. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +402 -233
  1137. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +74 -29
  1138. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +177 -175
  1139. package/vscode/src/vs/workbench/api/common/extHostAiRelatedInformation.js +2 -2
  1140. package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.js +3 -3
  1141. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +725 -733
  1142. package/vscode/src/vs/workbench/api/common/extHostApiDeprecationService.js +4 -7
  1143. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +264 -192
  1144. package/vscode/src/vs/workbench/api/common/extHostBulkEdits.js +1 -3
  1145. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +16 -11
  1146. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +399 -225
  1147. package/vscode/src/vs/workbench/api/common/extHostChatContext.d.ts +23 -8
  1148. package/vscode/src/vs/workbench/api/common/extHostChatContext.js +211 -80
  1149. package/vscode/src/vs/workbench/api/common/extHostChatOutputRenderer.js +13 -3
  1150. package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +12 -3
  1151. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +418 -93
  1152. package/vscode/src/vs/workbench/api/common/extHostChatStatus.js +5 -5
  1153. package/vscode/src/vs/workbench/api/common/extHostCodeInsets.js +18 -5
  1154. package/vscode/src/vs/workbench/api/common/extHostCodeMapper.js +3 -1
  1155. package/vscode/src/vs/workbench/api/common/extHostCommands.js +149 -135
  1156. package/vscode/src/vs/workbench/api/common/extHostComments.js +172 -99
  1157. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +82 -60
  1158. package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +17 -20
  1159. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.js +69 -32
  1160. package/vscode/src/vs/workbench/api/common/extHostDataChannels.js +5 -3
  1161. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +197 -149
  1162. package/vscode/src/vs/workbench/api/common/extHostDecorations.js +42 -22
  1163. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +96 -45
  1164. package/vscode/src/vs/workbench/api/common/extHostDocumentContentProviders.js +14 -11
  1165. package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +92 -48
  1166. package/vscode/src/vs/workbench/api/common/extHostDocumentSaveParticipant.js +49 -21
  1167. package/vscode/src/vs/workbench/api/common/extHostDocuments.js +16 -18
  1168. package/vscode/src/vs/workbench/api/common/extHostDocumentsAndEditors.js +4 -8
  1169. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +85 -82
  1170. package/vscode/src/vs/workbench/api/common/extHostEmbedding.js +6 -3
  1171. package/vscode/src/vs/workbench/api/common/extHostEmbeddingVector.js +3 -3
  1172. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +38 -21
  1173. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +304 -188
  1174. package/vscode/src/vs/workbench/api/common/extHostFileSystem.js +72 -51
  1175. package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +82 -60
  1176. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +106 -41
  1177. package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.js +2 -3
  1178. package/vscode/src/vs/workbench/api/common/extHostInitDataService.js +1 -1
  1179. package/vscode/src/vs/workbench/api/common/extHostInteractive.js +36 -24
  1180. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +908 -333
  1181. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +4 -2
  1182. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +117 -59
  1183. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +4 -5
  1184. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +219 -105
  1185. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +8 -6
  1186. package/vscode/src/vs/workbench/api/common/extHostLocalizationService.js +21 -17
  1187. package/vscode/src/vs/workbench/api/common/extHostLogService.js +6 -7
  1188. package/vscode/src/vs/workbench/api/common/extHostLoggerService.d.ts +1 -1
  1189. package/vscode/src/vs/workbench/api/common/extHostLoggerService.js +5 -11
  1190. package/vscode/src/vs/workbench/api/common/extHostManagedSockets.js +5 -5
  1191. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +24 -15
  1192. package/vscode/src/vs/workbench/api/common/extHostMcp.js +357 -221
  1193. package/vscode/src/vs/workbench/api/common/extHostMemento.js +8 -7
  1194. package/vscode/src/vs/workbench/api/common/extHostMessageService.js +31 -20
  1195. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +108 -77
  1196. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +101 -61
  1197. package/vscode/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.js +34 -12
  1198. package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +23 -7
  1199. package/vscode/src/vs/workbench/api/common/extHostNotebookEditors.js +2 -4
  1200. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +119 -89
  1201. package/vscode/src/vs/workbench/api/common/extHostNotebookRenderers.js +5 -2
  1202. package/vscode/src/vs/workbench/api/common/extHostOutput.js +59 -31
  1203. package/vscode/src/vs/workbench/api/common/extHostProfileContentHandler.js +1 -1
  1204. package/vscode/src/vs/workbench/api/common/extHostProgress.js +38 -19
  1205. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.js +11 -4
  1206. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +154 -84
  1207. package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.js +65 -43
  1208. package/vscode/src/vs/workbench/api/common/extHostRpcService.js +1 -1
  1209. package/vscode/src/vs/workbench/api/common/extHostSCM.js +318 -201
  1210. package/vscode/src/vs/workbench/api/common/extHostSearch.js +24 -17
  1211. package/vscode/src/vs/workbench/api/common/extHostSecretState.js +1 -1
  1212. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +3 -1
  1213. package/vscode/src/vs/workbench/api/common/extHostShare.js +14 -3
  1214. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +13 -4
  1215. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +63 -38
  1216. package/vscode/src/vs/workbench/api/common/extHostStorage.js +10 -5
  1217. package/vscode/src/vs/workbench/api/common/extHostStoragePaths.js +13 -18
  1218. package/vscode/src/vs/workbench/api/common/extHostTask.js +129 -114
  1219. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +76 -61
  1220. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +238 -116
  1221. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +76 -37
  1222. package/vscode/src/vs/workbench/api/common/extHostTestItem.js +43 -24
  1223. package/vscode/src/vs/workbench/api/common/extHostTesting.js +197 -115
  1224. package/vscode/src/vs/workbench/api/common/extHostTestingPrivateApi.js +5 -3
  1225. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +118 -79
  1226. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +32 -24
  1227. package/vscode/src/vs/workbench/api/common/extHostTheming.js +12 -14
  1228. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +30 -17
  1229. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +259 -135
  1230. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +60 -49
  1231. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +13 -16
  1232. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +1198 -1037
  1233. package/vscode/src/vs/workbench/api/common/extHostTypes/codeActionKind.js +18 -16
  1234. package/vscode/src/vs/workbench/api/common/extHostTypes/diagnostic.js +14 -26
  1235. package/vscode/src/vs/workbench/api/common/extHostTypes/location.js +7 -12
  1236. package/vscode/src/vs/workbench/api/common/extHostTypes/markdownString.js +6 -6
  1237. package/vscode/src/vs/workbench/api/common/extHostTypes/notebooks.js +24 -31
  1238. package/vscode/src/vs/workbench/api/common/extHostTypes/position.js +29 -34
  1239. package/vscode/src/vs/workbench/api/common/extHostTypes/range.js +15 -27
  1240. package/vscode/src/vs/workbench/api/common/extHostTypes/selection.js +8 -15
  1241. package/vscode/src/vs/workbench/api/common/extHostTypes/snippetString.js +21 -25
  1242. package/vscode/src/vs/workbench/api/common/extHostTypes/snippetTextEdit.js +1 -2
  1243. package/vscode/src/vs/workbench/api/common/extHostTypes/symbolInformation.js +6 -9
  1244. package/vscode/src/vs/workbench/api/common/extHostTypes/textEdit.js +12 -15
  1245. package/vscode/src/vs/workbench/api/common/extHostTypes/workspaceEdit.js +85 -34
  1246. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +81 -7
  1247. package/vscode/src/vs/workbench/api/common/extHostTypes.js +515 -511
  1248. package/vscode/src/vs/workbench/api/common/extHostUriOpener.js +3 -1
  1249. package/vscode/src/vs/workbench/api/common/extHostUriTransformerService.js +2 -3
  1250. package/vscode/src/vs/workbench/api/common/extHostUrls.js +9 -8
  1251. package/vscode/src/vs/workbench/api/common/extHostVariableResolverService.js +27 -18
  1252. package/vscode/src/vs/workbench/api/common/extHostWebview.js +67 -38
  1253. package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.js +66 -34
  1254. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.js +40 -21
  1255. package/vscode/src/vs/workbench/api/common/extHostWebviewView.js +25 -12
  1256. package/vscode/src/vs/workbench/api/common/extHostWindow.js +31 -24
  1257. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +6 -0
  1258. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +276 -136
  1259. package/vscode/src/vs/workbench/api/common/extensionHostMain.js +30 -20
  1260. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +57 -45
  1261. package/vscode/src/vs/workbench/api/worker/extHostConsoleForwarder.js +1 -4
  1262. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +23 -17
  1263. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +41 -33
  1264. package/vscode/src/vs/workbench/browser/actions/developerActions.js +255 -243
  1265. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +570 -451
  1266. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +66 -46
  1267. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +33 -22
  1268. package/vscode/src/vs/workbench/browser/actions/windowActions.js +158 -101
  1269. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +114 -63
  1270. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +102 -82
  1271. package/vscode/src/vs/workbench/browser/codeeditor.js +38 -39
  1272. package/vscode/src/vs/workbench/browser/composite.js +5 -3
  1273. package/vscode/src/vs/workbench/browser/contextkeys.d.ts +5 -1
  1274. package/vscode/src/vs/workbench/browser/contextkeys.js +89 -47
  1275. package/vscode/src/vs/workbench/browser/dnd.js +220 -101
  1276. package/vscode/src/vs/workbench/browser/editor.js +34 -15
  1277. package/vscode/src/vs/workbench/browser/labels.js +150 -93
  1278. package/vscode/src/vs/workbench/browser/panecomposite.js +31 -26
  1279. package/vscode/src/vs/workbench/browser/part.js +47 -23
  1280. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +214 -170
  1281. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +115 -91
  1282. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +93 -60
  1283. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css +7 -2
  1284. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +140 -68
  1285. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +219 -153
  1286. package/vscode/src/vs/workbench/browser/parts/compositePart.js +80 -36
  1287. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +137 -67
  1288. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +27 -14
  1289. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +12 -16
  1290. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +144 -139
  1291. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.js +1 -1
  1292. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +276 -174
  1293. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +6 -11
  1294. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +136 -110
  1295. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +57 -52
  1296. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +108 -94
  1297. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +716 -420
  1298. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +116 -68
  1299. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +734 -435
  1300. package/vscode/src/vs/workbench/browser/parts/editor/editorCommandsContext.js +62 -21
  1301. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +172 -117
  1302. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +545 -296
  1303. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +116 -66
  1304. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +38 -19
  1305. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +99 -48
  1306. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +289 -176
  1307. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +108 -65
  1308. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +119 -87
  1309. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +113 -64
  1310. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.d.ts +0 -10
  1311. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +502 -334
  1312. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +96 -49
  1313. package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +50 -32
  1314. package/vscode/src/vs/workbench/browser/parts/editor/editorWithViewState.d.ts +0 -1
  1315. package/vscode/src/vs/workbench/browser/parts/editor/editorWithViewState.js +27 -26
  1316. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +104 -41
  1317. package/vscode/src/vs/workbench/browser/parts/editor/media/editorplaceholder.css +0 -2
  1318. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +634 -447
  1319. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +37 -16
  1320. package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +11 -13
  1321. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +141 -73
  1322. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +94 -59
  1323. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +8 -4
  1324. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +74 -48
  1325. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +96 -42
  1326. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +76 -36
  1327. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +312 -184
  1328. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css +25 -4
  1329. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsList.css +0 -2
  1330. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +75 -51
  1331. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +6 -9
  1332. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +128 -88
  1333. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +85 -38
  1334. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +37 -32
  1335. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +39 -37
  1336. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +124 -87
  1337. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +138 -91
  1338. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +290 -130
  1339. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +139 -100
  1340. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.d.ts +0 -1
  1341. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +144 -104
  1342. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +62 -53
  1343. package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css +7 -2
  1344. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +4 -4
  1345. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +75 -46
  1346. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +279 -162
  1347. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +118 -75
  1348. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +134 -77
  1349. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +18 -10
  1350. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +546 -377
  1351. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +56 -43
  1352. package/vscode/src/vs/workbench/browser/parts/views/viewMenuActions.js +27 -15
  1353. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +250 -152
  1354. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +360 -247
  1355. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +22 -16
  1356. package/vscode/src/vs/workbench/browser/quickaccess.js +15 -11
  1357. package/vscode/src/vs/workbench/browser/style.js +13 -11
  1358. package/vscode/src/vs/workbench/browser/window.js +149 -105
  1359. package/vscode/src/vs/workbench/browser/workbench.contribution.js +988 -1077
  1360. package/vscode/src/vs/workbench/common/component.js +1 -2
  1361. package/vscode/src/vs/workbench/common/configuration.js +103 -84
  1362. package/vscode/src/vs/workbench/common/contextkeys.d.ts +31 -19
  1363. package/vscode/src/vs/workbench/common/contextkeys.js +190 -147
  1364. package/vscode/src/vs/workbench/common/contributions.js +129 -57
  1365. package/vscode/src/vs/workbench/common/editor/binaryEditorModel.js +2 -4
  1366. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +78 -41
  1367. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +108 -87
  1368. package/vscode/src/vs/workbench/common/editor/editorInput.js +4 -2
  1369. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +42 -14
  1370. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +51 -38
  1371. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +39 -24
  1372. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +27 -25
  1373. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +67 -31
  1374. package/vscode/src/vs/workbench/common/editor/textResourceEditorModel.js +15 -8
  1375. package/vscode/src/vs/workbench/common/editor.js +121 -77
  1376. package/vscode/src/vs/workbench/common/memento.js +41 -30
  1377. package/vscode/src/vs/workbench/common/notifications.js +103 -56
  1378. package/vscode/src/vs/workbench/common/resources.js +15 -16
  1379. package/vscode/src/vs/workbench/common/theme.js +514 -396
  1380. package/vscode/src/vs/workbench/common/views.js +61 -31
  1381. package/vscode/src/vs/workbench/common/views.service.js +1 -1
  1382. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +724 -723
  1383. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +75 -88
  1384. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +46 -37
  1385. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +21 -11
  1386. package/vscode/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.js +9 -12
  1387. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.d.ts +41 -7
  1388. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +430 -327
  1389. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatConstants.js +6 -6
  1390. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +12 -2
  1391. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +116 -22
  1392. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.d.ts +23 -13
  1393. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +352 -151
  1394. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service.js +1 -1
  1395. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.service.d.ts +33 -0
  1396. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.service.js +6 -0
  1397. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.d.ts +31 -0
  1398. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.js +82 -0
  1399. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service.d.ts +47 -0
  1400. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusService.service.js +6 -0
  1401. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.service.js +1 -1
  1402. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.js +7 -6
  1403. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatContextPickService.service.js +1 -1
  1404. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +3 -3
  1405. package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +91 -1
  1406. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +1 -1
  1407. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.js +4 -4
  1408. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +42 -31
  1409. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.service.d.ts +30 -0
  1410. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.service.js +6 -0
  1411. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageUtils.js +27 -26
  1412. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service.js +1 -1
  1413. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.service.js +1 -1
  1414. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.service.d.ts +15 -0
  1415. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.service.js +6 -0
  1416. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.service.js +1 -1
  1417. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.js +11 -12
  1418. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +10 -2
  1419. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service.js +1 -1
  1420. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.service.js +1 -1
  1421. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.service.d.ts +7 -0
  1422. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.service.js +6 -0
  1423. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +64 -56
  1424. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +10 -3
  1425. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +275 -246
  1426. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.d.ts +18 -2
  1427. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +89 -45
  1428. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariables.service.js +1 -1
  1429. package/vscode/src/vs/workbench/contrib/chat/common/chat.js +7 -3
  1430. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +17 -8
  1431. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +105 -81
  1432. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.service.js +1 -1
  1433. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +160 -29
  1434. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.js +103 -52
  1435. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +7 -0
  1436. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.js +1 -1
  1437. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +52 -11
  1438. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.js +7 -1
  1439. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +14 -4
  1440. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.js +1 -1
  1441. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +20 -3
  1442. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +47 -25
  1443. package/vscode/src/vs/workbench/contrib/chat/common/contextContrib/chatContext.d.ts +14 -7
  1444. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatCodeMapperService.service.js +1 -1
  1445. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.d.ts +27 -20
  1446. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +25 -35
  1447. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.service.d.ts +1 -9
  1448. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.service.js +1 -1
  1449. package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.service.js +1 -1
  1450. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +6 -9
  1451. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.service.js +1 -1
  1452. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +108 -18
  1453. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +759 -127
  1454. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +16 -4
  1455. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.js +1 -1
  1456. package/vscode/src/vs/workbench/contrib/chat/common/languageModelsConfiguration.d.ts +11 -0
  1457. package/vscode/src/vs/workbench/contrib/chat/common/languageModelsConfiguration.service.d.ts +14 -0
  1458. package/vscode/src/vs/workbench/contrib/chat/common/languageModelsConfiguration.service.js +6 -0
  1459. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +136 -38
  1460. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +521 -431
  1461. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatElicitationRequestPart.d.ts +1 -2
  1462. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatElicitationRequestPart.js +4 -4
  1463. package/vscode/src/vs/workbench/contrib/chat/common/model/chatStreamStats.js +17 -15
  1464. package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.service.js +1 -1
  1465. package/vscode/src/vs/workbench/contrib/chat/common/model/chatUri.js +11 -6
  1466. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.d.ts +26 -26
  1467. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.js +45 -71
  1468. package/vscode/src/vs/workbench/contrib/chat/common/model/chatWordCounter.js +10 -21
  1469. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +20 -1
  1470. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +136 -79
  1471. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.service.js +2 -2
  1472. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service.js +1 -1
  1473. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +5 -2
  1474. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +227 -108
  1475. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.d.ts +34 -3
  1476. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.js +55 -34
  1477. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.d.ts +69 -26
  1478. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.js +98 -41
  1479. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.d.ts +14 -2
  1480. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +221 -96
  1481. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.d.ts +8 -2
  1482. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +40 -25
  1483. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +57 -22
  1484. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +12 -2
  1485. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +20 -7
  1486. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.js +1 -1
  1487. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptsServiceUtils.d.ts +14 -0
  1488. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptsServiceUtils.js +14 -0
  1489. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatParserTypes.d.ts +3 -0
  1490. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatParserTypes.js +109 -47
  1491. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.d.ts +3 -3
  1492. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.js +23 -36
  1493. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.js +24 -25
  1494. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.js +56 -39
  1495. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.d.ts +2 -6
  1496. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +130 -169
  1497. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +10 -5
  1498. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +141 -90
  1499. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.d.ts +1 -3
  1500. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.js +11 -24
  1501. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.service.js +1 -1
  1502. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.d.ts +2 -0
  1503. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service.js +1 -1
  1504. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +38 -0
  1505. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +471 -0
  1506. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +6 -0
  1507. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +231 -0
  1508. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +91 -12
  1509. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +137 -59
  1510. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service.d.ts +64 -12
  1511. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service.js +1 -1
  1512. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatLayoutService.service.js +1 -1
  1513. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.service.js +1 -1
  1514. package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +4 -1
  1515. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +3 -6
  1516. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +93 -100
  1517. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +54 -49
  1518. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +21 -27
  1519. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +46 -26
  1520. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +11 -9
  1521. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js +39 -22
  1522. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +77 -62
  1523. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +277 -121
  1524. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +24 -19
  1525. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +69 -43
  1526. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +157 -94
  1527. package/vscode/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +28 -19
  1528. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.css +1 -1
  1529. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +153 -83
  1530. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +9 -7
  1531. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +25 -23
  1532. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +9 -7
  1533. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +13 -12
  1534. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +58 -46
  1535. package/vscode/src/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js +25 -11
  1536. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.d.ts +72 -0
  1537. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +968 -0
  1538. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +38 -14
  1539. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +23 -5
  1540. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +71 -37
  1541. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +212 -162
  1542. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +117 -70
  1543. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.js +1 -1
  1544. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +19 -12
  1545. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +63 -40
  1546. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +33 -22
  1547. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadRangeDecorator.js +7 -5
  1548. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +88 -44
  1549. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.d.ts +2 -0
  1550. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +116 -74
  1551. package/vscode/src/vs/workbench/contrib/comments/browser/comments.js +1 -1
  1552. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +26 -16
  1553. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.d.ts +3 -0
  1554. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +322 -177
  1555. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +41 -25
  1556. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +181 -133
  1557. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +149 -117
  1558. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +45 -39
  1559. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css +0 -5
  1560. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +33 -25
  1561. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +95 -50
  1562. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.d.ts +4 -0
  1563. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +46 -32
  1564. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +5 -3
  1565. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +114 -68
  1566. package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.service.js +1 -1
  1567. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +57 -41
  1568. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +323 -212
  1569. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.d.ts +3 -0
  1570. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +245 -169
  1571. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.service.js +1 -1
  1572. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +966 -672
  1573. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +49 -30
  1574. package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.d.ts +4 -3
  1575. package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +203 -130
  1576. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +105 -77
  1577. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +312 -213
  1578. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +289 -209
  1579. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +254 -158
  1580. package/vscode/src/vs/workbench/contrib/debug/browser/debugExpressionRenderer.js +100 -72
  1581. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +117 -70
  1582. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +120 -58
  1583. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +46 -16
  1584. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +52 -24
  1585. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.d.ts +10 -7
  1586. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +198 -80
  1587. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +322 -225
  1588. package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +27 -16
  1589. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +132 -84
  1590. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +241 -154
  1591. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +19 -20
  1592. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +366 -344
  1593. package/vscode/src/vs/workbench/contrib/debug/common/debug.service.js +1 -1
  1594. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +304 -176
  1595. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +34 -34
  1596. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +97 -86
  1597. package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.service.js +1 -1
  1598. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +5 -3
  1599. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +68 -15
  1600. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +51 -64
  1601. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +16 -10
  1602. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +64 -62
  1603. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/dropOrPasteInto.contribution.js +11 -4
  1604. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.service.js +2 -2
  1605. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/randomService.service.js +1 -1
  1606. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service.js +1 -1
  1607. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +142 -120
  1608. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +15 -11
  1609. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +20 -15
  1610. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +538 -320
  1611. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +16 -16
  1612. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +245 -188
  1613. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +229 -119
  1614. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +67 -34
  1615. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +944 -825
  1616. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +1732 -1043
  1617. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +3 -7
  1618. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +31 -17
  1619. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +28 -19
  1620. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +52 -47
  1621. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +81 -50
  1622. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +35 -29
  1623. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +181 -104
  1624. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +411 -353
  1625. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +536 -379
  1626. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +347 -241
  1627. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +964 -561
  1628. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +76 -45
  1629. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +5 -5
  1630. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +6 -6
  1631. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extension.css +3 -3
  1632. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css +2 -2
  1633. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css +8 -9
  1634. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +14 -7
  1635. package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +24 -10
  1636. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +6 -7
  1637. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +57 -31
  1638. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +29 -23
  1639. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +29 -33
  1640. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.js +1 -1
  1641. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +28 -28
  1642. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +9 -5
  1643. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +33 -25
  1644. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +7 -5
  1645. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +40 -38
  1646. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +27 -32
  1647. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +40 -36
  1648. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.service.js +1 -1
  1649. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +22 -18
  1650. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +16 -8
  1651. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +45 -30
  1652. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +96 -64
  1653. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +41 -20
  1654. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +149 -88
  1655. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +1 -1
  1656. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +76 -64
  1657. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +180 -126
  1658. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +467 -314
  1659. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +124 -50
  1660. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +173 -71
  1661. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +34 -34
  1662. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +214 -157
  1663. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +284 -295
  1664. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +36 -18
  1665. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._fileEditorFactory.js +21 -3
  1666. package/vscode/src/vs/workbench/contrib/files/browser/files.js +10 -9
  1667. package/vscode/src/vs/workbench/contrib/files/browser/files.service.js +1 -1
  1668. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +45 -26
  1669. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +11 -14
  1670. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +249 -192
  1671. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +595 -415
  1672. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +278 -187
  1673. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +56 -35
  1674. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +9 -10
  1675. package/vscode/src/vs/workbench/contrib/files/common/explorerFileNestingTrie.js +45 -41
  1676. package/vscode/src/vs/workbench/contrib/files/common/explorerModel.js +69 -35
  1677. package/vscode/src/vs/workbench/contrib/files/common/files.js +116 -105
  1678. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +35 -23
  1679. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +170 -105
  1680. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +17 -16
  1681. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +19 -7
  1682. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +53 -35
  1683. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +4 -23
  1684. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.js +1 -1
  1685. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveDocumentService.service.js +1 -1
  1686. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +36 -25
  1687. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveHistoryService.service.js +1 -1
  1688. package/vscode/src/vs/workbench/contrib/issue/browser/issueTroubleshoot.service.js +1 -1
  1689. package/vscode/src/vs/workbench/contrib/issue/common/issue.service.js +2 -2
  1690. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +6 -6
  1691. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +9 -3
  1692. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +14 -12
  1693. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +102 -94
  1694. package/vscode/src/vs/workbench/contrib/markdown/common/markedKatexExtension.js +23 -24
  1695. package/vscode/src/vs/workbench/contrib/markers/common/markers.js +29 -29
  1696. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.d.ts +12 -0
  1697. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +384 -194
  1698. package/vscode/src/vs/workbench/contrib/mcp/common/mcpCommandIds.d.ts +1 -0
  1699. package/vscode/src/vs/workbench/contrib/mcp/common/mcpCommandIds.js +1 -0
  1700. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +158 -144
  1701. package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.d.ts +22 -0
  1702. package/vscode/src/vs/workbench/contrib/mcp/common/mcpDevMode.js +112 -0
  1703. package/vscode/src/vs/workbench/contrib/mcp/common/mcpIcons.d.ts +36 -0
  1704. package/vscode/src/vs/workbench/contrib/mcp/common/mcpIcons.js +126 -0
  1705. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.d.ts +1 -1
  1706. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service.js +1 -1
  1707. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.d.ts +220 -0
  1708. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +1027 -0
  1709. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTaskManager.d.ts +68 -0
  1710. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTaskManager.js +177 -0
  1711. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +27 -1
  1712. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +109 -102
  1713. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.js +4 -4
  1714. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypesUtils.d.ts +3 -0
  1715. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypesUtils.js +61 -7
  1716. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.d.ts +814 -193
  1717. package/vscode/src/vs/workbench/contrib/mcp/common/uriTemplate.d.ts +37 -0
  1718. package/vscode/src/vs/workbench/contrib/mcp/common/uriTemplate.js +269 -0
  1719. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +75 -49
  1720. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +179 -160
  1721. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +1 -1
  1722. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +15 -14
  1723. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +4 -4
  1724. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +4 -1
  1725. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +43 -21
  1726. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +136 -96
  1727. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +126 -60
  1728. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +4 -9
  1729. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +23 -24
  1730. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +17 -19
  1731. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +37 -18
  1732. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +33 -29
  1733. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  1734. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.d.ts +51 -0
  1735. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.js +205 -0
  1736. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +97 -70
  1737. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +2 -2
  1738. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.js +1 -1
  1739. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +96 -47
  1740. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +19 -10
  1741. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +42 -30
  1742. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +88 -55
  1743. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.d.ts +1 -1
  1744. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +222 -172
  1745. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +26 -0
  1746. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +746 -0
  1747. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +62 -52
  1748. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +64 -67
  1749. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +59 -48
  1750. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +13 -0
  1751. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +300 -0
  1752. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
  1753. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
  1754. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
  1755. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1963 -0
  1756. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
  1757. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +314 -0
  1758. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
  1759. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +886 -0
  1760. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
  1761. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +118 -0
  1762. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
  1763. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +71 -0
  1764. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
  1765. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
  1766. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
  1767. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +313 -0
  1768. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
  1769. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +265 -0
  1770. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
  1771. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +185 -0
  1772. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
  1773. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +104 -0
  1774. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
  1775. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +43 -0
  1776. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
  1777. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +41 -0
  1778. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.service.js +1 -1
  1779. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
  1780. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +69 -0
  1781. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.service.js +1 -1
  1782. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
  1783. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
  1784. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +935 -0
  1785. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
  1786. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +29 -0
  1787. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
  1788. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +643 -0
  1789. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
  1790. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +197 -0
  1791. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
  1792. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +539 -0
  1793. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
  1794. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
  1795. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +31 -35
  1796. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +25 -30
  1797. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookCellLayoutManager.js +7 -10
  1798. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +206 -132
  1799. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorExtensions.js +11 -4
  1800. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +822 -586
  1801. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  1802. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookLogger.js +2 -3
  1803. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +128 -135
  1804. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.js +1 -1
  1805. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +12 -13
  1806. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +36 -23
  1807. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +44 -19
  1808. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +30 -35
  1809. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +97 -48
  1810. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +32 -26
  1811. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +61 -64
  1812. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellExecution.js +26 -37
  1813. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +54 -38
  1814. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +248 -156
  1815. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellProgressBar.js +3 -7
  1816. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +131 -101
  1817. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +63 -43
  1818. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +231 -152
  1819. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +16 -20
  1820. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +36 -19
  1821. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +12 -10
  1822. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +31 -27
  1823. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +94 -83
  1824. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellEditorPool.js +21 -19
  1825. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +290 -222
  1826. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +61 -18
  1827. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +544 -426
  1828. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +235 -145
  1829. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +732 -544
  1830. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewThemeMapping.js +92 -56
  1831. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +133 -72
  1832. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +34 -23
  1833. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputTextHelper.js +34 -37
  1834. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +5 -3
  1835. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellSelectionCollection.js +19 -5
  1836. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +108 -96
  1837. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/eventDispatcher.js +9 -9
  1838. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +34 -20
  1839. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +75 -71
  1840. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +1 -1
  1841. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.service.js +1 -1
  1842. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +200 -88
  1843. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +111 -64
  1844. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +227 -121
  1845. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorWidgetContextKeys.js +44 -23
  1846. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +254 -156
  1847. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +72 -62
  1848. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +35 -33
  1849. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +38 -30
  1850. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +35 -34
  1851. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellOutputTextModel.js +1 -2
  1852. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +83 -53
  1853. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
  1854. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +90 -0
  1855. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCellStatusBarService.service.js +1 -1
  1856. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +150 -131
  1857. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +48 -48
  1858. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
  1859. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
  1860. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +86 -65
  1861. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +102 -72
  1862. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.service.js +1 -1
  1863. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.service.js +1 -1
  1864. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.js +1 -1
  1865. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.service.js +2 -2
  1866. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKeymapService.service.js +1 -1
  1867. package/vscode/src/vs/workbench/contrib/notebook/common/notebookLoggingService.service.js +1 -1
  1868. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +9 -9
  1869. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRendererMessagingService.service.js +1 -1
  1870. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.js +1 -1
  1871. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +8 -8
  1872. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +85 -50
  1873. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +15 -15
  1874. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +126 -111
  1875. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +228 -273
  1876. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +210 -206
  1877. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +90 -97
  1878. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.service.js +1 -1
  1879. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +33 -28
  1880. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +281 -176
  1881. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +21 -17
  1882. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +537 -386
  1883. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +38 -22
  1884. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.service.js +1 -1
  1885. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.service.js +1 -1
  1886. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +197 -118
  1887. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +69 -50
  1888. package/vscode/src/vs/workbench/contrib/scm/browser/util.js +40 -29
  1889. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.d.ts +6 -2
  1890. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +78 -37
  1891. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.js +1 -1
  1892. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +41 -40
  1893. package/vscode/src/vs/workbench/contrib/scm/common/scm.d.ts +2 -0
  1894. package/vscode/src/vs/workbench/contrib/scm/common/scm.service.js +2 -2
  1895. package/vscode/src/vs/workbench/contrib/search/browser/AISearch/aiSearchModel.js +80 -49
  1896. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.d.ts +3 -1
  1897. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +227 -129
  1898. package/vscode/src/vs/workbench/contrib/search/browser/media/searchview.css +1 -0
  1899. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchModel.js +75 -50
  1900. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +38 -38
  1901. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +9 -12
  1902. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +68 -41
  1903. package/vscode/src/vs/workbench/contrib/search/browser/replace.service.js +1 -1
  1904. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.d.ts +0 -2
  1905. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +4 -12
  1906. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +162 -147
  1907. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +55 -57
  1908. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +106 -83
  1909. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +15 -15
  1910. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +22 -22
  1911. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +21 -20
  1912. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +216 -163
  1913. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/fileMatch.js +89 -62
  1914. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/folderMatch.js +196 -76
  1915. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/match.js +34 -22
  1916. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/rangeDecorations.js +16 -15
  1917. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/searchTreeCommon.js +23 -42
  1918. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/searchViewModelWorkbenchService.service.js +1 -1
  1919. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/textSearchHeading.js +25 -34
  1920. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +715 -489
  1921. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +205 -154
  1922. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +66 -44
  1923. package/vscode/src/vs/workbench/contrib/search/common/cellSearchModel.js +11 -5
  1924. package/vscode/src/vs/workbench/contrib/search/common/constants.js +29 -29
  1925. package/vscode/src/vs/workbench/contrib/search/common/notebookSearch.service.js +1 -1
  1926. package/vscode/src/vs/workbench/contrib/search/common/search.js +16 -19
  1927. package/vscode/src/vs/workbench/contrib/search/common/searchHistoryService.js +15 -11
  1928. package/vscode/src/vs/workbench/contrib/search/common/searchHistoryService.service.js +1 -1
  1929. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +5 -5
  1930. package/vscode/src/vs/workbench/contrib/searchEditor/browser/constants.js +9 -9
  1931. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +82 -46
  1932. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +147 -76
  1933. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorModel.js +64 -17
  1934. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +150 -100
  1935. package/vscode/src/vs/workbench/contrib/share/common/share.service.js +1 -1
  1936. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +60 -27
  1937. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.service.d.ts +3 -2
  1938. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.service.js +1 -1
  1939. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.d.ts +4 -1
  1940. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +108 -45
  1941. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.d.ts +3 -2
  1942. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +122 -104
  1943. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +41 -28
  1944. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +74 -74
  1945. package/vscode/src/vs/workbench/contrib/speech/common/speechService.service.js +1 -1
  1946. package/vscode/src/vs/workbench/contrib/tags/common/workspaceTags.service.js +1 -1
  1947. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +3 -3
  1948. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +29 -29
  1949. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +12 -12
  1950. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.service.js +1 -1
  1951. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +242 -182
  1952. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.d.ts +2 -0
  1953. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +10 -10
  1954. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +21 -3
  1955. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +28 -11
  1956. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.js +7 -7
  1957. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +34 -37
  1958. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +10 -4
  1959. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +13 -20
  1960. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +21 -13
  1961. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +568 -594
  1962. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +54 -38
  1963. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +2 -2
  1964. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +67 -86
  1965. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +16 -0
  1966. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.service.js +1 -1
  1967. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -1
  1968. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +160 -150
  1969. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.service.js +2 -2
  1970. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +159 -159
  1971. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +29 -30
  1972. package/vscode/src/vs/workbench/contrib/terminal/common/terminalExtensionPoints.service.js +1 -1
  1973. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  1974. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.d.ts +2 -1
  1975. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.js +1 -0
  1976. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +6 -6
  1977. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +11 -10
  1978. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.d.ts +5 -0
  1979. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +405 -271
  1980. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.service.d.ts +10 -0
  1981. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.service.js +6 -0
  1982. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +6 -6
  1983. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +5 -5
  1984. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +6 -4
  1985. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/links.service.js +1 -1
  1986. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.service.js +1 -1
  1987. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.d.ts +3 -1
  1988. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +18 -6
  1989. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service.js +1 -1
  1990. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.d.ts +6 -9
  1991. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +125 -140
  1992. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +26 -33
  1993. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +8 -10
  1994. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +15 -15
  1995. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +4 -7
  1996. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +27 -21
  1997. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.service.js +1 -1
  1998. package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.service.js +1 -1
  1999. package/vscode/src/vs/workbench/contrib/testing/common/testId.js +5 -5
  2000. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +126 -86
  2001. package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.service.js +1 -1
  2002. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +90 -44
  2003. package/vscode/src/vs/workbench/contrib/testing/common/testResultService.service.js +1 -1
  2004. package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.service.js +1 -1
  2005. package/vscode/src/vs/workbench/contrib/testing/common/testService.service.js +1 -1
  2006. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +149 -128
  2007. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.service.js +1 -1
  2008. package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.service.js +1 -1
  2009. package/vscode/src/vs/workbench/contrib/testing/common/testingPeekOpener.service.js +1 -1
  2010. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +17 -12
  2011. package/vscode/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.js +10 -18
  2012. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.js +17 -15
  2013. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.service.js +1 -1
  2014. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +68 -45
  2015. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +12 -12
  2016. package/vscode/src/vs/workbench/contrib/webview/browser/webview.js +16 -18
  2017. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.js +1 -1
  2018. package/vscode/src/vs/workbench/contrib/webview/common/webview.js +5 -7
  2019. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +41 -26
  2020. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +8 -8
  2021. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.js +43 -32
  2022. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.js +1 -1
  2023. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.service.js +1 -1
  2024. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.service.js +1 -1
  2025. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +3 -3
  2026. package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.js +1 -1
  2027. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +28 -0
  2028. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +676 -0
  2029. package/vscode/src/vs/workbench/services/activity/browser/activityService.js +9 -12
  2030. package/vscode/src/vs/workbench/services/activity/common/activity.service.js +1 -1
  2031. package/vscode/src/vs/workbench/services/aiEmbeddingVector/common/aiEmbeddingVectorService.service.js +1 -1
  2032. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.service.js +1 -1
  2033. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.js +1 -1
  2034. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.service.js +1 -1
  2035. package/vscode/src/vs/workbench/services/authentication/browser/authenticationAccessService.service.js +1 -1
  2036. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpAccessService.service.js +1 -1
  2037. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpService.service.js +1 -1
  2038. package/vscode/src/vs/workbench/services/authentication/browser/authenticationMcpUsageService.service.js +1 -1
  2039. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +101 -69
  2040. package/vscode/src/vs/workbench/services/authentication/browser/authenticationUsageService.service.js +1 -1
  2041. package/vscode/src/vs/workbench/services/authentication/common/authentication.service.js +2 -2
  2042. package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.service.js +1 -1
  2043. package/vscode/src/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.service.js +1 -1
  2044. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +164 -103
  2045. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.service.js +1 -1
  2046. package/vscode/src/vs/workbench/services/banner/browser/bannerService.service.js +1 -1
  2047. package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.d.ts +3 -3
  2048. package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.js +1 -1
  2049. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +19 -19
  2050. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +321 -355
  2051. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.service.js +1 -1
  2052. package/vscode/src/vs/workbench/services/configuration/common/jsonEditing.service.js +1 -1
  2053. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +2 -2
  2054. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.service.js +1 -1
  2055. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.js +56 -34
  2056. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +114 -131
  2057. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +4 -5
  2058. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +159 -129
  2059. package/vscode/src/vs/workbench/services/decorations/common/decorations.service.js +1 -1
  2060. package/vscode/src/vs/workbench/services/driver/browser/driver.js +52 -32
  2061. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +8 -20
  2062. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +203 -99
  2063. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +43 -36
  2064. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.service.js +1 -1
  2065. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.js +1 -1
  2066. package/vscode/src/vs/workbench/services/editor/common/editorPaneService.service.js +1 -1
  2067. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +20 -18
  2068. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.service.js +1 -1
  2069. package/vscode/src/vs/workbench/services/editor/common/editorService.service.js +1 -1
  2070. package/vscode/src/vs/workbench/services/environment/browser/environmentService.d.ts +1 -0
  2071. package/vscode/src/vs/workbench/services/environment/browser/environmentService.js +397 -225
  2072. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.service.js +1 -1
  2073. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.js +2 -2
  2074. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.service.js +1 -1
  2075. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.js +3 -3
  2076. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +7 -7
  2077. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.service.js +2 -2
  2078. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +178 -84
  2079. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.js +1 -1
  2080. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +101 -64
  2081. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.service.js +1 -1
  2082. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +16 -11
  2083. package/vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js +34 -21
  2084. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +2 -0
  2085. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.js +43 -37
  2086. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.service.js +1 -1
  2087. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +1 -0
  2088. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +68 -31
  2089. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.js +1 -1
  2090. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +459 -487
  2091. package/vscode/src/vs/workbench/services/extensions/common/lazyPromise.js +1 -2
  2092. package/vscode/src/vs/workbench/services/extensions/common/proxyIdentifier.js +3 -1
  2093. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +204 -133
  2094. package/vscode/src/vs/workbench/services/extensions/common/workspaceContains.js +17 -12
  2095. package/vscode/src/vs/workbench/services/extensions/worker/polyfillNestedWorker.js +30 -22
  2096. package/vscode/src/vs/workbench/services/files/common/elevatedFileService.service.js +1 -1
  2097. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +157 -103
  2098. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.js +1 -1
  2099. package/vscode/src/vs/workbench/services/history/common/history.service.js +1 -1
  2100. package/vscode/src/vs/workbench/services/host/browser/host.service.js +1 -1
  2101. package/vscode/src/vs/workbench/services/inlineCompletions/common/inlineCompletionsUnification.service.js +1 -1
  2102. package/vscode/src/vs/workbench/services/integrity/common/integrity.service.js +1 -1
  2103. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -3
  2104. package/vscode/src/vs/workbench/services/keybinding/common/fallbackKeyboardMapper.js +1 -1
  2105. package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.service.js +1 -1
  2106. package/vscode/src/vs/workbench/services/language/common/languageService.js +117 -103
  2107. package/vscode/src/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.service.js +1 -1
  2108. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.service.js +1 -1
  2109. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +4 -0
  2110. package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +3 -3
  2111. package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.d.ts +16 -0
  2112. package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.js +20 -0
  2113. package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.service.d.ts +27 -0
  2114. package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.service.js +6 -0
  2115. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.service.js +1 -1
  2116. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +37 -19
  2117. package/vscode/src/vs/workbench/services/localization/common/locale.service.js +2 -2
  2118. package/vscode/src/vs/workbench/services/log/common/defaultLogLevels.service.js +1 -1
  2119. package/vscode/src/vs/workbench/services/log/common/logConstants.js +6 -3
  2120. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +32 -17
  2121. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.service.js +1 -1
  2122. package/vscode/src/vs/workbench/services/outline/browser/outline.service.js +1 -1
  2123. package/vscode/src/vs/workbench/services/output/common/output.js +21 -21
  2124. package/vscode/src/vs/workbench/services/output/common/output.service.js +1 -1
  2125. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.service.js +1 -1
  2126. package/vscode/src/vs/workbench/services/path/common/pathService.service.js +1 -1
  2127. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +9 -7
  2128. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +103 -72
  2129. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +1 -0
  2130. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.js +1 -1
  2131. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +14 -10
  2132. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +37 -36
  2133. package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.service.js +1 -1
  2134. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +54 -57
  2135. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.service.js +1 -1
  2136. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +203 -145
  2137. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +77 -35
  2138. package/vscode/src/vs/workbench/services/search/common/folderQuerySearchTree.js +19 -8
  2139. package/vscode/src/vs/workbench/services/search/common/ignoreFile.js +32 -30
  2140. package/vscode/src/vs/workbench/services/search/common/queryBuilder.d.ts +1 -0
  2141. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +128 -123
  2142. package/vscode/src/vs/workbench/services/search/common/search.d.ts +2 -0
  2143. package/vscode/src/vs/workbench/services/search/common/search.js +43 -47
  2144. package/vscode/src/vs/workbench/services/search/common/search.service.js +1 -1
  2145. package/vscode/src/vs/workbench/services/search/common/searchExtConversionTypes.js +30 -18
  2146. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.d.ts +4 -0
  2147. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +2 -2
  2148. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +13 -6
  2149. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +51 -42
  2150. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.service.js +1 -1
  2151. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +108 -65
  2152. package/vscode/src/vs/workbench/services/terminal/common/embedderTerminalService.service.js +1 -1
  2153. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeature.service.d.ts +1 -1
  2154. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeature.service.js +1 -1
  2155. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +45 -33
  2156. package/vscode/src/vs/workbench/services/textMate/common/TMHelper.js +4 -6
  2157. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +163 -156
  2158. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +75 -27
  2159. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.service.js +1 -1
  2160. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +204 -131
  2161. package/vscode/src/vs/workbench/services/textfile/common/textfiles.service.js +1 -1
  2162. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +92 -90
  2163. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.d.ts +1 -1
  2164. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +244 -143
  2165. package/vscode/src/vs/workbench/services/themes/common/hostColorSchemeService.service.js +1 -1
  2166. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +85 -56
  2167. package/vscode/src/vs/workbench/services/themes/common/plistParser.js +118 -137
  2168. package/vscode/src/vs/workbench/services/themes/common/themeCompatibility.js +40 -26
  2169. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.d.ts +3 -0
  2170. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +246 -0
  2171. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.d.ts +1 -1
  2172. package/vscode/src/vs/workbench/services/timer/browser/timerService.service.js +1 -1
  2173. package/vscode/src/vs/workbench/services/title/browser/titleService.service.js +1 -1
  2174. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +47 -22
  2175. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +79 -50
  2176. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.service.js +1 -1
  2177. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.service.js +1 -1
  2178. package/vscode/src/vs/workbench/services/userAttention/common/userAttentionService.service.js +1 -1
  2179. package/vscode/src/vs/workbench/services/userData/browser/userDataInit.service.js +1 -1
  2180. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +15 -13
  2181. package/vscode/src/vs/workbench/services/userDataProfile/common/remoteUserDataProfiles.service.js +1 -1
  2182. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +16 -11
  2183. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.service.js +3 -3
  2184. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +6 -86
  2185. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileService.js +3 -1
  2186. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +33 -23
  2187. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.service.js +1 -1
  2188. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +233 -135
  2189. package/vscode/src/vs/workbench/services/views/common/viewsService.service.js +1 -1
  2190. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +2 -5
  2191. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +239 -139
  2192. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.service.js +1 -1
  2193. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.service.js +1 -1
  2194. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.js +1 -1
  2195. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistory.service.js +1 -1
  2196. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.js +1 -1
  2197. package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.js +1 -1
  2198. package/vscode/src/vs/workbench/services/workspaces/common/workspaceIdentityService.service.js +1 -1
  2199. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.d.ts +7 -1
  2200. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +152 -80
  2201. package/vscode-dts/vscode.d.ts +78 -37
  2202. package/vscode-dts/vscode.proposed.agentSessionsWorkspace.d.ts +18 -0
  2203. package/vscode-dts/vscode.proposed.chatContextProvider.d.ts +104 -11
  2204. package/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts +16 -1
  2205. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +287 -8
  2206. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +25 -66
  2207. package/vscode-dts/vscode.proposed.chatPromptFiles.d.ts +136 -0
  2208. package/vscode-dts/vscode.proposed.chatProvider.d.ts +21 -1
  2209. package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +196 -29
  2210. package/vscode-dts/vscode.proposed.contribChatEditorInlineGutterMenu.d.ts +6 -0
  2211. package/vscode-dts/vscode.proposed.css.d.ts +6 -0
  2212. package/vscode-dts/vscode.proposed.d.ts +8 -2
  2213. package/vscode-dts/vscode.proposed.envIsAppPortable.d.ts +20 -0
  2214. package/vscode-dts/vscode.proposed.extensionAffinity.d.ts +6 -0
  2215. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +24 -1
  2216. package/vscode-dts/vscode.proposed.languageModelToolSupportsModel.d.ts +69 -0
  2217. package/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts +31 -0
  2218. package/vscode-dts/vscode.proposed.workspaceTrust.d.ts +31 -0
  2219. package/vscode/src/vs/editor/contrib/colorPicker/browser/images/opacity-background.png +0 -0
  2220. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/keyboard-dark.svg +0 -10
  2221. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/keyboard-light.svg +0 -10
  2222. package/vscode/src/vs/nls.messages.d.ts +0 -2
  2223. package/vscode/src/vs/nls.messages.js +0 -10
  2224. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables.d.ts +0 -42
  2225. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables.js +0 -201
  2226. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +0 -21
  2227. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +0 -141
  2228. package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading-dark.svg +0 -31
  2229. package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading-hc.svg +0 -31
  2230. package/vscode/src/vs/workbench/contrib/extensions/browser/media/loading.svg +0 -31
  2231. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +0 -7
  2232. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +0 -11
  2233. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +0 -20
  2234. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +0 -150
  2235. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.d.ts +0 -30
  2236. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +0 -270
  2237. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/fixedZoneWidget.d.ts +0 -11
  2238. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/fixedZoneWidget.js +0 -43
  2239. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +0 -22
  2240. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +0 -322
  2241. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +0 -18
  2242. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +0 -59
  2243. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +0 -75
  2244. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +0 -340
  2245. package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +0 -21
  2246. package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +0 -36
  2247. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +0 -110
  2248. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +0 -627
  2249. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +0 -40
  2250. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +0 -139
  2251. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.d.ts +0 -57
  2252. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +0 -374
  2253. package/vscode-dts/vscode.proposed.chatEditing.d.ts +0 -29
  2254. package/vscode-dts/vscode.proposed.quickInputButtonLocation.d.ts +0 -49
@@ -0,0 +1,1963 @@
1
+
2
+ import { __decorate, __param } from '../../../../../../../../external/tslib/tslib.es6.js';
3
+ import { addDisposableListener, append, $, reset, scheduleAtNextAnimationFrame, getWindow, h } from '../../../../../base/browser/dom.js';
4
+ import { Disposable, DisposableStore } from '../../../../../base/common/lifecycle.js';
5
+ import { Schemas } from '../../../../../base/common/network.js';
6
+ import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
7
+ import { PropertyFoldingState, NotebookDocumentMetadataViewModel, SideBySideDiffElementViewModel, getFormattedOutputJSON, OUTPUT_EDITOR_HEIGHT_MAGIC, OutputComparison, outputEqual } from './diffElementViewModel.js';
8
+ import { NOTEBOOK_DIFF_CELL_PROPERTY, NOTEBOOK_DIFF_CELL_PROPERTY_EXPANDED, DIFF_CELL_MARGIN, NOTEBOOK_DIFF_METADATA, DiffSide, NOTEBOOK_DIFF_CELL_INPUT, NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE } from './notebookDiffEditorBrowser.js';
9
+ import { CodeEditorWidget } from '../../../../../editor/browser/widget/codeEditor/codeEditorWidget.js';
10
+ import { IModelService } from '../../../../../editor/common/services/model.service.js';
11
+ import { ILanguageService } from '../../../../../editor/common/languages/language.service.js';
12
+ import { CellEditType, CellUri } from '../../common/notebookCommon.js';
13
+ import { IContextMenuService } from '../../../../../platform/contextview/browser/contextView.service.js';
14
+ import { MenuItemAction, MenuId } from '../../../../../platform/actions/common/actions.js';
15
+ import { IMenuService } from '../../../../../platform/actions/common/actions.service.js';
16
+ import { IKeybindingService } from '../../../../../platform/keybinding/common/keybinding.service.js';
17
+ import { INotificationService } from '../../../../../platform/notification/common/notification.service.js';
18
+ import { getFlatActionBarActions } from '../../../../../platform/actions/browser/menuEntryActionViewItem.js';
19
+ import { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.service.js';
20
+ import { CodiconActionViewItem } from '../view/cellParts/cellActionView.js';
21
+ import { collapsedIcon, expandedIcon } from '../notebookIcons.js';
22
+ import { OutputContainer } from './diffElementOutputs.js';
23
+ import { EditorExtensionsRegistry } from '../../../../../editor/browser/editorExtensions.js';
24
+ import { ContextMenuController } from '../../../../../editor/contrib/contextmenu/browser/contextmenu.js';
25
+ import { SnippetController2 } from '../../../../../editor/contrib/snippet/browser/snippetController2.js';
26
+ import { SuggestController } from '../../../../../editor/contrib/suggest/browser/suggestController.js';
27
+ import { MenuPreventer } from '../../../codeEditor/browser/menuPreventer.js';
28
+ import { SelectionClipboardContributionID } from '../../../codeEditor/browser/selectionClipboard.js';
29
+ import { TabCompletionController } from '../../../snippets/browser/tabCompletion.js';
30
+ import { renderIcon, renderLabelWithIcons } from '../../../../../base/browser/ui/iconLabel/iconLabels.js';
31
+ import { ITextModelService } from '../../../../../editor/common/services/resolverService.service.js';
32
+ import { IConfigurationService } from '../../../../../platform/configuration/common/configuration.service.js';
33
+ import { IThemeService } from '../../../../../platform/theme/common/themeService.service.js';
34
+ import { WorkbenchToolBar } from '../../../../../platform/actions/browser/toolbar.js';
35
+ import { ITelemetryService } from '../../../../../platform/telemetry/common/telemetry.service.js';
36
+ import { getEditorPadding, fixedDiffEditorOptions, fixedEditorOptions } from './diffCellEditorOptions.js';
37
+ import { AccessibilityVerbositySettingId } from '../../../accessibility/browser/accessibilityConfiguration.js';
38
+ import { IAccessibilityService } from '../../../../../platform/accessibility/common/accessibility.service.js';
39
+ import { DiffEditorWidget } from '../../../../../editor/browser/widget/diffEditor/diffEditorWidget.js';
40
+ import { ICommandService } from '../../../../../platform/commands/common/commands.service.js';
41
+ import { localize } from '../../../../../nls.js';
42
+ import { Emitter } from '../../../../../base/common/event.js';
43
+ import { ITextResourceConfigurationService } from '../../../../../editor/common/services/textResourceConfiguration.service.js';
44
+ import { getFormattedMetadataJSON } from '../../common/model/notebookCellTextModel.js';
45
+ import { getUnchangedRegionSettings } from './unchangedEditorRegions.js';
46
+
47
+ function getOptimizedNestedCodeEditorWidgetOptions() {
48
+ return {
49
+ isSimpleWidget: false,
50
+ contributions: EditorExtensionsRegistry.getSomeEditorContributions([
51
+ MenuPreventer.ID,
52
+ SelectionClipboardContributionID,
53
+ ContextMenuController.ID,
54
+ SuggestController.ID,
55
+ SnippetController2.ID,
56
+ TabCompletionController.ID
57
+ ])
58
+ };
59
+ }
60
+ class CellDiffPlaceholderElement extends Disposable {
61
+ constructor(placeholder, templateData) {
62
+ super();
63
+ templateData.body.classList.remove("left", "right", "full");
64
+ const text = (placeholder.hiddenCells.length === 1) ? ( localize(9786, "{0} hidden cell", placeholder.hiddenCells.length)) : ( localize(9787, "{0} hidden cells", placeholder.hiddenCells.length));
65
+ templateData.placeholder.innerText = text;
66
+ this._register(addDisposableListener(templateData.placeholder, "dblclick", e => {
67
+ if (e.button !== 0) {
68
+ return;
69
+ }
70
+ e.preventDefault();
71
+ placeholder.showHiddenCells();
72
+ }));
73
+ this._register(templateData.marginOverlay.onAction(() => placeholder.showHiddenCells()));
74
+ templateData.marginOverlay.show();
75
+ }
76
+ }
77
+ let PropertyHeader = class PropertyHeader extends Disposable {
78
+ constructor(
79
+ cell,
80
+ propertyHeaderContainer,
81
+ notebookEditor,
82
+ accessor,
83
+ contextMenuService,
84
+ keybindingService,
85
+ commandService,
86
+ notificationService,
87
+ menuService,
88
+ contextKeyService,
89
+ themeService,
90
+ telemetryService,
91
+ accessibilityService
92
+ ) {
93
+ super();
94
+ this.cell = cell;
95
+ this.propertyHeaderContainer = propertyHeaderContainer;
96
+ this.notebookEditor = notebookEditor;
97
+ this.accessor = accessor;
98
+ this.contextMenuService = contextMenuService;
99
+ this.keybindingService = keybindingService;
100
+ this.commandService = commandService;
101
+ this.notificationService = notificationService;
102
+ this.menuService = menuService;
103
+ this.contextKeyService = contextKeyService;
104
+ this.themeService = themeService;
105
+ this.telemetryService = telemetryService;
106
+ this.accessibilityService = accessibilityService;
107
+ }
108
+ buildHeader() {
109
+ this._foldingIndicator = append(this.propertyHeaderContainer, $(".property-folding-indicator"));
110
+ this._foldingIndicator.classList.add(this.accessor.prefix);
111
+ const metadataStatus = append(this.propertyHeaderContainer, $("div.property-status"));
112
+ this._statusSpan = append(metadataStatus, $("span"));
113
+ this._description = append(metadataStatus, $("span.property-description"));
114
+ const cellToolbarContainer = append(this.propertyHeaderContainer, $("div.property-toolbar"));
115
+ this._toolbar = this._register(( new WorkbenchToolBar(cellToolbarContainer, {
116
+ actionViewItemProvider: (action, options) => {
117
+ if (action instanceof MenuItemAction) {
118
+ const item = ( new CodiconActionViewItem(action, {
119
+ hoverDelegate: options.hoverDelegate
120
+ }, this.keybindingService, this.notificationService, this.contextKeyService, this.themeService, this.contextMenuService, this.accessibilityService));
121
+ return item;
122
+ }
123
+ return undefined;
124
+ }
125
+ }, this.menuService, this.contextKeyService, this.contextMenuService, this.keybindingService, this.commandService, this.telemetryService)));
126
+ this._toolbar.context = this.cell;
127
+ const scopedContextKeyService = this.contextKeyService.createScoped(cellToolbarContainer);
128
+ this._register(scopedContextKeyService);
129
+ this._propertyChanged = NOTEBOOK_DIFF_CELL_PROPERTY.bindTo(scopedContextKeyService);
130
+ this._propertyExpanded = NOTEBOOK_DIFF_CELL_PROPERTY_EXPANDED.bindTo(scopedContextKeyService);
131
+ this._menu = this._register(this.menuService.createMenu(this.accessor.menuId, scopedContextKeyService));
132
+ this._register(this._menu.onDidChange(() => this.updateMenu()));
133
+ this._register(this.notebookEditor.onMouseUp(e => {
134
+ if (!e.event.target || e.target !== this.cell) {
135
+ return;
136
+ }
137
+ const target = e.event.target;
138
+ if (target === this.propertyHeaderContainer || target === this._foldingIndicator || this._foldingIndicator.contains(target) || target === metadataStatus || metadataStatus.contains(target)) {
139
+ const oldFoldingState = this.accessor.getFoldingState();
140
+ this.accessor.updateFoldingState(
141
+ oldFoldingState === PropertyFoldingState.Expanded ? PropertyFoldingState.Collapsed : PropertyFoldingState.Expanded
142
+ );
143
+ this._updateFoldingIcon();
144
+ this.accessor.updateInfoRendering(this.cell.renderOutput);
145
+ }
146
+ }));
147
+ this.refresh();
148
+ this.accessor.updateInfoRendering(this.cell.renderOutput);
149
+ }
150
+ refresh() {
151
+ this.updateMenu();
152
+ this._updateFoldingIcon();
153
+ const metadataChanged = this.accessor.checkIfModified();
154
+ if (this._propertyChanged) {
155
+ this._propertyChanged.set(!!metadataChanged);
156
+ }
157
+ if (metadataChanged) {
158
+ this._statusSpan.textContent = this.accessor.changedLabel;
159
+ this._statusSpan.style.fontWeight = "bold";
160
+ if (metadataChanged.reason) {
161
+ this._description.textContent = metadataChanged.reason;
162
+ }
163
+ this.propertyHeaderContainer.classList.add("modified");
164
+ } else {
165
+ this._statusSpan.textContent = this.accessor.unChangedLabel;
166
+ this._statusSpan.style.fontWeight = "normal";
167
+ this._description.textContent = "";
168
+ this.propertyHeaderContainer.classList.remove("modified");
169
+ }
170
+ }
171
+ updateMenu() {
172
+ const metadataChanged = this.accessor.checkIfModified();
173
+ if (metadataChanged) {
174
+ const actions = getFlatActionBarActions(this._menu.getActions({
175
+ shouldForwardArgs: true
176
+ }));
177
+ this._toolbar.setActions(actions);
178
+ } else {
179
+ this._toolbar.setActions([]);
180
+ }
181
+ }
182
+ _updateFoldingIcon() {
183
+ if (this.accessor.getFoldingState() === PropertyFoldingState.Collapsed) {
184
+ reset(this._foldingIndicator, renderIcon(collapsedIcon));
185
+ this._propertyExpanded?.set(false);
186
+ } else {
187
+ reset(this._foldingIndicator, renderIcon(expandedIcon));
188
+ this._propertyExpanded?.set(true);
189
+ }
190
+ }
191
+ };
192
+ PropertyHeader = ( __decorate([( __param(4, IContextMenuService)), ( __param(5, IKeybindingService)), ( __param(6, ICommandService)), ( __param(7, INotificationService)), ( __param(8, IMenuService)), ( __param(9, IContextKeyService)), ( __param(10, IThemeService)), ( __param(11, ITelemetryService)), ( __param(12, IAccessibilityService))], PropertyHeader));
193
+ let NotebookDocumentMetadataElement = class NotebookDocumentMetadataElement extends Disposable {
194
+ constructor(
195
+ notebookEditor,
196
+ viewModel,
197
+ templateData,
198
+ instantiationService,
199
+ textModelService,
200
+ menuService,
201
+ contextKeyService,
202
+ textConfigurationService,
203
+ configurationService
204
+ ) {
205
+ super();
206
+ this.notebookEditor = notebookEditor;
207
+ this.viewModel = viewModel;
208
+ this.templateData = templateData;
209
+ this.instantiationService = instantiationService;
210
+ this.textModelService = textModelService;
211
+ this.menuService = menuService;
212
+ this.contextKeyService = contextKeyService;
213
+ this.textConfigurationService = textConfigurationService;
214
+ this.configurationService = configurationService;
215
+ this._editor = templateData.sourceEditor;
216
+ this._cellHeaderContainer = this.templateData.cellHeaderContainer;
217
+ this._editorContainer = this.templateData.editorContainer;
218
+ this._diffEditorContainer = this.templateData.diffEditorContainer;
219
+ this._editorViewStateChanged = false;
220
+ this._register(viewModel.onDidLayoutChange(e => {
221
+ this.layout(e);
222
+ this.updateBorders();
223
+ }));
224
+ this.buildBody();
225
+ this.updateBorders();
226
+ }
227
+ buildBody() {
228
+ const body = this.templateData.body;
229
+ body.classList.remove("full");
230
+ body.classList.add("full");
231
+ this.updateSourceEditor();
232
+ if (this.viewModel instanceof NotebookDocumentMetadataViewModel) {
233
+ this._register(this.viewModel.modifiedMetadata.onDidChange(e => {
234
+ this._cellHeader.refresh();
235
+ }));
236
+ }
237
+ }
238
+ layoutNotebookCell() {
239
+ this.notebookEditor.layoutNotebookCell(this.viewModel, this.viewModel.layoutInfo.totalHeight);
240
+ }
241
+ updateBorders() {
242
+ this.templateData.leftBorder.style.height = `${this.viewModel.layoutInfo.totalHeight - 32}px`;
243
+ this.templateData.rightBorder.style.height = `${this.viewModel.layoutInfo.totalHeight - 32}px`;
244
+ this.templateData.bottomBorder.style.top = `${this.viewModel.layoutInfo.totalHeight - 32}px`;
245
+ }
246
+ updateSourceEditor() {
247
+ this._cellHeaderContainer.style.display = "flex";
248
+ this._cellHeaderContainer.innerText = "";
249
+ this._editorContainer.classList.add("diff");
250
+ const updateSourceEditor = () => {
251
+ if (this.viewModel.cellFoldingState === PropertyFoldingState.Collapsed) {
252
+ this._editorContainer.style.display = "none";
253
+ this.viewModel.editorHeight = 0;
254
+ return;
255
+ }
256
+ const lineHeight = this.notebookEditor.getLayoutInfo().fontInfo.lineHeight || 17;
257
+ const editorHeight = this.viewModel.layoutInfo.editorHeight !== 0 ? this.viewModel.layoutInfo.editorHeight : this.viewModel.computeInputEditorHeight(lineHeight);
258
+ this._editorContainer.style.height = `${editorHeight}px`;
259
+ this._editorContainer.style.display = "block";
260
+ const contentHeight = this._editor.getContentHeight();
261
+ if (contentHeight >= 0) {
262
+ this.viewModel.editorHeight = contentHeight;
263
+ }
264
+ return editorHeight;
265
+ };
266
+ const renderSourceEditor = () => {
267
+ const editorHeight = updateSourceEditor();
268
+ if (!editorHeight) {
269
+ return;
270
+ }
271
+ const lineCount = this.viewModel.modifiedMetadata.textBuffer.getLineCount();
272
+ const options = {
273
+ padding: getEditorPadding(lineCount)
274
+ };
275
+ const unchangedRegions = this._register(getUnchangedRegionSettings(this.configurationService));
276
+ if (unchangedRegions.options.enabled) {
277
+ options.hideUnchangedRegions = unchangedRegions.options;
278
+ }
279
+ this._editor.updateOptions(options);
280
+ this._register(unchangedRegions.onDidChangeEnablement(() => {
281
+ options.hideUnchangedRegions = unchangedRegions.options;
282
+ this._editor.updateOptions(options);
283
+ }));
284
+ this._editor.layout({
285
+ width: this.notebookEditor.getLayoutInfo().width - 2 * DIFF_CELL_MARGIN,
286
+ height: editorHeight
287
+ });
288
+ this._register(this._editor.onDidContentSizeChange(e => {
289
+ if (this.viewModel.cellFoldingState === PropertyFoldingState.Expanded && e.contentHeightChanged && this.viewModel.layoutInfo.editorHeight !== e.contentHeight) {
290
+ this.viewModel.editorHeight = e.contentHeight;
291
+ }
292
+ }));
293
+ this._initializeSourceDiffEditor();
294
+ };
295
+ this._cellHeader = this._register(this.instantiationService.createInstance(
296
+ PropertyHeader,
297
+ this.viewModel,
298
+ this._cellHeaderContainer,
299
+ this.notebookEditor,
300
+ {
301
+ updateInfoRendering: () => renderSourceEditor(),
302
+ checkIfModified: () => {
303
+ return this.viewModel.originalMetadata.getHash() !== this.viewModel.modifiedMetadata.getHash() ? {
304
+ reason: undefined
305
+ } : false;
306
+ },
307
+ getFoldingState: () => this.viewModel.cellFoldingState,
308
+ updateFoldingState: state => this.viewModel.cellFoldingState = state,
309
+ unChangedLabel: "Notebook Metadata",
310
+ changedLabel: "Notebook Metadata changed",
311
+ prefix: "metadata",
312
+ menuId: MenuId.NotebookDiffDocumentMetadata
313
+ }
314
+ ));
315
+ this._cellHeader.buildHeader();
316
+ renderSourceEditor();
317
+ const scopedContextKeyService = this.contextKeyService.createScoped(this.templateData.inputToolbarContainer);
318
+ this._register(scopedContextKeyService);
319
+ const inputChanged = NOTEBOOK_DIFF_METADATA.bindTo(scopedContextKeyService);
320
+ inputChanged.set(
321
+ this.viewModel.originalMetadata.getHash() !== this.viewModel.modifiedMetadata.getHash()
322
+ );
323
+ this._toolbar = this.templateData.toolbar;
324
+ this._toolbar.context = this.viewModel;
325
+ const refreshToolbar = () => {
326
+ const hasChanges = this.viewModel.originalMetadata.getHash() !== this.viewModel.modifiedMetadata.getHash();
327
+ inputChanged.set(hasChanges);
328
+ if (hasChanges) {
329
+ const menu = this.menuService.getMenuActions(MenuId.NotebookDiffDocumentMetadata, scopedContextKeyService, {
330
+ shouldForwardArgs: true
331
+ });
332
+ const actions = getFlatActionBarActions(menu);
333
+ this._toolbar.setActions(actions);
334
+ } else {
335
+ this._toolbar.setActions([]);
336
+ }
337
+ };
338
+ this._register(this.viewModel.modifiedMetadata.onDidChange(() => {
339
+ refreshToolbar();
340
+ }));
341
+ refreshToolbar();
342
+ }
343
+ async _initializeSourceDiffEditor() {
344
+ const [originalRef, modifiedRef] = await Promise.all([
345
+ this.textModelService.createModelReference(this.viewModel.originalMetadata.uri),
346
+ this.textModelService.createModelReference(this.viewModel.modifiedMetadata.uri)
347
+ ]);
348
+ if (this._store.isDisposed) {
349
+ originalRef.dispose();
350
+ modifiedRef.dispose();
351
+ return;
352
+ }
353
+ this._register(originalRef);
354
+ this._register(modifiedRef);
355
+ const vm = this._register(this._editor.createViewModel({
356
+ original: originalRef.object.textEditorModel,
357
+ modified: modifiedRef.object.textEditorModel
358
+ }));
359
+ await vm.waitForDiff();
360
+ this._editor.setModel(vm);
361
+ const handleViewStateChange = () => {
362
+ this._editorViewStateChanged = true;
363
+ };
364
+ const handleScrollChange = e => {
365
+ if (e.scrollTopChanged || e.scrollLeftChanged) {
366
+ this._editorViewStateChanged = true;
367
+ }
368
+ };
369
+ this.updateEditorOptionsForWhitespace();
370
+ this._register(
371
+ this._editor.getOriginalEditor().onDidChangeCursorSelection(handleViewStateChange)
372
+ );
373
+ this._register(this._editor.getOriginalEditor().onDidScrollChange(handleScrollChange));
374
+ this._register(
375
+ this._editor.getModifiedEditor().onDidChangeCursorSelection(handleViewStateChange)
376
+ );
377
+ this._register(this._editor.getModifiedEditor().onDidScrollChange(handleScrollChange));
378
+ const editorViewState = this.viewModel.getSourceEditorViewState();
379
+ if (editorViewState) {
380
+ this._editor.restoreViewState(editorViewState);
381
+ }
382
+ const contentHeight = this._editor.getContentHeight();
383
+ this.viewModel.editorHeight = contentHeight;
384
+ }
385
+ updateEditorOptionsForWhitespace() {
386
+ const editor = this._editor;
387
+ const uri = editor.getModel()?.modified.uri || editor.getModel()?.original.uri;
388
+ if (!uri) {
389
+ return;
390
+ }
391
+ const ignoreTrimWhitespace = this.textConfigurationService.getValue(uri, "diffEditor.ignoreTrimWhitespace");
392
+ editor.updateOptions({
393
+ ignoreTrimWhitespace
394
+ });
395
+ this._register(this.textConfigurationService.onDidChangeConfiguration(e => {
396
+ if (e.affectsConfiguration(uri, "diffEditor") && ( e.affectedKeys.has("diffEditor.ignoreTrimWhitespace"))) {
397
+ const ignoreTrimWhitespace = this.textConfigurationService.getValue(uri, "diffEditor.ignoreTrimWhitespace");
398
+ editor.updateOptions({
399
+ ignoreTrimWhitespace
400
+ });
401
+ }
402
+ }));
403
+ }
404
+ layout(state) {
405
+ scheduleAtNextAnimationFrame(getWindow(this._diffEditorContainer), () => {
406
+ if (state.editorHeight) {
407
+ this._editorContainer.style.height = `${this.viewModel.layoutInfo.editorHeight}px`;
408
+ this._editor.layout({
409
+ width: this._editor.getViewWidth(),
410
+ height: this.viewModel.layoutInfo.editorHeight
411
+ });
412
+ }
413
+ if (state.outerWidth) {
414
+ this._editorContainer.style.height = `${this.viewModel.layoutInfo.editorHeight}px`;
415
+ this._editor.layout();
416
+ }
417
+ this.layoutNotebookCell();
418
+ });
419
+ }
420
+ dispose() {
421
+ this._editor.setModel(null);
422
+ if (this._editorViewStateChanged) {
423
+ this.viewModel.saveSpirceEditorViewState(this._editor.saveViewState());
424
+ }
425
+ super.dispose();
426
+ }
427
+ };
428
+ NotebookDocumentMetadataElement = ( __decorate([( __param(3, IInstantiationService)), ( __param(4, ITextModelService)), ( __param(5, IMenuService)), ( __param(6, IContextKeyService)), ( __param(7, ITextResourceConfigurationService)), ( __param(8, IConfigurationService))], NotebookDocumentMetadataElement));
429
+ class AbstractElementRenderer extends Disposable {
430
+ constructor(
431
+ notebookEditor,
432
+ cell,
433
+ templateData,
434
+ style,
435
+ instantiationService,
436
+ languageService,
437
+ modelService,
438
+ textModelService,
439
+ contextMenuService,
440
+ keybindingService,
441
+ notificationService,
442
+ menuService,
443
+ contextKeyService,
444
+ configurationService,
445
+ textConfigurationService
446
+ ) {
447
+ super();
448
+ this.notebookEditor = notebookEditor;
449
+ this.cell = cell;
450
+ this.templateData = templateData;
451
+ this.style = style;
452
+ this.instantiationService = instantiationService;
453
+ this.languageService = languageService;
454
+ this.modelService = modelService;
455
+ this.textModelService = textModelService;
456
+ this.contextMenuService = contextMenuService;
457
+ this.keybindingService = keybindingService;
458
+ this.notificationService = notificationService;
459
+ this.menuService = menuService;
460
+ this.contextKeyService = contextKeyService;
461
+ this.configurationService = configurationService;
462
+ this.textConfigurationService = textConfigurationService;
463
+ this._metadataLocalDisposable = this._register(( new DisposableStore()));
464
+ this._outputLocalDisposable = this._register(( new DisposableStore()));
465
+ this._ignoreMetadata = false;
466
+ this._ignoreOutputs = false;
467
+ this._isDisposed = false;
468
+ this._metadataEditorDisposeStore = this._register(( new DisposableStore()));
469
+ this._outputEditorDisposeStore = this._register(( new DisposableStore()));
470
+ this._register(cell.onDidLayoutChange(e => {
471
+ this.layout(e);
472
+ }));
473
+ this._register(cell.onDidLayoutChange(e => this.updateBorders()));
474
+ this.init();
475
+ this.buildBody();
476
+ this._register(cell.onDidStateChange(() => {
477
+ this.updateOutputRendering(this.cell.renderOutput);
478
+ }));
479
+ }
480
+ buildBody() {
481
+ const body = this.templateData.body;
482
+ this._diffEditorContainer = this.templateData.diffEditorContainer;
483
+ body.classList.remove("left", "right", "full");
484
+ switch (this.style) {
485
+ case "left":
486
+ body.classList.add("left");
487
+ break;
488
+ case "right":
489
+ body.classList.add("right");
490
+ break;
491
+ default:
492
+ body.classList.add("full");
493
+ break;
494
+ }
495
+ this.styleContainer(this._diffEditorContainer);
496
+ this.updateSourceEditor();
497
+ if (this.cell.modified) {
498
+ this._register(
499
+ this.cell.modified.textModel.onDidChangeContent(() => this._cellHeader.refresh())
500
+ );
501
+ }
502
+ this._ignoreMetadata = this.configurationService.getValue("notebook.diff.ignoreMetadata");
503
+ if (this._ignoreMetadata) {
504
+ this._disposeMetadata();
505
+ } else {
506
+ this._buildMetadata();
507
+ }
508
+ this._ignoreOutputs = this.configurationService.getValue("notebook.diff.ignoreOutputs") || !!(this.notebookEditor.textModel?.transientOptions.transientOutputs);
509
+ if (this._ignoreOutputs) {
510
+ this._disposeOutput();
511
+ } else {
512
+ this._buildOutput();
513
+ }
514
+ this._register(this.configurationService.onDidChangeConfiguration(e => {
515
+ let metadataLayoutChange = false;
516
+ let outputLayoutChange = false;
517
+ if (e.affectsConfiguration("notebook.diff.ignoreMetadata")) {
518
+ const newValue = this.configurationService.getValue("notebook.diff.ignoreMetadata");
519
+ if (newValue !== undefined && this._ignoreMetadata !== newValue) {
520
+ this._ignoreMetadata = newValue;
521
+ this._metadataLocalDisposable.clear();
522
+ if (this.configurationService.getValue("notebook.diff.ignoreMetadata")) {
523
+ this._disposeMetadata();
524
+ } else {
525
+ this.cell.metadataStatusHeight = 25;
526
+ this._buildMetadata();
527
+ this.updateMetadataRendering();
528
+ metadataLayoutChange = true;
529
+ }
530
+ }
531
+ }
532
+ if (e.affectsConfiguration("notebook.diff.ignoreOutputs")) {
533
+ const newValue = this.configurationService.getValue("notebook.diff.ignoreOutputs");
534
+ if (newValue !== undefined && this._ignoreOutputs !== (newValue || this.notebookEditor.textModel?.transientOptions.transientOutputs)) {
535
+ this._ignoreOutputs = newValue || !!(this.notebookEditor.textModel?.transientOptions.transientOutputs);
536
+ this._outputLocalDisposable.clear();
537
+ if (this._ignoreOutputs) {
538
+ this._disposeOutput();
539
+ this.cell.layoutChange();
540
+ } else {
541
+ this.cell.outputStatusHeight = 25;
542
+ this._buildOutput();
543
+ outputLayoutChange = true;
544
+ }
545
+ }
546
+ }
547
+ if (metadataLayoutChange || outputLayoutChange) {
548
+ this.layout({
549
+ metadataHeight: metadataLayoutChange,
550
+ outputTotalHeight: outputLayoutChange
551
+ });
552
+ }
553
+ }));
554
+ }
555
+ updateMetadataRendering() {
556
+ if (this.cell.metadataFoldingState === PropertyFoldingState.Expanded) {
557
+ this._metadataInfoContainer.style.display = "block";
558
+ if (!this._metadataEditorContainer || !this._metadataEditor) {
559
+ this._metadataEditorContainer = append(this._metadataInfoContainer, $(".metadata-editor-container"));
560
+ this._buildMetadataEditor();
561
+ } else {
562
+ this.cell.metadataHeight = this._metadataEditor.getContentHeight();
563
+ }
564
+ } else {
565
+ this._metadataInfoContainer.style.display = "none";
566
+ this.cell.metadataHeight = 0;
567
+ }
568
+ }
569
+ updateOutputRendering(renderRichOutput) {
570
+ if (this.cell.outputFoldingState === PropertyFoldingState.Expanded) {
571
+ this._outputInfoContainer.style.display = "block";
572
+ if (renderRichOutput) {
573
+ this._hideOutputsRaw();
574
+ this._buildOutputRendererContainer();
575
+ this._showOutputsRenderer();
576
+ this._showOutputsEmptyView();
577
+ } else {
578
+ this._hideOutputsRenderer();
579
+ this._buildOutputRawContainer();
580
+ this._showOutputsRaw();
581
+ }
582
+ } else {
583
+ this._outputInfoContainer.style.display = "none";
584
+ this._hideOutputsRaw();
585
+ this._hideOutputsRenderer();
586
+ this._hideOutputsEmptyView();
587
+ }
588
+ }
589
+ _buildOutputRawContainer() {
590
+ if (!this._outputEditorContainer) {
591
+ this._outputEditorContainer = append(this._outputInfoContainer, $(".output-editor-container"));
592
+ this._buildOutputEditor();
593
+ }
594
+ }
595
+ _showOutputsRaw() {
596
+ if (this._outputEditorContainer) {
597
+ this._outputEditorContainer.style.display = "block";
598
+ this.cell.rawOutputHeight = this._outputEditor.getContentHeight();
599
+ }
600
+ }
601
+ _showOutputsEmptyView() {
602
+ this.cell.layoutChange();
603
+ }
604
+ _hideOutputsRaw() {
605
+ if (this._outputEditorContainer) {
606
+ this._outputEditorContainer.style.display = "none";
607
+ this.cell.rawOutputHeight = 0;
608
+ }
609
+ }
610
+ _hideOutputsEmptyView() {
611
+ this.cell.layoutChange();
612
+ }
613
+ _applySanitizedMetadataChanges(currentMetadata, newMetadata) {
614
+ const result = {};
615
+ try {
616
+ const newMetadataObj = JSON.parse(newMetadata);
617
+ const keys = ( new Set([...( Object.keys(newMetadataObj))]));
618
+ for (const key of keys) {
619
+ switch (key) {
620
+ case "inputCollapsed":
621
+ case "outputCollapsed":
622
+ if (typeof newMetadataObj[key] === "boolean") {
623
+ result[key] = newMetadataObj[key];
624
+ } else {
625
+ result[key] = currentMetadata[key];
626
+ }
627
+ break;
628
+ default:
629
+ result[key] = newMetadataObj[key];
630
+ break;
631
+ }
632
+ }
633
+ const index = this.notebookEditor.textModel.cells.indexOf(this.cell.modified.textModel);
634
+ if (index < 0) {
635
+ return;
636
+ }
637
+ this.notebookEditor.textModel.applyEdits([{
638
+ editType: CellEditType.Metadata,
639
+ index,
640
+ metadata: result
641
+ }], true, undefined, () => undefined, undefined, true);
642
+ } catch {}
643
+ }
644
+ async _buildMetadataEditor() {
645
+ this._metadataEditorDisposeStore.clear();
646
+ if (this.cell instanceof SideBySideDiffElementViewModel) {
647
+ this._metadataEditor = this.instantiationService.createInstance(DiffEditorWidget, this._metadataEditorContainer, {
648
+ ...fixedDiffEditorOptions,
649
+ overflowWidgetsDomNode: this.notebookEditor.getOverflowContainerDomNode(),
650
+ readOnly: false,
651
+ originalEditable: false,
652
+ ignoreTrimWhitespace: false,
653
+ automaticLayout: false,
654
+ dimension: {
655
+ height: this.cell.layoutInfo.metadataHeight,
656
+ width: this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), true, true)
657
+ }
658
+ }, {
659
+ originalEditor: getOptimizedNestedCodeEditorWidgetOptions(),
660
+ modifiedEditor: getOptimizedNestedCodeEditorWidgetOptions()
661
+ });
662
+ const unchangedRegions = this._register(getUnchangedRegionSettings(this.configurationService));
663
+ if (unchangedRegions.options.enabled) {
664
+ this._metadataEditor.updateOptions({
665
+ hideUnchangedRegions: unchangedRegions.options
666
+ });
667
+ }
668
+ this._metadataEditorDisposeStore.add(unchangedRegions.onDidChangeEnablement(() => {
669
+ if (this._metadataEditor) {
670
+ this._metadataEditor.updateOptions({
671
+ hideUnchangedRegions: unchangedRegions.options
672
+ });
673
+ }
674
+ }));
675
+ this.layout({
676
+ metadataHeight: true
677
+ });
678
+ this._metadataEditorDisposeStore.add(this._metadataEditor);
679
+ this._metadataEditorContainer?.classList.add("diff");
680
+ const [originalMetadataModel, modifiedMetadataModel] = await Promise.all([
681
+ this.textModelService.createModelReference(CellUri.generateCellPropertyUri(
682
+ this.cell.originalDocument.uri,
683
+ this.cell.original.handle,
684
+ Schemas.vscodeNotebookCellMetadata
685
+ )),
686
+ this.textModelService.createModelReference(CellUri.generateCellPropertyUri(
687
+ this.cell.modifiedDocument.uri,
688
+ this.cell.modified.handle,
689
+ Schemas.vscodeNotebookCellMetadata
690
+ ))
691
+ ]);
692
+ if (this._isDisposed) {
693
+ originalMetadataModel.dispose();
694
+ modifiedMetadataModel.dispose();
695
+ return;
696
+ }
697
+ this._metadataEditorDisposeStore.add(originalMetadataModel);
698
+ this._metadataEditorDisposeStore.add(modifiedMetadataModel);
699
+ const vm = this._metadataEditor.createViewModel({
700
+ original: originalMetadataModel.object.textEditorModel,
701
+ modified: modifiedMetadataModel.object.textEditorModel
702
+ });
703
+ this._metadataEditor.setModel(vm);
704
+ await vm.waitForDiff();
705
+ if (this._isDisposed) {
706
+ return;
707
+ }
708
+ this.cell.metadataHeight = this._metadataEditor.getContentHeight();
709
+ this._metadataEditorDisposeStore.add(this._metadataEditor.onDidContentSizeChange(e => {
710
+ if (e.contentHeightChanged && this.cell.metadataFoldingState === PropertyFoldingState.Expanded) {
711
+ this.cell.metadataHeight = e.contentHeight;
712
+ }
713
+ }));
714
+ let respondingToContentChange = false;
715
+ this._metadataEditorDisposeStore.add(modifiedMetadataModel.object.textEditorModel.onDidChangeContent(() => {
716
+ respondingToContentChange = true;
717
+ const value = modifiedMetadataModel.object.textEditorModel.getValue();
718
+ this._applySanitizedMetadataChanges(this.cell.modified.metadata, value);
719
+ this._metadataHeader.refresh();
720
+ respondingToContentChange = false;
721
+ }));
722
+ this._metadataEditorDisposeStore.add(this.cell.modified.textModel.onDidChangeMetadata(() => {
723
+ if (respondingToContentChange) {
724
+ return;
725
+ }
726
+ const modifiedMetadataSource = getFormattedMetadataJSON(
727
+ this.notebookEditor.textModel?.transientOptions.transientCellMetadata,
728
+ this.cell.modified?.metadata || {},
729
+ this.cell.modified?.language,
730
+ true
731
+ );
732
+ modifiedMetadataModel.object.textEditorModel.setValue(modifiedMetadataSource);
733
+ }));
734
+ return;
735
+ } else {
736
+ this._metadataEditor = this.instantiationService.createInstance(CodeEditorWidget, this._metadataEditorContainer, {
737
+ ...fixedEditorOptions,
738
+ dimension: {
739
+ width: this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, true),
740
+ height: this.cell.layoutInfo.metadataHeight
741
+ },
742
+ overflowWidgetsDomNode: this.notebookEditor.getOverflowContainerDomNode(),
743
+ readOnly: false,
744
+ allowVariableLineHeights: false
745
+ }, {});
746
+ this.layout({
747
+ metadataHeight: true
748
+ });
749
+ this._metadataEditorDisposeStore.add(this._metadataEditor);
750
+ const mode = this.languageService.createById("jsonc");
751
+ const originalMetadataSource = getFormattedMetadataJSON(
752
+ this.notebookEditor.textModel?.transientOptions.transientCellMetadata,
753
+ this.cell.type === "insert" ? this.cell.modified.metadata || {} : this.cell.original.metadata || {},
754
+ undefined,
755
+ true
756
+ );
757
+ const uri = this.cell.type === "insert" ? this.cell.modified.uri : this.cell.original.uri;
758
+ const handle = this.cell.type === "insert" ? this.cell.modified.handle : this.cell.original.handle;
759
+ const modelUri = CellUri.generateCellPropertyUri(uri, handle, Schemas.vscodeNotebookCellMetadata);
760
+ const metadataModel = this.modelService.createModel(originalMetadataSource, mode, modelUri, false);
761
+ this._metadataEditor.setModel(metadataModel);
762
+ this._metadataEditorDisposeStore.add(metadataModel);
763
+ this.cell.metadataHeight = this._metadataEditor.getContentHeight();
764
+ this._metadataEditorDisposeStore.add(this._metadataEditor.onDidContentSizeChange(e => {
765
+ if (e.contentHeightChanged && this.cell.metadataFoldingState === PropertyFoldingState.Expanded) {
766
+ this.cell.metadataHeight = e.contentHeight;
767
+ }
768
+ }));
769
+ }
770
+ }
771
+ _buildOutputEditor() {
772
+ this._outputEditorDisposeStore.clear();
773
+ if ((this.cell.type === "modified" || this.cell.type === "unchanged") && !this.notebookEditor.textModel.transientOptions.transientOutputs) {
774
+ const originalOutputsSource = getFormattedOutputJSON(this.cell.original?.outputs || []);
775
+ const modifiedOutputsSource = getFormattedOutputJSON(this.cell.modified?.outputs || []);
776
+ if (originalOutputsSource !== modifiedOutputsSource) {
777
+ const mode = this.languageService.createById("json");
778
+ const originalModel = this.modelService.createModel(originalOutputsSource, mode, undefined, true);
779
+ const modifiedModel = this.modelService.createModel(modifiedOutputsSource, mode, undefined, true);
780
+ this._outputEditorDisposeStore.add(originalModel);
781
+ this._outputEditorDisposeStore.add(modifiedModel);
782
+ const lineHeight = this.notebookEditor.getLayoutInfo().fontInfo.lineHeight || 17;
783
+ const lineCount = Math.max(originalModel.getLineCount(), modifiedModel.getLineCount());
784
+ this._outputEditor = this.instantiationService.createInstance(DiffEditorWidget, this._outputEditorContainer, {
785
+ ...fixedDiffEditorOptions,
786
+ overflowWidgetsDomNode: this.notebookEditor.getOverflowContainerDomNode(),
787
+ readOnly: true,
788
+ ignoreTrimWhitespace: false,
789
+ automaticLayout: false,
790
+ dimension: {
791
+ height: Math.min(
792
+ OUTPUT_EDITOR_HEIGHT_MAGIC,
793
+ this.cell.layoutInfo.rawOutputHeight || lineHeight * lineCount
794
+ ),
795
+ width: this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, true)
796
+ },
797
+ accessibilityVerbose: this.configurationService.getValue(AccessibilityVerbositySettingId.DiffEditor) ?? false
798
+ }, {
799
+ originalEditor: getOptimizedNestedCodeEditorWidgetOptions(),
800
+ modifiedEditor: getOptimizedNestedCodeEditorWidgetOptions()
801
+ });
802
+ this._outputEditorDisposeStore.add(this._outputEditor);
803
+ this._outputEditorContainer?.classList.add("diff");
804
+ this._outputEditor.setModel({
805
+ original: originalModel,
806
+ modified: modifiedModel
807
+ });
808
+ this._outputEditor.restoreViewState(this.cell.getOutputEditorViewState());
809
+ this.cell.rawOutputHeight = this._outputEditor.getContentHeight();
810
+ this._outputEditorDisposeStore.add(this._outputEditor.onDidContentSizeChange(e => {
811
+ if (e.contentHeightChanged && this.cell.outputFoldingState === PropertyFoldingState.Expanded) {
812
+ this.cell.rawOutputHeight = e.contentHeight;
813
+ }
814
+ }));
815
+ this._outputEditorDisposeStore.add(this.cell.modified.textModel.onDidChangeOutputs(() => {
816
+ const modifiedOutputsSource = getFormattedOutputJSON(this.cell.modified?.outputs || []);
817
+ modifiedModel.setValue(modifiedOutputsSource);
818
+ this._outputHeader.refresh();
819
+ }));
820
+ return;
821
+ }
822
+ }
823
+ this._outputEditor = this.instantiationService.createInstance(CodeEditorWidget, this._outputEditorContainer, {
824
+ ...fixedEditorOptions,
825
+ dimension: {
826
+ width: Math.min(OUTPUT_EDITOR_HEIGHT_MAGIC, this.cell.getComputedCellContainerWidth(
827
+ this.notebookEditor.getLayoutInfo(),
828
+ false,
829
+ this.cell.type === "unchanged" || this.cell.type === "modified"
830
+ ) - 32),
831
+ height: this.cell.layoutInfo.rawOutputHeight
832
+ },
833
+ overflowWidgetsDomNode: this.notebookEditor.getOverflowContainerDomNode(),
834
+ allowVariableLineHeights: false
835
+ }, {});
836
+ this._outputEditorDisposeStore.add(this._outputEditor);
837
+ const mode = this.languageService.createById("json");
838
+ const originaloutputSource = getFormattedOutputJSON(
839
+ this.notebookEditor.textModel.transientOptions.transientOutputs ? [] : this.cell.type === "insert" ? this.cell.modified?.outputs || [] : this.cell.original?.outputs || []
840
+ );
841
+ const outputModel = this.modelService.createModel(originaloutputSource, mode, undefined, true);
842
+ this._outputEditorDisposeStore.add(outputModel);
843
+ this._outputEditor.setModel(outputModel);
844
+ this._outputEditor.restoreViewState(this.cell.getOutputEditorViewState());
845
+ this.cell.rawOutputHeight = this._outputEditor.getContentHeight();
846
+ this._outputEditorDisposeStore.add(this._outputEditor.onDidContentSizeChange(e => {
847
+ if (e.contentHeightChanged && this.cell.outputFoldingState === PropertyFoldingState.Expanded) {
848
+ this.cell.rawOutputHeight = e.contentHeight;
849
+ }
850
+ }));
851
+ }
852
+ layoutNotebookCell() {
853
+ this.notebookEditor.layoutNotebookCell(this.cell, this.cell.layoutInfo.totalHeight);
854
+ }
855
+ updateBorders() {
856
+ this.templateData.leftBorder.style.height = `${this.cell.layoutInfo.totalHeight - 32}px`;
857
+ this.templateData.rightBorder.style.height = `${this.cell.layoutInfo.totalHeight - 32}px`;
858
+ this.templateData.bottomBorder.style.top = `${this.cell.layoutInfo.totalHeight - 32}px`;
859
+ }
860
+ dispose() {
861
+ if (this._outputEditor) {
862
+ this.cell.saveOutputEditorViewState(this._outputEditor.saveViewState());
863
+ }
864
+ if (this._metadataEditor) {
865
+ this.cell.saveMetadataEditorViewState(this._metadataEditor.saveViewState());
866
+ }
867
+ this._metadataEditorDisposeStore.dispose();
868
+ this._outputEditorDisposeStore.dispose();
869
+ this._isDisposed = true;
870
+ super.dispose();
871
+ }
872
+ }
873
+ class SingleSideDiffElement extends AbstractElementRenderer {
874
+ constructor(
875
+ notebookEditor,
876
+ cell,
877
+ templateData,
878
+ style,
879
+ instantiationService,
880
+ languageService,
881
+ modelService,
882
+ textModelService,
883
+ contextMenuService,
884
+ keybindingService,
885
+ notificationService,
886
+ menuService,
887
+ contextKeyService,
888
+ configurationService,
889
+ textConfigurationService
890
+ ) {
891
+ super(
892
+ notebookEditor,
893
+ cell,
894
+ templateData,
895
+ style,
896
+ instantiationService,
897
+ languageService,
898
+ modelService,
899
+ textModelService,
900
+ contextMenuService,
901
+ keybindingService,
902
+ notificationService,
903
+ menuService,
904
+ contextKeyService,
905
+ configurationService,
906
+ textConfigurationService
907
+ );
908
+ this.cell = cell;
909
+ this.templateData = templateData;
910
+ this.updateBorders();
911
+ }
912
+ init() {
913
+ this._diagonalFill = this.templateData.diagonalFill;
914
+ }
915
+ buildBody() {
916
+ const body = this.templateData.body;
917
+ this._diffEditorContainer = this.templateData.diffEditorContainer;
918
+ body.classList.remove("left", "right", "full");
919
+ switch (this.style) {
920
+ case "left":
921
+ body.classList.add("left");
922
+ break;
923
+ case "right":
924
+ body.classList.add("right");
925
+ break;
926
+ default:
927
+ body.classList.add("full");
928
+ break;
929
+ }
930
+ this.styleContainer(this._diffEditorContainer);
931
+ this.updateSourceEditor();
932
+ if (this.configurationService.getValue("notebook.diff.ignoreMetadata")) {
933
+ this._disposeMetadata();
934
+ } else {
935
+ this._buildMetadata();
936
+ }
937
+ if (this.configurationService.getValue("notebook.diff.ignoreOutputs") || this.notebookEditor.textModel?.transientOptions.transientOutputs) {
938
+ this._disposeOutput();
939
+ } else {
940
+ this._buildOutput();
941
+ }
942
+ this._register(this.configurationService.onDidChangeConfiguration(e => {
943
+ let metadataLayoutChange = false;
944
+ let outputLayoutChange = false;
945
+ if (e.affectsConfiguration("notebook.diff.ignoreMetadata")) {
946
+ this._metadataLocalDisposable.clear();
947
+ if (this.configurationService.getValue("notebook.diff.ignoreMetadata")) {
948
+ this._disposeMetadata();
949
+ } else {
950
+ this.cell.metadataStatusHeight = 25;
951
+ this._buildMetadata();
952
+ this.updateMetadataRendering();
953
+ metadataLayoutChange = true;
954
+ }
955
+ }
956
+ if (e.affectsConfiguration("notebook.diff.ignoreOutputs")) {
957
+ this._outputLocalDisposable.clear();
958
+ if (this.configurationService.getValue("notebook.diff.ignoreOutputs") || this.notebookEditor.textModel?.transientOptions.transientOutputs) {
959
+ this._disposeOutput();
960
+ } else {
961
+ this.cell.outputStatusHeight = 25;
962
+ this._buildOutput();
963
+ outputLayoutChange = true;
964
+ }
965
+ }
966
+ if (metadataLayoutChange || outputLayoutChange) {
967
+ this.layout({
968
+ metadataHeight: metadataLayoutChange,
969
+ outputTotalHeight: outputLayoutChange
970
+ });
971
+ }
972
+ }));
973
+ }
974
+ updateSourceEditor() {
975
+ this._cellHeaderContainer = this.templateData.cellHeaderContainer;
976
+ this._cellHeaderContainer.style.display = "flex";
977
+ this._cellHeaderContainer.innerText = "";
978
+ this._editorContainer = this.templateData.editorContainer;
979
+ this._editorContainer.classList.add("diff");
980
+ const renderSourceEditor = () => {
981
+ if (this.cell.cellFoldingState === PropertyFoldingState.Collapsed) {
982
+ this._editorContainer.style.display = "none";
983
+ this.cell.editorHeight = 0;
984
+ return;
985
+ }
986
+ const lineHeight = this.notebookEditor.getLayoutInfo().fontInfo.lineHeight || 17;
987
+ const editorHeight = this.cell.computeInputEditorHeight(lineHeight);
988
+ this._editorContainer.style.height = `${editorHeight}px`;
989
+ this._editorContainer.style.display = "block";
990
+ if (this._editor) {
991
+ const contentHeight = this._editor.getContentHeight();
992
+ if (contentHeight >= 0) {
993
+ this.cell.editorHeight = contentHeight;
994
+ }
995
+ return;
996
+ }
997
+ this._editor = this.templateData.sourceEditor;
998
+ this._editor.layout({
999
+ width: (this.notebookEditor.getLayoutInfo().width - 2 * DIFF_CELL_MARGIN) / 2 - 18,
1000
+ height: editorHeight
1001
+ });
1002
+ this._editor.updateOptions({
1003
+ readOnly: this.readonly
1004
+ });
1005
+ this.cell.editorHeight = editorHeight;
1006
+ this._register(this._editor.onDidContentSizeChange(e => {
1007
+ if (this.cell.cellFoldingState === PropertyFoldingState.Expanded && e.contentHeightChanged && this.cell.layoutInfo.editorHeight !== e.contentHeight) {
1008
+ this.cell.editorHeight = e.contentHeight;
1009
+ }
1010
+ }));
1011
+ this._initializeSourceDiffEditor(this.nestedCellViewModel);
1012
+ };
1013
+ this._cellHeader = this._register(this.instantiationService.createInstance(
1014
+ PropertyHeader,
1015
+ this.cell,
1016
+ this._cellHeaderContainer,
1017
+ this.notebookEditor,
1018
+ {
1019
+ updateInfoRendering: () => renderSourceEditor(),
1020
+ checkIfModified: () => ({
1021
+ reason: undefined
1022
+ }),
1023
+ getFoldingState: () => this.cell.cellFoldingState,
1024
+ updateFoldingState: state => this.cell.cellFoldingState = state,
1025
+ unChangedLabel: "Input",
1026
+ changedLabel: "Input",
1027
+ prefix: "input",
1028
+ menuId: MenuId.NotebookDiffCellInputTitle
1029
+ }
1030
+ ));
1031
+ this._cellHeader.buildHeader();
1032
+ renderSourceEditor();
1033
+ this._initializeSourceDiffEditor(this.nestedCellViewModel);
1034
+ }
1035
+ calculateDiagonalFillHeight() {
1036
+ return this.cell.layoutInfo.cellStatusHeight + this.cell.layoutInfo.editorHeight + this.cell.layoutInfo.editorMargin + this.cell.layoutInfo.metadataStatusHeight + this.cell.layoutInfo.metadataHeight + this.cell.layoutInfo.outputTotalHeight + this.cell.layoutInfo.outputStatusHeight;
1037
+ }
1038
+ async _initializeSourceDiffEditor(modifiedCell) {
1039
+ const modifiedRef = await this.textModelService.createModelReference(modifiedCell.uri);
1040
+ if (this._isDisposed) {
1041
+ return;
1042
+ }
1043
+ const modifiedTextModel = modifiedRef.object.textEditorModel;
1044
+ this._register(modifiedRef);
1045
+ this._editor.setModel(modifiedTextModel);
1046
+ const editorViewState = this.cell.getSourceEditorViewState();
1047
+ if (editorViewState) {
1048
+ this._editor.restoreViewState(editorViewState);
1049
+ }
1050
+ const contentHeight = this._editor.getContentHeight();
1051
+ this.cell.editorHeight = contentHeight;
1052
+ const height = `${this.calculateDiagonalFillHeight()}px`;
1053
+ if (this._diagonalFill.style.height !== height) {
1054
+ this._diagonalFill.style.height = height;
1055
+ }
1056
+ }
1057
+ _disposeMetadata() {
1058
+ this.cell.metadataStatusHeight = 0;
1059
+ this.cell.metadataHeight = 0;
1060
+ this.templateData.cellHeaderContainer.style.display = "none";
1061
+ this.templateData.metadataHeaderContainer.style.display = "none";
1062
+ this.templateData.metadataInfoContainer.style.display = "none";
1063
+ this._metadataEditor = undefined;
1064
+ }
1065
+ _buildMetadata() {
1066
+ this._metadataHeaderContainer = this.templateData.metadataHeaderContainer;
1067
+ this._metadataInfoContainer = this.templateData.metadataInfoContainer;
1068
+ this._metadataHeaderContainer.style.display = "flex";
1069
+ this._metadataInfoContainer.style.display = "block";
1070
+ this._metadataHeaderContainer.innerText = "";
1071
+ this._metadataInfoContainer.innerText = "";
1072
+ this._metadataHeader = this.instantiationService.createInstance(
1073
+ PropertyHeader,
1074
+ this.cell,
1075
+ this._metadataHeaderContainer,
1076
+ this.notebookEditor,
1077
+ {
1078
+ updateInfoRendering: this.updateMetadataRendering.bind(this),
1079
+ checkIfModified: () => {
1080
+ return this.cell.checkMetadataIfModified();
1081
+ },
1082
+ getFoldingState: () => {
1083
+ return this.cell.metadataFoldingState;
1084
+ },
1085
+ updateFoldingState: state => {
1086
+ this.cell.metadataFoldingState = state;
1087
+ },
1088
+ unChangedLabel: "Metadata",
1089
+ changedLabel: "Metadata changed",
1090
+ prefix: "metadata",
1091
+ menuId: MenuId.NotebookDiffCellMetadataTitle
1092
+ }
1093
+ );
1094
+ this._metadataLocalDisposable.add(this._metadataHeader);
1095
+ this._metadataHeader.buildHeader();
1096
+ }
1097
+ _buildOutput() {
1098
+ this.templateData.outputHeaderContainer.style.display = "flex";
1099
+ this.templateData.outputInfoContainer.style.display = "block";
1100
+ this._outputHeaderContainer = this.templateData.outputHeaderContainer;
1101
+ this._outputInfoContainer = this.templateData.outputInfoContainer;
1102
+ this._outputHeaderContainer.innerText = "";
1103
+ this._outputInfoContainer.innerText = "";
1104
+ this._outputHeader = this.instantiationService.createInstance(
1105
+ PropertyHeader,
1106
+ this.cell,
1107
+ this._outputHeaderContainer,
1108
+ this.notebookEditor,
1109
+ {
1110
+ updateInfoRendering: this.updateOutputRendering.bind(this),
1111
+ checkIfModified: () => {
1112
+ return this.cell.checkIfOutputsModified();
1113
+ },
1114
+ getFoldingState: () => {
1115
+ return this.cell.outputFoldingState;
1116
+ },
1117
+ updateFoldingState: state => {
1118
+ this.cell.outputFoldingState = state;
1119
+ },
1120
+ unChangedLabel: "Outputs",
1121
+ changedLabel: "Outputs changed",
1122
+ prefix: "output",
1123
+ menuId: MenuId.NotebookDiffCellOutputsTitle
1124
+ }
1125
+ );
1126
+ this._outputLocalDisposable.add(this._outputHeader);
1127
+ this._outputHeader.buildHeader();
1128
+ }
1129
+ _disposeOutput() {
1130
+ this._hideOutputsRaw();
1131
+ this._hideOutputsRenderer();
1132
+ this._hideOutputsEmptyView();
1133
+ this.cell.rawOutputHeight = 0;
1134
+ this.cell.outputMetadataHeight = 0;
1135
+ this.cell.outputStatusHeight = 0;
1136
+ this.templateData.outputHeaderContainer.style.display = "none";
1137
+ this.templateData.outputInfoContainer.style.display = "none";
1138
+ this._outputViewContainer = undefined;
1139
+ }
1140
+ }
1141
+ let DeletedElement = class DeletedElement extends SingleSideDiffElement {
1142
+ constructor(
1143
+ notebookEditor,
1144
+ cell,
1145
+ templateData,
1146
+ languageService,
1147
+ modelService,
1148
+ textModelService,
1149
+ instantiationService,
1150
+ contextMenuService,
1151
+ keybindingService,
1152
+ notificationService,
1153
+ menuService,
1154
+ contextKeyService,
1155
+ configurationService,
1156
+ textConfigurationService
1157
+ ) {
1158
+ super(
1159
+ notebookEditor,
1160
+ cell,
1161
+ templateData,
1162
+ "left",
1163
+ instantiationService,
1164
+ languageService,
1165
+ modelService,
1166
+ textModelService,
1167
+ contextMenuService,
1168
+ keybindingService,
1169
+ notificationService,
1170
+ menuService,
1171
+ contextKeyService,
1172
+ configurationService,
1173
+ textConfigurationService
1174
+ );
1175
+ }
1176
+ get nestedCellViewModel() {
1177
+ return this.cell.original;
1178
+ }
1179
+ get readonly() {
1180
+ return true;
1181
+ }
1182
+ styleContainer(container) {
1183
+ container.classList.remove("inserted");
1184
+ container.classList.add("removed");
1185
+ }
1186
+ layout(state) {
1187
+ scheduleAtNextAnimationFrame(getWindow(this._diffEditorContainer), () => {
1188
+ if ((state.editorHeight || state.outerWidth) && this._editor) {
1189
+ this._editorContainer.style.height = `${this.cell.layoutInfo.editorHeight}px`;
1190
+ this._editor.layout({
1191
+ width: this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, false),
1192
+ height: this.cell.layoutInfo.editorHeight
1193
+ });
1194
+ }
1195
+ if (state.outerWidth && this._editor) {
1196
+ this._editorContainer.style.height = `${this.cell.layoutInfo.editorHeight}px`;
1197
+ this._editor.layout();
1198
+ }
1199
+ if (state.metadataHeight || state.outerWidth) {
1200
+ this._metadataEditor?.layout({
1201
+ width: this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, false),
1202
+ height: this.cell.layoutInfo.metadataHeight
1203
+ });
1204
+ }
1205
+ if (state.outputTotalHeight || state.outerWidth) {
1206
+ this._outputEditor?.layout({
1207
+ width: this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, false),
1208
+ height: this.cell.layoutInfo.outputTotalHeight
1209
+ });
1210
+ }
1211
+ if (this._diagonalFill) {
1212
+ this._diagonalFill.style.height = `${this.calculateDiagonalFillHeight()}px`;
1213
+ }
1214
+ this.layoutNotebookCell();
1215
+ });
1216
+ }
1217
+ _buildOutputRendererContainer() {
1218
+ if (!this._outputViewContainer) {
1219
+ this._outputViewContainer = append(this._outputInfoContainer, $(".output-view-container"));
1220
+ this._outputEmptyElement = append(this._outputViewContainer, $(".output-empty-view"));
1221
+ const span = append(this._outputEmptyElement, $("span"));
1222
+ span.innerText = "No outputs to render";
1223
+ if (!this.cell.original?.outputs.length) {
1224
+ this._outputEmptyElement.style.display = "block";
1225
+ } else {
1226
+ this._outputEmptyElement.style.display = "none";
1227
+ }
1228
+ this.cell.layoutChange();
1229
+ this._outputLeftView = this.instantiationService.createInstance(
1230
+ OutputContainer,
1231
+ this.notebookEditor,
1232
+ this.notebookEditor.textModel,
1233
+ this.cell,
1234
+ this.cell.original,
1235
+ DiffSide.Original,
1236
+ this._outputViewContainer
1237
+ );
1238
+ this._register(this._outputLeftView);
1239
+ this._outputLeftView.render();
1240
+ const removedOutputRenderListener = this.notebookEditor.onDidDynamicOutputRendered(e => {
1241
+ if (( e.cell.uri.toString()) === ( this.cell.original.uri.toString())) {
1242
+ this.notebookEditor.deltaCellOutputContainerClassNames(DiffSide.Original, this.cell.original.id, ["nb-cellDeleted"], []);
1243
+ removedOutputRenderListener.dispose();
1244
+ }
1245
+ });
1246
+ this._register(removedOutputRenderListener);
1247
+ }
1248
+ this._outputViewContainer.style.display = "block";
1249
+ }
1250
+ _decorate() {
1251
+ this.notebookEditor.deltaCellOutputContainerClassNames(DiffSide.Original, this.cell.original.id, ["nb-cellDeleted"], []);
1252
+ }
1253
+ _showOutputsRenderer() {
1254
+ if (this._outputViewContainer) {
1255
+ this._outputViewContainer.style.display = "block";
1256
+ this._outputLeftView?.showOutputs();
1257
+ this._decorate();
1258
+ }
1259
+ }
1260
+ _hideOutputsRenderer() {
1261
+ if (this._outputViewContainer) {
1262
+ this._outputViewContainer.style.display = "none";
1263
+ this._outputLeftView?.hideOutputs();
1264
+ }
1265
+ }
1266
+ dispose() {
1267
+ if (this._editor) {
1268
+ this.cell.saveSpirceEditorViewState(this._editor.saveViewState());
1269
+ }
1270
+ super.dispose();
1271
+ }
1272
+ };
1273
+ DeletedElement = ( __decorate([( __param(3, ILanguageService)), ( __param(4, IModelService)), ( __param(5, ITextModelService)), ( __param(6, IInstantiationService)), ( __param(7, IContextMenuService)), ( __param(8, IKeybindingService)), ( __param(9, INotificationService)), ( __param(10, IMenuService)), ( __param(11, IContextKeyService)), ( __param(12, IConfigurationService)), ( __param(13, ITextResourceConfigurationService))], DeletedElement));
1274
+ let InsertElement = class InsertElement extends SingleSideDiffElement {
1275
+ constructor(
1276
+ notebookEditor,
1277
+ cell,
1278
+ templateData,
1279
+ instantiationService,
1280
+ languageService,
1281
+ modelService,
1282
+ textModelService,
1283
+ contextMenuService,
1284
+ keybindingService,
1285
+ notificationService,
1286
+ menuService,
1287
+ contextKeyService,
1288
+ configurationService,
1289
+ textConfigurationService
1290
+ ) {
1291
+ super(
1292
+ notebookEditor,
1293
+ cell,
1294
+ templateData,
1295
+ "right",
1296
+ instantiationService,
1297
+ languageService,
1298
+ modelService,
1299
+ textModelService,
1300
+ contextMenuService,
1301
+ keybindingService,
1302
+ notificationService,
1303
+ menuService,
1304
+ contextKeyService,
1305
+ configurationService,
1306
+ textConfigurationService
1307
+ );
1308
+ }
1309
+ get nestedCellViewModel() {
1310
+ return this.cell.modified;
1311
+ }
1312
+ get readonly() {
1313
+ return false;
1314
+ }
1315
+ styleContainer(container) {
1316
+ container.classList.remove("removed");
1317
+ container.classList.add("inserted");
1318
+ }
1319
+ _buildOutputRendererContainer() {
1320
+ if (!this._outputViewContainer) {
1321
+ this._outputViewContainer = append(this._outputInfoContainer, $(".output-view-container"));
1322
+ this._outputEmptyElement = append(this._outputViewContainer, $(".output-empty-view"));
1323
+ this._outputEmptyElement.innerText = "No outputs to render";
1324
+ if (!this.cell.modified?.outputs.length) {
1325
+ this._outputEmptyElement.style.display = "block";
1326
+ } else {
1327
+ this._outputEmptyElement.style.display = "none";
1328
+ }
1329
+ this.cell.layoutChange();
1330
+ this._outputRightView = this.instantiationService.createInstance(
1331
+ OutputContainer,
1332
+ this.notebookEditor,
1333
+ this.notebookEditor.textModel,
1334
+ this.cell,
1335
+ this.cell.modified,
1336
+ DiffSide.Modified,
1337
+ this._outputViewContainer
1338
+ );
1339
+ this._register(this._outputRightView);
1340
+ this._outputRightView.render();
1341
+ const insertOutputRenderListener = this.notebookEditor.onDidDynamicOutputRendered(e => {
1342
+ if (( e.cell.uri.toString()) === ( this.cell.modified.uri.toString())) {
1343
+ this.notebookEditor.deltaCellOutputContainerClassNames(DiffSide.Modified, this.cell.modified.id, ["nb-cellAdded"], []);
1344
+ insertOutputRenderListener.dispose();
1345
+ }
1346
+ });
1347
+ this._register(insertOutputRenderListener);
1348
+ }
1349
+ this._outputViewContainer.style.display = "block";
1350
+ }
1351
+ _decorate() {
1352
+ this.notebookEditor.deltaCellOutputContainerClassNames(DiffSide.Modified, this.cell.modified.id, ["nb-cellAdded"], []);
1353
+ }
1354
+ _showOutputsRenderer() {
1355
+ if (this._outputViewContainer) {
1356
+ this._outputViewContainer.style.display = "block";
1357
+ this._outputRightView?.showOutputs();
1358
+ this._decorate();
1359
+ }
1360
+ }
1361
+ _hideOutputsRenderer() {
1362
+ if (this._outputViewContainer) {
1363
+ this._outputViewContainer.style.display = "none";
1364
+ this._outputRightView?.hideOutputs();
1365
+ }
1366
+ }
1367
+ layout(state) {
1368
+ scheduleAtNextAnimationFrame(getWindow(this._diffEditorContainer), () => {
1369
+ if ((state.editorHeight || state.outerWidth) && this._editor) {
1370
+ this._editorContainer.style.height = `${this.cell.layoutInfo.editorHeight}px`;
1371
+ this._editor.layout({
1372
+ width: this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, false),
1373
+ height: this.cell.layoutInfo.editorHeight
1374
+ });
1375
+ }
1376
+ if (state.outerWidth && this._editor) {
1377
+ this._editorContainer.style.height = `${this.cell.layoutInfo.editorHeight}px`;
1378
+ this._editor.layout();
1379
+ }
1380
+ if (state.metadataHeight || state.outerWidth) {
1381
+ this._metadataEditor?.layout({
1382
+ width: this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, true),
1383
+ height: this.cell.layoutInfo.metadataHeight
1384
+ });
1385
+ }
1386
+ if (state.outputTotalHeight || state.outerWidth) {
1387
+ this._outputEditor?.layout({
1388
+ width: this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, false),
1389
+ height: this.cell.layoutInfo.outputTotalHeight
1390
+ });
1391
+ }
1392
+ this.layoutNotebookCell();
1393
+ if (this._diagonalFill) {
1394
+ this._diagonalFill.style.height = `${this.calculateDiagonalFillHeight()}px`;
1395
+ }
1396
+ });
1397
+ }
1398
+ dispose() {
1399
+ if (this._editor) {
1400
+ this.cell.saveSpirceEditorViewState(this._editor.saveViewState());
1401
+ }
1402
+ super.dispose();
1403
+ }
1404
+ };
1405
+ InsertElement = ( __decorate([( __param(3, IInstantiationService)), ( __param(4, ILanguageService)), ( __param(5, IModelService)), ( __param(6, ITextModelService)), ( __param(7, IContextMenuService)), ( __param(8, IKeybindingService)), ( __param(9, INotificationService)), ( __param(10, IMenuService)), ( __param(11, IContextKeyService)), ( __param(12, IConfigurationService)), ( __param(13, ITextResourceConfigurationService))], InsertElement));
1406
+ let ModifiedElement = class ModifiedElement extends AbstractElementRenderer {
1407
+ constructor(
1408
+ notebookEditor,
1409
+ cell,
1410
+ templateData,
1411
+ instantiationService,
1412
+ languageService,
1413
+ modelService,
1414
+ textModelService,
1415
+ contextMenuService,
1416
+ keybindingService,
1417
+ notificationService,
1418
+ menuService,
1419
+ contextKeyService,
1420
+ configurationService,
1421
+ textConfigurationService
1422
+ ) {
1423
+ super(
1424
+ notebookEditor,
1425
+ cell,
1426
+ templateData,
1427
+ "full",
1428
+ instantiationService,
1429
+ languageService,
1430
+ modelService,
1431
+ textModelService,
1432
+ contextMenuService,
1433
+ keybindingService,
1434
+ notificationService,
1435
+ menuService,
1436
+ contextKeyService,
1437
+ configurationService,
1438
+ textConfigurationService
1439
+ );
1440
+ this.cell = cell;
1441
+ this.templateData = templateData;
1442
+ this._editorViewStateChanged = false;
1443
+ this.updateBorders();
1444
+ }
1445
+ init() {}
1446
+ styleContainer(container) {
1447
+ container.classList.remove("inserted", "removed");
1448
+ }
1449
+ buildBody() {
1450
+ super.buildBody();
1451
+ if (this.cell.displayIconToHideUnmodifiedCells) {
1452
+ this._register(
1453
+ this.templateData.marginOverlay.onAction(() => this.cell.hideUnchangedCells())
1454
+ );
1455
+ this.templateData.marginOverlay.show();
1456
+ } else {
1457
+ this.templateData.marginOverlay.hide();
1458
+ }
1459
+ }
1460
+ _disposeMetadata() {
1461
+ this.cell.metadataStatusHeight = 0;
1462
+ this.cell.metadataHeight = 0;
1463
+ this.templateData.metadataHeaderContainer.style.display = "none";
1464
+ this.templateData.metadataInfoContainer.style.display = "none";
1465
+ this._metadataEditor = undefined;
1466
+ }
1467
+ _buildMetadata() {
1468
+ this._metadataHeaderContainer = this.templateData.metadataHeaderContainer;
1469
+ this._metadataInfoContainer = this.templateData.metadataInfoContainer;
1470
+ this._metadataHeaderContainer.style.display = "flex";
1471
+ this._metadataInfoContainer.style.display = "block";
1472
+ this._metadataHeaderContainer.innerText = "";
1473
+ this._metadataInfoContainer.innerText = "";
1474
+ this._metadataHeader = this.instantiationService.createInstance(
1475
+ PropertyHeader,
1476
+ this.cell,
1477
+ this._metadataHeaderContainer,
1478
+ this.notebookEditor,
1479
+ {
1480
+ updateInfoRendering: this.updateMetadataRendering.bind(this),
1481
+ checkIfModified: () => {
1482
+ return this.cell.checkMetadataIfModified();
1483
+ },
1484
+ getFoldingState: () => {
1485
+ return this.cell.metadataFoldingState;
1486
+ },
1487
+ updateFoldingState: state => {
1488
+ this.cell.metadataFoldingState = state;
1489
+ },
1490
+ unChangedLabel: "Metadata",
1491
+ changedLabel: "Metadata changed",
1492
+ prefix: "metadata",
1493
+ menuId: MenuId.NotebookDiffCellMetadataTitle
1494
+ }
1495
+ );
1496
+ this._metadataLocalDisposable.add(this._metadataHeader);
1497
+ this._metadataHeader.buildHeader();
1498
+ }
1499
+ _disposeOutput() {
1500
+ this._hideOutputsRaw();
1501
+ this._hideOutputsRenderer();
1502
+ this._hideOutputsEmptyView();
1503
+ this.cell.rawOutputHeight = 0;
1504
+ this.cell.outputMetadataHeight = 0;
1505
+ this.cell.outputStatusHeight = 0;
1506
+ this.templateData.outputHeaderContainer.style.display = "none";
1507
+ this.templateData.outputInfoContainer.style.display = "none";
1508
+ this._outputViewContainer = undefined;
1509
+ }
1510
+ _buildOutput() {
1511
+ this.templateData.outputHeaderContainer.style.display = "flex";
1512
+ this.templateData.outputInfoContainer.style.display = "block";
1513
+ this._outputHeaderContainer = this.templateData.outputHeaderContainer;
1514
+ this._outputInfoContainer = this.templateData.outputInfoContainer;
1515
+ this._outputHeaderContainer.innerText = "";
1516
+ this._outputInfoContainer.innerText = "";
1517
+ if (this.cell.checkIfOutputsModified()) {
1518
+ this._outputInfoContainer.classList.add("modified");
1519
+ } else {
1520
+ this._outputInfoContainer.classList.remove("modified");
1521
+ }
1522
+ this._outputHeader = this.instantiationService.createInstance(
1523
+ PropertyHeader,
1524
+ this.cell,
1525
+ this._outputHeaderContainer,
1526
+ this.notebookEditor,
1527
+ {
1528
+ updateInfoRendering: this.updateOutputRendering.bind(this),
1529
+ checkIfModified: () => {
1530
+ return this.cell.checkIfOutputsModified();
1531
+ },
1532
+ getFoldingState: () => {
1533
+ return this.cell.outputFoldingState;
1534
+ },
1535
+ updateFoldingState: state => {
1536
+ this.cell.outputFoldingState = state;
1537
+ },
1538
+ unChangedLabel: "Outputs",
1539
+ changedLabel: "Outputs changed",
1540
+ prefix: "output",
1541
+ menuId: MenuId.NotebookDiffCellOutputsTitle
1542
+ }
1543
+ );
1544
+ this._outputLocalDisposable.add(this._outputHeader);
1545
+ this._outputHeader.buildHeader();
1546
+ }
1547
+ _buildOutputRendererContainer() {
1548
+ if (!this._outputViewContainer) {
1549
+ this._outputViewContainer = append(this._outputInfoContainer, $(".output-view-container"));
1550
+ this._outputEmptyElement = append(this._outputViewContainer, $(".output-empty-view"));
1551
+ this._outputEmptyElement.innerText = "No outputs to render";
1552
+ if (!this.cell.checkIfOutputsModified() && this.cell.modified.outputs.length === 0) {
1553
+ this._outputEmptyElement.style.display = "block";
1554
+ } else {
1555
+ this._outputEmptyElement.style.display = "none";
1556
+ }
1557
+ this.cell.layoutChange();
1558
+ this._register(this.cell.modified.textModel.onDidChangeOutputs(() => {
1559
+ if (!this.cell.checkIfOutputsModified() && this.cell.modified.outputs.length === 0) {
1560
+ this._outputEmptyElement.style.display = "block";
1561
+ } else {
1562
+ this._outputEmptyElement.style.display = "none";
1563
+ }
1564
+ this._decorate();
1565
+ }));
1566
+ this._outputLeftContainer = append(this._outputViewContainer, $(".output-view-container-left"));
1567
+ this._outputRightContainer = append(this._outputViewContainer, $(".output-view-container-right"));
1568
+ this._outputMetadataContainer = append(this._outputViewContainer, $(".output-view-container-metadata"));
1569
+ const outputModified = this.cell.checkIfOutputsModified();
1570
+ const outputMetadataChangeOnly = outputModified && outputModified.kind === OutputComparison.Metadata && this.cell.original.outputs.length === 1 && this.cell.modified.outputs.length === 1 && outputEqual(this.cell.original.outputs[0], this.cell.modified.outputs[0]) === OutputComparison.Metadata;
1571
+ if (outputModified && !outputMetadataChangeOnly) {
1572
+ const originalOutputRenderListener = this.notebookEditor.onDidDynamicOutputRendered(e => {
1573
+ if (( e.cell.uri.toString()) === ( this.cell.original.uri.toString()) && this.cell.checkIfOutputsModified()) {
1574
+ this.notebookEditor.deltaCellOutputContainerClassNames(DiffSide.Original, this.cell.original.id, ["nb-cellDeleted"], []);
1575
+ originalOutputRenderListener.dispose();
1576
+ }
1577
+ });
1578
+ const modifiedOutputRenderListener = this.notebookEditor.onDidDynamicOutputRendered(e => {
1579
+ if (( e.cell.uri.toString()) === ( this.cell.modified.uri.toString()) && this.cell.checkIfOutputsModified()) {
1580
+ this.notebookEditor.deltaCellOutputContainerClassNames(DiffSide.Modified, this.cell.modified.id, ["nb-cellAdded"], []);
1581
+ modifiedOutputRenderListener.dispose();
1582
+ }
1583
+ });
1584
+ this._register(originalOutputRenderListener);
1585
+ this._register(modifiedOutputRenderListener);
1586
+ }
1587
+ this._outputLeftView = this.instantiationService.createInstance(
1588
+ OutputContainer,
1589
+ this.notebookEditor,
1590
+ this.notebookEditor.textModel,
1591
+ this.cell,
1592
+ this.cell.original,
1593
+ DiffSide.Original,
1594
+ this._outputLeftContainer
1595
+ );
1596
+ this._outputLeftView.render();
1597
+ this._register(this._outputLeftView);
1598
+ this._outputRightView = this.instantiationService.createInstance(
1599
+ OutputContainer,
1600
+ this.notebookEditor,
1601
+ this.notebookEditor.textModel,
1602
+ this.cell,
1603
+ this.cell.modified,
1604
+ DiffSide.Modified,
1605
+ this._outputRightContainer
1606
+ );
1607
+ this._outputRightView.render();
1608
+ this._register(this._outputRightView);
1609
+ if (outputModified && !outputMetadataChangeOnly) {
1610
+ this._decorate();
1611
+ }
1612
+ if (outputMetadataChangeOnly) {
1613
+ this._outputMetadataContainer.style.top = `${this.cell.layoutInfo.rawOutputHeight}px`;
1614
+ this._outputMetadataEditor = this.instantiationService.createInstance(DiffEditorWidget, this._outputMetadataContainer, {
1615
+ ...fixedDiffEditorOptions,
1616
+ overflowWidgetsDomNode: this.notebookEditor.getOverflowContainerDomNode(),
1617
+ readOnly: true,
1618
+ ignoreTrimWhitespace: false,
1619
+ automaticLayout: false,
1620
+ dimension: {
1621
+ height: OUTPUT_EDITOR_HEIGHT_MAGIC,
1622
+ width: this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, true)
1623
+ }
1624
+ }, {
1625
+ originalEditor: getOptimizedNestedCodeEditorWidgetOptions(),
1626
+ modifiedEditor: getOptimizedNestedCodeEditorWidgetOptions()
1627
+ });
1628
+ this._register(this._outputMetadataEditor);
1629
+ const originalOutputMetadataSource = JSON.stringify(this.cell.original.outputs[0].metadata ?? {}, undefined, "\t");
1630
+ const modifiedOutputMetadataSource = JSON.stringify(this.cell.modified.outputs[0].metadata ?? {}, undefined, "\t");
1631
+ const mode = this.languageService.createById("json");
1632
+ const originalModel = this.modelService.createModel(originalOutputMetadataSource, mode, undefined, true);
1633
+ const modifiedModel = this.modelService.createModel(modifiedOutputMetadataSource, mode, undefined, true);
1634
+ this._outputMetadataEditor.setModel({
1635
+ original: originalModel,
1636
+ modified: modifiedModel
1637
+ });
1638
+ this.cell.outputMetadataHeight = this._outputMetadataEditor.getContentHeight();
1639
+ this._register(this._outputMetadataEditor.onDidContentSizeChange(e => {
1640
+ this.cell.outputMetadataHeight = e.contentHeight;
1641
+ }));
1642
+ }
1643
+ }
1644
+ this._outputViewContainer.style.display = "block";
1645
+ }
1646
+ _decorate() {
1647
+ if (this.cell.checkIfOutputsModified()) {
1648
+ this.notebookEditor.deltaCellOutputContainerClassNames(DiffSide.Original, this.cell.original.id, ["nb-cellDeleted"], []);
1649
+ this.notebookEditor.deltaCellOutputContainerClassNames(DiffSide.Modified, this.cell.modified.id, ["nb-cellAdded"], []);
1650
+ } else {
1651
+ this.notebookEditor.deltaCellOutputContainerClassNames(DiffSide.Original, this.cell.original.id, [], ["nb-cellDeleted"]);
1652
+ this.notebookEditor.deltaCellOutputContainerClassNames(DiffSide.Modified, this.cell.modified.id, [], ["nb-cellAdded"]);
1653
+ }
1654
+ }
1655
+ _showOutputsRenderer() {
1656
+ if (this._outputViewContainer) {
1657
+ this._outputViewContainer.style.display = "block";
1658
+ this._outputLeftView?.showOutputs();
1659
+ this._outputRightView?.showOutputs();
1660
+ this._outputMetadataEditor?.layout({
1661
+ width: this._editor?.getViewWidth() || this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, true),
1662
+ height: this.cell.layoutInfo.outputMetadataHeight
1663
+ });
1664
+ this._decorate();
1665
+ }
1666
+ }
1667
+ _hideOutputsRenderer() {
1668
+ if (this._outputViewContainer) {
1669
+ this._outputViewContainer.style.display = "none";
1670
+ this._outputLeftView?.hideOutputs();
1671
+ this._outputRightView?.hideOutputs();
1672
+ }
1673
+ }
1674
+ updateSourceEditor() {
1675
+ this._cellHeaderContainer = this.templateData.cellHeaderContainer;
1676
+ this._cellHeaderContainer.style.display = "flex";
1677
+ this._cellHeaderContainer.innerText = "";
1678
+ const modifiedCell = this.cell.modified;
1679
+ this._editorContainer = this.templateData.editorContainer;
1680
+ this._editorContainer.classList.add("diff");
1681
+ const renderSourceEditor = () => {
1682
+ if (this.cell.cellFoldingState === PropertyFoldingState.Collapsed) {
1683
+ this._editorContainer.style.display = "none";
1684
+ this.cell.editorHeight = 0;
1685
+ return;
1686
+ }
1687
+ const lineCount = modifiedCell.textModel.textBuffer.getLineCount();
1688
+ const lineHeight = this.notebookEditor.getLayoutInfo().fontInfo.lineHeight || 17;
1689
+ const editorHeight = this.cell.layoutInfo.editorHeight !== 0 ? this.cell.layoutInfo.editorHeight : this.cell.computeInputEditorHeight(lineHeight);
1690
+ this._editorContainer.style.height = `${editorHeight}px`;
1691
+ this._editorContainer.style.display = "block";
1692
+ if (this._editor) {
1693
+ const contentHeight = this._editor.getContentHeight();
1694
+ if (contentHeight >= 0) {
1695
+ this.cell.editorHeight = contentHeight;
1696
+ }
1697
+ return;
1698
+ }
1699
+ this._editor = this.templateData.sourceEditor;
1700
+ const options = {
1701
+ padding: getEditorPadding(lineCount)
1702
+ };
1703
+ const unchangedRegions = this._register(getUnchangedRegionSettings(this.configurationService));
1704
+ if (unchangedRegions.options.enabled) {
1705
+ options.hideUnchangedRegions = unchangedRegions.options;
1706
+ }
1707
+ this._editor.updateOptions(options);
1708
+ this._register(unchangedRegions.onDidChangeEnablement(() => {
1709
+ options.hideUnchangedRegions = unchangedRegions.options;
1710
+ this._editor?.updateOptions(options);
1711
+ }));
1712
+ this._editor.layout({
1713
+ width: this.notebookEditor.getLayoutInfo().width - 2 * DIFF_CELL_MARGIN,
1714
+ height: editorHeight
1715
+ });
1716
+ this._register(this._editor.onDidContentSizeChange(e => {
1717
+ if (this.cell.cellFoldingState === PropertyFoldingState.Expanded && e.contentHeightChanged && this.cell.layoutInfo.editorHeight !== e.contentHeight) {
1718
+ this.cell.editorHeight = e.contentHeight;
1719
+ }
1720
+ }));
1721
+ this._initializeSourceDiffEditor();
1722
+ };
1723
+ this._cellHeader = this._register(this.instantiationService.createInstance(
1724
+ PropertyHeader,
1725
+ this.cell,
1726
+ this._cellHeaderContainer,
1727
+ this.notebookEditor,
1728
+ {
1729
+ updateInfoRendering: () => renderSourceEditor(),
1730
+ checkIfModified: () => {
1731
+ return this.cell.modified?.textModel.getTextBufferHash() !== this.cell.original?.textModel.getTextBufferHash() ? {
1732
+ reason: undefined
1733
+ } : false;
1734
+ },
1735
+ getFoldingState: () => this.cell.cellFoldingState,
1736
+ updateFoldingState: state => this.cell.cellFoldingState = state,
1737
+ unChangedLabel: "Input",
1738
+ changedLabel: "Input changed",
1739
+ prefix: "input",
1740
+ menuId: MenuId.NotebookDiffCellInputTitle
1741
+ }
1742
+ ));
1743
+ this._cellHeader.buildHeader();
1744
+ renderSourceEditor();
1745
+ const scopedContextKeyService = this.contextKeyService.createScoped(this.templateData.inputToolbarContainer);
1746
+ this._register(scopedContextKeyService);
1747
+ const inputChanged = NOTEBOOK_DIFF_CELL_INPUT.bindTo(scopedContextKeyService);
1748
+ inputChanged.set(
1749
+ this.cell.modified.textModel.getTextBufferHash() !== this.cell.original.textModel.getTextBufferHash()
1750
+ );
1751
+ const ignoreWhitespace = NOTEBOOK_DIFF_CELL_IGNORE_WHITESPACE.bindTo(scopedContextKeyService);
1752
+ const ignore = this.textConfigurationService.getValue(this.cell.modified.uri, "diffEditor.ignoreTrimWhitespace");
1753
+ ignoreWhitespace.set(ignore);
1754
+ this._toolbar = this.templateData.toolbar;
1755
+ this._toolbar.context = this.cell;
1756
+ const refreshToolbar = () => {
1757
+ const ignore = this.textConfigurationService.getValue(this.cell.modified.uri, "diffEditor.ignoreTrimWhitespace");
1758
+ ignoreWhitespace.set(ignore);
1759
+ const hasChanges = this.cell.modified.textModel.getTextBufferHash() !== this.cell.original.textModel.getTextBufferHash();
1760
+ inputChanged.set(hasChanges);
1761
+ if (hasChanges) {
1762
+ const menu = this.menuService.getMenuActions(MenuId.NotebookDiffCellInputTitle, scopedContextKeyService, {
1763
+ shouldForwardArgs: true
1764
+ });
1765
+ const actions = getFlatActionBarActions(menu);
1766
+ this._toolbar.setActions(actions);
1767
+ } else {
1768
+ this._toolbar.setActions([]);
1769
+ }
1770
+ };
1771
+ this._register(this.cell.modified.textModel.onDidChangeContent(() => refreshToolbar()));
1772
+ this._register(this.textConfigurationService.onDidChangeConfiguration(e => {
1773
+ if (e.affectsConfiguration(this.cell.modified.uri, "diffEditor") && ( e.affectedKeys.has("diffEditor.ignoreTrimWhitespace"))) {
1774
+ refreshToolbar();
1775
+ }
1776
+ }));
1777
+ refreshToolbar();
1778
+ }
1779
+ async _initializeSourceDiffEditor() {
1780
+ const [originalRef, modifiedRef] = await Promise.all([
1781
+ this.textModelService.createModelReference(this.cell.original.uri),
1782
+ this.textModelService.createModelReference(this.cell.modified.uri)
1783
+ ]);
1784
+ this._register(originalRef);
1785
+ this._register(modifiedRef);
1786
+ if (this._isDisposed) {
1787
+ originalRef.dispose();
1788
+ modifiedRef.dispose();
1789
+ return;
1790
+ }
1791
+ const vm = this._register(this._editor.createViewModel({
1792
+ original: originalRef.object.textEditorModel,
1793
+ modified: modifiedRef.object.textEditorModel
1794
+ }));
1795
+ await vm.waitForDiff();
1796
+ this._editor.setModel(vm);
1797
+ const handleViewStateChange = () => {
1798
+ this._editorViewStateChanged = true;
1799
+ };
1800
+ const handleScrollChange = e => {
1801
+ if (e.scrollTopChanged || e.scrollLeftChanged) {
1802
+ this._editorViewStateChanged = true;
1803
+ }
1804
+ };
1805
+ this.updateEditorOptionsForWhitespace();
1806
+ this._register(
1807
+ this._editor.getOriginalEditor().onDidChangeCursorSelection(handleViewStateChange)
1808
+ );
1809
+ this._register(this._editor.getOriginalEditor().onDidScrollChange(handleScrollChange));
1810
+ this._register(
1811
+ this._editor.getModifiedEditor().onDidChangeCursorSelection(handleViewStateChange)
1812
+ );
1813
+ this._register(this._editor.getModifiedEditor().onDidScrollChange(handleScrollChange));
1814
+ const editorViewState = this.cell.getSourceEditorViewState();
1815
+ if (editorViewState) {
1816
+ this._editor.restoreViewState(editorViewState);
1817
+ }
1818
+ const contentHeight = this._editor.getContentHeight();
1819
+ this.cell.editorHeight = contentHeight;
1820
+ }
1821
+ updateEditorOptionsForWhitespace() {
1822
+ const editor = this._editor;
1823
+ if (!editor) {
1824
+ return;
1825
+ }
1826
+ const uri = editor.getModel()?.modified.uri || editor.getModel()?.original.uri;
1827
+ if (!uri) {
1828
+ return;
1829
+ }
1830
+ const ignoreTrimWhitespace = this.textConfigurationService.getValue(uri, "diffEditor.ignoreTrimWhitespace");
1831
+ editor.updateOptions({
1832
+ ignoreTrimWhitespace
1833
+ });
1834
+ this._register(this.textConfigurationService.onDidChangeConfiguration(e => {
1835
+ if (e.affectsConfiguration(uri, "diffEditor") && ( e.affectedKeys.has("diffEditor.ignoreTrimWhitespace"))) {
1836
+ const ignoreTrimWhitespace = this.textConfigurationService.getValue(uri, "diffEditor.ignoreTrimWhitespace");
1837
+ editor.updateOptions({
1838
+ ignoreTrimWhitespace
1839
+ });
1840
+ }
1841
+ }));
1842
+ }
1843
+ layout(state) {
1844
+ scheduleAtNextAnimationFrame(getWindow(this._diffEditorContainer), () => {
1845
+ if (state.editorHeight && this._editor) {
1846
+ this._editorContainer.style.height = `${this.cell.layoutInfo.editorHeight}px`;
1847
+ this._editor.layout({
1848
+ width: this._editor.getViewWidth(),
1849
+ height: this.cell.layoutInfo.editorHeight
1850
+ });
1851
+ }
1852
+ if (state.outerWidth && this._editor) {
1853
+ this._editorContainer.style.height = `${this.cell.layoutInfo.editorHeight}px`;
1854
+ this._editor.layout();
1855
+ }
1856
+ if (state.metadataHeight || state.outerWidth) {
1857
+ if (this._metadataEditorContainer) {
1858
+ this._metadataEditorContainer.style.height = `${this.cell.layoutInfo.metadataHeight}px`;
1859
+ this._metadataEditor?.layout({
1860
+ width: this._editor?.getViewWidth() || this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, true),
1861
+ height: this.cell.layoutInfo.metadataHeight
1862
+ });
1863
+ }
1864
+ }
1865
+ if (state.outputTotalHeight || state.outerWidth) {
1866
+ if (this._outputEditorContainer) {
1867
+ this._outputEditorContainer.style.height = `${this.cell.layoutInfo.outputTotalHeight}px`;
1868
+ this._outputEditor?.layout({
1869
+ width: this._editor?.getViewWidth() || this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, true),
1870
+ height: this.cell.layoutInfo.outputTotalHeight
1871
+ });
1872
+ }
1873
+ if (this._outputMetadataContainer) {
1874
+ this._outputMetadataContainer.style.height = `${this.cell.layoutInfo.outputMetadataHeight}px`;
1875
+ this._outputMetadataContainer.style.top = `${this.cell.layoutInfo.outputTotalHeight - this.cell.layoutInfo.outputMetadataHeight}px`;
1876
+ this._outputMetadataEditor?.layout({
1877
+ width: this._editor?.getViewWidth() || this.cell.getComputedCellContainerWidth(this.notebookEditor.getLayoutInfo(), false, true),
1878
+ height: this.cell.layoutInfo.outputMetadataHeight
1879
+ });
1880
+ }
1881
+ }
1882
+ this.layoutNotebookCell();
1883
+ });
1884
+ }
1885
+ dispose() {
1886
+ if (this._editor) {
1887
+ this._editor.setModel(null);
1888
+ }
1889
+ if (this._editor && this._editorViewStateChanged) {
1890
+ this.cell.saveSpirceEditorViewState(this._editor.saveViewState());
1891
+ }
1892
+ super.dispose();
1893
+ }
1894
+ };
1895
+ ModifiedElement = ( __decorate([( __param(3, IInstantiationService)), ( __param(4, ILanguageService)), ( __param(5, IModelService)), ( __param(6, ITextModelService)), ( __param(7, IContextMenuService)), ( __param(8, IKeybindingService)), ( __param(9, INotificationService)), ( __param(10, IMenuService)), ( __param(11, IContextKeyService)), ( __param(12, IConfigurationService)), ( __param(13, ITextResourceConfigurationService))], ModifiedElement));
1896
+ class CollapsedCellOverlayWidget extends Disposable {
1897
+ constructor(container) {
1898
+ super();
1899
+ this.container = container;
1900
+ this._nodes = h("div.diff-hidden-cells", [h("div.center@content", {
1901
+ style: {
1902
+ display: "flex"
1903
+ }
1904
+ }, [$("a", {
1905
+ title: ( localize(9788, "Show Unchanged Cells")),
1906
+ role: "button",
1907
+ onclick: () => {
1908
+ this._action.fire();
1909
+ }
1910
+ }, ...renderLabelWithIcons("$(unfold)"))])]);
1911
+ this._action = this._register(( new Emitter()));
1912
+ this.onAction = this._action.event;
1913
+ this._nodes.root.style.display = "none";
1914
+ container.appendChild(this._nodes.root);
1915
+ }
1916
+ show() {
1917
+ this._nodes.root.style.display = "block";
1918
+ }
1919
+ hide() {
1920
+ this._nodes.root.style.display = "none";
1921
+ }
1922
+ dispose() {
1923
+ this.hide();
1924
+ this.container.removeChild(this._nodes.root);
1925
+ reset(this._nodes.root);
1926
+ super.dispose();
1927
+ }
1928
+ }
1929
+ class UnchangedCellOverlayWidget extends Disposable {
1930
+ constructor(container) {
1931
+ super();
1932
+ this.container = container;
1933
+ this._nodes = h("div.diff-hidden-cells", [h("div.center@content", {
1934
+ style: {
1935
+ display: "flex"
1936
+ }
1937
+ }, [$("a", {
1938
+ title: ( localize(9789, "Hide Unchanged Cells")),
1939
+ role: "button",
1940
+ onclick: () => {
1941
+ this._action.fire();
1942
+ }
1943
+ }, ...renderLabelWithIcons("$(fold)"))])]);
1944
+ this._action = this._register(( new Emitter()));
1945
+ this.onAction = this._action.event;
1946
+ this._nodes.root.style.display = "none";
1947
+ container.appendChild(this._nodes.root);
1948
+ }
1949
+ show() {
1950
+ this._nodes.root.style.display = "block";
1951
+ }
1952
+ hide() {
1953
+ this._nodes.root.style.display = "none";
1954
+ }
1955
+ dispose() {
1956
+ this.hide();
1957
+ this.container.removeChild(this._nodes.root);
1958
+ reset(this._nodes.root);
1959
+ super.dispose();
1960
+ }
1961
+ }
1962
+
1963
+ export { CellDiffPlaceholderElement, CollapsedCellOverlayWidget, DeletedElement, InsertElement, ModifiedElement, NotebookDocumentMetadataElement, UnchangedCellOverlayWidget, getOptimizedNestedCodeEditorWidgetOptions };