@codingame/monaco-vscode-api 1.85.4 → 2.0.0-rework-ci.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1497) hide show
  1. package/README.md +30 -25
  2. package/api.js +19 -19
  3. package/assets.js +1 -1
  4. package/contributions.js +2 -2
  5. package/editor.api.d.ts +8 -0
  6. package/extensions.js +7 -7
  7. package/l10n.js +1 -1
  8. package/lifecycle.js +5 -5
  9. package/localExtensionHost.js +19 -19
  10. package/missing-services.js +26 -26
  11. package/monaco.js +33 -33
  12. package/package.json +10 -13
  13. package/service-override/tools/editor.d.ts +1 -0
  14. package/service-override/tools/editor.js +13 -13
  15. package/services.d.ts +11 -10
  16. package/services.js +95 -39
  17. package/tools/injection.js +1 -1
  18. package/tools/l10n.js +10 -10
  19. package/vscode/src/vs/base/browser/broadcast.js +4 -4
  20. package/vscode/src/vs/base/browser/browser.js +140 -0
  21. package/vscode/src/vs/base/browser/canIUse.js +24 -0
  22. package/vscode/src/vs/base/browser/defaultWorkerFactory.js +98 -0
  23. package/vscode/src/vs/base/browser/dnd.js +57 -0
  24. package/vscode/src/vs/base/browser/dom.js +1451 -0
  25. package/vscode/src/vs/base/browser/dompurify/dompurify.js +888 -0
  26. package/vscode/src/vs/base/browser/event.js +17 -0
  27. package/vscode/src/vs/base/browser/fastDomNode.js +274 -0
  28. package/vscode/src/vs/base/browser/formattedTextRenderer.js +161 -0
  29. package/vscode/src/vs/base/browser/globalPointerMoveMonitor.js +59 -0
  30. package/vscode/src/vs/base/browser/iframe.js +89 -0
  31. package/vscode/src/vs/base/browser/indexedDB.js +146 -0
  32. package/vscode/src/vs/base/browser/keyboardEvent.js +144 -0
  33. package/vscode/src/vs/base/browser/markdownRenderer.js +586 -0
  34. package/vscode/src/vs/base/browser/mouseEvent.js +106 -0
  35. package/vscode/src/vs/base/browser/performance.js +142 -0
  36. package/vscode/src/vs/base/browser/touch.js +236 -0
  37. package/vscode/src/vs/base/browser/trustedTypes.js +22 -0
  38. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +360 -0
  39. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css.js +4 -0
  40. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +475 -0
  41. package/vscode/src/vs/base/browser/ui/aria/aria.css.js +4 -0
  42. package/vscode/src/vs/base/browser/ui/aria/aria.js +69 -0
  43. package/vscode/src/vs/base/browser/ui/button/button.css.js +4 -0
  44. package/vscode/src/vs/base/browser/ui/button/button.js +371 -0
  45. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css.js +4 -0
  46. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +4 -0
  47. package/vscode/src/vs/base/browser/ui/contextview/contextview.css.js +4 -0
  48. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +271 -0
  49. package/vscode/src/vs/base/browser/ui/countBadge/countBadge.css.js +4 -0
  50. package/vscode/src/vs/base/browser/ui/countBadge/countBadge.js +36 -0
  51. package/vscode/src/vs/base/browser/ui/dialog/dialog.css.js +4 -0
  52. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +355 -0
  53. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.css.js +4 -0
  54. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +148 -0
  55. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +165 -0
  56. package/vscode/src/vs/base/browser/ui/findinput/findInput.css.js +4 -0
  57. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +304 -0
  58. package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +55 -0
  59. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +210 -0
  60. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +96 -0
  61. package/vscode/src/vs/base/browser/ui/hover/hover.css.js +4 -0
  62. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +79 -0
  63. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +253 -0
  64. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.js +183 -0
  65. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabels.js +30 -0
  66. package/vscode/src/vs/base/browser/ui/iconLabel/iconlabel.css.js +4 -0
  67. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +2 -2
  68. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.css.js +4 -0
  69. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +572 -0
  70. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.css.js +4 -0
  71. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +118 -0
  72. package/vscode/src/vs/base/browser/ui/list/list.css.js +4 -0
  73. package/vscode/src/vs/base/browser/ui/list/list.js +19 -0
  74. package/vscode/src/vs/base/browser/ui/list/listPaging.js +221 -0
  75. package/vscode/src/vs/base/browser/ui/list/listView.js +1120 -0
  76. package/vscode/src/vs/base/browser/ui/list/listWidget.js +1488 -0
  77. package/vscode/src/vs/base/browser/ui/list/rangeMap.js +122 -0
  78. package/vscode/src/vs/base/browser/ui/list/rowCache.js +99 -0
  79. package/vscode/src/vs/base/browser/ui/list/splice.js +9 -0
  80. package/vscode/src/vs/base/browser/ui/menu/menu.js +1108 -0
  81. package/vscode/src/vs/base/browser/ui/menu/menubar.js +45 -45
  82. package/vscode/src/vs/base/browser/ui/mouseCursor/mouseCursor.css.js +4 -0
  83. package/vscode/src/vs/base/browser/ui/mouseCursor/mouseCursor.js +3 -0
  84. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.css.js +4 -0
  85. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +125 -0
  86. package/vscode/src/vs/base/browser/ui/resizable/resizable.js +160 -0
  87. package/vscode/src/vs/base/browser/ui/sash/sash.css.js +4 -0
  88. package/vscode/src/vs/base/browser/ui/sash/sash.js +373 -0
  89. package/vscode/src/vs/base/browser/ui/scrollbar/abstractScrollbar.js +191 -0
  90. package/vscode/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +92 -0
  91. package/vscode/src/vs/base/browser/ui/scrollbar/media/scrollbars.css.js +4 -0
  92. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +487 -0
  93. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarArrow.js +69 -0
  94. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarState.js +142 -0
  95. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +83 -0
  96. package/vscode/src/vs/base/browser/ui/scrollbar/verticalScrollbar.js +92 -0
  97. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.css.js +4 -0
  98. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +42 -0
  99. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.css.js +4 -0
  100. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +755 -0
  101. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxNative.js +140 -0
  102. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +11 -11
  103. package/vscode/src/vs/base/browser/ui/splitview/splitview.css.js +4 -0
  104. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +855 -0
  105. package/vscode/src/vs/base/browser/ui/table/table.css.js +4 -0
  106. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +253 -0
  107. package/vscode/src/vs/base/browser/ui/toggle/toggle.css.js +4 -0
  108. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +258 -0
  109. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.css.js +4 -0
  110. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +157 -0
  111. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1949 -0
  112. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +1021 -0
  113. package/vscode/src/vs/base/browser/ui/tree/compressedObjectTreeModel.js +390 -0
  114. package/vscode/src/vs/base/browser/ui/tree/dataTree.js +113 -0
  115. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +543 -0
  116. package/vscode/src/vs/base/browser/ui/tree/media/tree.css.js +4 -0
  117. package/vscode/src/vs/base/browser/ui/tree/objectTree.js +128 -0
  118. package/vscode/src/vs/base/browser/ui/tree/objectTreeModel.js +222 -0
  119. package/vscode/src/vs/base/browser/ui/tree/tree.js +34 -0
  120. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +3 -3
  121. package/vscode/src/vs/base/browser/ui/widget.js +41 -0
  122. package/vscode/src/vs/base/browser/window.js +18 -0
  123. package/vscode/src/vs/base/common/actions.js +166 -0
  124. package/vscode/src/vs/base/common/arrays.js +531 -0
  125. package/vscode/src/vs/base/common/arraysFind.js +126 -0
  126. package/vscode/src/vs/base/common/assert.js +29 -0
  127. package/vscode/src/vs/base/common/async.js +1059 -0
  128. package/vscode/src/vs/base/common/buffer.js +322 -0
  129. package/vscode/src/vs/base/common/cache.js +56 -0
  130. package/vscode/src/vs/base/common/cancellation.js +97 -0
  131. package/vscode/src/vs/base/common/codicons.js +583 -0
  132. package/vscode/src/vs/base/common/collections.js +52 -0
  133. package/vscode/src/vs/base/common/color.js +452 -0
  134. package/vscode/src/vs/base/common/comparers.js +230 -0
  135. package/vscode/src/vs/base/common/dataTransfer.js +103 -0
  136. package/vscode/src/vs/base/common/date.js +1 -1
  137. package/vscode/src/vs/base/common/decorators.js +106 -0
  138. package/vscode/src/vs/base/common/diff/diff.js +678 -0
  139. package/vscode/src/vs/base/common/diff/diffChange.js +15 -0
  140. package/vscode/src/vs/base/common/errorMessage.js +101 -0
  141. package/vscode/src/vs/base/common/errors.js +165 -0
  142. package/vscode/src/vs/base/common/event.js +930 -0
  143. package/vscode/src/vs/base/common/extpath.js +247 -0
  144. package/vscode/src/vs/base/common/filters.js +643 -0
  145. package/vscode/src/vs/base/common/functional.js +24 -0
  146. package/vscode/src/vs/base/common/fuzzyScorer.js +483 -0
  147. package/vscode/src/vs/base/common/glob.js +512 -0
  148. package/vscode/src/vs/base/common/hash.js +252 -0
  149. package/vscode/src/vs/base/common/history.js +200 -0
  150. package/vscode/src/vs/base/common/hotReload.js +64 -0
  151. package/vscode/src/vs/base/common/htmlContent.js +135 -0
  152. package/vscode/src/vs/base/common/iconLabels.js +70 -0
  153. package/vscode/src/vs/base/common/idGenerator.js +11 -0
  154. package/vscode/src/vs/base/common/ime.js +21 -0
  155. package/vscode/src/vs/base/common/iterator.js +122 -0
  156. package/vscode/src/vs/base/common/json.js +829 -0
  157. package/vscode/src/vs/base/common/jsonEdit.js +1 -1
  158. package/vscode/src/vs/base/common/jsonErrorMessages.js +1 -1
  159. package/vscode/src/vs/base/common/jsonFormatter.js +1 -1
  160. package/vscode/src/vs/base/common/keyCodes.js +354 -0
  161. package/vscode/src/vs/base/common/keybindingLabels.js +197 -0
  162. package/vscode/src/vs/base/common/keybindings.js +146 -0
  163. package/vscode/src/vs/base/common/labels.js +260 -0
  164. package/vscode/src/vs/base/common/lazy.js +26 -0
  165. package/vscode/src/vs/base/common/lifecycle.js +420 -0
  166. package/vscode/src/vs/base/common/linkedList.js +114 -0
  167. package/vscode/src/vs/base/common/linkedText.js +37 -0
  168. package/vscode/src/vs/base/common/map.js +606 -0
  169. package/vscode/src/vs/base/common/marshalling.js +50 -0
  170. package/vscode/src/vs/base/common/mime.js +104 -0
  171. package/vscode/src/vs/base/common/naturalLanguage/korean.js +203 -0
  172. package/vscode/src/vs/base/common/navigator.js +31 -0
  173. package/vscode/src/vs/base/common/network.js +237 -0
  174. package/vscode/src/vs/base/common/numbers.js +55 -0
  175. package/vscode/src/vs/base/common/objects.js +209 -0
  176. package/vscode/src/vs/base/common/observableInternal/autorun.js +158 -0
  177. package/vscode/src/vs/base/common/observableInternal/base.js +289 -0
  178. package/vscode/src/vs/base/common/observableInternal/derived.js +250 -0
  179. package/vscode/src/vs/base/common/observableInternal/utils.js +292 -0
  180. package/vscode/src/vs/base/common/path.js +1135 -0
  181. package/vscode/src/vs/base/common/performance.js +18 -0
  182. package/vscode/src/vs/base/common/platform.js +183 -0
  183. package/vscode/src/vs/base/common/prefixTree.js +1 -1
  184. package/vscode/src/vs/base/common/process.js +33 -0
  185. package/vscode/src/vs/base/common/range.js +37 -0
  186. package/vscode/src/vs/base/common/resourceTree.js +6 -6
  187. package/vscode/src/vs/base/common/resources.js +240 -0
  188. package/vscode/src/vs/base/common/scrollable.js +315 -0
  189. package/vscode/src/vs/base/common/search.js +45 -0
  190. package/vscode/src/vs/base/common/severity.js +41 -0
  191. package/vscode/src/vs/base/common/stopwatch.js +25 -0
  192. package/vscode/src/vs/base/common/stream.js +368 -0
  193. package/vscode/src/vs/base/common/strings.js +739 -0
  194. package/vscode/src/vs/base/common/symbols.js +2 -0
  195. package/vscode/src/vs/base/common/ternarySearchTree.js +613 -0
  196. package/vscode/src/vs/base/common/themables.js +84 -0
  197. package/vscode/src/vs/base/common/types.js +106 -0
  198. package/vscode/src/vs/base/common/uint.js +19 -0
  199. package/vscode/src/vs/base/common/uri.js +454 -0
  200. package/vscode/src/vs/base/common/uriIpc.js +2 -2
  201. package/vscode/src/vs/base/common/uuid.js +55 -0
  202. package/vscode/src/vs/base/common/verifier.js +1 -1
  203. package/vscode/src/vs/base/common/worker/simpleWorker.js +404 -0
  204. package/vscode/src/vs/base/parts/ipc/common/ipc.js +7 -7
  205. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +3 -3
  206. package/vscode/src/vs/base/parts/storage/common/storage.js +224 -0
  207. package/vscode/src/vs/editor/browser/config/charWidthReader.js +93 -0
  208. package/vscode/src/vs/editor/browser/config/domFontInfo.js +22 -0
  209. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +174 -4
  210. package/vscode/src/vs/editor/browser/config/elementSizeObserver.js +92 -0
  211. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +186 -0
  212. package/vscode/src/vs/editor/browser/config/migrateOptions.js +185 -0
  213. package/vscode/src/vs/editor/browser/config/tabFocus.js +17 -0
  214. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +601 -0
  215. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +819 -0
  216. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +114 -0
  217. package/vscode/src/vs/editor/browser/controller/textAreaHandler.css.js +4 -0
  218. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +716 -0
  219. package/vscode/src/vs/editor/browser/controller/textAreaInput.js +516 -0
  220. package/vscode/src/vs/editor/browser/controller/textAreaState.js +187 -0
  221. package/vscode/src/vs/editor/browser/coreCommands.js +1713 -0
  222. package/vscode/src/vs/editor/browser/dnd.js +70 -0
  223. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +2 -2
  224. package/vscode/src/vs/editor/browser/editorBrowser.js +41 -0
  225. package/vscode/src/vs/editor/browser/editorDom.js +246 -0
  226. package/vscode/src/vs/editor/browser/editorExtensions.js +445 -0
  227. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +665 -0
  228. package/vscode/src/vs/editor/browser/services/bulkEditService.js +70 -0
  229. package/vscode/src/vs/editor/browser/services/codeEditorService.js +3 -0
  230. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +467 -0
  231. package/vscode/src/vs/editor/browser/services/markerDecorations.js +15 -0
  232. package/vscode/src/vs/editor/browser/services/openerService.js +201 -0
  233. package/vscode/src/vs/editor/browser/services/webWorker.js +57 -0
  234. package/vscode/src/vs/editor/browser/stableEditorScroll.js +50 -0
  235. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +287 -0
  236. package/vscode/src/vs/editor/browser/view/dynamicViewOverlay.js +4 -0
  237. package/vscode/src/vs/editor/browser/view/renderingContext.js +119 -0
  238. package/vscode/src/vs/editor/browser/view/viewController.js +261 -0
  239. package/vscode/src/vs/editor/browser/view/viewLayer.js +419 -0
  240. package/vscode/src/vs/editor/browser/view/viewOverlays.js +199 -0
  241. package/vscode/src/vs/editor/browser/view/viewPart.js +43 -0
  242. package/vscode/src/vs/editor/browser/view/viewUserInputEvents.js +85 -0
  243. package/vscode/src/vs/editor/browser/view.js +580 -0
  244. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.css.js +4 -0
  245. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +87 -0
  246. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +424 -0
  247. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css.js +4 -0
  248. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +171 -0
  249. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.css.js +4 -0
  250. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +192 -0
  251. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +136 -0
  252. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.css.js +4 -0
  253. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +346 -0
  254. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.css.js +4 -0
  255. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +250 -0
  256. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css.js +4 -0
  257. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +151 -0
  258. package/vscode/src/vs/editor/browser/viewParts/lines/domReadingContext.js +38 -0
  259. package/vscode/src/vs/editor/browser/viewParts/lines/rangeUtil.js +102 -0
  260. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +528 -0
  261. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.css.js +4 -0
  262. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +645 -0
  263. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.css.js +4 -0
  264. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +101 -0
  265. package/vscode/src/vs/editor/browser/viewParts/margin/margin.css.js +4 -0
  266. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +57 -0
  267. package/vscode/src/vs/editor/browser/viewParts/marginDecorations/marginDecorations.css.js +4 -0
  268. package/vscode/src/vs/editor/browser/viewParts/marginDecorations/marginDecorations.js +76 -0
  269. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.css.js +4 -0
  270. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +1439 -0
  271. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRenderer.js +84 -0
  272. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRendererFactory.js +98 -0
  273. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharSheet.js +19 -0
  274. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapPreBaked.js +31 -0
  275. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.css.js +4 -0
  276. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +115 -0
  277. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +377 -0
  278. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +124 -0
  279. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.css.js +4 -0
  280. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +68 -0
  281. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.css.js +4 -0
  282. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +61 -0
  283. package/vscode/src/vs/editor/browser/viewParts/selections/selections.css.js +4 -0
  284. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +306 -0
  285. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +188 -0
  286. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.css.js +4 -0
  287. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +307 -0
  288. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +319 -0
  289. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.css.js +4 -0
  290. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +256 -0
  291. package/vscode/src/vs/editor/browser/widget/codeEditorContributions.js +109 -0
  292. package/vscode/src/vs/editor/browser/widget/codeEditorWidget.js +1813 -0
  293. package/vscode/src/vs/editor/browser/widget/diffEditor/accessibleDiffViewer.css.js +4 -0
  294. package/vscode/src/vs/editor/browser/widget/diffEditor/accessibleDiffViewer.js +608 -0
  295. package/vscode/src/vs/editor/browser/widget/diffEditor/colors.js +17 -0
  296. package/vscode/src/vs/editor/browser/widget/diffEditor/decorations.js +70 -0
  297. package/vscode/src/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js +106 -0
  298. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +329 -0
  299. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorDecorations.js +231 -0
  300. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorEditors.js +152 -0
  301. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +88 -0
  302. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorSash.js +65 -0
  303. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +352 -0
  304. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +488 -0
  305. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +18 -0
  306. package/vscode/src/vs/editor/browser/widget/diffEditor/hideUnchangedRegionsFeature.js +374 -0
  307. package/vscode/src/vs/editor/browser/widget/diffEditor/inlineDiffDeletedCodeMargin.js +162 -0
  308. package/vscode/src/vs/editor/browser/widget/diffEditor/lineAlignment.js +479 -0
  309. package/vscode/src/vs/editor/browser/widget/diffEditor/movedBlocksLines.js +298 -0
  310. package/vscode/src/vs/editor/browser/widget/diffEditor/outlineModel.js +299 -0
  311. package/vscode/src/vs/editor/browser/widget/diffEditor/overviewRulerPart.js +141 -0
  312. package/vscode/src/vs/editor/browser/widget/diffEditor/renderLines.js +124 -0
  313. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +4 -0
  314. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +343 -0
  315. package/vscode/src/vs/editor/browser/widget/diffEditor/workerBasedDocumentDiffProvider.js +101 -0
  316. package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +74 -0
  317. package/vscode/src/vs/editor/browser/widget/media/editor.css.js +4 -0
  318. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/colors.js +7 -0
  319. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/diffEditorItemTemplate.js +199 -0
  320. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorViewModel.js +62 -0
  321. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidget.js +59 -0
  322. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidgetImpl.js +225 -0
  323. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/objectPool.js +46 -0
  324. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/style.css.js +4 -0
  325. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/utils.js +11 -0
  326. package/vscode/src/vs/editor/common/commands/replaceCommand.js +79 -0
  327. package/vscode/src/vs/editor/common/commands/shiftCommand.js +228 -0
  328. package/vscode/src/vs/editor/common/commands/surroundSelectionCommand.js +60 -0
  329. package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +68 -0
  330. package/vscode/src/vs/editor/common/config/diffEditor.js +31 -0
  331. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +472 -0
  332. package/vscode/src/vs/editor/common/config/editorOptions.js +4765 -0
  333. package/vscode/src/vs/editor/common/config/editorZoom.js +20 -0
  334. package/vscode/src/vs/editor/common/config/fontInfo.js +127 -0
  335. package/vscode/src/vs/editor/common/core/characterClassifier.js +50 -0
  336. package/vscode/src/vs/editor/common/core/cursorColumns.js +80 -0
  337. package/vscode/src/vs/editor/common/core/editOperation.js +30 -0
  338. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +346 -0
  339. package/vscode/src/vs/editor/common/core/eolCounter.js +36 -0
  340. package/vscode/src/vs/editor/common/core/indentation.js +33 -0
  341. package/vscode/src/vs/editor/common/core/lineRange.js +270 -0
  342. package/vscode/src/vs/editor/common/core/offsetRange.js +175 -0
  343. package/vscode/src/vs/editor/common/core/position.js +84 -0
  344. package/vscode/src/vs/editor/common/core/range.js +302 -0
  345. package/vscode/src/vs/editor/common/core/rgba.js +26 -0
  346. package/vscode/src/vs/editor/common/core/selection.js +107 -0
  347. package/vscode/src/vs/editor/common/core/stringBuilder.js +104 -0
  348. package/vscode/src/vs/editor/common/core/textChange.js +260 -0
  349. package/vscode/src/vs/editor/common/core/textModelDefaults.js +13 -0
  350. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +22 -0
  351. package/vscode/src/vs/editor/common/core/wordHelper.js +105 -0
  352. package/vscode/src/vs/editor/common/cursor/cursor.js +862 -0
  353. package/vscode/src/vs/editor/common/cursor/cursorAtomicMoveOperations.js +104 -0
  354. package/vscode/src/vs/editor/common/cursor/cursorCollection.js +191 -0
  355. package/vscode/src/vs/editor/common/cursor/cursorColumnSelection.js +84 -0
  356. package/vscode/src/vs/editor/common/cursor/cursorContext.js +10 -0
  357. package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.js +211 -0
  358. package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +648 -0
  359. package/vscode/src/vs/editor/common/cursor/cursorMoveOperations.js +276 -0
  360. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +923 -0
  361. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +670 -0
  362. package/vscode/src/vs/editor/common/cursor/oneCursor.js +142 -0
  363. package/vscode/src/vs/editor/common/cursorCommon.js +230 -0
  364. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +120 -0
  365. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.js +84 -0
  366. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.js +134 -0
  367. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +259 -0
  368. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +215 -0
  369. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +329 -0
  370. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.js +31 -0
  371. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +166 -0
  372. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/utils.js +57 -0
  373. package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +1 -0
  374. package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.js +497 -0
  375. package/vscode/src/vs/editor/common/diff/linesDiffComputer.js +19 -0
  376. package/vscode/src/vs/editor/common/diff/linesDiffComputers.js +7 -0
  377. package/vscode/src/vs/editor/common/diff/rangeMapping.js +59 -0
  378. package/vscode/src/vs/editor/common/editorAction.js +21 -0
  379. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -2
  380. package/vscode/src/vs/editor/common/editorCommon.js +8 -0
  381. package/vscode/src/vs/editor/common/editorContextKeys.js +229 -0
  382. package/vscode/src/vs/editor/common/editorFeatures.js +8 -0
  383. package/vscode/src/vs/editor/common/editorTheme.js +18 -0
  384. package/vscode/src/vs/editor/common/encodedTokenAttributes.js +72 -0
  385. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +159 -0
  386. package/vscode/src/vs/editor/common/languageSelector.js +94 -0
  387. package/vscode/src/vs/editor/common/languages/autoIndent.js +333 -0
  388. package/vscode/src/vs/editor/common/languages/defaultDocumentColorsComputer.js +131 -0
  389. package/vscode/src/vs/editor/common/languages/enterAction.js +56 -0
  390. package/vscode/src/vs/editor/common/languages/language.js +3 -0
  391. package/vscode/src/vs/editor/common/languages/languageConfiguration.js +105 -0
  392. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.d.ts +1 -0
  393. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +337 -0
  394. package/vscode/src/vs/editor/common/languages/linkComputer.js +245 -0
  395. package/vscode/src/vs/editor/common/languages/modesRegistry.js +56 -0
  396. package/vscode/src/vs/editor/common/languages/nullTokenize.js +23 -0
  397. package/vscode/src/vs/editor/common/languages/supports/characterPair.js +34 -0
  398. package/vscode/src/vs/editor/common/languages/supports/electricCharacter.js +48 -0
  399. package/vscode/src/vs/editor/common/languages/supports/indentRules.js +54 -0
  400. package/vscode/src/vs/editor/common/languages/supports/inplaceReplaceSupport.js +80 -0
  401. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.js +100 -0
  402. package/vscode/src/vs/editor/common/languages/supports/onEnter.js +100 -0
  403. package/vscode/src/vs/editor/common/languages/supports/richEditBrackets.js +271 -0
  404. package/vscode/src/vs/editor/common/languages/supports/tokenization.js +294 -0
  405. package/vscode/src/vs/editor/common/languages/supports.js +53 -0
  406. package/vscode/src/vs/editor/common/languages/textToHtmlTokenizer.js +124 -0
  407. package/vscode/src/vs/editor/common/languages.js +308 -0
  408. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +667 -0
  409. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js +499 -0
  410. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/beforeEditPositionMapper.js +93 -0
  411. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +341 -0
  412. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js +112 -0
  413. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/combineTextEditInfos.js +113 -0
  414. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js +148 -0
  415. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +140 -0
  416. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/nodeReader.js +96 -0
  417. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js +109 -0
  418. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/smallImmutableSet.js +128 -0
  419. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js +300 -0
  420. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js +86 -0
  421. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js +67 -0
  422. package/vscode/src/vs/editor/common/model/editStack.js +385 -0
  423. package/vscode/src/vs/editor/common/model/fixedArray.js +60 -0
  424. package/vscode/src/vs/editor/common/model/guidesTextModelPart.js +364 -0
  425. package/vscode/src/vs/editor/common/model/indentationGuesser.js +139 -0
  426. package/vscode/src/vs/editor/common/model/intervalTree.js +875 -0
  427. package/vscode/src/vs/editor/common/model/mirrorTextModel.js +95 -0
  428. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +1483 -0
  429. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +491 -0
  430. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js +147 -0
  431. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js +345 -0
  432. package/vscode/src/vs/editor/common/model/prefixSumComputer.js +200 -0
  433. package/vscode/src/vs/editor/common/model/textModel.js +1904 -0
  434. package/vscode/src/vs/editor/common/model/textModelPart.js +17 -0
  435. package/vscode/src/vs/editor/common/model/textModelSearch.js +434 -0
  436. package/vscode/src/vs/editor/common/model/textModelTokens.js +408 -0
  437. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +489 -0
  438. package/vscode/src/vs/editor/common/model/utils.js +23 -0
  439. package/vscode/src/vs/editor/common/model.d.ts +2 -2
  440. package/vscode/src/vs/editor/common/model.js +101 -0
  441. package/vscode/src/vs/editor/common/modelLineProjectionData.js +248 -0
  442. package/vscode/src/vs/editor/common/services/editorBaseApi.js +37 -0
  443. package/vscode/src/vs/editor/common/services/editorSimpleWorker.js +591 -0
  444. package/vscode/src/vs/editor/common/services/editorWorker.js +3 -0
  445. package/vscode/src/vs/editor/common/services/getIconClasses.js +81 -0
  446. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +128 -0
  447. package/vscode/src/vs/editor/common/services/languageFeatures.js +3 -0
  448. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +46 -0
  449. package/vscode/src/vs/editor/common/services/languageService.js +148 -0
  450. package/vscode/src/vs/editor/common/services/languagesAssociations.js +170 -0
  451. package/vscode/src/vs/editor/common/services/languagesRegistry.js +285 -0
  452. package/vscode/src/vs/editor/common/services/markerDecorations.js +3 -0
  453. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +222 -0
  454. package/vscode/src/vs/editor/common/services/model.js +3 -0
  455. package/vscode/src/vs/editor/common/services/modelService.js +496 -0
  456. package/vscode/src/vs/editor/common/services/resolverService.js +7 -0
  457. package/vscode/src/vs/editor/common/services/semanticTokensDto.js +122 -0
  458. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +255 -0
  459. package/vscode/src/vs/editor/common/services/semanticTokensStyling.js +3 -0
  460. package/vscode/src/vs/editor/common/services/semanticTokensStylingService.js +38 -0
  461. package/vscode/src/vs/editor/common/services/textResourceConfiguration.js +4 -0
  462. package/vscode/src/vs/editor/common/services/treeViewsDnd.js +22 -0
  463. package/vscode/src/vs/editor/common/services/treeViewsDndService.js +6 -0
  464. package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.d.ts +2 -0
  465. package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.js +178 -0
  466. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +584 -0
  467. package/vscode/src/vs/editor/common/standaloneStrings.js +151 -0
  468. package/vscode/src/vs/editor/common/textModelBracketPairs.js +35 -0
  469. package/vscode/src/vs/editor/common/textModelEvents.d.ts +1 -0
  470. package/vscode/src/vs/editor/common/textModelEvents.js +159 -0
  471. package/vscode/src/vs/editor/common/textModelGuides.js +28 -0
  472. package/vscode/src/vs/editor/common/tokenizationRegistry.js +115 -0
  473. package/vscode/src/vs/editor/common/tokens/contiguousMultilineTokens.js +152 -0
  474. package/vscode/src/vs/editor/common/tokens/contiguousMultilineTokensBuilder.js +53 -0
  475. package/vscode/src/vs/editor/common/tokens/contiguousTokensEditing.js +117 -0
  476. package/vscode/src/vs/editor/common/tokens/contiguousTokensStore.js +188 -0
  477. package/vscode/src/vs/editor/common/tokens/lineTokens.js +218 -0
  478. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +403 -0
  479. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +168 -0
  480. package/vscode/src/vs/editor/common/viewEventHandler.js +178 -0
  481. package/vscode/src/vs/editor/common/viewEvents.js +141 -0
  482. package/vscode/src/vs/editor/common/viewLayout/lineDecorations.js +206 -0
  483. package/vscode/src/vs/editor/common/viewLayout/linePart.js +17 -0
  484. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +612 -0
  485. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +375 -0
  486. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +885 -0
  487. package/vscode/src/vs/editor/common/viewLayout/viewLinesViewportData.js +25 -0
  488. package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.js +50 -0
  489. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +329 -0
  490. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +404 -0
  491. package/vscode/src/vs/editor/common/viewModel/overviewZoneManager.js +168 -0
  492. package/vscode/src/vs/editor/common/viewModel/viewContext.js +16 -0
  493. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +177 -0
  494. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +1118 -0
  495. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +935 -0
  496. package/vscode/src/vs/editor/common/viewModel.js +110 -0
  497. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +370 -0
  498. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.css.js +4 -0
  499. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +176 -0
  500. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.css.js +4 -0
  501. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +367 -0
  502. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +53 -0
  503. package/vscode/src/vs/editor/contrib/caretOperations/browser/moveCaretCommand.js +53 -0
  504. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +62 -0
  505. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +268 -0
  506. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +279 -0
  507. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +359 -0
  508. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +47 -0
  509. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +318 -0
  510. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +71 -0
  511. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +92 -0
  512. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +261 -0
  513. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +4 -0
  514. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +272 -0
  515. package/vscode/src/vs/editor/contrib/codeAction/common/types.js +152 -0
  516. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +92 -0
  517. package/vscode/src/vs/editor/contrib/codelens/browser/codelens.js +98 -0
  518. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +454 -0
  519. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.css.js +4 -0
  520. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +250 -0
  521. package/vscode/src/vs/editor/contrib/colorPicker/browser/color.js +109 -0
  522. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +54 -0
  523. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +245 -0
  524. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +254 -0
  525. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPicker.css.js +4 -0
  526. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerModel.js +67 -0
  527. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +357 -0
  528. package/vscode/src/vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider.js +48 -0
  529. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +81 -0
  530. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +253 -0
  531. package/vscode/src/vs/editor/contrib/comment/browser/blockCommentCommand.js +159 -0
  532. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +170 -0
  533. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +309 -0
  534. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +360 -0
  535. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +136 -0
  536. package/vscode/src/vs/editor/contrib/dnd/browser/dnd.css.js +4 -0
  537. package/vscode/src/vs/editor/contrib/dnd/browser/dnd.js +206 -0
  538. package/vscode/src/vs/editor/contrib/dnd/browser/dragAndDropCommand.js +84 -0
  539. package/vscode/src/vs/editor/contrib/documentSymbols/browser/documentSymbols.js +19 -0
  540. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +372 -0
  541. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +59 -0
  542. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +403 -0
  543. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +195 -0
  544. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +43 -0
  545. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +158 -0
  546. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +64 -0
  547. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.css.js +4 -0
  548. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +174 -0
  549. package/vscode/src/vs/editor/contrib/editorState/browser/editorState.js +101 -0
  550. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +77 -0
  551. package/vscode/src/vs/editor/contrib/find/browser/findController.js +1046 -0
  552. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +292 -0
  553. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +476 -0
  554. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.css.js +4 -0
  555. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +134 -0
  556. package/vscode/src/vs/editor/contrib/find/browser/findState.js +239 -0
  557. package/vscode/src/vs/editor/contrib/find/browser/findWidget.css.js +4 -0
  558. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +1238 -0
  559. package/vscode/src/vs/editor/contrib/find/browser/replaceAllCommand.js +44 -0
  560. package/vscode/src/vs/editor/contrib/find/browser/replacePattern.js +239 -0
  561. package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +4 -0
  562. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +1149 -0
  563. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +154 -0
  564. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.js +454 -0
  565. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.js +332 -0
  566. package/vscode/src/vs/editor/contrib/folding/browser/hiddenRangeModel.js +118 -0
  567. package/vscode/src/vs/editor/contrib/folding/browser/indentRangeProvider.js +148 -0
  568. package/vscode/src/vs/editor/contrib/folding/browser/syntaxRangeProvider.js +168 -0
  569. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +57 -0
  570. package/vscode/src/vs/editor/contrib/format/browser/format.js +374 -0
  571. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +254 -0
  572. package/vscode/src/vs/editor/contrib/format/browser/formattingEdit.js +50 -0
  573. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +285 -0
  574. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +383 -0
  575. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +187 -0
  576. package/vscode/src/vs/editor/contrib/gotoError/browser/media/gotoErrorWidget.css.js +4 -0
  577. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +896 -0
  578. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +83 -0
  579. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +135 -0
  580. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.css.js +4 -0
  581. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +246 -0
  582. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +355 -0
  583. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +187 -0
  584. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.css.js +4 -0
  585. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +462 -0
  586. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +290 -0
  587. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +177 -0
  588. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +829 -0
  589. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +44 -0
  590. package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +4 -0
  591. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +645 -0
  592. package/vscode/src/vs/editor/contrib/hover/browser/hoverOperation.js +133 -0
  593. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +44 -0
  594. package/vscode/src/vs/editor/contrib/hover/browser/marginHover.js +151 -0
  595. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +151 -0
  596. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +240 -0
  597. package/vscode/src/vs/editor/contrib/hover/browser/resizableContentWidget.js +86 -0
  598. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.css.js +4 -0
  599. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +147 -0
  600. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplaceCommand.js +30 -0
  601. package/vscode/src/vs/editor/contrib/indentation/browser/indentUtils.js +28 -0
  602. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +639 -0
  603. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHints.js +137 -0
  604. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsContribution.js +6 -0
  605. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +541 -0
  606. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +171 -0
  607. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +96 -0
  608. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commandIds.js +4 -0
  609. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +242 -0
  610. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.css.js +4 -0
  611. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +110 -0
  612. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +268 -0
  613. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +150 -0
  614. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +71 -0
  615. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +16 -0
  616. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +228 -0
  617. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.css.js +4 -0
  618. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +323 -0
  619. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +384 -0
  620. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +290 -0
  621. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +253 -0
  622. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +172 -0
  623. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +182 -0
  624. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +90 -0
  625. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +120 -0
  626. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css.js +4 -0
  627. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +35 -0
  628. package/vscode/src/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js +76 -0
  629. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +1222 -0
  630. package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +323 -0
  631. package/vscode/src/vs/editor/contrib/linesOperations/browser/sortLinesCommand.js +79 -0
  632. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.css.js +4 -0
  633. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +369 -0
  634. package/vscode/src/vs/editor/contrib/links/browser/getLinks.js +137 -0
  635. package/vscode/src/vs/editor/contrib/links/browser/links.css.js +4 -0
  636. package/vscode/src/vs/editor/contrib/links/browser/links.js +394 -0
  637. package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +21 -0
  638. package/vscode/src/vs/editor/contrib/markdownRenderer/browser/markdownRenderer.js +106 -0
  639. package/vscode/src/vs/editor/contrib/markdownRenderer/browser/renderedMarkdown.css.js +4 -0
  640. package/vscode/src/vs/editor/contrib/message/browser/messageController.css.js +4 -0
  641. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +173 -0
  642. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +1123 -0
  643. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.css.js +4 -0
  644. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +119 -0
  645. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +251 -0
  646. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +308 -0
  647. package/vscode/src/vs/editor/contrib/parameterHints/browser/provideSignatureHelp.js +53 -0
  648. package/vscode/src/vs/editor/contrib/peekView/browser/media/peekViewWidget.css.js +4 -0
  649. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +286 -0
  650. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +7 -7
  651. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +3 -3
  652. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +13 -13
  653. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +38 -0
  654. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +382 -0
  655. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.css.js +4 -0
  656. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.js +173 -0
  657. package/vscode/src/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +332 -0
  658. package/vscode/src/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js +124 -0
  659. package/vscode/src/vs/editor/contrib/semanticTokens/common/getSemanticTokens.js +190 -0
  660. package/vscode/src/vs/editor/contrib/semanticTokens/common/semanticTokensConfig.js +9 -0
  661. package/vscode/src/vs/editor/contrib/smartSelect/browser/bracketSelections.js +136 -0
  662. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +280 -0
  663. package/vscode/src/vs/editor/contrib/smartSelect/browser/wordSelections.js +70 -0
  664. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +287 -0
  665. package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +901 -0
  666. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.css.js +4 -0
  667. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +579 -0
  668. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +394 -0
  669. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +4 -0
  670. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +173 -0
  671. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.js +11 -0
  672. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +488 -0
  673. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollElement.js +25 -0
  674. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +317 -0
  675. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +145 -0
  676. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +428 -0
  677. package/vscode/src/vs/editor/contrib/suggest/browser/completionModel.js +190 -0
  678. package/vscode/src/vs/editor/contrib/suggest/browser/media/suggest.css.js +4 -0
  679. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +355 -0
  680. package/vscode/src/vs/editor/contrib/suggest/browser/suggestAlternatives.js +78 -0
  681. package/vscode/src/vs/editor/contrib/suggest/browser/suggestCommitCharacters.js +50 -0
  682. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +887 -0
  683. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +193 -0
  684. package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.js +230 -0
  685. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +594 -0
  686. package/vscode/src/vs/editor/contrib/suggest/browser/suggestOvertypingCapturer.js +54 -0
  687. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +875 -0
  688. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +364 -0
  689. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +202 -0
  690. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +81 -0
  691. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +53 -0
  692. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +57 -0
  693. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.css.js +4 -0
  694. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +333 -0
  695. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +45 -0
  696. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +29 -0
  697. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.css.js +4 -0
  698. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +105 -0
  699. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.css.js +4 -0
  700. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +755 -0
  701. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +114 -0
  702. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.css.js +4 -0
  703. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +130 -0
  704. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +719 -0
  705. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +442 -0
  706. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +137 -0
  707. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.css.js +4 -0
  708. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +396 -0
  709. package/vscode/src/vs/editor/editor.api.d.ts +8000 -0
  710. package/vscode/src/vs/editor/editor.api.js +49 -0
  711. package/vscode/src/vs/editor/editor.worker.js +21 -0
  712. package/vscode/src/vs/editor/standalone/browser/colorizer.js +174 -0
  713. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.css.js +4 -0
  714. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +67 -0
  715. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInput.css.js +4 -0
  716. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +153 -0
  717. package/vscode/src/vs/editor/standalone/browser/standalone-tokens.css.js +4 -0
  718. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.d.ts +5 -5
  719. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +296 -0
  720. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditorService.js +81 -0
  721. package/vscode/src/vs/editor/standalone/browser/standaloneEditor.d.ts +1 -0
  722. package/vscode/src/vs/editor/standalone/browser/standaloneEditor.js +342 -0
  723. package/vscode/src/vs/editor/standalone/browser/standaloneLanguages.js +425 -0
  724. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +59 -0
  725. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +2 -2
  726. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +968 -0
  727. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +345 -0
  728. package/vscode/src/vs/editor/standalone/common/monarch/monarchCommon.js +88 -0
  729. package/vscode/src/vs/editor/standalone/common/monarch/monarchCompile.js +446 -0
  730. package/vscode/src/vs/editor/standalone/common/monarch/monarchLexer.js +703 -0
  731. package/vscode/src/vs/editor/standalone/common/standaloneTheme.js +3 -0
  732. package/vscode/src/vs/editor/standalone/common/themes.js +218 -0
  733. package/vscode/src/vs/nls.js +51 -0
  734. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +90 -0
  735. package/vscode/src/vs/platform/accessibility/common/accessibility.js +11 -0
  736. package/vscode/src/vs/platform/action/common/action.js +10 -0
  737. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +18 -0
  738. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +276 -0
  739. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css.js +4 -0
  740. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +258 -0
  741. package/vscode/src/vs/platform/actions/browser/buttonbar.js +11 -11
  742. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +16 -16
  743. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +9 -9
  744. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +4 -0
  745. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +454 -0
  746. package/vscode/src/vs/platform/actions/browser/toolbar.js +190 -0
  747. package/vscode/src/vs/platform/actions/common/actions.js +385 -0
  748. package/vscode/src/vs/platform/actions/common/menuService.js +377 -0
  749. package/vscode/src/vs/platform/audioCues/browser/audioCueService.js +430 -0
  750. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +103 -0
  751. package/vscode/src/vs/platform/clipboard/common/clipboardService.js +3 -0
  752. package/vscode/src/vs/platform/commands/common/commands.js +74 -0
  753. package/vscode/src/vs/platform/configuration/common/configuration.js +113 -0
  754. package/vscode/src/vs/platform/configuration/common/configurationModels.js +1023 -0
  755. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +506 -0
  756. package/vscode/src/vs/platform/configuration/common/configurations.js +160 -0
  757. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +505 -0
  758. package/vscode/src/vs/platform/contextkey/common/contextkey.js +1611 -0
  759. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +51 -0
  760. package/vscode/src/vs/platform/contextkey/common/scanner.js +284 -0
  761. package/vscode/src/vs/platform/contextview/browser/contextMenuHandler.js +117 -0
  762. package/vscode/src/vs/platform/contextview/browser/contextMenuService.js +94 -0
  763. package/vscode/src/vs/platform/contextview/browser/contextView.js +4 -0
  764. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +59 -0
  765. package/vscode/src/vs/platform/debug/common/extensionHostDebug.js +1 -1
  766. package/vscode/src/vs/platform/diagnostics/common/diagnostics.js +1 -1
  767. package/vscode/src/vs/platform/dialogs/common/dialogs.js +4 -4
  768. package/vscode/src/vs/platform/dnd/browser/dnd.js +272 -0
  769. package/vscode/src/vs/platform/download/common/download.js +1 -1
  770. package/vscode/src/vs/platform/editor/common/editor.js +22 -0
  771. package/vscode/src/vs/platform/encryption/common/encryptionService.js +1 -1
  772. package/vscode/src/vs/platform/environment/common/environment.js +3 -0
  773. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +4 -4
  774. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -2
  775. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +6 -6
  776. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +2 -2
  777. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +8 -8
  778. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +2 -2
  779. package/vscode/src/vs/platform/extensionRecommendations/common/extensionRecommendations.js +1 -1
  780. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +6 -6
  781. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +21 -21
  782. package/vscode/src/vs/platform/extensions/common/extensions.js +128 -0
  783. package/vscode/src/vs/platform/externalServices/common/serviceMachineId.js +2 -2
  784. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +343 -0
  785. package/vscode/src/vs/platform/files/browser/webFileSystemAccess.js +27 -0
  786. package/vscode/src/vs/platform/files/common/files.js +395 -0
  787. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +24 -24
  788. package/vscode/src/vs/platform/files/common/watcher.js +4 -4
  789. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +106 -0
  790. package/vscode/src/vs/platform/history/browser/historyWidgetKeybindingHint.js +4 -0
  791. package/vscode/src/vs/platform/instantiation/common/descriptors.js +8 -0
  792. package/vscode/src/vs/platform/instantiation/common/extensions.js +12 -0
  793. package/vscode/src/vs/platform/instantiation/common/graph.js +84 -0
  794. package/vscode/src/vs/platform/instantiation/common/instantiation.js +38 -0
  795. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +314 -0
  796. package/vscode/src/vs/platform/instantiation/common/serviceCollection.js +20 -0
  797. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +33 -0
  798. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +305 -0
  799. package/vscode/src/vs/platform/keybinding/common/baseResolvedKeybinding.js +57 -0
  800. package/vscode/src/vs/platform/keybinding/common/keybinding.js +3 -0
  801. package/vscode/src/vs/platform/keybinding/common/keybindingResolver.js +274 -0
  802. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.js +118 -0
  803. package/vscode/src/vs/platform/keybinding/common/resolvedKeybindingItem.js +29 -0
  804. package/vscode/src/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js +166 -0
  805. package/vscode/src/vs/platform/keyboardLayout/common/keyboardLayout.js +1 -1
  806. package/vscode/src/vs/platform/label/common/label.js +3 -0
  807. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
  808. package/vscode/src/vs/platform/layout/browser/layoutService.js +3 -0
  809. package/vscode/src/vs/platform/layout/browser/zIndexRegistry.js +2 -2
  810. package/vscode/src/vs/platform/list/browser/listService.js +1175 -0
  811. package/vscode/src/vs/platform/log/common/bufferLog.js +1 -1
  812. package/vscode/src/vs/platform/log/common/log.js +413 -0
  813. package/vscode/src/vs/platform/log/common/logService.js +37 -0
  814. package/vscode/src/vs/platform/markers/common/markerService.js +285 -0
  815. package/vscode/src/vs/platform/markers/common/markers.js +111 -0
  816. package/vscode/src/vs/platform/notification/common/notification.js +41 -0
  817. package/vscode/src/vs/platform/opener/browser/link.css.js +4 -0
  818. package/vscode/src/vs/platform/opener/browser/link.js +85 -0
  819. package/vscode/src/vs/platform/opener/common/opener.js +20 -0
  820. package/vscode/src/vs/platform/policy/common/policy.js +12 -0
  821. package/vscode/src/vs/platform/product/common/product.js +48 -0
  822. package/vscode/src/vs/platform/product/common/productService.js +4 -0
  823. package/vscode/src/vs/platform/progress/common/progress.js +130 -0
  824. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css.js +4 -0
  825. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +4 -4
  826. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +149 -0
  827. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +993 -0
  828. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +88 -0
  829. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +676 -0
  830. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +878 -0
  831. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +178 -0
  832. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +72 -0
  833. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +3 -3
  834. package/vscode/src/vs/platform/quickinput/common/quickAccess.js +51 -0
  835. package/vscode/src/vs/platform/quickinput/common/quickInput.js +42 -0
  836. package/vscode/src/vs/platform/registry/common/platform.js +21 -0
  837. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +14 -14
  838. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.js +2 -2
  839. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.js +1 -1
  840. package/vscode/src/vs/platform/remote/common/remoteHosts.js +40 -0
  841. package/vscode/src/vs/platform/remote/common/remoteSocketFactoryService.js +2 -2
  842. package/vscode/src/vs/platform/request/common/request.js +6 -6
  843. package/vscode/src/vs/platform/secrets/common/secrets.js +1 -1
  844. package/vscode/src/vs/platform/severityIcon/browser/media/severityIcon.css.js +4 -0
  845. package/vscode/src/vs/platform/severityIcon/browser/severityIcon.js +23 -0
  846. package/vscode/src/vs/platform/sign/common/sign.js +1 -1
  847. package/vscode/src/vs/platform/storage/common/storage.js +52 -7
  848. package/vscode/src/vs/platform/telemetry/common/telemetry.js +8 -0
  849. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +3 -3
  850. package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +2 -2
  851. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +5 -5
  852. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +2 -2
  853. package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +2 -2
  854. package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +2 -2
  855. package/vscode/src/vs/platform/terminal/common/terminal.js +2 -2
  856. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +1 -1
  857. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +3 -3
  858. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +169 -0
  859. package/vscode/src/vs/platform/theme/browser/iconsStyleSheet.js +64 -0
  860. package/vscode/src/vs/platform/theme/common/colorRegistry.js +1297 -0
  861. package/vscode/src/vs/platform/theme/common/iconRegistry.js +206 -0
  862. package/vscode/src/vs/platform/theme/common/theme.js +14 -0
  863. package/vscode/src/vs/platform/theme/common/themeService.js +71 -0
  864. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +128 -118
  865. package/vscode/src/vs/platform/tunnel/common/tunnel.js +2 -2
  866. package/vscode/src/vs/platform/undoRedo/common/undoRedo.js +37 -0
  867. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +1188 -0
  868. package/vscode/src/vs/platform/update/common/update.js +1 -1
  869. package/vscode/src/vs/platform/uriIdentity/common/uriIdentity.js +3 -0
  870. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +4 -4
  871. package/vscode/src/vs/platform/url/common/url.js +1 -1
  872. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +459 -0
  873. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileIpc.js +3 -3
  874. package/vscode/src/vs/platform/userDataSync/common/ignoredExtensions.js +3 -3
  875. package/vscode/src/vs/platform/userDataSync/common/settingsMerge.js +5 -5
  876. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +7 -7
  877. package/vscode/src/vs/platform/userDataSync/common/userDataSyncAccount.js +3 -3
  878. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +10 -10
  879. package/vscode/src/vs/platform/window/common/window.js +1 -1
  880. package/vscode/src/vs/platform/workspace/common/canonicalUri.js +1 -1
  881. package/vscode/src/vs/platform/workspace/common/editSessions.js +1 -1
  882. package/vscode/src/vs/platform/workspace/common/virtualWorkspace.js +1 -1
  883. package/vscode/src/vs/platform/workspace/common/workspace.js +170 -0
  884. package/vscode/src/vs/platform/workspace/common/workspaceTrust.js +18 -0
  885. package/vscode/src/vs/platform/workspaces/common/workspaces.js +12 -12
  886. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +10 -10
  887. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +23 -23
  888. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +24 -24
  889. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +7 -7
  890. package/vscode/src/vs/workbench/api/common/extHostApiDeprecationService.js +2 -2
  891. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +2 -2
  892. package/vscode/src/vs/workbench/api/common/extHostChat.js +3 -3
  893. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +9 -9
  894. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +6 -6
  895. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -2
  896. package/vscode/src/vs/workbench/api/common/extHostCodeInsets.js +2 -2
  897. package/vscode/src/vs/workbench/api/common/extHostCommands.js +14 -14
  898. package/vscode/src/vs/workbench/api/common/extHostComments.js +16 -21
  899. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +9 -9
  900. package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +1 -1
  901. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.js +6 -6
  902. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +4 -4
  903. package/vscode/src/vs/workbench/api/common/extHostDecorations.js +6 -6
  904. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +6 -6
  905. package/vscode/src/vs/workbench/api/common/extHostDialogs.js +1 -1
  906. package/vscode/src/vs/workbench/api/common/extHostDocumentContentProviders.js +5 -5
  907. package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +6 -6
  908. package/vscode/src/vs/workbench/api/common/extHostDocumentSaveParticipant.js +3 -3
  909. package/vscode/src/vs/workbench/api/common/extHostDocuments.js +6 -6
  910. package/vscode/src/vs/workbench/api/common/extHostDocumentsAndEditors.js +13 -13
  911. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +5 -5
  912. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +5 -5
  913. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +35 -35
  914. package/vscode/src/vs/workbench/api/common/extHostFileSystem.js +6 -6
  915. package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +24 -24
  916. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +4 -4
  917. package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.js +3 -3
  918. package/vscode/src/vs/workbench/api/common/extHostInitDataService.js +1 -1
  919. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +3 -3
  920. package/vscode/src/vs/workbench/api/common/extHostInteractive.js +1 -1
  921. package/vscode/src/vs/workbench/api/common/extHostLabelService.js +1 -1
  922. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +20 -20
  923. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +3 -3
  924. package/vscode/src/vs/workbench/api/common/extHostLocalizationService.js +5 -5
  925. package/vscode/src/vs/workbench/api/common/extHostLogService.js +3 -3
  926. package/vscode/src/vs/workbench/api/common/extHostLoggerService.js +3 -3
  927. package/vscode/src/vs/workbench/api/common/extHostManagedSockets.js +3 -3
  928. package/vscode/src/vs/workbench/api/common/extHostMemento.js +1 -1
  929. package/vscode/src/vs/workbench/api/common/extHostMessageService.js +1 -1
  930. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +22 -22
  931. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +2 -2
  932. package/vscode/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.js +2 -2
  933. package/vscode/src/vs/workbench/api/common/extHostNotebookDocuments.js +2 -2
  934. package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +1 -1
  935. package/vscode/src/vs/workbench/api/common/extHostNotebookEditors.js +3 -3
  936. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +9 -9
  937. package/vscode/src/vs/workbench/api/common/extHostNotebookRenderers.js +1 -1
  938. package/vscode/src/vs/workbench/api/common/extHostOutput.js +8 -8
  939. package/vscode/src/vs/workbench/api/common/extHostProfileContentHandler.js +3 -3
  940. package/vscode/src/vs/workbench/api/common/extHostProgress.js +5 -5
  941. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.js +2 -2
  942. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +8 -8
  943. package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.js +8 -8
  944. package/vscode/src/vs/workbench/api/common/extHostRpcService.js +1 -1
  945. package/vscode/src/vs/workbench/api/common/extHostSCM.js +12 -12
  946. package/vscode/src/vs/workbench/api/common/extHostSearch.js +4 -4
  947. package/vscode/src/vs/workbench/api/common/extHostSecretState.js +2 -2
  948. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +2 -2
  949. package/vscode/src/vs/workbench/api/common/extHostShare.js +1 -1
  950. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +2 -2
  951. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +3 -3
  952. package/vscode/src/vs/workbench/api/common/extHostStorage.js +2 -2
  953. package/vscode/src/vs/workbench/api/common/extHostStoragePaths.js +3 -3
  954. package/vscode/src/vs/workbench/api/common/extHostTask.js +10 -10
  955. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +8 -8
  956. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +10 -10
  957. package/vscode/src/vs/workbench/api/common/extHostTestItem.js +5 -5
  958. package/vscode/src/vs/workbench/api/common/extHostTesting.js +10 -10
  959. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +3 -3
  960. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -5
  961. package/vscode/src/vs/workbench/api/common/extHostTheming.js +1 -1
  962. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +4 -4
  963. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +11 -11
  964. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +9 -9
  965. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +31 -31
  966. package/vscode/src/vs/workbench/api/common/extHostTypes.js +11 -11
  967. package/vscode/src/vs/workbench/api/common/extHostUriOpener.js +3 -3
  968. package/vscode/src/vs/workbench/api/common/extHostUriTransformerService.js +1 -1
  969. package/vscode/src/vs/workbench/api/common/extHostUrls.js +4 -4
  970. package/vscode/src/vs/workbench/api/common/extHostVariableResolverService.js +10 -10
  971. package/vscode/src/vs/workbench/api/common/extHostWebview.js +6 -6
  972. package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.js +1 -1
  973. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.js +4 -4
  974. package/vscode/src/vs/workbench/api/common/extHostWebviewView.js +2 -2
  975. package/vscode/src/vs/workbench/api/common/extHostWindow.js +5 -5
  976. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +17 -17
  977. package/vscode/src/vs/workbench/api/common/extensionHostMain.js +14 -14
  978. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +14 -14
  979. package/vscode/src/vs/workbench/api/worker/extHost.worker.services.js +2 -2
  980. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +3 -3
  981. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +9 -9
  982. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +18 -18
  983. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +5 -5
  984. package/vscode/src/vs/workbench/browser/actions/windowActions.js +24 -24
  985. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +8 -8
  986. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +14 -14
  987. package/vscode/src/vs/workbench/browser/actions.js +5 -5
  988. package/vscode/src/vs/workbench/browser/codeeditor.js +10 -10
  989. package/vscode/src/vs/workbench/browser/composite.js +5 -5
  990. package/vscode/src/vs/workbench/browser/dnd.js +20 -21
  991. package/vscode/src/vs/workbench/browser/editor.js +7 -7
  992. package/vscode/src/vs/workbench/browser/labels.js +16 -16
  993. package/vscode/src/vs/workbench/browser/panecomposite.js +9 -9
  994. package/vscode/src/vs/workbench/browser/part.js +4 -4
  995. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +6 -6
  996. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +17 -17
  997. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +7 -7
  998. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +4 -4
  999. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +5 -5
  1000. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +14 -14
  1001. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +4 -4
  1002. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +16 -16
  1003. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +2 -2
  1004. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +23 -23
  1005. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +7 -7
  1006. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +7 -7
  1007. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +17 -17
  1008. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +8 -8
  1009. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +34 -34
  1010. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +23 -23
  1011. package/vscode/src/vs/workbench/browser/parts/editor/editorWithViewState.js +7 -7
  1012. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +7 -7
  1013. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +15 -15
  1014. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +5 -5
  1015. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +17 -17
  1016. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +11 -11
  1017. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +10 -10
  1018. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +20 -20
  1019. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +14 -14
  1020. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsTelemetry.js +4 -4
  1021. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +7 -7
  1022. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +26 -26
  1023. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +1 -0
  1024. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +14 -14
  1025. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +9 -9
  1026. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +64 -64
  1027. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +26 -26
  1028. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +36 -36
  1029. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +26 -26
  1030. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +15 -15
  1031. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.d.ts +1 -0
  1032. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +7 -7
  1033. package/vscode/src/vs/workbench/browser/quickaccess.js +4 -4
  1034. package/vscode/src/vs/workbench/browser/style.js +6 -6
  1035. package/vscode/src/vs/workbench/browser/window.js +4 -4
  1036. package/vscode/src/vs/workbench/browser/workbench.contribution.js +5 -5
  1037. package/vscode/src/vs/workbench/common/component.js +1 -1
  1038. package/vscode/src/vs/workbench/common/configuration.js +6 -6
  1039. package/vscode/src/vs/workbench/common/contextkeys.js +9 -9
  1040. package/vscode/src/vs/workbench/common/contributions.js +6 -6
  1041. package/vscode/src/vs/workbench/common/editor/binaryEditorModel.js +2 -2
  1042. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +3 -3
  1043. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +6 -6
  1044. package/vscode/src/vs/workbench/common/editor/editorInput.js +3 -3
  1045. package/vscode/src/vs/workbench/common/editor/editorModel.js +2 -2
  1046. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +3 -3
  1047. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +3 -3
  1048. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +7 -7
  1049. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.d.ts +1 -0
  1050. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +6 -6
  1051. package/vscode/src/vs/workbench/common/editor/textResourceEditorModel.js +3 -3
  1052. package/vscode/src/vs/workbench/common/editor.d.ts +1 -0
  1053. package/vscode/src/vs/workbench/common/editor.js +11 -11
  1054. package/vscode/src/vs/workbench/common/memento.js +2 -2
  1055. package/vscode/src/vs/workbench/common/notifications.js +8 -8
  1056. package/vscode/src/vs/workbench/common/resources.js +12 -12
  1057. package/vscode/src/vs/workbench/common/theme.js +4 -4
  1058. package/vscode/src/vs/workbench/common/views.d.ts +1 -0
  1059. package/vscode/src/vs/workbench/common/views.js +10 -10
  1060. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +4 -4
  1061. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -16
  1062. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +28 -28
  1063. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +8 -8
  1064. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +11 -11
  1065. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +5 -5
  1066. package/vscode/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.js +11 -11
  1067. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +4 -4
  1068. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +11 -11
  1069. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +3 -3
  1070. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +5 -5
  1071. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +1 -1
  1072. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +7 -7
  1073. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +7 -7
  1074. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +31 -31
  1075. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +74 -74
  1076. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +7 -7
  1077. package/vscode/src/vs/workbench/contrib/chat/browser/chatOptions.js +4 -4
  1078. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +5 -5
  1079. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +21 -21
  1080. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +34 -34
  1081. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +11 -11
  1082. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +4 -4
  1083. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +2 -2
  1084. package/vscode/src/vs/workbench/contrib/chat/common/chatContributionService.js +1 -1
  1085. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +11 -11
  1086. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +2 -2
  1087. package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +2 -2
  1088. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +4 -4
  1089. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +3 -3
  1090. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +3 -3
  1091. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.js +1 -1
  1092. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +4 -4
  1093. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +3 -3
  1094. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +3 -3
  1095. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +17 -17
  1096. package/vscode/src/vs/workbench/contrib/codeActions/browser/documentationContribution.js +4 -4
  1097. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +6 -6
  1098. package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +7 -7
  1099. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +15 -14
  1100. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +6 -6
  1101. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js +9 -9
  1102. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +31 -31
  1103. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +34 -34
  1104. package/vscode/src/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +79 -79
  1105. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +10 -10
  1106. package/vscode/src/vs/workbench/contrib/codeEditor/browser/menuPreventer.js +2 -2
  1107. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +16 -16
  1108. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +19 -19
  1109. package/vscode/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +4 -4
  1110. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +25 -25
  1111. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +5 -5
  1112. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +6 -6
  1113. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +5 -5
  1114. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +5 -5
  1115. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +17 -17
  1116. package/vscode/src/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js +8 -8
  1117. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +15 -15
  1118. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +3 -3
  1119. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +61 -61
  1120. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +23 -23
  1121. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +1 -1
  1122. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +5 -5
  1123. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +21 -21
  1124. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +21 -21
  1125. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +18 -18
  1126. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +41 -41
  1127. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +14 -14
  1128. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +15 -15
  1129. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +4 -4
  1130. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  1131. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +4 -4
  1132. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +9 -9
  1133. package/vscode/src/vs/workbench/contrib/customEditor/common/customEditor.js +5 -5
  1134. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +71 -71
  1135. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +37 -37
  1136. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +92 -92
  1137. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +11 -11
  1138. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +6 -6
  1139. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +3 -3
  1140. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +3 -3
  1141. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +1 -0
  1142. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +57 -57
  1143. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +27 -27
  1144. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +8 -8
  1145. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +8 -8
  1146. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +1 -1
  1147. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +43 -43
  1148. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +3 -3
  1149. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -4
  1150. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +1 -1
  1151. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +4 -4
  1152. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +6 -6
  1153. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +7 -7
  1154. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +22 -22
  1155. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +1 -1
  1156. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +20 -20
  1157. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +132 -132
  1158. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +8 -8
  1159. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +26 -26
  1160. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +109 -107
  1161. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  1162. package/vscode/src/vs/workbench/contrib/files/browser/files.js +6 -6
  1163. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +15 -15
  1164. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +6 -6
  1165. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +42 -42
  1166. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +45 -45
  1167. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +41 -41
  1168. package/vscode/src/vs/workbench/contrib/files/common/explorerModel.js +11 -11
  1169. package/vscode/src/vs/workbench/contrib/files/common/files.d.ts +2 -0
  1170. package/vscode/src/vs/workbench/contrib/files/common/files.js +8 -8
  1171. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +10 -10
  1172. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +41 -41
  1173. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +11 -11
  1174. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +14 -14
  1175. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +16 -16
  1176. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +32 -32
  1177. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +37 -37
  1178. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +19 -19
  1179. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +26 -26
  1180. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +38 -38
  1181. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +2 -2
  1182. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +7 -7
  1183. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveDocumentService.js +1 -1
  1184. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +2 -2
  1185. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +8 -8
  1186. package/vscode/src/vs/workbench/contrib/markers/common/markers.js +1 -1
  1187. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +9 -9
  1188. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +14 -12
  1189. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +3 -3
  1190. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +2 -2
  1191. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +3 -3
  1192. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +5 -5
  1193. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +10 -7
  1194. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +5 -5
  1195. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +2 -2
  1196. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +6 -4
  1197. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +1 -1
  1198. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +6 -5
  1199. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +2 -2
  1200. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +2 -2
  1201. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +3 -3
  1202. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +6 -6
  1203. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +52 -52
  1204. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +5 -5
  1205. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +4 -4
  1206. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +6 -6
  1207. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +13 -13
  1208. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +5 -5
  1209. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +8 -8
  1210. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +21 -21
  1211. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +74 -74
  1212. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +3 -3
  1213. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +5 -5
  1214. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.js +1 -1
  1215. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +5 -5
  1216. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +4 -4
  1217. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +7 -7
  1218. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +3 -3
  1219. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDecorations.js +2 -2
  1220. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +16 -16
  1221. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +11 -11
  1222. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +7 -7
  1223. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellExecution.js +5 -5
  1224. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocus.js +3 -3
  1225. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +7 -7
  1226. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +35 -35
  1227. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellProgressBar.js +2 -2
  1228. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +23 -23
  1229. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbarStickyScroll.js +1 -1
  1230. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +12 -12
  1231. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +4 -4
  1232. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +19 -19
  1233. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +2 -2
  1234. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +35 -35
  1235. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +7 -7
  1236. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +11 -11
  1237. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellInput.js +3 -3
  1238. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +11 -11
  1239. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +11 -11
  1240. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +33 -33
  1241. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +17 -17
  1242. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +1 -1
  1243. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +38 -38
  1244. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +57 -57
  1245. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/OutlineEntry.js +4 -4
  1246. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +6 -6
  1247. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +3 -3
  1248. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +2 -2
  1249. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellSelectionCollection.js +2 -2
  1250. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +9 -9
  1251. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/eventDispatcher.js +2 -2
  1252. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +6 -6
  1253. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +7 -7
  1254. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +2 -2
  1255. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +7 -7
  1256. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +15 -15
  1257. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +17 -17
  1258. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +16 -16
  1259. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorWidgetContextKeys.js +4 -4
  1260. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +16 -16
  1261. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +8 -8
  1262. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +5 -5
  1263. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +7 -7
  1264. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellOutputTextModel.js +2 -2
  1265. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +9 -9
  1266. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCellStatusBarService.js +1 -1
  1267. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +11 -11
  1268. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +1 -1
  1269. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +9 -9
  1270. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +8 -8
  1271. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.js +1 -1
  1272. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.js +1 -1
  1273. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.js +1 -1
  1274. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.js +1 -1
  1275. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKeymapService.js +1 -1
  1276. package/vscode/src/vs/workbench/contrib/notebook/common/notebookLoggingService.js +1 -1
  1277. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRendererMessagingService.js +1 -1
  1278. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.js +1 -1
  1279. package/vscode/src/vs/workbench/contrib/notebook/common/services/notebookWorkerService.js +1 -1
  1280. package/vscode/src/vs/workbench/contrib/output/common/outputChannelModel.js +17 -17
  1281. package/vscode/src/vs/workbench/contrib/output/common/outputChannelModelService.js +3 -3
  1282. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
  1283. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +3 -3
  1284. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +31 -31
  1285. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +20 -20
  1286. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +104 -104
  1287. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +2 -2
  1288. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +10 -10
  1289. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +61 -61
  1290. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +1 -1
  1291. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -1
  1292. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +1 -1
  1293. package/vscode/src/vs/workbench/contrib/search/browser/replace.js +1 -1
  1294. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +4 -4
  1295. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +20 -20
  1296. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +26 -26
  1297. package/vscode/src/vs/workbench/contrib/search/common/cellSearchModel.js +4 -4
  1298. package/vscode/src/vs/workbench/contrib/search/common/constants.js +1 -1
  1299. package/vscode/src/vs/workbench/contrib/search/common/notebookSearch.js +1 -1
  1300. package/vscode/src/vs/workbench/contrib/search/common/search.js +9 -9
  1301. package/vscode/src/vs/workbench/contrib/search/common/searchHistoryService.js +4 -4
  1302. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +1 -1
  1303. package/vscode/src/vs/workbench/contrib/searchEditor/browser/constants.js +1 -1
  1304. package/vscode/src/vs/workbench/contrib/share/common/share.js +1 -1
  1305. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +3 -3
  1306. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +7 -7
  1307. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +11 -11
  1308. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.js +1 -1
  1309. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +10 -10
  1310. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +21 -21
  1311. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +9 -9
  1312. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +1 -1
  1313. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +14 -14
  1314. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +8 -8
  1315. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +15 -15
  1316. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +7 -7
  1317. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +1 -0
  1318. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.js +1 -1
  1319. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +9 -9
  1320. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +1 -1
  1321. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -7
  1322. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +3 -3
  1323. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +2 -2
  1324. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +17 -17
  1325. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +9 -9
  1326. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.d.ts +2 -0
  1327. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +5 -5
  1328. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +15 -15
  1329. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +27 -27
  1330. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.js +1 -1
  1331. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +9 -9
  1332. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  1333. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +2 -2
  1334. package/vscode/src/vs/workbench/contrib/terminal/common/terminalExtensionPoints.js +2 -2
  1335. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/links.js +1 -1
  1336. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.js +1 -1
  1337. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +1 -1
  1338. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +2 -2
  1339. package/vscode/src/vs/workbench/contrib/testing/common/storedValue.js +2 -2
  1340. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +3 -3
  1341. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +7 -7
  1342. package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.js +5 -5
  1343. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +5 -5
  1344. package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +6 -6
  1345. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +9 -9
  1346. package/vscode/src/vs/workbench/contrib/testing/common/testResultService.js +8 -8
  1347. package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +10 -10
  1348. package/vscode/src/vs/workbench/contrib/testing/common/testService.js +3 -3
  1349. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  1350. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +2 -2
  1351. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +6 -6
  1352. package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.js +2 -2
  1353. package/vscode/src/vs/workbench/contrib/testing/common/testingPeekOpener.js +1 -1
  1354. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.js +1 -1
  1355. package/vscode/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.js +12 -12
  1356. package/vscode/src/vs/workbench/contrib/webview/browser/webview.js +6 -6
  1357. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +6 -6
  1358. package/vscode/src/vs/workbench/contrib/webview/common/webview.js +2 -2
  1359. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +14 -14
  1360. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +3 -3
  1361. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -5
  1362. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.js +10 -10
  1363. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.js +4 -4
  1364. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/featuredExtensionService.js +7 -7
  1365. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +1 -1
  1366. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +18 -18
  1367. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +3 -3
  1368. package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -1
  1369. package/vscode/src/vs/workbench/services/aiEmbeddingVector/common/aiEmbeddingVectorService.js +4 -4
  1370. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.js +1 -1
  1371. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +4 -4
  1372. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +30 -30
  1373. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +1 -1
  1374. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +12 -12
  1375. package/vscode/src/vs/workbench/services/banner/browser/bannerService.js +1 -1
  1376. package/vscode/src/vs/workbench/services/configuration/common/configuration.js +2 -2
  1377. package/vscode/src/vs/workbench/services/configuration/common/jsonEditing.js +1 -1
  1378. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -1
  1379. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +17 -17
  1380. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +2 -2
  1381. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +31 -31
  1382. package/vscode/src/vs/workbench/services/decorations/common/decorations.js +1 -1
  1383. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +5 -5
  1384. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +16 -16
  1385. package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.d.ts +2 -0
  1386. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +2 -2
  1387. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +1 -1
  1388. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +9 -9
  1389. package/vscode/src/vs/workbench/services/editor/common/editorService.js +1 -1
  1390. package/vscode/src/vs/workbench/services/environment/browser/environmentService.js +10 -10
  1391. package/vscode/src/vs/workbench/services/environment/common/environmentService.js +2 -2
  1392. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +12 -12
  1393. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +2 -2
  1394. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.js +1 -1
  1395. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +13 -13
  1396. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +18 -18
  1397. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.d.ts +1 -0
  1398. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +6 -6
  1399. package/vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js +1 -1
  1400. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.js +1 -1
  1401. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.js +10 -10
  1402. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +4 -4
  1403. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +87 -87
  1404. package/vscode/src/vs/workbench/services/extensions/common/lazyPromise.js +1 -1
  1405. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +9 -9
  1406. package/vscode/src/vs/workbench/services/extensions/common/workspaceContains.js +10 -10
  1407. package/vscode/src/vs/workbench/services/files/common/elevatedFileService.js +1 -1
  1408. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +14 -14
  1409. package/vscode/src/vs/workbench/services/history/common/history.js +1 -1
  1410. package/vscode/src/vs/workbench/services/host/browser/host.js +1 -1
  1411. package/vscode/src/vs/workbench/services/hover/browser/hover.js +1 -1
  1412. package/vscode/src/vs/workbench/services/issue/common/issue.js +1 -1
  1413. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +4 -4
  1414. package/vscode/src/vs/workbench/services/keybinding/common/fallbackKeyboardMapper.js +2 -2
  1415. package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.d.ts +1 -0
  1416. package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +19 -19
  1417. package/vscode/src/vs/workbench/services/language/common/languageService.js +8 -8
  1418. package/vscode/src/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +1 -1
  1419. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.js +3 -3
  1420. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +2 -2
  1421. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.js +1 -1
  1422. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +6 -6
  1423. package/vscode/src/vs/workbench/services/localization/common/locale.js +1 -1
  1424. package/vscode/src/vs/workbench/services/outline/browser/outline.js +1 -1
  1425. package/vscode/src/vs/workbench/services/output/common/output.js +4 -4
  1426. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.js +1 -1
  1427. package/vscode/src/vs/workbench/services/path/browser/pathService.js +4 -4
  1428. package/vscode/src/vs/workbench/services/path/common/pathService.js +8 -8
  1429. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +4 -4
  1430. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +29 -29
  1431. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +1 -0
  1432. package/vscode/src/vs/workbench/services/preferences/common/preferences.js +1 -1
  1433. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  1434. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.d.ts +1 -0
  1435. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +3 -3
  1436. package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.js +2 -2
  1437. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +12 -12
  1438. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +20 -20
  1439. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +23 -23
  1440. package/vscode/src/vs/workbench/services/search/common/ignoreFile.js +2 -2
  1441. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +33 -33
  1442. package/vscode/src/vs/workbench/services/search/common/replace.js +4 -4
  1443. package/vscode/src/vs/workbench/services/search/common/search.js +18 -18
  1444. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +1 -1
  1445. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +13 -13
  1446. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.js +1 -1
  1447. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +1 -1
  1448. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +2 -2
  1449. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +34 -34
  1450. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +7 -7
  1451. package/vscode/src/vs/workbench/services/terminal/common/embedderTerminalService.js +3 -3
  1452. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeature.js +1 -1
  1453. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +3 -3
  1454. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.d.ts +1 -0
  1455. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +10 -10
  1456. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +16 -16
  1457. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +4 -4
  1458. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +20 -20
  1459. package/vscode/src/vs/workbench/services/themes/common/hostColorSchemeService.js +1 -1
  1460. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +21 -21
  1461. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +3 -3
  1462. package/vscode/src/vs/workbench/services/timer/browser/timerService.js +10 -10
  1463. package/vscode/src/vs/workbench/services/title/browser/titleService.js +1 -1
  1464. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.js +5 -5
  1465. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +5 -5
  1466. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.d.ts +1 -0
  1467. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +11 -11
  1468. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +7 -7
  1469. package/vscode/src/vs/workbench/services/update/browser/updateService.d.ts +2 -0
  1470. package/vscode/src/vs/workbench/services/url/browser/urlService.d.ts +1 -0
  1471. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +4 -4
  1472. package/vscode/src/vs/workbench/services/userData/browser/userDataInit.js +4 -4
  1473. package/vscode/src/vs/workbench/services/userDataProfile/common/remoteUserDataProfiles.js +6 -6
  1474. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.d.ts +1 -0
  1475. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +6 -6
  1476. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +3 -3
  1477. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileService.js +5 -5
  1478. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +6 -6
  1479. package/vscode/src/vs/workbench/services/views/browser/treeViewsService.js +1 -1
  1480. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.d.ts +1 -0
  1481. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +5 -5
  1482. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +1 -0
  1483. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +12 -12
  1484. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +7 -7
  1485. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.js +1 -1
  1486. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.js +3 -3
  1487. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileOperationParticipant.js +4 -4
  1488. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.js +8 -8
  1489. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistory.js +1 -1
  1490. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.js +5 -5
  1491. package/vscode/src/vs/workbench/services/workspaces/browser/workspaces.js +1 -1
  1492. package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.js +1 -1
  1493. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +14 -14
  1494. package/workbench.js +2 -2
  1495. package/workers/editor.worker.js +1 -0
  1496. package/monaco-editor-treemending.patch +0 -46568
  1497. package/monaco-treemending.js +0 -924
