@codingame/monaco-vscode-api 1.85.5 → 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,923 @@
1
+ import { onUnexpectedError } from '../../../base/common/errors.js';
2
+ import { splitLines, lastNonWhitespaceIndex, getLeadingWhitespace, firstNonWhitespaceIndex } from '../../../base/common/strings.js';
3
+ import { ReplaceCommand, ReplaceCommandWithOffsetCursorState, ReplaceCommandWithoutChangingPosition, ReplaceCommandThatPreservesSelection } from '../commands/replaceCommand.js';
4
+ import { ShiftCommand } from '../commands/shiftCommand.js';
5
+ import { SurroundSelectionCommand, CompositionSurroundSelectionCommand } from '../commands/surroundSelectionCommand.js';
6
+ import { EditOperationResult, isQuote } from '../cursorCommon.js';
7
+ import { getMapForWordSeparators } from '../core/wordCharacterClassifier.js';
8
+ import { Range } from '../core/range.js';
9
+ import { Position } from '../core/position.js';
10
+ import { IndentAction } from '../languages/languageConfiguration.js';
11
+ import { getIndentationAtPosition } from '../languages/languageConfigurationRegistry.js';
12
+ import { createScopedLineTokens } from '../languages/supports.js';
13
+ import { getInheritIndentForLine, getIndentForEnter, getIndentActionForType } from '../languages/autoIndent.js';
14
+ import { getEnterAction } from '../languages/enterAction.js';
15
+ class TypeOperations {
16
+ static indent(config, model, selections) {
17
+ if (model === null || selections === null) {
18
+ return [];
19
+ }
20
+ const commands = [];
21
+ for (let i = 0, len = selections.length; i < len; i++) {
22
+ commands[i] = ( new ShiftCommand(selections[i], {
23
+ isUnshift: false,
24
+ tabSize: config.tabSize,
25
+ indentSize: config.indentSize,
26
+ insertSpaces: config.insertSpaces,
27
+ useTabStops: config.useTabStops,
28
+ autoIndent: config.autoIndent
29
+ }, config.languageConfigurationService));
30
+ }
31
+ return commands;
32
+ }
33
+ static outdent(config, model, selections) {
34
+ const commands = [];
35
+ for (let i = 0, len = selections.length; i < len; i++) {
36
+ commands[i] = ( new ShiftCommand(selections[i], {
37
+ isUnshift: true,
38
+ tabSize: config.tabSize,
39
+ indentSize: config.indentSize,
40
+ insertSpaces: config.insertSpaces,
41
+ useTabStops: config.useTabStops,
42
+ autoIndent: config.autoIndent
43
+ }, config.languageConfigurationService));
44
+ }
45
+ return commands;
46
+ }
47
+ static shiftIndent(config, indentation, count) {
48
+ count = count || 1;
49
+ return ShiftCommand.shiftIndent(indentation, indentation.length + count, config.tabSize, config.indentSize, config.insertSpaces);
50
+ }
51
+ static unshiftIndent(config, indentation, count) {
52
+ count = count || 1;
53
+ return ShiftCommand.unshiftIndent(indentation, indentation.length + count, config.tabSize, config.indentSize, config.insertSpaces);
54
+ }
55
+ static _distributedPaste(config, model, selections, text) {
56
+ const commands = [];
57
+ for (let i = 0, len = selections.length; i < len; i++) {
58
+ commands[i] = ( new ReplaceCommand(selections[i], text[i]));
59
+ }
60
+ return ( new EditOperationResult(0 , commands, {
61
+ shouldPushStackElementBefore: true,
62
+ shouldPushStackElementAfter: true
63
+ }));
64
+ }
65
+ static _simplePaste(config, model, selections, text, pasteOnNewLine) {
66
+ const commands = [];
67
+ for (let i = 0, len = selections.length; i < len; i++) {
68
+ const selection = selections[i];
69
+ const position = selection.getPosition();
70
+ if (pasteOnNewLine && !selection.isEmpty()) {
71
+ pasteOnNewLine = false;
72
+ }
73
+ if (pasteOnNewLine && text.indexOf('\n') !== text.length - 1) {
74
+ pasteOnNewLine = false;
75
+ }
76
+ if (pasteOnNewLine) {
77
+ const typeSelection = ( new Range(position.lineNumber, 1, position.lineNumber, 1));
78
+ commands[i] = ( new ReplaceCommandThatPreservesSelection(typeSelection, text, selection, true));
79
+ }
80
+ else {
81
+ commands[i] = ( new ReplaceCommand(selection, text));
82
+ }
83
+ }
84
+ return ( new EditOperationResult(0 , commands, {
85
+ shouldPushStackElementBefore: true,
86
+ shouldPushStackElementAfter: true
87
+ }));
88
+ }
89
+ static _distributePasteToCursors(config, selections, text, pasteOnNewLine, multicursorText) {
90
+ if (pasteOnNewLine) {
91
+ return null;
92
+ }
93
+ if (selections.length === 1) {
94
+ return null;
95
+ }
96
+ if (multicursorText && multicursorText.length === selections.length) {
97
+ return multicursorText;
98
+ }
99
+ if (config.multiCursorPaste === 'spread') {
100
+ if (text.charCodeAt(text.length - 1) === 10 ) {
101
+ text = text.substr(0, text.length - 1);
102
+ }
103
+ if (text.charCodeAt(text.length - 1) === 13 ) {
104
+ text = text.substr(0, text.length - 1);
105
+ }
106
+ const lines = splitLines(text);
107
+ if (lines.length === selections.length) {
108
+ return lines;
109
+ }
110
+ }
111
+ return null;
112
+ }
113
+ static paste(config, model, selections, text, pasteOnNewLine, multicursorText) {
114
+ const distributedPaste = this._distributePasteToCursors(config, selections, text, pasteOnNewLine, multicursorText);
115
+ if (distributedPaste) {
116
+ selections = selections.sort(Range.compareRangesUsingStarts);
117
+ return this._distributedPaste(config, model, selections, distributedPaste);
118
+ }
119
+ else {
120
+ return this._simplePaste(config, model, selections, text, pasteOnNewLine);
121
+ }
122
+ }
123
+ static _goodIndentForLine(config, model, lineNumber) {
124
+ let action = null;
125
+ let indentation = '';
126
+ const expectedIndentAction = getInheritIndentForLine(config.autoIndent, model, lineNumber, false, config.languageConfigurationService);
127
+ if (expectedIndentAction) {
128
+ action = expectedIndentAction.action;
129
+ indentation = expectedIndentAction.indentation;
130
+ }
131
+ else if (lineNumber > 1) {
132
+ let lastLineNumber;
133
+ for (lastLineNumber = lineNumber - 1; lastLineNumber >= 1; lastLineNumber--) {
134
+ const lineText = model.getLineContent(lastLineNumber);
135
+ const nonWhitespaceIdx = lastNonWhitespaceIndex(lineText);
136
+ if (nonWhitespaceIdx >= 0) {
137
+ break;
138
+ }
139
+ }
140
+ if (lastLineNumber < 1) {
141
+ return null;
142
+ }
143
+ const maxColumn = model.getLineMaxColumn(lastLineNumber);
144
+ const expectedEnterAction = getEnterAction(config.autoIndent, model, ( new Range(lastLineNumber, maxColumn, lastLineNumber, maxColumn)), config.languageConfigurationService);
145
+ if (expectedEnterAction) {
146
+ indentation = expectedEnterAction.indentation + expectedEnterAction.appendText;
147
+ }
148
+ }
149
+ if (action) {
150
+ if (action === IndentAction.Indent) {
151
+ indentation = TypeOperations.shiftIndent(config, indentation);
152
+ }
153
+ if (action === IndentAction.Outdent) {
154
+ indentation = TypeOperations.unshiftIndent(config, indentation);
155
+ }
156
+ indentation = config.normalizeIndentation(indentation);
157
+ }
158
+ if (!indentation) {
159
+ return null;
160
+ }
161
+ return indentation;
162
+ }
163
+ static _replaceJumpToNextIndent(config, model, selection, insertsAutoWhitespace) {
164
+ let typeText = '';
165
+ const position = selection.getStartPosition();
166
+ if (config.insertSpaces) {
167
+ const visibleColumnFromColumn = config.visibleColumnFromColumn(model, position);
168
+ const indentSize = config.indentSize;
169
+ const spacesCnt = indentSize - (visibleColumnFromColumn % indentSize);
170
+ for (let i = 0; i < spacesCnt; i++) {
171
+ typeText += ' ';
172
+ }
173
+ }
174
+ else {
175
+ typeText = '\t';
176
+ }
177
+ return ( new ReplaceCommand(selection, typeText, insertsAutoWhitespace));
178
+ }
179
+ static tab(config, model, selections) {
180
+ const commands = [];
181
+ for (let i = 0, len = selections.length; i < len; i++) {
182
+ const selection = selections[i];
183
+ if (selection.isEmpty()) {
184
+ const lineText = model.getLineContent(selection.startLineNumber);
185
+ if (/^\s*$/.test(lineText) && model.tokenization.isCheapToTokenize(selection.startLineNumber)) {
186
+ let goodIndent = this._goodIndentForLine(config, model, selection.startLineNumber);
187
+ goodIndent = goodIndent || '\t';
188
+ const possibleTypeText = config.normalizeIndentation(goodIndent);
189
+ if (!lineText.startsWith(possibleTypeText)) {
190
+ commands[i] = ( new ReplaceCommand(( new Range(
191
+ selection.startLineNumber,
192
+ 1,
193
+ selection.startLineNumber,
194
+ lineText.length + 1
195
+ )), possibleTypeText, true));
196
+ continue;
197
+ }
198
+ }
199
+ commands[i] = this._replaceJumpToNextIndent(config, model, selection, true);
200
+ }
201
+ else {
202
+ if (selection.startLineNumber === selection.endLineNumber) {
203
+ const lineMaxColumn = model.getLineMaxColumn(selection.startLineNumber);
204
+ if (selection.startColumn !== 1 || selection.endColumn !== lineMaxColumn) {
205
+ commands[i] = this._replaceJumpToNextIndent(config, model, selection, false);
206
+ continue;
207
+ }
208
+ }
209
+ commands[i] = ( new ShiftCommand(selection, {
210
+ isUnshift: false,
211
+ tabSize: config.tabSize,
212
+ indentSize: config.indentSize,
213
+ insertSpaces: config.insertSpaces,
214
+ useTabStops: config.useTabStops,
215
+ autoIndent: config.autoIndent
216
+ }, config.languageConfigurationService));
217
+ }
218
+ }
219
+ return commands;
220
+ }
221
+ static compositionType(prevEditOperationType, config, model, selections, text, replacePrevCharCnt, replaceNextCharCnt, positionDelta) {
222
+ const commands = ( selections.map(
223
+ selection => this._compositionType(model, selection, text, replacePrevCharCnt, replaceNextCharCnt, positionDelta)
224
+ ));
225
+ return ( new EditOperationResult(4 , commands, {
226
+ shouldPushStackElementBefore: shouldPushStackElementBetween(prevEditOperationType, 4 ),
227
+ shouldPushStackElementAfter: false
228
+ }));
229
+ }
230
+ static _compositionType(model, selection, text, replacePrevCharCnt, replaceNextCharCnt, positionDelta) {
231
+ if (!selection.isEmpty()) {
232
+ return null;
233
+ }
234
+ const pos = selection.getPosition();
235
+ const startColumn = Math.max(1, pos.column - replacePrevCharCnt);
236
+ const endColumn = Math.min(model.getLineMaxColumn(pos.lineNumber), pos.column + replaceNextCharCnt);
237
+ const range = ( new Range(pos.lineNumber, startColumn, pos.lineNumber, endColumn));
238
+ const oldText = model.getValueInRange(range);
239
+ if (oldText === text && positionDelta === 0) {
240
+ return null;
241
+ }
242
+ return ( new ReplaceCommandWithOffsetCursorState(range, text, 0, positionDelta));
243
+ }
244
+ static _typeCommand(range, text, keepPosition) {
245
+ if (keepPosition) {
246
+ return ( new ReplaceCommandWithoutChangingPosition(range, text, true));
247
+ }
248
+ else {
249
+ return ( new ReplaceCommand(range, text, true));
250
+ }
251
+ }
252
+ static _enter(config, model, keepPosition, range) {
253
+ if (config.autoIndent === 0 ) {
254
+ return TypeOperations._typeCommand(range, '\n', keepPosition);
255
+ }
256
+ if (!model.tokenization.isCheapToTokenize(range.getStartPosition().lineNumber) || config.autoIndent === 1 ) {
257
+ const lineText = model.getLineContent(range.startLineNumber);
258
+ const indentation = getLeadingWhitespace(lineText).substring(0, range.startColumn - 1);
259
+ return TypeOperations._typeCommand(range, '\n' + config.normalizeIndentation(indentation), keepPosition);
260
+ }
261
+ const r = getEnterAction(config.autoIndent, model, range, config.languageConfigurationService);
262
+ if (r) {
263
+ if (r.indentAction === IndentAction.None) {
264
+ return TypeOperations._typeCommand(range, '\n' + config.normalizeIndentation(r.indentation + r.appendText), keepPosition);
265
+ }
266
+ else if (r.indentAction === IndentAction.Indent) {
267
+ return TypeOperations._typeCommand(range, '\n' + config.normalizeIndentation(r.indentation + r.appendText), keepPosition);
268
+ }
269
+ else if (r.indentAction === IndentAction.IndentOutdent) {
270
+ const normalIndent = config.normalizeIndentation(r.indentation);
271
+ const increasedIndent = config.normalizeIndentation(r.indentation + r.appendText);
272
+ const typeText = '\n' + increasedIndent + '\n' + normalIndent;
273
+ if (keepPosition) {
274
+ return ( new ReplaceCommandWithoutChangingPosition(range, typeText, true));
275
+ }
276
+ else {
277
+ return ( new ReplaceCommandWithOffsetCursorState(range, typeText, -1, increasedIndent.length - normalIndent.length, true));
278
+ }
279
+ }
280
+ else if (r.indentAction === IndentAction.Outdent) {
281
+ const actualIndentation = TypeOperations.unshiftIndent(config, r.indentation);
282
+ return TypeOperations._typeCommand(range, '\n' + config.normalizeIndentation(actualIndentation + r.appendText), keepPosition);
283
+ }
284
+ }
285
+ const lineText = model.getLineContent(range.startLineNumber);
286
+ const indentation = getLeadingWhitespace(lineText).substring(0, range.startColumn - 1);
287
+ if (config.autoIndent >= 4 ) {
288
+ const ir = getIndentForEnter(config.autoIndent, model, range, {
289
+ unshiftIndent: (indent) => {
290
+ return TypeOperations.unshiftIndent(config, indent);
291
+ },
292
+ shiftIndent: (indent) => {
293
+ return TypeOperations.shiftIndent(config, indent);
294
+ },
295
+ normalizeIndentation: (indent) => {
296
+ return config.normalizeIndentation(indent);
297
+ }
298
+ }, config.languageConfigurationService);
299
+ if (ir) {
300
+ let oldEndViewColumn = config.visibleColumnFromColumn(model, range.getEndPosition());
301
+ const oldEndColumn = range.endColumn;
302
+ const newLineContent = model.getLineContent(range.endLineNumber);
303
+ const firstNonWhitespace = firstNonWhitespaceIndex(newLineContent);
304
+ if (firstNonWhitespace >= 0) {
305
+ range = range.setEndPosition(range.endLineNumber, Math.max(range.endColumn, firstNonWhitespace + 1));
306
+ }
307
+ else {
308
+ range = range.setEndPosition(range.endLineNumber, model.getLineMaxColumn(range.endLineNumber));
309
+ }
310
+ if (keepPosition) {
311
+ return ( new ReplaceCommandWithoutChangingPosition(range, '\n' + config.normalizeIndentation(ir.afterEnter), true));
312
+ }
313
+ else {
314
+ let offset = 0;
315
+ if (oldEndColumn <= firstNonWhitespace + 1) {
316
+ if (!config.insertSpaces) {
317
+ oldEndViewColumn = Math.ceil(oldEndViewColumn / config.indentSize);
318
+ }
319
+ offset = Math.min(oldEndViewColumn + 1 - config.normalizeIndentation(ir.afterEnter).length - 1, 0);
320
+ }
321
+ return ( new ReplaceCommandWithOffsetCursorState(range, '\n' + config.normalizeIndentation(ir.afterEnter), 0, offset, true));
322
+ }
323
+ }
324
+ }
325
+ return TypeOperations._typeCommand(range, '\n' + config.normalizeIndentation(indentation), keepPosition);
326
+ }
327
+ static _isAutoIndentType(config, model, selections) {
328
+ if (config.autoIndent < 4 ) {
329
+ return false;
330
+ }
331
+ for (let i = 0, len = selections.length; i < len; i++) {
332
+ if (!model.tokenization.isCheapToTokenize(selections[i].getEndPosition().lineNumber)) {
333
+ return false;
334
+ }
335
+ }
336
+ return true;
337
+ }
338
+ static _runAutoIndentType(config, model, range, ch) {
339
+ const currentIndentation = getIndentationAtPosition(model, range.startLineNumber, range.startColumn);
340
+ const actualIndentation = getIndentActionForType(config.autoIndent, model, range, ch, {
341
+ shiftIndent: (indentation) => {
342
+ return TypeOperations.shiftIndent(config, indentation);
343
+ },
344
+ unshiftIndent: (indentation) => {
345
+ return TypeOperations.unshiftIndent(config, indentation);
346
+ },
347
+ }, config.languageConfigurationService);
348
+ if (actualIndentation === null) {
349
+ return null;
350
+ }
351
+ if (actualIndentation !== config.normalizeIndentation(currentIndentation)) {
352
+ const firstNonWhitespace = model.getLineFirstNonWhitespaceColumn(range.startLineNumber);
353
+ if (firstNonWhitespace === 0) {
354
+ return TypeOperations._typeCommand(( new Range(range.startLineNumber, 1, range.endLineNumber, range.endColumn)), config.normalizeIndentation(actualIndentation) + ch, false);
355
+ }
356
+ else {
357
+ return TypeOperations._typeCommand(( new Range(range.startLineNumber, 1, range.endLineNumber, range.endColumn)), config.normalizeIndentation(actualIndentation) +
358
+ model.getLineContent(range.startLineNumber).substring(firstNonWhitespace - 1, range.startColumn - 1) + ch, false);
359
+ }
360
+ }
361
+ return null;
362
+ }
363
+ static _isAutoClosingOvertype(config, model, selections, autoClosedCharacters, ch) {
364
+ if (config.autoClosingOvertype === 'never') {
365
+ return false;
366
+ }
367
+ if (!( config.autoClosingPairs.autoClosingPairsCloseSingleChar.has(ch))) {
368
+ return false;
369
+ }
370
+ for (let i = 0, len = selections.length; i < len; i++) {
371
+ const selection = selections[i];
372
+ if (!selection.isEmpty()) {
373
+ return false;
374
+ }
375
+ const position = selection.getPosition();
376
+ const lineText = model.getLineContent(position.lineNumber);
377
+ const afterCharacter = lineText.charAt(position.column - 1);
378
+ if (afterCharacter !== ch) {
379
+ return false;
380
+ }
381
+ const chIsQuote = isQuote(ch);
382
+ const beforeCharacter = position.column > 2 ? lineText.charCodeAt(position.column - 2) : 0 ;
383
+ if (beforeCharacter === 92 && chIsQuote) {
384
+ return false;
385
+ }
386
+ if (config.autoClosingOvertype === 'auto') {
387
+ let found = false;
388
+ for (let j = 0, lenJ = autoClosedCharacters.length; j < lenJ; j++) {
389
+ const autoClosedCharacter = autoClosedCharacters[j];
390
+ if (position.lineNumber === autoClosedCharacter.startLineNumber && position.column === autoClosedCharacter.startColumn) {
391
+ found = true;
392
+ break;
393
+ }
394
+ }
395
+ if (!found) {
396
+ return false;
397
+ }
398
+ }
399
+ }
400
+ return true;
401
+ }
402
+ static _runAutoClosingOvertype(prevEditOperationType, config, model, selections, ch) {
403
+ const commands = [];
404
+ for (let i = 0, len = selections.length; i < len; i++) {
405
+ const selection = selections[i];
406
+ const position = selection.getPosition();
407
+ const typeSelection = ( new Range(
408
+ position.lineNumber,
409
+ position.column,
410
+ position.lineNumber,
411
+ position.column + 1
412
+ ));
413
+ commands[i] = ( new ReplaceCommand(typeSelection, ch));
414
+ }
415
+ return ( new EditOperationResult(4 , commands, {
416
+ shouldPushStackElementBefore: shouldPushStackElementBetween(prevEditOperationType, 4 ),
417
+ shouldPushStackElementAfter: false
418
+ }));
419
+ }
420
+ static _isBeforeClosingBrace(config, lineAfter) {
421
+ const nextChar = lineAfter.charAt(0);
422
+ const potentialStartingBraces = config.autoClosingPairs.autoClosingPairsOpenByStart.get(nextChar) || [];
423
+ const potentialClosingBraces = config.autoClosingPairs.autoClosingPairsCloseByStart.get(nextChar) || [];
424
+ const isBeforeStartingBrace = ( potentialStartingBraces.some(x => lineAfter.startsWith(x.open)));
425
+ const isBeforeClosingBrace = ( potentialClosingBraces.some(x => lineAfter.startsWith(x.close)));
426
+ return !isBeforeStartingBrace && isBeforeClosingBrace;
427
+ }
428
+ static _findAutoClosingPairOpen(config, model, positions, ch) {
429
+ const candidates = config.autoClosingPairs.autoClosingPairsOpenByEnd.get(ch);
430
+ if (!candidates) {
431
+ return null;
432
+ }
433
+ let result = null;
434
+ for (const candidate of candidates) {
435
+ if (result === null || candidate.open.length > result.open.length) {
436
+ let candidateIsMatch = true;
437
+ for (const position of positions) {
438
+ const relevantText = model.getValueInRange(( new Range(
439
+ position.lineNumber,
440
+ position.column - candidate.open.length + 1,
441
+ position.lineNumber,
442
+ position.column
443
+ )));
444
+ if (relevantText + ch !== candidate.open) {
445
+ candidateIsMatch = false;
446
+ break;
447
+ }
448
+ }
449
+ if (candidateIsMatch) {
450
+ result = candidate;
451
+ }
452
+ }
453
+ }
454
+ return result;
455
+ }
456
+ static _findContainedAutoClosingPair(config, pair) {
457
+ if (pair.open.length <= 1) {
458
+ return null;
459
+ }
460
+ const lastChar = pair.close.charAt(pair.close.length - 1);
461
+ const candidates = config.autoClosingPairs.autoClosingPairsCloseByEnd.get(lastChar) || [];
462
+ let result = null;
463
+ for (const candidate of candidates) {
464
+ if (candidate.open !== pair.open && pair.open.includes(candidate.open) && pair.close.endsWith(candidate.close)) {
465
+ if (!result || candidate.open.length > result.open.length) {
466
+ result = candidate;
467
+ }
468
+ }
469
+ }
470
+ return result;
471
+ }
472
+ static _getAutoClosingPairClose(config, model, selections, ch, chIsAlreadyTyped) {
473
+ for (const selection of selections) {
474
+ if (!selection.isEmpty()) {
475
+ return null;
476
+ }
477
+ }
478
+ const positions = ( selections.map((s) => {
479
+ const position = s.getPosition();
480
+ if (chIsAlreadyTyped) {
481
+ return { lineNumber: position.lineNumber, beforeColumn: position.column - ch.length, afterColumn: position.column };
482
+ }
483
+ else {
484
+ return { lineNumber: position.lineNumber, beforeColumn: position.column, afterColumn: position.column };
485
+ }
486
+ }));
487
+ const pair = this._findAutoClosingPairOpen(config, model, ( positions.map(p => ( new Position(p.lineNumber, p.beforeColumn)))), ch);
488
+ if (!pair) {
489
+ return null;
490
+ }
491
+ let autoCloseConfig;
492
+ let shouldAutoCloseBefore;
493
+ const chIsQuote = isQuote(ch);
494
+ if (chIsQuote) {
495
+ autoCloseConfig = config.autoClosingQuotes;
496
+ shouldAutoCloseBefore = config.shouldAutoCloseBefore.quote;
497
+ }
498
+ else {
499
+ const pairIsForComments = config.blockCommentStartToken ? pair.open.includes(config.blockCommentStartToken) : false;
500
+ if (pairIsForComments) {
501
+ autoCloseConfig = config.autoClosingComments;
502
+ shouldAutoCloseBefore = config.shouldAutoCloseBefore.comment;
503
+ }
504
+ else {
505
+ autoCloseConfig = config.autoClosingBrackets;
506
+ shouldAutoCloseBefore = config.shouldAutoCloseBefore.bracket;
507
+ }
508
+ }
509
+ if (autoCloseConfig === 'never') {
510
+ return null;
511
+ }
512
+ const containedPair = this._findContainedAutoClosingPair(config, pair);
513
+ const containedPairClose = containedPair ? containedPair.close : '';
514
+ let isContainedPairPresent = true;
515
+ for (const position of positions) {
516
+ const { lineNumber, beforeColumn, afterColumn } = position;
517
+ const lineText = model.getLineContent(lineNumber);
518
+ const lineBefore = lineText.substring(0, beforeColumn - 1);
519
+ const lineAfter = lineText.substring(afterColumn - 1);
520
+ if (!lineAfter.startsWith(containedPairClose)) {
521
+ isContainedPairPresent = false;
522
+ }
523
+ if (lineAfter.length > 0) {
524
+ const characterAfter = lineAfter.charAt(0);
525
+ const isBeforeCloseBrace = TypeOperations._isBeforeClosingBrace(config, lineAfter);
526
+ if (!isBeforeCloseBrace && !shouldAutoCloseBefore(characterAfter)) {
527
+ return null;
528
+ }
529
+ }
530
+ if (pair.open.length === 1 && (ch === '\'' || ch === '"') && autoCloseConfig !== 'always') {
531
+ const wordSeparators = getMapForWordSeparators(config.wordSeparators);
532
+ if (lineBefore.length > 0) {
533
+ const characterBefore = lineBefore.charCodeAt(lineBefore.length - 1);
534
+ if (wordSeparators.get(characterBefore) === 0 ) {
535
+ return null;
536
+ }
537
+ }
538
+ }
539
+ if (!model.tokenization.isCheapToTokenize(lineNumber)) {
540
+ return null;
541
+ }
542
+ model.tokenization.forceTokenization(lineNumber);
543
+ const lineTokens = model.tokenization.getLineTokens(lineNumber);
544
+ const scopedLineTokens = createScopedLineTokens(lineTokens, beforeColumn - 1);
545
+ if (!pair.shouldAutoClose(scopedLineTokens, beforeColumn - scopedLineTokens.firstCharOffset)) {
546
+ return null;
547
+ }
548
+ const neutralCharacter = pair.findNeutralCharacter();
549
+ if (neutralCharacter) {
550
+ const tokenType = model.tokenization.getTokenTypeIfInsertingCharacter(lineNumber, beforeColumn, neutralCharacter);
551
+ if (!pair.isOK(tokenType)) {
552
+ return null;
553
+ }
554
+ }
555
+ }
556
+ if (isContainedPairPresent) {
557
+ return pair.close.substring(0, pair.close.length - containedPairClose.length);
558
+ }
559
+ else {
560
+ return pair.close;
561
+ }
562
+ }
563
+ static _runAutoClosingOpenCharType(prevEditOperationType, config, model, selections, ch, chIsAlreadyTyped, autoClosingPairClose) {
564
+ const commands = [];
565
+ for (let i = 0, len = selections.length; i < len; i++) {
566
+ const selection = selections[i];
567
+ commands[i] = ( new TypeWithAutoClosingCommand(selection, ch, !chIsAlreadyTyped, autoClosingPairClose));
568
+ }
569
+ return ( new EditOperationResult(4 , commands, {
570
+ shouldPushStackElementBefore: true,
571
+ shouldPushStackElementAfter: false
572
+ }));
573
+ }
574
+ static _shouldSurroundChar(config, ch) {
575
+ if (isQuote(ch)) {
576
+ return (config.autoSurround === 'quotes' || config.autoSurround === 'languageDefined');
577
+ }
578
+ else {
579
+ return (config.autoSurround === 'brackets' || config.autoSurround === 'languageDefined');
580
+ }
581
+ }
582
+ static _isSurroundSelectionType(config, model, selections, ch) {
583
+ if (!TypeOperations._shouldSurroundChar(config, ch) || !config.surroundingPairs.hasOwnProperty(ch)) {
584
+ return false;
585
+ }
586
+ const isTypingAQuoteCharacter = isQuote(ch);
587
+ for (const selection of selections) {
588
+ if (selection.isEmpty()) {
589
+ return false;
590
+ }
591
+ let selectionContainsOnlyWhitespace = true;
592
+ for (let lineNumber = selection.startLineNumber; lineNumber <= selection.endLineNumber; lineNumber++) {
593
+ const lineText = model.getLineContent(lineNumber);
594
+ const startIndex = (lineNumber === selection.startLineNumber ? selection.startColumn - 1 : 0);
595
+ const endIndex = (lineNumber === selection.endLineNumber ? selection.endColumn - 1 : lineText.length);
596
+ const selectedText = lineText.substring(startIndex, endIndex);
597
+ if (/[^ \t]/.test(selectedText)) {
598
+ selectionContainsOnlyWhitespace = false;
599
+ break;
600
+ }
601
+ }
602
+ if (selectionContainsOnlyWhitespace) {
603
+ return false;
604
+ }
605
+ if (isTypingAQuoteCharacter && selection.startLineNumber === selection.endLineNumber && selection.startColumn + 1 === selection.endColumn) {
606
+ const selectionText = model.getValueInRange(selection);
607
+ if (isQuote(selectionText)) {
608
+ return false;
609
+ }
610
+ }
611
+ }
612
+ return true;
613
+ }
614
+ static _runSurroundSelectionType(prevEditOperationType, config, model, selections, ch) {
615
+ const commands = [];
616
+ for (let i = 0, len = selections.length; i < len; i++) {
617
+ const selection = selections[i];
618
+ const closeCharacter = config.surroundingPairs[ch];
619
+ commands[i] = ( new SurroundSelectionCommand(selection, ch, closeCharacter));
620
+ }
621
+ return ( new EditOperationResult(0 , commands, {
622
+ shouldPushStackElementBefore: true,
623
+ shouldPushStackElementAfter: true
624
+ }));
625
+ }
626
+ static _isTypeInterceptorElectricChar(config, model, selections) {
627
+ if (selections.length === 1 && model.tokenization.isCheapToTokenize(selections[0].getEndPosition().lineNumber)) {
628
+ return true;
629
+ }
630
+ return false;
631
+ }
632
+ static _typeInterceptorElectricChar(prevEditOperationType, config, model, selection, ch) {
633
+ if (!config.electricChars.hasOwnProperty(ch) || !selection.isEmpty()) {
634
+ return null;
635
+ }
636
+ const position = selection.getPosition();
637
+ model.tokenization.forceTokenization(position.lineNumber);
638
+ const lineTokens = model.tokenization.getLineTokens(position.lineNumber);
639
+ let electricAction;
640
+ try {
641
+ electricAction = config.onElectricCharacter(ch, lineTokens, position.column);
642
+ }
643
+ catch (e) {
644
+ onUnexpectedError(e);
645
+ return null;
646
+ }
647
+ if (!electricAction) {
648
+ return null;
649
+ }
650
+ if (electricAction.matchOpenBracket) {
651
+ const endColumn = (lineTokens.getLineContent() + ch).lastIndexOf(electricAction.matchOpenBracket) + 1;
652
+ const match = model.bracketPairs.findMatchingBracketUp(electricAction.matchOpenBracket, {
653
+ lineNumber: position.lineNumber,
654
+ column: endColumn
655
+ }, 500 );
656
+ if (match) {
657
+ if (match.startLineNumber === position.lineNumber) {
658
+ return null;
659
+ }
660
+ const matchLine = model.getLineContent(match.startLineNumber);
661
+ const matchLineIndentation = getLeadingWhitespace(matchLine);
662
+ const newIndentation = config.normalizeIndentation(matchLineIndentation);
663
+ const lineText = model.getLineContent(position.lineNumber);
664
+ const lineFirstNonBlankColumn = model.getLineFirstNonWhitespaceColumn(position.lineNumber) || position.column;
665
+ const prefix = lineText.substring(lineFirstNonBlankColumn - 1, position.column - 1);
666
+ const typeText = newIndentation + prefix + ch;
667
+ const typeSelection = ( new Range(position.lineNumber, 1, position.lineNumber, position.column));
668
+ const command = ( new ReplaceCommand(typeSelection, typeText));
669
+ return ( new EditOperationResult(getTypingOperation(typeText, prevEditOperationType), [command], {
670
+ shouldPushStackElementBefore: false,
671
+ shouldPushStackElementAfter: true
672
+ }));
673
+ }
674
+ }
675
+ return null;
676
+ }
677
+ static compositionEndWithInterceptors(prevEditOperationType, config, model, compositions, selections, autoClosedCharacters) {
678
+ if (!compositions) {
679
+ return null;
680
+ }
681
+ let insertedText = null;
682
+ for (const composition of compositions) {
683
+ if (insertedText === null) {
684
+ insertedText = composition.insertedText;
685
+ }
686
+ else if (insertedText !== composition.insertedText) {
687
+ return null;
688
+ }
689
+ }
690
+ if (!insertedText || insertedText.length !== 1) {
691
+ return null;
692
+ }
693
+ const ch = insertedText;
694
+ let hasDeletion = false;
695
+ for (const composition of compositions) {
696
+ if (composition.deletedText.length !== 0) {
697
+ hasDeletion = true;
698
+ break;
699
+ }
700
+ }
701
+ if (hasDeletion) {
702
+ if (!TypeOperations._shouldSurroundChar(config, ch) || !config.surroundingPairs.hasOwnProperty(ch)) {
703
+ return null;
704
+ }
705
+ const isTypingAQuoteCharacter = isQuote(ch);
706
+ for (const composition of compositions) {
707
+ if (composition.deletedSelectionStart !== 0 || composition.deletedSelectionEnd !== composition.deletedText.length) {
708
+ return null;
709
+ }
710
+ if (/^[ \t]+$/.test(composition.deletedText)) {
711
+ return null;
712
+ }
713
+ if (isTypingAQuoteCharacter && isQuote(composition.deletedText)) {
714
+ return null;
715
+ }
716
+ }
717
+ const positions = [];
718
+ for (const selection of selections) {
719
+ if (!selection.isEmpty()) {
720
+ return null;
721
+ }
722
+ positions.push(selection.getPosition());
723
+ }
724
+ if (positions.length !== compositions.length) {
725
+ return null;
726
+ }
727
+ const commands = [];
728
+ for (let i = 0, len = positions.length; i < len; i++) {
729
+ commands.push(( new CompositionSurroundSelectionCommand(positions[i], compositions[i].deletedText, config.surroundingPairs[ch])));
730
+ }
731
+ return ( new EditOperationResult(4 , commands, {
732
+ shouldPushStackElementBefore: true,
733
+ shouldPushStackElementAfter: false
734
+ }));
735
+ }
736
+ if (this._isAutoClosingOvertype(config, model, selections, autoClosedCharacters, ch)) {
737
+ const commands = ( selections.map(s => ( new ReplaceCommand(( new Range(
738
+ s.positionLineNumber,
739
+ s.positionColumn,
740
+ s.positionLineNumber,
741
+ s.positionColumn + 1
742
+ )), '', false))));
743
+ return ( new EditOperationResult(4 , commands, {
744
+ shouldPushStackElementBefore: true,
745
+ shouldPushStackElementAfter: false
746
+ }));
747
+ }
748
+ const autoClosingPairClose = this._getAutoClosingPairClose(config, model, selections, ch, true);
749
+ if (autoClosingPairClose !== null) {
750
+ return this._runAutoClosingOpenCharType(prevEditOperationType, config, model, selections, ch, true, autoClosingPairClose);
751
+ }
752
+ return null;
753
+ }
754
+ static typeWithInterceptors(isDoingComposition, prevEditOperationType, config, model, selections, autoClosedCharacters, ch) {
755
+ if (!isDoingComposition && ch === '\n') {
756
+ const commands = [];
757
+ for (let i = 0, len = selections.length; i < len; i++) {
758
+ commands[i] = TypeOperations._enter(config, model, false, selections[i]);
759
+ }
760
+ return ( new EditOperationResult(4 , commands, {
761
+ shouldPushStackElementBefore: true,
762
+ shouldPushStackElementAfter: false,
763
+ }));
764
+ }
765
+ if (!isDoingComposition && this._isAutoIndentType(config, model, selections)) {
766
+ const commands = [];
767
+ let autoIndentFails = false;
768
+ for (let i = 0, len = selections.length; i < len; i++) {
769
+ commands[i] = this._runAutoIndentType(config, model, selections[i], ch);
770
+ if (!commands[i]) {
771
+ autoIndentFails = true;
772
+ break;
773
+ }
774
+ }
775
+ if (!autoIndentFails) {
776
+ return ( new EditOperationResult(4 , commands, {
777
+ shouldPushStackElementBefore: true,
778
+ shouldPushStackElementAfter: false,
779
+ }));
780
+ }
781
+ }
782
+ if (this._isAutoClosingOvertype(config, model, selections, autoClosedCharacters, ch)) {
783
+ return this._runAutoClosingOvertype(prevEditOperationType, config, model, selections, ch);
784
+ }
785
+ if (!isDoingComposition) {
786
+ const autoClosingPairClose = this._getAutoClosingPairClose(config, model, selections, ch, false);
787
+ if (autoClosingPairClose) {
788
+ return this._runAutoClosingOpenCharType(prevEditOperationType, config, model, selections, ch, false, autoClosingPairClose);
789
+ }
790
+ }
791
+ if (!isDoingComposition && this._isSurroundSelectionType(config, model, selections, ch)) {
792
+ return this._runSurroundSelectionType(prevEditOperationType, config, model, selections, ch);
793
+ }
794
+ if (!isDoingComposition && this._isTypeInterceptorElectricChar(config, model, selections)) {
795
+ const r = this._typeInterceptorElectricChar(prevEditOperationType, config, model, selections[0], ch);
796
+ if (r) {
797
+ return r;
798
+ }
799
+ }
800
+ const commands = [];
801
+ for (let i = 0, len = selections.length; i < len; i++) {
802
+ commands[i] = ( new ReplaceCommand(selections[i], ch));
803
+ }
804
+ const opType = getTypingOperation(ch, prevEditOperationType);
805
+ return ( new EditOperationResult(opType, commands, {
806
+ shouldPushStackElementBefore: shouldPushStackElementBetween(prevEditOperationType, opType),
807
+ shouldPushStackElementAfter: false
808
+ }));
809
+ }
810
+ static typeWithoutInterceptors(prevEditOperationType, config, model, selections, str) {
811
+ const commands = [];
812
+ for (let i = 0, len = selections.length; i < len; i++) {
813
+ commands[i] = ( new ReplaceCommand(selections[i], str));
814
+ }
815
+ const opType = getTypingOperation(str, prevEditOperationType);
816
+ return ( new EditOperationResult(opType, commands, {
817
+ shouldPushStackElementBefore: shouldPushStackElementBetween(prevEditOperationType, opType),
818
+ shouldPushStackElementAfter: false
819
+ }));
820
+ }
821
+ static lineInsertBefore(config, model, selections) {
822
+ if (model === null || selections === null) {
823
+ return [];
824
+ }
825
+ const commands = [];
826
+ for (let i = 0, len = selections.length; i < len; i++) {
827
+ let lineNumber = selections[i].positionLineNumber;
828
+ if (lineNumber === 1) {
829
+ commands[i] = ( new ReplaceCommandWithoutChangingPosition(( new Range(1, 1, 1, 1)), '\n'));
830
+ }
831
+ else {
832
+ lineNumber--;
833
+ const column = model.getLineMaxColumn(lineNumber);
834
+ commands[i] = this._enter(config, model, false, ( new Range(lineNumber, column, lineNumber, column)));
835
+ }
836
+ }
837
+ return commands;
838
+ }
839
+ static lineInsertAfter(config, model, selections) {
840
+ if (model === null || selections === null) {
841
+ return [];
842
+ }
843
+ const commands = [];
844
+ for (let i = 0, len = selections.length; i < len; i++) {
845
+ const lineNumber = selections[i].positionLineNumber;
846
+ const column = model.getLineMaxColumn(lineNumber);
847
+ commands[i] = this._enter(config, model, false, ( new Range(lineNumber, column, lineNumber, column)));
848
+ }
849
+ return commands;
850
+ }
851
+ static lineBreakInsert(config, model, selections) {
852
+ const commands = [];
853
+ for (let i = 0, len = selections.length; i < len; i++) {
854
+ commands[i] = this._enter(config, model, true, selections[i]);
855
+ }
856
+ return commands;
857
+ }
858
+ }
859
+ class TypeWithAutoClosingCommand extends ReplaceCommandWithOffsetCursorState {
860
+ constructor(selection, openCharacter, insertOpenCharacter, closeCharacter) {
861
+ super(selection, (insertOpenCharacter ? openCharacter : '') + closeCharacter, 0, -closeCharacter.length);
862
+ this._openCharacter = openCharacter;
863
+ this._closeCharacter = closeCharacter;
864
+ this.closeCharacterRange = null;
865
+ this.enclosingRange = null;
866
+ }
867
+ computeCursorState(model, helper) {
868
+ const inverseEditOperations = helper.getInverseEditOperations();
869
+ const range = inverseEditOperations[0].range;
870
+ this.closeCharacterRange = ( new Range(
871
+ range.startLineNumber,
872
+ range.endColumn - this._closeCharacter.length,
873
+ range.endLineNumber,
874
+ range.endColumn
875
+ ));
876
+ this.enclosingRange = ( new Range(
877
+ range.startLineNumber,
878
+ range.endColumn - this._openCharacter.length - this._closeCharacter.length,
879
+ range.endLineNumber,
880
+ range.endColumn
881
+ ));
882
+ return super.computeCursorState(model, helper);
883
+ }
884
+ }
885
+ class CompositionOutcome {
886
+ constructor(deletedText, deletedSelectionStart, deletedSelectionEnd, insertedText, insertedSelectionStart, insertedSelectionEnd) {
887
+ this.deletedText = deletedText;
888
+ this.deletedSelectionStart = deletedSelectionStart;
889
+ this.deletedSelectionEnd = deletedSelectionEnd;
890
+ this.insertedText = insertedText;
891
+ this.insertedSelectionStart = insertedSelectionStart;
892
+ this.insertedSelectionEnd = insertedSelectionEnd;
893
+ }
894
+ }
895
+ function getTypingOperation(typedText, previousTypingOperation) {
896
+ if (typedText === ' ') {
897
+ return previousTypingOperation === 5
898
+ || previousTypingOperation === 6
899
+ ? 6
900
+ : 5 ;
901
+ }
902
+ return 4 ;
903
+ }
904
+ function shouldPushStackElementBetween(previousTypingOperation, typingOperation) {
905
+ if (isTypingOperation(previousTypingOperation) && !isTypingOperation(typingOperation)) {
906
+ return true;
907
+ }
908
+ if (previousTypingOperation === 5 ) {
909
+ return false;
910
+ }
911
+ return normalizeOperationType(previousTypingOperation) !== normalizeOperationType(typingOperation);
912
+ }
913
+ function normalizeOperationType(type) {
914
+ return ((type === 6 || type === 5) )
915
+ ? 'space'
916
+ : type;
917
+ }
918
+ function isTypingOperation(type) {
919
+ return type === 4
920
+ || type === 5
921
+ || type === 6 ;
922
+ }
923
+ export { CompositionOutcome, TypeOperations, TypeWithAutoClosingCommand };