@@ -0,0 +1,1118 @@
1
+ import { ArrayQueue } from '../../../base/common/arrays.js';
2
+ import { RunOnceScheduler } from '../../../base/common/async.js';
3
+ import { Color } from '../../../base/common/color.js';
4
+ import { Disposable } from '../../../base/common/lifecycle.js';
5
+ import { isWindows } from '../../../base/common/platform.js';
6
+ import { firstNonWhitespaceIndex, lastNonWhitespaceIndex } from '../../../base/common/strings.js';
7
+ import { filterValidationDecorations, EDITOR_FONT_DEFAULTS } from '../config/editorOptions.js';
8
+ import { CursorsController } from '../cursor/cursor.js';
9
+ import { CursorConfiguration } from '../cursorCommon.js';
10
+ import { Position } from '../core/position.js';
11
+ import { Range } from '../core/range.js';
12
+ import { InternalModelContentChangeEvent } from '../textModelEvents.js';
13
+ import { TokenizationRegistry } from '../languages.js';
14
+ import { PLAINTEXT_LANGUAGE_ID } from '../languages/modesRegistry.js';
15
+ import { tokenizeLineToHTML } from '../languages/textToHtmlTokenizer.js';
16
+ import { ViewScrollChangedEvent, ViewTokensColorsChangedEvent, ViewThemeChangedEvent, ViewFocusChangedEvent, ViewCompositionStartEvent, ViewCompositionEndEvent, ViewFlushedEvent, ViewLineMappingChangedEvent, ViewDecorationsChangedEvent, ViewConfigurationChangedEvent, ViewTokensChangedEvent, ViewLanguageConfigurationEvent, ViewRevealRangeRequestEvent, ViewZonesChangedEvent } from '../viewEvents.js';
17
+ import { ViewLayout } from '../viewLayout/viewLayout.js';
18
+ import { MinimapTokensColorTracker } from './minimapTokensColorTracker.js';
19
+ import { ViewLineRenderingData, MinimapLinesRenderingData, OverviewRulerDecorationsGroup } from '../viewModel.js';
20
+ import { ViewModelDecorations } from './viewModelDecorations.js';
21
+ import { ViewModelEventDispatcher, ScrollChangedEvent, FocusChangedEvent, ModelContentChangedEvent, ModelTokensChangedEvent, ModelLanguageConfigurationChangedEvent, ModelLanguageChangedEvent, ModelOptionsChangedEvent, ModelDecorationsChangedEvent, HiddenAreasChangedEvent, ReadOnlyEditAttemptEvent, ViewZonesChangedEvent as ViewZonesChangedEvent$1 } from '../viewModelEventDispatcher.js';
22
+ import { ViewModelLinesFromModelAsIs, ViewModelLinesFromProjectedModel } from './viewModelLines.js';
23
+ class ViewModel extends Disposable {
24
+ constructor(editorId, configuration, model, domLineBreaksComputerFactory, monospaceLineBreaksComputerFactory, scheduleAtNextAnimationFrame, languageConfigurationService, _themeService, _attachedView) {
25
+ super();
26
+ this.languageConfigurationService = languageConfigurationService;
27
+ this._themeService = _themeService;
28
+ this._attachedView = _attachedView;
29
+ this.hiddenAreasModel = ( new HiddenAreasModel());
30
+ this.previousHiddenAreas = [];
31
+ this._editorId = editorId;
32
+ this._configuration = configuration;
33
+ this.model = model;
34
+ this._eventDispatcher = ( new ViewModelEventDispatcher());
35
+ this.onEvent = this._eventDispatcher.onEvent;
36
+ this.cursorConfig = ( new CursorConfiguration(
37
+ this.model.getLanguageId(),
38
+ this.model.getOptions(),
39
+ this._configuration,
40
+ this.languageConfigurationService
41
+ ));
42
+ this._updateConfigurationViewLineCount = this._register(( new RunOnceScheduler(() => this._updateConfigurationViewLineCountNow(), 0)));
43
+ this._hasFocus = false;
44
+ this._viewportStart = ViewportStart.create(this.model);
45
+ if (this.model.isTooLargeForTokenization()) {
46
+ this._lines = ( new ViewModelLinesFromModelAsIs(this.model));
47
+ }
48
+ else {
49
+ const options = this._configuration.options;
50
+ const fontInfo = options.get(50 );
51
+ const wrappingStrategy = options.get(137 );
52
+ const wrappingInfo = options.get(144 );
53
+ const wrappingIndent = options.get(136 );
54
+ const wordBreak = options.get(128 );
55
+ this._lines = ( new ViewModelLinesFromProjectedModel(
56
+ this._editorId,
57
+ this.model,
58
+ domLineBreaksComputerFactory,
59
+ monospaceLineBreaksComputerFactory,
60
+ fontInfo,
61
+ this.model.getOptions().tabSize,
62
+ wrappingStrategy,
63
+ wrappingInfo.wrappingColumn,
64
+ wrappingIndent,
65
+ wordBreak
66
+ ));
67
+ }
68
+ this.coordinatesConverter = this._lines.createCoordinatesConverter();
69
+ this._cursor = this._register(( new CursorsController(model, this, this.coordinatesConverter, this.cursorConfig)));
70
+ this.viewLayout = this._register(( new ViewLayout(this._configuration, this.getLineCount(), scheduleAtNextAnimationFrame)));
71
+ this._register(this.viewLayout.onDidScroll((e) => {
72
+ if (e.scrollTopChanged) {
73
+ this._handleVisibleLinesChanged();
74
+ }
75
+ if (e.scrollTopChanged) {
76
+ this._viewportStart.invalidate();
77
+ }
78
+ this._eventDispatcher.emitSingleViewEvent(new ViewScrollChangedEvent(e));
79
+ this._eventDispatcher.emitOutgoingEvent(( new ScrollChangedEvent(
80
+ e.oldScrollWidth,
81
+ e.oldScrollLeft,
82
+ e.oldScrollHeight,
83
+ e.oldScrollTop,
84
+ e.scrollWidth,
85
+ e.scrollLeft,
86
+ e.scrollHeight,
87
+ e.scrollTop
88
+ )));
89
+ }));
90
+ this._register(this.viewLayout.onDidContentSizeChange((e) => {
91
+ this._eventDispatcher.emitOutgoingEvent(e);
92
+ }));
93
+ this._decorations = ( new ViewModelDecorations(
94
+ this._editorId,
95
+ this.model,
96
+ this._configuration,
97
+ this._lines,
98
+ this.coordinatesConverter
99
+ ));
100
+ this._registerModelEvents();
101
+ this._register(this._configuration.onDidChangeFast((e) => {
102
+ try {
103
+ const eventsCollector = this._eventDispatcher.beginEmitViewEvents();
104
+ this._onConfigurationChanged(eventsCollector, e);
105
+ }
106
+ finally {
107
+ this._eventDispatcher.endEmitViewEvents();
108
+ }
109
+ }));
110
+ this._register(MinimapTokensColorTracker.getInstance().onDidChange(() => {
111
+ this._eventDispatcher.emitSingleViewEvent(new ViewTokensColorsChangedEvent());
112
+ }));
113
+ this._register(this._themeService.onDidColorThemeChange((theme) => {
114
+ this._invalidateDecorationsColorCache();
115
+ this._eventDispatcher.emitSingleViewEvent(new ViewThemeChangedEvent(theme));
116
+ }));
117
+ this._updateConfigurationViewLineCountNow();
118
+ }
119
+ dispose() {
120
+ super.dispose();
121
+ this._decorations.dispose();
122
+ this._lines.dispose();
123
+ this._viewportStart.dispose();
124
+ this._eventDispatcher.dispose();
125
+ }
126
+ createLineBreaksComputer() {
127
+ return this._lines.createLineBreaksComputer();
128
+ }
129
+ addViewEventHandler(eventHandler) {
130
+ this._eventDispatcher.addViewEventHandler(eventHandler);
131
+ }
132
+ removeViewEventHandler(eventHandler) {
133
+ this._eventDispatcher.removeViewEventHandler(eventHandler);
134
+ }
135
+ _updateConfigurationViewLineCountNow() {
136
+ this._configuration.setViewLineCount(this._lines.getViewLineCount());
137
+ }
138
+ getModelVisibleRanges() {
139
+ const linesViewportData = this.viewLayout.getLinesViewportData();
140
+ const viewVisibleRange = ( new Range(
141
+ linesViewportData.startLineNumber,
142
+ this.getLineMinColumn(linesViewportData.startLineNumber),
143
+ linesViewportData.endLineNumber,
144
+ this.getLineMaxColumn(linesViewportData.endLineNumber)
145
+ ));
146
+ const modelVisibleRanges = this._toModelVisibleRanges(viewVisibleRange);
147
+ return modelVisibleRanges;
148
+ }
149
+ visibleLinesStabilized() {
150
+ const modelVisibleRanges = this.getModelVisibleRanges();
151
+ this._attachedView.setVisibleLines(modelVisibleRanges, true);
152
+ }
153
+ _handleVisibleLinesChanged() {
154
+ const modelVisibleRanges = this.getModelVisibleRanges();
155
+ this._attachedView.setVisibleLines(modelVisibleRanges, false);
156
+ }
157
+ setHasFocus(hasFocus) {
158
+ this._hasFocus = hasFocus;
159
+ this._cursor.setHasFocus(hasFocus);
160
+ this._eventDispatcher.emitSingleViewEvent(new ViewFocusChangedEvent(hasFocus));
161
+ this._eventDispatcher.emitOutgoingEvent(( new FocusChangedEvent(!hasFocus, hasFocus)));
162
+ }
163
+ onCompositionStart() {
164
+ this._eventDispatcher.emitSingleViewEvent(new ViewCompositionStartEvent());
165
+ }
166
+ onCompositionEnd() {
167
+ this._eventDispatcher.emitSingleViewEvent(new ViewCompositionEndEvent());
168
+ }
169
+ _captureStableViewport() {
170
+ if (this._viewportStart.isValid && this.viewLayout.getCurrentScrollTop() > 0) {
171
+ const previousViewportStartViewPosition = ( new Position(
172
+ this._viewportStart.viewLineNumber,
173
+ this.getLineMinColumn(this._viewportStart.viewLineNumber)
174
+ ));
175
+ const previousViewportStartModelPosition = this.coordinatesConverter.convertViewPositionToModelPosition(previousViewportStartViewPosition);
176
+ return ( new StableViewport(previousViewportStartModelPosition, this._viewportStart.startLineDelta));
177
+ }
178
+ return ( new StableViewport(null, 0));
179
+ }
180
+ _onConfigurationChanged(eventsCollector, e) {
181
+ const stableViewport = this._captureStableViewport();
182
+ const options = this._configuration.options;
183
+ const fontInfo = options.get(50 );
184
+ const wrappingStrategy = options.get(137 );
185
+ const wrappingInfo = options.get(144 );
186
+ const wrappingIndent = options.get(136 );
187
+ const wordBreak = options.get(128 );
188
+ if (this._lines.setWrappingSettings(fontInfo, wrappingStrategy, wrappingInfo.wrappingColumn, wrappingIndent, wordBreak)) {
189
+ eventsCollector.emitViewEvent(new ViewFlushedEvent());
190
+ eventsCollector.emitViewEvent(new ViewLineMappingChangedEvent());
191
+ eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null));
192
+ this._cursor.onLineMappingChanged(eventsCollector);
193
+ this._decorations.onLineMappingChanged();
194
+ this.viewLayout.onFlushed(this.getLineCount());
195
+ this._updateConfigurationViewLineCount.schedule();
196
+ }
197
+ if (e.hasChanged(90 )) {
198
+ this._decorations.reset();
199
+ eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null));
200
+ }
201
+ if (e.hasChanged(97 )) {
202
+ this._decorations.reset();
203
+ eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null));
204
+ }
205
+ eventsCollector.emitViewEvent(new ViewConfigurationChangedEvent(e));
206
+ this.viewLayout.onConfigurationChanged(e);
207
+ stableViewport.recoverViewportStart(this.coordinatesConverter, this.viewLayout);
208
+ if (CursorConfiguration.shouldRecreate(e)) {
209
+ this.cursorConfig = ( new CursorConfiguration(
210
+ this.model.getLanguageId(),
211
+ this.model.getOptions(),
212
+ this._configuration,
213
+ this.languageConfigurationService
214
+ ));
215
+ this._cursor.updateConfiguration(this.cursorConfig);
216
+ }
217
+ }
218
+ _registerModelEvents() {
219
+ this._register(this.model.onDidChangeContentOrInjectedText((e) => {
220
+ try {
221
+ const eventsCollector = this._eventDispatcher.beginEmitViewEvents();
222
+ let hadOtherModelChange = false;
223
+ let hadModelLineChangeThatChangedLineMapping = false;
224
+ const changes = (e instanceof InternalModelContentChangeEvent ? e.rawContentChangedEvent.changes : e.changes);
225
+ const versionId = (e instanceof InternalModelContentChangeEvent ? e.rawContentChangedEvent.versionId : null);
226
+ const lineBreaksComputer = this._lines.createLineBreaksComputer();
227
+ for (const change of changes) {
228
+ switch (change.changeType) {
229
+ case 4 : {
230
+ for (let lineIdx = 0; lineIdx < change.detail.length; lineIdx++) {
231
+ const line = change.detail[lineIdx];
232
+ let injectedText = change.injectedTexts[lineIdx];
233
+ if (injectedText) {
234
+ injectedText = injectedText.filter(element => (!element.ownerId || element.ownerId === this._editorId));
235
+ }
236
+ lineBreaksComputer.addRequest(line, injectedText, null);
237
+ }
238
+ break;
239
+ }
240
+ case 2 : {
241
+ let injectedText = null;
242
+ if (change.injectedText) {
243
+ injectedText = change.injectedText.filter(element => (!element.ownerId || element.ownerId === this._editorId));
244
+ }
245
+ lineBreaksComputer.addRequest(change.detail, injectedText, null);
246
+ break;
247
+ }
248
+ }
249
+ }
250
+ const lineBreaks = lineBreaksComputer.finalize();
251
+ const lineBreakQueue = ( new ArrayQueue(lineBreaks));
252
+ for (const change of changes) {
253
+ switch (change.changeType) {
254
+ case 1 : {
255
+ this._lines.onModelFlushed();
256
+ eventsCollector.emitViewEvent(new ViewFlushedEvent());
257
+ this._decorations.reset();
258
+ this.viewLayout.onFlushed(this.getLineCount());
259
+ hadOtherModelChange = true;
260
+ break;
261
+ }
262
+ case 3 : {
263
+ const linesDeletedEvent = this._lines.onModelLinesDeleted(versionId, change.fromLineNumber, change.toLineNumber);
264
+ if (linesDeletedEvent !== null) {
265
+ eventsCollector.emitViewEvent(linesDeletedEvent);
266
+ this.viewLayout.onLinesDeleted(linesDeletedEvent.fromLineNumber, linesDeletedEvent.toLineNumber);
267
+ }
268
+ hadOtherModelChange = true;
269
+ break;
270
+ }
271
+ case 4 : {
272
+ const insertedLineBreaks = lineBreakQueue.takeCount(change.detail.length);
273
+ const linesInsertedEvent = this._lines.onModelLinesInserted(versionId, change.fromLineNumber, change.toLineNumber, insertedLineBreaks);
274
+ if (linesInsertedEvent !== null) {
275
+ eventsCollector.emitViewEvent(linesInsertedEvent);
276
+ this.viewLayout.onLinesInserted(linesInsertedEvent.fromLineNumber, linesInsertedEvent.toLineNumber);
277
+ }
278
+ hadOtherModelChange = true;
279
+ break;
280
+ }
281
+ case 2 : {
282
+ const changedLineBreakData = lineBreakQueue.dequeue();
283
+ const [lineMappingChanged, linesChangedEvent, linesInsertedEvent, linesDeletedEvent] = this._lines.onModelLineChanged(versionId, change.lineNumber, changedLineBreakData);
284
+ hadModelLineChangeThatChangedLineMapping = lineMappingChanged;
285
+ if (linesChangedEvent) {
286
+ eventsCollector.emitViewEvent(linesChangedEvent);
287
+ }
288
+ if (linesInsertedEvent) {
289
+ eventsCollector.emitViewEvent(linesInsertedEvent);
290
+ this.viewLayout.onLinesInserted(linesInsertedEvent.fromLineNumber, linesInsertedEvent.toLineNumber);
291
+ }
292
+ if (linesDeletedEvent) {
293
+ eventsCollector.emitViewEvent(linesDeletedEvent);
294
+ this.viewLayout.onLinesDeleted(linesDeletedEvent.fromLineNumber, linesDeletedEvent.toLineNumber);
295
+ }
296
+ break;
297
+ }
298
+ }
299
+ }
300
+ if (versionId !== null) {
301
+ this._lines.acceptVersionId(versionId);
302
+ }
303
+ this.viewLayout.onHeightMaybeChanged();
304
+ if (!hadOtherModelChange && hadModelLineChangeThatChangedLineMapping) {
305
+ eventsCollector.emitViewEvent(new ViewLineMappingChangedEvent());
306
+ eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null));
307
+ this._cursor.onLineMappingChanged(eventsCollector);
308
+ this._decorations.onLineMappingChanged();
309
+ }
310
+ }
311
+ finally {
312
+ this._eventDispatcher.endEmitViewEvents();
313
+ }
314
+ const viewportStartWasValid = this._viewportStart.isValid;
315
+ this._viewportStart.invalidate();
316
+ this._configuration.setModelLineCount(this.model.getLineCount());
317
+ this._updateConfigurationViewLineCountNow();
318
+ if (!this._hasFocus && this.model.getAttachedEditorCount() >= 2 && viewportStartWasValid) {
319
+ const modelRange = this.model._getTrackedRange(this._viewportStart.modelTrackedRange);
320
+ if (modelRange) {
321
+ const viewPosition = this.coordinatesConverter.convertModelPositionToViewPosition(modelRange.getStartPosition());
322
+ const viewPositionTop = this.viewLayout.getVerticalOffsetForLineNumber(viewPosition.lineNumber);
323
+ this.viewLayout.setScrollPosition({ scrollTop: viewPositionTop + this._viewportStart.startLineDelta }, 1 );
324
+ }
325
+ }
326
+ try {
327
+ const eventsCollector = this._eventDispatcher.beginEmitViewEvents();
328
+ if (e instanceof InternalModelContentChangeEvent) {
329
+ eventsCollector.emitOutgoingEvent(( new ModelContentChangedEvent(e.contentChangedEvent)));
330
+ }
331
+ this._cursor.onModelContentChanged(eventsCollector, e);
332
+ }
333
+ finally {
334
+ this._eventDispatcher.endEmitViewEvents();
335
+ }
336
+ this._handleVisibleLinesChanged();
337
+ }));
338
+ this._register(this.model.onDidChangeTokens((e) => {
339
+ const viewRanges = [];
340
+ for (let j = 0, lenJ = e.ranges.length; j < lenJ; j++) {
341
+ const modelRange = e.ranges[j];
342
+ const viewStartLineNumber = this.coordinatesConverter.convertModelPositionToViewPosition(( new Position(modelRange.fromLineNumber, 1))).lineNumber;
343
+ const viewEndLineNumber = this.coordinatesConverter.convertModelPositionToViewPosition(( new Position(
344
+ modelRange.toLineNumber,
345
+ this.model.getLineMaxColumn(modelRange.toLineNumber)
346
+ ))).lineNumber;
347
+ viewRanges[j] = {
348
+ fromLineNumber: viewStartLineNumber,
349
+ toLineNumber: viewEndLineNumber
350
+ };
351
+ }
352
+ this._eventDispatcher.emitSingleViewEvent(new ViewTokensChangedEvent(viewRanges));
353
+ this._eventDispatcher.emitOutgoingEvent(( new ModelTokensChangedEvent(e)));
354
+ }));
355
+ this._register(this.model.onDidChangeLanguageConfiguration((e) => {
356
+ this._eventDispatcher.emitSingleViewEvent(new ViewLanguageConfigurationEvent());
357
+ this.cursorConfig = ( new CursorConfiguration(
358
+ this.model.getLanguageId(),
359
+ this.model.getOptions(),
360
+ this._configuration,
361
+ this.languageConfigurationService
362
+ ));
363
+ this._cursor.updateConfiguration(this.cursorConfig);
364
+ this._eventDispatcher.emitOutgoingEvent(( new ModelLanguageConfigurationChangedEvent(e)));
365
+ }));
366
+ this._register(this.model.onDidChangeLanguage((e) => {
367
+ this.cursorConfig = ( new CursorConfiguration(
368
+ this.model.getLanguageId(),
369
+ this.model.getOptions(),
370
+ this._configuration,
371
+ this.languageConfigurationService
372
+ ));
373
+ this._cursor.updateConfiguration(this.cursorConfig);
374
+ this._eventDispatcher.emitOutgoingEvent(( new ModelLanguageChangedEvent(e)));
375
+ }));
376
+ this._register(this.model.onDidChangeOptions((e) => {
377
+ if (this._lines.setTabSize(this.model.getOptions().tabSize)) {
378
+ try {
379
+ const eventsCollector = this._eventDispatcher.beginEmitViewEvents();
380
+ eventsCollector.emitViewEvent(new ViewFlushedEvent());
381
+ eventsCollector.emitViewEvent(new ViewLineMappingChangedEvent());
382
+ eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null));
383
+ this._cursor.onLineMappingChanged(eventsCollector);
384
+ this._decorations.onLineMappingChanged();
385
+ this.viewLayout.onFlushed(this.getLineCount());
386
+ }
387
+ finally {
388
+ this._eventDispatcher.endEmitViewEvents();
389
+ }
390
+ this._updateConfigurationViewLineCount.schedule();
391
+ }
392
+ this.cursorConfig = ( new CursorConfiguration(
393
+ this.model.getLanguageId(),
394
+ this.model.getOptions(),
395
+ this._configuration,
396
+ this.languageConfigurationService
397
+ ));
398
+ this._cursor.updateConfiguration(this.cursorConfig);
399
+ this._eventDispatcher.emitOutgoingEvent(( new ModelOptionsChangedEvent(e)));
400
+ }));
401
+ this._register(this.model.onDidChangeDecorations((e) => {
402
+ this._decorations.onModelDecorationsChanged();
403
+ this._eventDispatcher.emitSingleViewEvent(new ViewDecorationsChangedEvent(e));
404
+ this._eventDispatcher.emitOutgoingEvent(( new ModelDecorationsChangedEvent(e)));
405
+ }));
406
+ }
407
+ setHiddenAreas(ranges, source) {
408
+ this.hiddenAreasModel.setHiddenAreas(source, ranges);
409
+ const mergedRanges = this.hiddenAreasModel.getMergedRanges();
410
+ if (mergedRanges === this.previousHiddenAreas) {
411
+ return;
412
+ }
413
+ this.previousHiddenAreas = mergedRanges;
414
+ const stableViewport = this._captureStableViewport();
415
+ let lineMappingChanged = false;
416
+ try {
417
+ const eventsCollector = this._eventDispatcher.beginEmitViewEvents();
418
+ lineMappingChanged = this._lines.setHiddenAreas(mergedRanges);
419
+ if (lineMappingChanged) {
420
+ eventsCollector.emitViewEvent(new ViewFlushedEvent());
421
+ eventsCollector.emitViewEvent(new ViewLineMappingChangedEvent());
422
+ eventsCollector.emitViewEvent(new ViewDecorationsChangedEvent(null));
423
+ this._cursor.onLineMappingChanged(eventsCollector);
424
+ this._decorations.onLineMappingChanged();
425
+ this.viewLayout.onFlushed(this.getLineCount());
426
+ this.viewLayout.onHeightMaybeChanged();
427
+ }
428
+ const firstModelLineInViewPort = stableViewport.viewportStartModelPosition?.lineNumber;
429
+ const firstModelLineIsHidden = firstModelLineInViewPort && ( mergedRanges.some(
430
+ range => range.startLineNumber <= firstModelLineInViewPort && firstModelLineInViewPort <= range.endLineNumber
431
+ ));
432
+ if (!firstModelLineIsHidden) {
433
+ stableViewport.recoverViewportStart(this.coordinatesConverter, this.viewLayout);
434
+ }
435
+ }
436
+ finally {
437
+ this._eventDispatcher.endEmitViewEvents();
438
+ }
439
+ this._updateConfigurationViewLineCount.schedule();
440
+ if (lineMappingChanged) {
441
+ this._eventDispatcher.emitOutgoingEvent(( new HiddenAreasChangedEvent()));
442
+ }
443
+ }
444
+ getVisibleRangesPlusViewportAboveBelow() {
445
+ const layoutInfo = this._configuration.options.get(143 );
446
+ const lineHeight = this._configuration.options.get(66 );
447
+ const linesAround = Math.max(20, Math.round(layoutInfo.height / lineHeight));
448
+ const partialData = this.viewLayout.getLinesViewportData();
449
+ const startViewLineNumber = Math.max(1, partialData.completelyVisibleStartLineNumber - linesAround);
450
+ const endViewLineNumber = Math.min(this.getLineCount(), partialData.completelyVisibleEndLineNumber + linesAround);
451
+ return this._toModelVisibleRanges(( new Range(
452
+ startViewLineNumber,
453
+ this.getLineMinColumn(startViewLineNumber),
454
+ endViewLineNumber,
455
+ this.getLineMaxColumn(endViewLineNumber)
456
+ )));
457
+ }
458
+ getVisibleRanges() {
459
+ const visibleViewRange = this.getCompletelyVisibleViewRange();
460
+ return this._toModelVisibleRanges(visibleViewRange);
461
+ }
462
+ getHiddenAreas() {
463
+ return this._lines.getHiddenAreas();
464
+ }
465
+ _toModelVisibleRanges(visibleViewRange) {
466
+ const visibleRange = this.coordinatesConverter.convertViewRangeToModelRange(visibleViewRange);
467
+ const hiddenAreas = this._lines.getHiddenAreas();
468
+ if (hiddenAreas.length === 0) {
469
+ return [visibleRange];
470
+ }
471
+ const result = [];
472
+ let resultLen = 0;
473
+ let startLineNumber = visibleRange.startLineNumber;
474
+ let startColumn = visibleRange.startColumn;
475
+ const endLineNumber = visibleRange.endLineNumber;
476
+ const endColumn = visibleRange.endColumn;
477
+ for (let i = 0, len = hiddenAreas.length; i < len; i++) {
478
+ const hiddenStartLineNumber = hiddenAreas[i].startLineNumber;
479
+ const hiddenEndLineNumber = hiddenAreas[i].endLineNumber;
480
+ if (hiddenEndLineNumber < startLineNumber) {
481
+ continue;
482
+ }
483
+ if (hiddenStartLineNumber > endLineNumber) {
484
+ continue;
485
+ }
486
+ if (startLineNumber < hiddenStartLineNumber) {
487
+ result[resultLen++] = ( new Range(
488
+ startLineNumber,
489
+ startColumn,
490
+ hiddenStartLineNumber - 1,
491
+ this.model.getLineMaxColumn(hiddenStartLineNumber - 1)
492
+ ));
493
+ }
494
+ startLineNumber = hiddenEndLineNumber + 1;
495
+ startColumn = 1;
496
+ }
497
+ if (startLineNumber < endLineNumber || (startLineNumber === endLineNumber && startColumn < endColumn)) {
498
+ result[resultLen++] = ( new Range(startLineNumber, startColumn, endLineNumber, endColumn));
499
+ }
500
+ return result;
501
+ }
502
+ getCompletelyVisibleViewRange() {
503
+ const partialData = this.viewLayout.getLinesViewportData();
504
+ const startViewLineNumber = partialData.completelyVisibleStartLineNumber;
505
+ const endViewLineNumber = partialData.completelyVisibleEndLineNumber;
506
+ return ( new Range(
507
+ startViewLineNumber,
508
+ this.getLineMinColumn(startViewLineNumber),
509
+ endViewLineNumber,
510
+ this.getLineMaxColumn(endViewLineNumber)
511
+ ));
512
+ }
513
+ getCompletelyVisibleViewRangeAtScrollTop(scrollTop) {
514
+ const partialData = this.viewLayout.getLinesViewportDataAtScrollTop(scrollTop);
515
+ const startViewLineNumber = partialData.completelyVisibleStartLineNumber;
516
+ const endViewLineNumber = partialData.completelyVisibleEndLineNumber;
517
+ return ( new Range(
518
+ startViewLineNumber,
519
+ this.getLineMinColumn(startViewLineNumber),
520
+ endViewLineNumber,
521
+ this.getLineMaxColumn(endViewLineNumber)
522
+ ));
523
+ }
524
+ saveState() {
525
+ const compatViewState = this.viewLayout.saveState();
526
+ const scrollTop = compatViewState.scrollTop;
527
+ const firstViewLineNumber = this.viewLayout.getLineNumberAtVerticalOffset(scrollTop);
528
+ const firstPosition = this.coordinatesConverter.convertViewPositionToModelPosition(( new Position(firstViewLineNumber, this.getLineMinColumn(firstViewLineNumber))));
529
+ const firstPositionDeltaTop = this.viewLayout.getVerticalOffsetForLineNumber(firstViewLineNumber) - scrollTop;
530
+ return {
531
+ scrollLeft: compatViewState.scrollLeft,
532
+ firstPosition: firstPosition,
533
+ firstPositionDeltaTop: firstPositionDeltaTop
534
+ };
535
+ }
536
+ reduceRestoreState(state) {
537
+ if (typeof state.firstPosition === 'undefined') {
538
+ return this._reduceRestoreStateCompatibility(state);
539
+ }
540
+ const modelPosition = this.model.validatePosition(state.firstPosition);
541
+ const viewPosition = this.coordinatesConverter.convertModelPositionToViewPosition(modelPosition);
542
+ const scrollTop = this.viewLayout.getVerticalOffsetForLineNumber(viewPosition.lineNumber) - state.firstPositionDeltaTop;
543
+ return {
544
+ scrollLeft: state.scrollLeft,
545
+ scrollTop: scrollTop
546
+ };
547
+ }
548
+ _reduceRestoreStateCompatibility(state) {
549
+ return {
550
+ scrollLeft: state.scrollLeft,
551
+ scrollTop: state.scrollTopWithoutViewZones
552
+ };
553
+ }
554
+ getTabSize() {
555
+ return this.model.getOptions().tabSize;
556
+ }
557
+ getLineCount() {
558
+ return this._lines.getViewLineCount();
559
+ }
560
+ setViewport(startLineNumber, endLineNumber, centeredLineNumber) {
561
+ this._viewportStart.update(this, startLineNumber);
562
+ }
563
+ getActiveIndentGuide(lineNumber, minLineNumber, maxLineNumber) {
564
+ return this._lines.getActiveIndentGuide(lineNumber, minLineNumber, maxLineNumber);
565
+ }
566
+ getLinesIndentGuides(startLineNumber, endLineNumber) {
567
+ return this._lines.getViewLinesIndentGuides(startLineNumber, endLineNumber);
568
+ }
569
+ getBracketGuidesInRangeByLine(startLineNumber, endLineNumber, activePosition, options) {
570
+ return this._lines.getViewLinesBracketGuides(startLineNumber, endLineNumber, activePosition, options);
571
+ }
572
+ getLineContent(lineNumber) {
573
+ return this._lines.getViewLineContent(lineNumber);
574
+ }
575
+ getLineLength(lineNumber) {
576
+ return this._lines.getViewLineLength(lineNumber);
577
+ }
578
+ getLineMinColumn(lineNumber) {
579
+ return this._lines.getViewLineMinColumn(lineNumber);
580
+ }
581
+ getLineMaxColumn(lineNumber) {
582
+ return this._lines.getViewLineMaxColumn(lineNumber);
583
+ }
584
+ getLineFirstNonWhitespaceColumn(lineNumber) {
585
+ const result = firstNonWhitespaceIndex(this.getLineContent(lineNumber));
586
+ if (result === -1) {
587
+ return 0;
588
+ }
589
+ return result + 1;
590
+ }
591
+ getLineLastNonWhitespaceColumn(lineNumber) {
592
+ const result = lastNonWhitespaceIndex(this.getLineContent(lineNumber));
593
+ if (result === -1) {
594
+ return 0;
595
+ }
596
+ return result + 2;
597
+ }
598
+ getMinimapDecorationsInRange(range) {
599
+ return this._decorations.getMinimapDecorationsInRange(range);
600
+ }
601
+ getDecorationsInViewport(visibleRange) {
602
+ return this._decorations.getDecorationsViewportData(visibleRange).decorations;
603
+ }
604
+ getInjectedTextAt(viewPosition) {
605
+ return this._lines.getInjectedTextAt(viewPosition);
606
+ }
607
+ getViewportViewLineRenderingData(visibleRange, lineNumber) {
608
+ const allInlineDecorations = this._decorations.getDecorationsViewportData(visibleRange).inlineDecorations;
609
+ const inlineDecorations = allInlineDecorations[lineNumber - visibleRange.startLineNumber];
610
+ return this._getViewLineRenderingData(lineNumber, inlineDecorations);
611
+ }
612
+ getViewLineRenderingData(lineNumber) {
613
+ const inlineDecorations = this._decorations.getInlineDecorationsOnLine(lineNumber);
614
+ return this._getViewLineRenderingData(lineNumber, inlineDecorations);
615
+ }
616
+ _getViewLineRenderingData(lineNumber, inlineDecorations) {
617
+ const mightContainRTL = this.model.mightContainRTL();
618
+ const mightContainNonBasicASCII = this.model.mightContainNonBasicASCII();
619
+ const tabSize = this.getTabSize();
620
+ const lineData = this._lines.getViewLineData(lineNumber);
621
+ if (lineData.inlineDecorations) {
622
+ inlineDecorations = [
623
+ ...inlineDecorations,
624
+ ...( lineData.inlineDecorations.map(d => d.toInlineDecoration(lineNumber)))
625
+ ];
626
+ }
627
+ return ( new ViewLineRenderingData(
628
+ lineData.minColumn,
629
+ lineData.maxColumn,
630
+ lineData.content,
631
+ lineData.continuesWithWrappedLine,
632
+ mightContainRTL,
633
+ mightContainNonBasicASCII,
634
+ lineData.tokens,
635
+ inlineDecorations,
636
+ tabSize,
637
+ lineData.startVisibleColumn
638
+ ));
639
+ }
640
+ getViewLineData(lineNumber) {
641
+ return this._lines.getViewLineData(lineNumber);
642
+ }
643
+ getMinimapLinesRenderingData(startLineNumber, endLineNumber, needed) {
644
+ const result = this._lines.getViewLinesData(startLineNumber, endLineNumber, needed);
645
+ return ( new MinimapLinesRenderingData(this.getTabSize(), result));
646
+ }
647
+ getAllOverviewRulerDecorations(theme) {
648
+ const decorations = this.model.getOverviewRulerDecorations(this._editorId, filterValidationDecorations(this._configuration.options));
649
+ const result = ( new OverviewRulerDecorations());
650
+ for (const decoration of decorations) {
651
+ const decorationOptions = decoration.options;
652
+ const opts = decorationOptions.overviewRuler;
653
+ if (!opts) {
654
+ continue;
655
+ }
656
+ const lane = opts.position;
657
+ if (lane === 0) {
658
+ continue;
659
+ }
660
+ const color = opts.getColor(theme.value);
661
+ const viewStartLineNumber = this.coordinatesConverter.getViewLineNumberOfModelPosition(decoration.range.startLineNumber, decoration.range.startColumn);
662
+ const viewEndLineNumber = this.coordinatesConverter.getViewLineNumberOfModelPosition(decoration.range.endLineNumber, decoration.range.endColumn);
663
+ result.accept(color, decorationOptions.zIndex, viewStartLineNumber, viewEndLineNumber, lane);
664
+ }
665
+ return result.asArray;
666
+ }
667
+ _invalidateDecorationsColorCache() {
668
+ const decorations = this.model.getOverviewRulerDecorations();
669
+ for (const decoration of decorations) {
670
+ const opts1 = decoration.options.overviewRuler;
671
+ opts1?.invalidateCachedColor();
672
+ const opts2 = decoration.options.minimap;
673
+ opts2?.invalidateCachedColor();
674
+ }
675
+ }
676
+ getValueInRange(range, eol) {
677
+ const modelRange = this.coordinatesConverter.convertViewRangeToModelRange(range);
678
+ return this.model.getValueInRange(modelRange, eol);
679
+ }
680
+ getValueLengthInRange(range, eol) {
681
+ const modelRange = this.coordinatesConverter.convertViewRangeToModelRange(range);
682
+ return this.model.getValueLengthInRange(modelRange, eol);
683
+ }
684
+ modifyPosition(position, offset) {
685
+ const modelPosition = this.coordinatesConverter.convertViewPositionToModelPosition(position);
686
+ return this.model.modifyPosition(modelPosition, offset);
687
+ }
688
+ deduceModelPositionRelativeToViewPosition(viewAnchorPosition, deltaOffset, lineFeedCnt) {
689
+ const modelAnchor = this.coordinatesConverter.convertViewPositionToModelPosition(viewAnchorPosition);
690
+ if (this.model.getEOL().length === 2) {
691
+ if (deltaOffset < 0) {
692
+ deltaOffset -= lineFeedCnt;
693
+ }
694
+ else {
695
+ deltaOffset += lineFeedCnt;
696
+ }
697
+ }
698
+ const modelAnchorOffset = this.model.getOffsetAt(modelAnchor);
699
+ const resultOffset = modelAnchorOffset + deltaOffset;
700
+ return this.model.getPositionAt(resultOffset);
701
+ }
702
+ getPlainTextToCopy(modelRanges, emptySelectionClipboard, forceCRLF) {
703
+ const newLineCharacter = forceCRLF ? '\r\n' : this.model.getEOL();
704
+ modelRanges = modelRanges.slice(0);
705
+ modelRanges.sort(Range.compareRangesUsingStarts);
706
+ let hasEmptyRange = false;
707
+ let hasNonEmptyRange = false;
708
+ for (const range of modelRanges) {
709
+ if (range.isEmpty()) {
710
+ hasEmptyRange = true;
711
+ }
712
+ else {
713
+ hasNonEmptyRange = true;
714
+ }
715
+ }
716
+ if (!hasNonEmptyRange) {
717
+ if (!emptySelectionClipboard) {
718
+ return '';
719
+ }
720
+ const modelLineNumbers = ( modelRanges.map((r) => r.startLineNumber));
721
+ let result = '';
722
+ for (let i = 0; i < modelLineNumbers.length; i++) {
723
+ if (i > 0 && modelLineNumbers[i - 1] === modelLineNumbers[i]) {
724
+ continue;
725
+ }
726
+ result += this.model.getLineContent(modelLineNumbers[i]) + newLineCharacter;
727
+ }
728
+ return result;
729
+ }
730
+ if (hasEmptyRange && emptySelectionClipboard) {
731
+ const result = [];
732
+ let prevModelLineNumber = 0;
733
+ for (const modelRange of modelRanges) {
734
+ const modelLineNumber = modelRange.startLineNumber;
735
+ if (modelRange.isEmpty()) {
736
+ if (modelLineNumber !== prevModelLineNumber) {
737
+ result.push(this.model.getLineContent(modelLineNumber));
738
+ }
739
+ }
740
+ else {
741
+ result.push(this.model.getValueInRange(modelRange, forceCRLF ? 2 : 0 ));
742
+ }
743
+ prevModelLineNumber = modelLineNumber;
744
+ }
745
+ return result.length === 1 ? result[0] : result;
746
+ }
747
+ const result = [];
748
+ for (const modelRange of modelRanges) {
749
+ if (!modelRange.isEmpty()) {
750
+ result.push(this.model.getValueInRange(modelRange, forceCRLF ? 2 : 0 ));
751
+ }
752
+ }
753
+ return result.length === 1 ? result[0] : result;
754
+ }
755
+ getRichTextToCopy(modelRanges, emptySelectionClipboard) {
756
+ const languageId = this.model.getLanguageId();
757
+ if (languageId === PLAINTEXT_LANGUAGE_ID) {
758
+ return null;
759
+ }
760
+ if (modelRanges.length !== 1) {
761
+ return null;
762
+ }
763
+ let range = modelRanges[0];
764
+ if (range.isEmpty()) {
765
+ if (!emptySelectionClipboard) {
766
+ return null;
767
+ }
768
+ const lineNumber = range.startLineNumber;
769
+ range = ( new Range(
770
+ lineNumber,
771
+ this.model.getLineMinColumn(lineNumber),
772
+ lineNumber,
773
+ this.model.getLineMaxColumn(lineNumber)
774
+ ));
775
+ }
776
+ const fontInfo = this._configuration.options.get(50 );
777
+ const colorMap = this._getColorMap();
778
+ const hasBadChars = (/[:;\\\/<>]/.test(fontInfo.fontFamily));
779
+ const useDefaultFontFamily = (hasBadChars || fontInfo.fontFamily === EDITOR_FONT_DEFAULTS.fontFamily);
780
+ let fontFamily;
781
+ if (useDefaultFontFamily) {
782
+ fontFamily = EDITOR_FONT_DEFAULTS.fontFamily;
783
+ }
784
+ else {
785
+ fontFamily = fontInfo.fontFamily;
786
+ fontFamily = fontFamily.replace(/"/g, '\'');
787
+ const hasQuotesOrIsList = /[,']/.test(fontFamily);
788
+ if (!hasQuotesOrIsList) {
789
+ const needsQuotes = /[+ ]/.test(fontFamily);
790
+ if (needsQuotes) {
791
+ fontFamily = `'${fontFamily}'`;
792
+ }
793
+ }
794
+ fontFamily = `${fontFamily}, ${EDITOR_FONT_DEFAULTS.fontFamily}`;
795
+ }
796
+ return {
797
+ mode: languageId,
798
+ html: (`<div style="`
799
+ + `color: ${colorMap[1 ]};`
800
+ + `background-color: ${colorMap[2 ]};`
801
+ + `font-family: ${fontFamily};`
802
+ + `font-weight: ${fontInfo.fontWeight};`
803
+ + `font-size: ${fontInfo.fontSize}px;`
804
+ + `line-height: ${fontInfo.lineHeight}px;`
805
+ + `white-space: pre;`
806
+ + `">`
807
+ + this._getHTMLToCopy(range, colorMap)
808
+ + '</div>')
809
+ };
810
+ }
811
+ _getHTMLToCopy(modelRange, colorMap) {
812
+ const startLineNumber = modelRange.startLineNumber;
813
+ const startColumn = modelRange.startColumn;
814
+ const endLineNumber = modelRange.endLineNumber;
815
+ const endColumn = modelRange.endColumn;
816
+ const tabSize = this.getTabSize();
817
+ let result = '';
818
+ for (let lineNumber = startLineNumber; lineNumber <= endLineNumber; lineNumber++) {
819
+ const lineTokens = this.model.tokenization.getLineTokens(lineNumber);
820
+ const lineContent = lineTokens.getLineContent();
821
+ const startOffset = (lineNumber === startLineNumber ? startColumn - 1 : 0);
822
+ const endOffset = (lineNumber === endLineNumber ? endColumn - 1 : lineContent.length);
823
+ if (lineContent === '') {
824
+ result += '<br>';
825
+ }
826
+ else {
827
+ result += tokenizeLineToHTML(lineContent, lineTokens.inflate(), colorMap, startOffset, endOffset, tabSize, isWindows);
828
+ }
829
+ }
830
+ return result;
831
+ }
832
+ _getColorMap() {
833
+ const colorMap = TokenizationRegistry.getColorMap();
834
+ const result = ['#000000'];
835
+ if (colorMap) {
836
+ for (let i = 1, len = colorMap.length; i < len; i++) {
837
+ result[i] = Color.Format.CSS.formatHex(colorMap[i]);
838
+ }
839
+ }
840
+ return result;
841
+ }
842
+ getPrimaryCursorState() {
843
+ return this._cursor.getPrimaryCursorState();
844
+ }
845
+ getLastAddedCursorIndex() {
846
+ return this._cursor.getLastAddedCursorIndex();
847
+ }
848
+ getCursorStates() {
849
+ return this._cursor.getCursorStates();
850
+ }
851
+ setCursorStates(source, reason, states) {
852
+ return this._withViewEventsCollector(eventsCollector => this._cursor.setStates(eventsCollector, source, reason, states));
853
+ }
854
+ getCursorColumnSelectData() {
855
+ return this._cursor.getCursorColumnSelectData();
856
+ }
857
+ getCursorAutoClosedCharacters() {
858
+ return this._cursor.getAutoClosedCharacters();
859
+ }
860
+ setCursorColumnSelectData(columnSelectData) {
861
+ this._cursor.setCursorColumnSelectData(columnSelectData);
862
+ }
863
+ getPrevEditOperationType() {
864
+ return this._cursor.getPrevEditOperationType();
865
+ }
866
+ setPrevEditOperationType(type) {
867
+ this._cursor.setPrevEditOperationType(type);
868
+ }
869
+ getSelection() {
870
+ return this._cursor.getSelection();
871
+ }
872
+ getSelections() {
873
+ return this._cursor.getSelections();
874
+ }
875
+ getPosition() {
876
+ return this._cursor.getPrimaryCursorState().modelState.position;
877
+ }
878
+ setSelections(source, selections, reason = 0 ) {
879
+ this._withViewEventsCollector(eventsCollector => this._cursor.setSelections(eventsCollector, source, selections, reason));
880
+ }
881
+ saveCursorState() {
882
+ return this._cursor.saveState();
883
+ }
884
+ restoreCursorState(states) {
885
+ this._withViewEventsCollector(eventsCollector => this._cursor.restoreState(eventsCollector, states));
886
+ }
887
+ _executeCursorEdit(callback) {
888
+ if (this._cursor.context.cursorConfig.readOnly) {
889
+ this._eventDispatcher.emitOutgoingEvent(( new ReadOnlyEditAttemptEvent()));
890
+ return;
891
+ }
892
+ this._withViewEventsCollector(callback);
893
+ }
894
+ executeEdits(source, edits, cursorStateComputer) {
895
+ this._executeCursorEdit(eventsCollector => this._cursor.executeEdits(eventsCollector, source, edits, cursorStateComputer));
896
+ }
897
+ startComposition() {
898
+ this._executeCursorEdit(eventsCollector => this._cursor.startComposition(eventsCollector));
899
+ }
900
+ endComposition(source) {
901
+ this._executeCursorEdit(eventsCollector => this._cursor.endComposition(eventsCollector, source));
902
+ }
903
+ type(text, source) {
904
+ this._executeCursorEdit(eventsCollector => this._cursor.type(eventsCollector, text, source));
905
+ }
906
+ compositionType(text, replacePrevCharCnt, replaceNextCharCnt, positionDelta, source) {
907
+ this._executeCursorEdit(eventsCollector => this._cursor.compositionType(eventsCollector, text, replacePrevCharCnt, replaceNextCharCnt, positionDelta, source));
908
+ }
909
+ paste(text, pasteOnNewLine, multicursorText, source) {
910
+ this._executeCursorEdit(eventsCollector => this._cursor.paste(eventsCollector, text, pasteOnNewLine, multicursorText, source));
911
+ }
912
+ cut(source) {
913
+ this._executeCursorEdit(eventsCollector => this._cursor.cut(eventsCollector, source));
914
+ }
915
+ executeCommand(command, source) {
916
+ this._executeCursorEdit(eventsCollector => this._cursor.executeCommand(eventsCollector, command, source));
917
+ }
918
+ executeCommands(commands, source) {
919
+ this._executeCursorEdit(eventsCollector => this._cursor.executeCommands(eventsCollector, commands, source));
920
+ }
921
+ revealPrimaryCursor(source, revealHorizontal, minimalReveal = false) {
922
+ this._withViewEventsCollector(eventsCollector => this._cursor.revealPrimary(eventsCollector, source, minimalReveal, 0 , revealHorizontal, 0 ));
923
+ }
924
+ revealTopMostCursor(source) {
925
+ const viewPosition = this._cursor.getTopMostViewPosition();
926
+ const viewRange = ( new Range(
927
+ viewPosition.lineNumber,
928
+ viewPosition.column,
929
+ viewPosition.lineNumber,
930
+ viewPosition.column
931
+ ));
932
+ this._withViewEventsCollector(eventsCollector => eventsCollector.emitViewEvent(new ViewRevealRangeRequestEvent(source, false, viewRange, null, 0 , true, 0 )));
933
+ }
934
+ revealBottomMostCursor(source) {
935
+ const viewPosition = this._cursor.getBottomMostViewPosition();
936
+ const viewRange = ( new Range(
937
+ viewPosition.lineNumber,
938
+ viewPosition.column,
939
+ viewPosition.lineNumber,
940
+ viewPosition.column
941
+ ));
942
+ this._withViewEventsCollector(eventsCollector => eventsCollector.emitViewEvent(new ViewRevealRangeRequestEvent(source, false, viewRange, null, 0 , true, 0 )));
943
+ }
944
+ revealRange(source, revealHorizontal, viewRange, verticalType, scrollType) {
945
+ this._withViewEventsCollector(eventsCollector => eventsCollector.emitViewEvent(new ViewRevealRangeRequestEvent(source, false, viewRange, null, verticalType, revealHorizontal, scrollType)));
946
+ }
947
+ changeWhitespace(callback) {
948
+ const hadAChange = this.viewLayout.changeWhitespace(callback);
949
+ if (hadAChange) {
950
+ this._eventDispatcher.emitSingleViewEvent(new ViewZonesChangedEvent());
951
+ this._eventDispatcher.emitOutgoingEvent(( new ViewZonesChangedEvent$1()));
952
+ }
953
+ }
954
+ _withViewEventsCollector(callback) {
955
+ try {
956
+ const eventsCollector = this._eventDispatcher.beginEmitViewEvents();
957
+ return callback(eventsCollector);
958
+ }
959
+ finally {
960
+ this._eventDispatcher.endEmitViewEvents();
961
+ }
962
+ }
963
+ normalizePosition(position, affinity) {
964
+ return this._lines.normalizePosition(position, affinity);
965
+ }
966
+ getLineIndentColumn(lineNumber) {
967
+ return this._lines.getLineIndentColumn(lineNumber);
968
+ }
969
+ }
970
+ class ViewportStart {
971
+ static create(model) {
972
+ const viewportStartLineTrackedRange = model._setTrackedRange(null, ( new Range(1, 1, 1, 1)), 1 );
973
+ return ( new ViewportStart(model, 1, false, viewportStartLineTrackedRange, 0));
974
+ }
975
+ get viewLineNumber() {
976
+ return this._viewLineNumber;
977
+ }
978
+ get isValid() {
979
+ return this._isValid;
980
+ }
981
+ get modelTrackedRange() {
982
+ return this._modelTrackedRange;
983
+ }
984
+ get startLineDelta() {
985
+ return this._startLineDelta;
986
+ }
987
+ constructor(_model, _viewLineNumber, _isValid, _modelTrackedRange, _startLineDelta) {
988
+ this._model = _model;
989
+ this._viewLineNumber = _viewLineNumber;
990
+ this._isValid = _isValid;
991
+ this._modelTrackedRange = _modelTrackedRange;
992
+ this._startLineDelta = _startLineDelta;
993
+ }
994
+ dispose() {
995
+ this._model._setTrackedRange(this._modelTrackedRange, null, 1 );
996
+ }
997
+ update(viewModel, startLineNumber) {
998
+ const position = viewModel.coordinatesConverter.convertViewPositionToModelPosition(( new Position(startLineNumber, viewModel.getLineMinColumn(startLineNumber))));
999
+ const viewportStartLineTrackedRange = viewModel.model._setTrackedRange(this._modelTrackedRange, ( new Range(position.lineNumber, position.column, position.lineNumber, position.column)), 1 );
1000
+ const viewportStartLineTop = viewModel.viewLayout.getVerticalOffsetForLineNumber(startLineNumber);
1001
+ const scrollTop = viewModel.viewLayout.getCurrentScrollTop();
1002
+ this._viewLineNumber = startLineNumber;
1003
+ this._isValid = true;
1004
+ this._modelTrackedRange = viewportStartLineTrackedRange;
1005
+ this._startLineDelta = scrollTop - viewportStartLineTop;
1006
+ }
1007
+ invalidate() {
1008
+ this._isValid = false;
1009
+ }
1010
+ }
1011
+ class OverviewRulerDecorations {
1012
+ constructor() {
1013
+ this._asMap = Object.create(null);
1014
+ this.asArray = [];
1015
+ }
1016
+ accept(color, zIndex, startLineNumber, endLineNumber, lane) {
1017
+ const prevGroup = this._asMap[color];
1018
+ if (prevGroup) {
1019
+ const prevData = prevGroup.data;
1020
+ const prevLane = prevData[prevData.length - 3];
1021
+ const prevEndLineNumber = prevData[prevData.length - 1];
1022
+ if (prevLane === lane && prevEndLineNumber + 1 >= startLineNumber) {
1023
+ if (endLineNumber > prevEndLineNumber) {
1024
+ prevData[prevData.length - 1] = endLineNumber;
1025
+ }
1026
+ return;
1027
+ }
1028
+ prevData.push(lane, startLineNumber, endLineNumber);
1029
+ }
1030
+ else {
1031
+ const group = ( new OverviewRulerDecorationsGroup(color, zIndex, [lane, startLineNumber, endLineNumber]));
1032
+ this._asMap[color] = group;
1033
+ this.asArray.push(group);
1034
+ }
1035
+ }
1036
+ }
1037
+ class HiddenAreasModel {
1038
+ constructor() {
1039
+ this.hiddenAreas = ( new Map());
1040
+ this.shouldRecompute = false;
1041
+ this.ranges = [];
1042
+ }
1043
+ setHiddenAreas(source, ranges) {
1044
+ const existing = this.hiddenAreas.get(source);
1045
+ if (existing && rangeArraysEqual(existing, ranges)) {
1046
+ return;
1047
+ }
1048
+ this.hiddenAreas.set(source, ranges);
1049
+ this.shouldRecompute = true;
1050
+ }
1051
+ getMergedRanges() {
1052
+ if (!this.shouldRecompute) {
1053
+ return this.ranges;
1054
+ }
1055
+ this.shouldRecompute = false;
1056
+ const newRanges = Array.from(( this.hiddenAreas.values())).reduce((r, hiddenAreas) => mergeLineRangeArray(r, hiddenAreas), []);
1057
+ if (rangeArraysEqual(this.ranges, newRanges)) {
1058
+ return this.ranges;
1059
+ }
1060
+ this.ranges = newRanges;
1061
+ return this.ranges;
1062
+ }
1063
+ }
1064
+ function mergeLineRangeArray(arr1, arr2) {
1065
+ const result = [];
1066
+ let i = 0;
1067
+ let j = 0;
1068
+ while (i < arr1.length && j < arr2.length) {
1069
+ const item1 = arr1[i];
1070
+ const item2 = arr2[j];
1071
+ if (item1.endLineNumber < item2.startLineNumber - 1) {
1072
+ result.push(arr1[i++]);
1073
+ }
1074
+ else if (item2.endLineNumber < item1.startLineNumber - 1) {
1075
+ result.push(arr2[j++]);
1076
+ }
1077
+ else {
1078
+ const startLineNumber = Math.min(item1.startLineNumber, item2.startLineNumber);
1079
+ const endLineNumber = Math.max(item1.endLineNumber, item2.endLineNumber);
1080
+ result.push(( new Range(startLineNumber, 1, endLineNumber, 1)));
1081
+ i++;
1082
+ j++;
1083
+ }
1084
+ }
1085
+ while (i < arr1.length) {
1086
+ result.push(arr1[i++]);
1087
+ }
1088
+ while (j < arr2.length) {
1089
+ result.push(arr2[j++]);
1090
+ }
1091
+ return result;
1092
+ }
1093
+ function rangeArraysEqual(arr1, arr2) {
1094
+ if (arr1.length !== arr2.length) {
1095
+ return false;
1096
+ }
1097
+ for (let i = 0; i < arr1.length; i++) {
1098
+ if (!arr1[i].equalsRange(arr2[i])) {
1099
+ return false;
1100
+ }
1101
+ }
1102
+ return true;
1103
+ }
1104
+ class StableViewport {
1105
+ constructor(viewportStartModelPosition, startLineDelta) {
1106
+ this.viewportStartModelPosition = viewportStartModelPosition;
1107
+ this.startLineDelta = startLineDelta;
1108
+ }
1109
+ recoverViewportStart(coordinatesConverter, viewLayout) {
1110
+ if (!this.viewportStartModelPosition) {
1111
+ return;
1112
+ }
1113
+ const viewPosition = coordinatesConverter.convertModelPositionToViewPosition(this.viewportStartModelPosition);
1114
+ const viewPositionTop = viewLayout.getVerticalOffsetForLineNumber(viewPosition.lineNumber);
1115
+ viewLayout.setScrollPosition({ scrollTop: viewPositionTop + this.startLineDelta }, 1 );
1116
+ }
1117
+ }
1118
+ export { ViewModel };