@codingame/monaco-vscode-api 5.3.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (998) hide show
  1. package/api.js +1 -1
  2. package/extensions.d.ts +4 -4
  3. package/localExtensionHost.js +2 -1
  4. package/missing-services.js +70 -28
  5. package/package.json +8 -8
  6. package/service-override/dialogs.d.ts +1 -8
  7. package/service-override/files.d.ts +0 -1
  8. package/service-override/search.d.ts +1 -8
  9. package/service-override/tools/editor.js +11 -2
  10. package/services.js +2 -2
  11. package/vscode/src/vs/base/browser/canIUse.js +10 -4
  12. package/vscode/src/vs/base/browser/deviceAccess.js +60 -0
  13. package/vscode/src/vs/base/browser/dom.js +25 -9
  14. package/vscode/src/vs/base/browser/formattedTextRenderer.js +36 -24
  15. package/vscode/src/vs/base/browser/keyboardEvent.js +24 -24
  16. package/vscode/src/vs/base/browser/markdownRenderer.js +130 -30
  17. package/vscode/src/vs/base/browser/performance.js +24 -18
  18. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +22 -16
  19. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +3 -2
  20. package/vscode/src/vs/base/browser/ui/button/button.js +19 -7
  21. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +43 -17
  23. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +7 -6
  24. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +4 -2
  25. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +3 -2
  26. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +5 -4
  27. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +5 -4
  28. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +5 -0
  29. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +1 -0
  30. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  31. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +10 -6
  32. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +16 -1
  33. package/vscode/src/vs/base/browser/ui/iconLabel/iconlabel.css.js +1 -1
  34. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +2 -1
  35. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +17 -9
  36. package/vscode/src/vs/base/browser/ui/list/list.js +12 -1
  37. package/vscode/src/vs/base/browser/ui/list/listView.js +19 -11
  38. package/vscode/src/vs/base/browser/ui/list/listWidget.js +17 -16
  39. package/vscode/src/vs/base/browser/ui/menu/menu.js +17 -15
  40. package/vscode/src/vs/base/browser/ui/menu/menubar.js +14 -14
  41. package/vscode/src/vs/base/browser/ui/resizable/resizable.js +9 -9
  42. package/vscode/src/vs/base/browser/ui/sash/sash.js +30 -18
  43. package/vscode/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +5 -4
  44. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +3 -3
  45. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +3 -2
  46. package/vscode/src/vs/base/browser/ui/scrollbar/verticalScrollbar.js +3 -2
  47. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +3 -0
  48. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +25 -20
  49. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxNative.js +6 -2
  50. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +26 -24
  51. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +33 -27
  52. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +5 -3
  53. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +4 -2
  54. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -2
  55. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +30 -24
  56. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +7 -7
  57. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +15 -15
  58. package/vscode/src/vs/base/browser/ui/tree/tree.js +13 -1
  59. package/vscode/src/vs/base/common/actions.js +1 -1
  60. package/vscode/src/vs/base/common/arrays.js +2 -5
  61. package/vscode/src/vs/base/common/assert.js +7 -2
  62. package/vscode/src/vs/base/common/async.js +38 -14
  63. package/vscode/src/vs/base/common/charCode.js +296 -0
  64. package/vscode/src/vs/base/common/codicons.d.ts +1 -0
  65. package/vscode/src/vs/base/common/codiconsLibrary.js +1 -0
  66. package/vscode/src/vs/base/common/color.js +24 -23
  67. package/vscode/src/vs/base/common/diff/diff.js +15 -10
  68. package/vscode/src/vs/base/common/event.js +83 -26
  69. package/vscode/src/vs/base/common/extpath.js +10 -9
  70. package/vscode/src/vs/base/common/filters.js +40 -32
  71. package/vscode/src/vs/base/common/fuzzyScorer.js +10 -9
  72. package/vscode/src/vs/base/common/glob.js +2 -1
  73. package/vscode/src/vs/base/common/hash.js +15 -10
  74. package/vscode/src/vs/base/common/htmlContent.js +8 -3
  75. package/vscode/src/vs/base/common/json.js +323 -149
  76. package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -9
  77. package/vscode/src/vs/base/common/jsonFormatter.js +30 -30
  78. package/vscode/src/vs/base/common/keyCodes.js +591 -249
  79. package/vscode/src/vs/base/common/keybindingLabels.js +4 -3
  80. package/vscode/src/vs/base/common/keybindings.js +30 -17
  81. package/vscode/src/vs/base/common/labels.js +10 -10
  82. package/vscode/src/vs/base/common/lifecycle.js +5 -0
  83. package/vscode/src/vs/base/common/map.js +20 -14
  84. package/vscode/src/vs/base/common/marshalling.js +5 -4
  85. package/vscode/src/vs/base/common/marshallingIds.js +22 -0
  86. package/vscode/src/vs/base/common/naturalLanguage/korean.js +213 -129
  87. package/vscode/src/vs/base/common/network.js +3 -2
  88. package/vscode/src/vs/base/common/objects.js +8 -1
  89. package/vscode/src/vs/base/common/observableInternal/autorun.js +19 -13
  90. package/vscode/src/vs/base/common/observableInternal/base.js +1 -1
  91. package/vscode/src/vs/base/common/observableInternal/derived.js +35 -19
  92. package/vscode/src/vs/base/common/observableInternal/utils.js +9 -1
  93. package/vscode/src/vs/base/common/platform.js +26 -10
  94. package/vscode/src/vs/base/common/prefixTree.js +3 -0
  95. package/vscode/src/vs/base/common/processes.js +32 -0
  96. package/vscode/src/vs/base/common/resources.js +4 -3
  97. package/vscode/src/vs/base/common/scrollable.js +7 -1
  98. package/vscode/src/vs/base/common/strings.d.ts +9 -0
  99. package/vscode/src/vs/base/common/strings.js +94 -47
  100. package/vscode/src/vs/base/common/ternarySearchTree.js +54 -39
  101. package/vscode/src/vs/base/common/uint.js +14 -5
  102. package/vscode/src/vs/base/common/uri.js +41 -39
  103. package/vscode/src/vs/base/common/uriIpc.js +2 -1
  104. package/vscode/src/vs/base/common/worker/simpleWorker.js +20 -12
  105. package/vscode/src/vs/base/parts/ipc/common/ipc.js +77 -55
  106. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +108 -51
  107. package/vscode/src/vs/base/parts/storage/common/storage.js +3 -1
  108. package/vscode/src/vs/editor/browser/config/charWidthReader.js +10 -4
  109. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +4 -3
  110. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +21 -21
  111. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +28 -25
  112. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +68 -50
  113. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +5 -3
  114. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +49 -44
  115. package/vscode/src/vs/editor/browser/controller/textAreaInput.js +8 -6
  116. package/vscode/src/vs/editor/browser/controller/textAreaState.js +8 -7
  117. package/vscode/src/vs/editor/browser/coreCommands.js +215 -198
  118. package/vscode/src/vs/editor/browser/editorBrowser.js +30 -1
  119. package/vscode/src/vs/editor/browser/editorExtensions.js +19 -10
  120. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +28 -18
  121. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +2 -1
  122. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -10
  123. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +70 -62
  124. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +5 -3
  125. package/vscode/src/vs/editor/browser/services/markerDecorations.js +2 -2
  126. package/vscode/src/vs/editor/browser/stableEditorScroll.js +4 -3
  127. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +27 -21
  128. package/vscode/src/vs/editor/browser/view/viewController.js +5 -4
  129. package/vscode/src/vs/editor/browser/view/viewLayer.js +2 -1
  130. package/vscode/src/vs/editor/browser/view/viewOverlays.js +9 -8
  131. package/vscode/src/vs/editor/browser/view/viewPart.js +15 -2
  132. package/vscode/src/vs/editor/browser/view/viewUserInputEvents.js +2 -1
  133. package/vscode/src/vs/editor/browser/view.js +9 -8
  134. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +2 -1
  135. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +47 -20
  136. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +7 -6
  137. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +3 -2
  138. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +19 -17
  139. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +16 -10
  140. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +7 -6
  141. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +9 -8
  142. package/vscode/src/vs/editor/browser/viewParts/lines/rangeUtil.js +4 -3
  143. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +29 -24
  144. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +35 -31
  145. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +3 -2
  146. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +5 -4
  147. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +39 -29
  148. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRenderer.js +9 -9
  149. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRendererFactory.js +22 -22
  150. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharSheet.js +20 -7
  151. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +41 -20
  152. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +37 -19
  153. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +7 -6
  154. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +5 -4
  155. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +4 -3
  156. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +33 -26
  157. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +9 -9
  158. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +22 -21
  159. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +6 -5
  160. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +18 -16
  161. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorContributions.js +12 -11
  162. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +195 -149
  163. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +7 -5
  164. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +24 -23
  165. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +47 -35
  166. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +15 -12
  167. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +9 -6
  168. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +10 -10
  169. package/vscode/src/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js +19 -18
  170. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +7 -6
  171. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +9 -3
  172. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +26 -9
  173. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +2 -2
  174. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +29 -12
  175. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +13 -10
  176. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +2 -1
  177. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  178. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +4 -7
  179. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js +2 -1
  180. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +49 -39
  181. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css.js +1 -1
  182. package/vscode/src/vs/editor/common/commands/replaceCommand.js +2 -2
  183. package/vscode/src/vs/editor/common/commands/shiftCommand.js +6 -5
  184. package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +2 -1
  185. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +2 -2
  186. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +4 -0
  187. package/vscode/src/vs/editor/common/config/editorOptions.js +719 -559
  188. package/vscode/src/vs/editor/common/config/fontInfo.js +8 -8
  189. package/vscode/src/vs/editor/common/core/characterClassifier.js +8 -3
  190. package/vscode/src/vs/editor/common/core/cursorColumns.js +3 -2
  191. package/vscode/src/vs/editor/common/core/eolCounter.js +16 -8
  192. package/vscode/src/vs/editor/common/core/lineRange.d.ts +0 -9
  193. package/vscode/src/vs/editor/common/core/lineRange.js +0 -28
  194. package/vscode/src/vs/editor/common/core/selection.js +12 -7
  195. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +12 -5
  196. package/vscode/src/vs/editor/common/cursor/cursor.js +34 -31
  197. package/vscode/src/vs/editor/common/cursor/cursorAtomicMoveOperations.js +17 -10
  198. package/vscode/src/vs/editor/common/cursor/cursorColumnSelection.js +3 -3
  199. package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.js +4 -4
  200. package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +52 -50
  201. package/vscode/src/vs/editor/common/cursor/cursorMoveOperations.js +14 -12
  202. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +35 -33
  203. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +79 -65
  204. package/vscode/src/vs/editor/common/cursor/oneCursor.js +7 -6
  205. package/vscode/src/vs/editor/common/cursorCommon.js +54 -38
  206. package/vscode/src/vs/editor/common/cursorEvents.js +11 -0
  207. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +1 -1
  208. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.js +2 -1
  209. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +43 -30
  210. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/utils.js +2 -1
  211. package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.js +5 -4
  212. package/vscode/src/vs/editor/common/editorCommon.js +16 -1
  213. package/vscode/src/vs/editor/common/encodedTokenAttributes.js +71 -19
  214. package/vscode/src/vs/editor/common/languages/autoIndent.js +83 -89
  215. package/vscode/src/vs/editor/common/languages/enterAction.js +10 -20
  216. package/vscode/src/vs/editor/common/languages/languageConfiguration.js +9 -7
  217. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +3 -10
  218. package/vscode/src/vs/editor/common/languages/linkComputer.js +94 -69
  219. package/vscode/src/vs/editor/common/languages/nullTokenize.js +6 -5
  220. package/vscode/src/vs/editor/common/languages/supports/indentRules.js +12 -5
  221. package/vscode/src/vs/editor/common/languages/supports/indentationLineProcessor.js +150 -0
  222. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.d.ts +2 -0
  223. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.js +5 -0
  224. package/vscode/src/vs/editor/common/languages/supports/onEnter.js +4 -3
  225. package/vscode/src/vs/editor/common/languages/supports/richEditBrackets.js +3 -3
  226. package/vscode/src/vs/editor/common/languages/supports/tokenization.js +25 -24
  227. package/vscode/src/vs/editor/common/languages/supports.d.ts +5 -1
  228. package/vscode/src/vs/editor/common/languages/supports.js +13 -1
  229. package/vscode/src/vs/editor/common/languages/textToHtmlTokenizer.js +14 -12
  230. package/vscode/src/vs/editor/common/languages.d.ts +6 -15
  231. package/vscode/src/vs/editor/common/languages.js +204 -113
  232. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js +18 -10
  233. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +18 -16
  234. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js +4 -4
  235. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js +3 -3
  236. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js +8 -7
  237. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js +15 -33
  238. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js +5 -4
  239. package/vscode/src/vs/editor/common/model/editStack.js +6 -4
  240. package/vscode/src/vs/editor/common/model/indentationGuesser.js +7 -6
  241. package/vscode/src/vs/editor/common/model/intervalTree.js +119 -71
  242. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +17 -16
  243. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +11 -11
  244. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js +5 -3
  245. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js +46 -41
  246. package/vscode/src/vs/editor/common/model/textModel.js +35 -26
  247. package/vscode/src/vs/editor/common/model/textModelSearch.js +15 -14
  248. package/vscode/src/vs/editor/common/model/textModelTokens.js +8 -3
  249. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +8 -5
  250. package/vscode/src/vs/editor/common/model/utils.js +3 -2
  251. package/vscode/src/vs/editor/common/model.js +46 -1
  252. package/vscode/src/vs/editor/common/modelLineProjectionData.js +10 -10
  253. package/vscode/src/vs/editor/common/services/editorBaseApi.js +5 -5
  254. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +1 -1
  255. package/vscode/src/vs/editor/common/services/getIconClasses.js +6 -1
  256. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +2 -2
  257. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -2
  258. package/vscode/src/vs/editor/common/services/languagesRegistry.js +4 -3
  259. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +19 -18
  260. package/vscode/src/vs/editor/common/services/modelService.js +9 -8
  261. package/vscode/src/vs/editor/common/services/semanticTokensDto.js +8 -3
  262. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +27 -16
  263. package/vscode/src/vs/editor/common/services/semanticTokensStylingService.js +2 -2
  264. package/vscode/src/vs/editor/common/services/treeViewsDndService.js +2 -2
  265. package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.js +31 -18
  266. package/vscode/src/vs/editor/common/standaloneStrings.js +18 -39
  267. package/vscode/src/vs/editor/common/textModelEvents.js +14 -6
  268. package/vscode/src/vs/editor/common/tokenizationRegistry.js +3 -2
  269. package/vscode/src/vs/editor/common/tokenizationTextModelPart.js +6 -0
  270. package/vscode/src/vs/editor/common/tokens/contiguousTokensStore.js +7 -7
  271. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +12 -1
  272. package/vscode/src/vs/editor/common/tokens/lineTokens.js +64 -8
  273. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +5 -4
  274. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +7 -6
  275. package/vscode/src/vs/editor/common/viewEventHandler.js +19 -18
  276. package/vscode/src/vs/editor/common/viewEvents.js +50 -19
  277. package/vscode/src/vs/editor/common/viewLayout/lineDecorations.js +9 -6
  278. package/vscode/src/vs/editor/common/viewLayout/linePart.js +12 -3
  279. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +25 -23
  280. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +97 -72
  281. package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.js +3 -2
  282. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +2 -1
  283. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +30 -19
  284. package/vscode/src/vs/editor/common/viewModel/overviewZoneManager.js +5 -1
  285. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +11 -9
  286. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +42 -38
  287. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +15 -8
  288. package/vscode/src/vs/editor/common/viewModel.js +9 -2
  289. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +30 -14
  290. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +12 -10
  291. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +15 -12
  292. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +4 -2
  293. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +19 -16
  294. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -2
  295. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +21 -19
  296. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +6 -6
  297. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +14 -11
  298. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +2 -2
  299. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +4 -3
  300. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +19 -17
  301. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +21 -12
  302. package/vscode/src/vs/editor/contrib/codeAction/common/types.js +10 -4
  303. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +6 -6
  304. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +14 -13
  305. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +4 -2
  306. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +8 -5
  307. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +9 -8
  308. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +7 -4
  309. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +6 -4
  310. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +8 -5
  311. package/vscode/src/vs/editor/contrib/comment/browser/blockCommentCommand.js +5 -4
  312. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +18 -16
  313. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +20 -12
  314. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +23 -18
  315. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +6 -4
  316. package/vscode/src/vs/editor/contrib/dnd/browser/dnd.js +17 -12
  317. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +2 -2
  318. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +8 -6
  319. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +12 -9
  320. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +10 -8
  321. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +4 -3
  322. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +76 -34
  323. package/vscode/src/vs/editor/contrib/editorState/browser/editorState.js +16 -9
  324. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +6 -4
  325. package/vscode/src/vs/editor/contrib/find/browser/findController.js +95 -85
  326. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +10 -8
  327. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +31 -25
  328. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +2 -1
  329. package/vscode/src/vs/editor/contrib/find/browser/findState.js +17 -11
  330. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +58 -49
  331. package/vscode/src/vs/editor/contrib/find/browser/replacePattern.js +25 -19
  332. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +68 -64
  333. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +14 -13
  334. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.js +6 -6
  335. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.js +20 -14
  336. package/vscode/src/vs/editor/contrib/format/browser/format.js +31 -10
  337. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +18 -16
  338. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +17 -14
  339. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +8 -5
  340. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +2 -2
  341. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -38
  342. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +13 -3
  343. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +9 -7
  344. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +9 -7
  345. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +31 -28
  346. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +8 -4
  347. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +2 -6
  348. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +10 -8
  349. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +4 -2
  350. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +31 -12
  351. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +14 -10
  352. package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +1 -1
  353. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +247 -0
  354. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +7 -1
  355. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +38 -34
  356. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +7 -2
  357. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +46 -17
  358. package/vscode/src/vs/editor/contrib/hover/browser/hoverOperation.js +37 -18
  359. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +12 -7
  360. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverWidget.js +9 -7
  361. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +100 -60
  362. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +7 -4
  363. package/vscode/src/vs/editor/contrib/hover/browser/resizableContentWidget.js +6 -4
  364. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +10 -11
  365. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -6
  366. package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +25 -20
  367. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsContribution.js +2 -2
  368. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +26 -20
  369. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +4 -2
  370. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +3 -2
  371. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +9 -7
  372. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +0 -1
  373. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +19 -18
  374. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +9 -7
  375. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +5 -2
  376. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +55 -0
  377. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +10 -8
  378. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +26 -14
  379. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +8 -5
  380. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -1
  381. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +2 -1
  382. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +2 -2
  383. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +12 -10
  384. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +3 -2
  385. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +8 -6
  386. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +2 -2
  387. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +5 -4
  388. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +6 -3
  389. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +7 -4
  390. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +6 -3
  391. package/vscode/src/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js +2 -2
  392. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +35 -33
  393. package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +4 -2
  394. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +14 -10
  395. package/vscode/src/vs/editor/contrib/links/browser/links.js +13 -10
  396. package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +6 -4
  397. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +14 -9
  398. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +53 -51
  399. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +15 -13
  400. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +18 -16
  401. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +19 -6
  402. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +8 -7
  403. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +8 -6
  404. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +5 -3
  405. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +38 -34
  406. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +4 -3
  407. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +22 -20
  408. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +15 -11
  409. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +15 -12
  410. package/vscode/src/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js +2 -2
  411. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +14 -11
  412. package/vscode/src/vs/editor/contrib/smartSelect/browser/wordSelections.js +3 -2
  413. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +13 -10
  414. package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +100 -81
  415. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +10 -7
  416. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  417. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +7 -5
  418. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.js +2 -2
  419. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +19 -16
  420. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +2 -1
  421. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +3 -2
  422. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +14 -11
  423. package/vscode/src/vs/editor/contrib/suggest/browser/completionModel.js +18 -10
  424. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +24 -16
  425. package/vscode/src/vs/editor/contrib/suggest/browser/suggestCommitCharacters.js +4 -2
  426. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +83 -69
  427. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +6 -4
  428. package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.js +6 -6
  429. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +66 -57
  430. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +71 -59
  431. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +6 -5
  432. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +10 -9
  433. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +3 -2
  434. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +4 -2
  435. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +6 -4
  436. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +28 -25
  437. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +7 -6
  438. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +10 -10
  439. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +16 -12
  440. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +54 -50
  441. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +21 -19
  442. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +12 -9
  443. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +6 -4
  444. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +5 -3
  445. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditorService.js +5 -4
  446. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +2 -2
  447. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +50 -43
  448. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +5 -5
  449. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +3 -3
  450. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +58 -0
  451. package/vscode/src/vs/{workbench/contrib → platform}/accessibility/browser/accessibleView.service.js +1 -1
  452. package/vscode/src/vs/platform/accessibility/browser/accessibleViewRegistry.js +35 -0
  453. package/vscode/src/vs/platform/accessibility/common/accessibility.js +7 -1
  454. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +3 -0
  455. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +61 -51
  456. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.d.ts +1 -0
  457. package/vscode/src/vs/platform/action/common/action.d.ts +4 -0
  458. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +13 -8
  459. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +16 -14
  460. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +3 -2
  461. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +6 -4
  462. package/vscode/src/vs/platform/actions/browser/toolbar.js +10 -4
  463. package/vscode/src/vs/platform/actions/common/actions.contribution.js +1 -0
  464. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  465. package/vscode/src/vs/platform/actions/common/actions.js +14 -10
  466. package/vscode/src/vs/platform/actions/common/menuService.js +9 -8
  467. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +5 -5
  468. package/vscode/src/vs/platform/configuration/common/configuration.js +20 -9
  469. package/vscode/src/vs/platform/configuration/common/configurationModels.js +4 -3
  470. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +15 -15
  471. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +4 -2
  472. package/vscode/src/vs/platform/contextkey/common/contextkey.js +98 -78
  473. package/vscode/src/vs/platform/contextkey/common/scanner.js +94 -69
  474. package/vscode/src/vs/platform/contextview/browser/contextMenuHandler.js +2 -2
  475. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +6 -6
  476. package/vscode/src/vs/platform/diagnostics/common/diagnostics.js +4 -1
  477. package/vscode/src/vs/platform/editor/common/editor.js +14 -1
  478. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +9 -8
  479. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  480. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +106 -61
  481. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +5 -3
  482. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +13 -12
  483. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +16 -9
  484. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +26 -26
  485. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +6 -4
  486. package/vscode/src/vs/platform/extensions/common/extensions.js +22 -1
  487. package/vscode/src/vs/platform/externalServices/common/serviceMachineId.js +3 -2
  488. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +4 -4
  489. package/vscode/src/vs/platform/files/common/files.js +53 -25
  490. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +10 -10
  491. package/vscode/src/vs/platform/files/common/watcher.js +26 -10
  492. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +8 -7
  493. package/vscode/src/vs/platform/hover/browser/hover.js +5 -4
  494. package/vscode/src/vs/platform/instantiation/common/extensions.js +6 -1
  495. package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +5 -1
  496. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +16 -7
  497. package/vscode/src/vs/platform/issue/common/issue.service.js +3 -0
  498. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +7 -6
  499. package/vscode/src/vs/platform/keybinding/common/keybindingResolver.js +15 -9
  500. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +3 -0
  501. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.js +12 -4
  502. package/vscode/src/vs/platform/keybinding/common/resolvedKeybindingItem.js +2 -1
  503. package/vscode/src/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js +64 -63
  504. package/vscode/src/vs/platform/label/common/label.js +7 -0
  505. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +11 -0
  506. package/vscode/src/vs/platform/list/browser/listService.js +3 -2
  507. package/vscode/src/vs/platform/markers/common/markerService.js +1 -0
  508. package/vscode/src/vs/platform/markers/common/markers.js +6 -1
  509. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +19 -0
  510. package/vscode/src/vs/platform/opener/browser/link.js +2 -1
  511. package/vscode/src/vs/platform/product/common/product.js +1 -1
  512. package/vscode/src/vs/platform/progress/common/progress.js +10 -47
  513. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +7 -0
  514. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +9 -8
  515. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +81 -113
  516. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +145 -0
  517. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +3 -2
  518. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +39 -13
  519. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +1 -0
  520. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +63 -85
  521. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +2 -1
  522. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +3 -2
  523. package/vscode/src/vs/platform/quickinput/common/quickAccess.d.ts +16 -0
  524. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +76 -1
  525. package/vscode/src/vs/platform/quickinput/common/quickInput.js +19 -1
  526. package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +5 -1
  527. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +29 -15
  528. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.js +8 -3
  529. package/vscode/src/vs/platform/request/common/request.js +2 -2
  530. package/vscode/src/vs/platform/storage/common/storage.js +22 -22
  531. package/vscode/src/vs/platform/telemetry/common/telemetry.js +15 -1
  532. package/vscode/src/vs/platform/telemetry/common/telemetry.service.d.ts +1 -0
  533. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +12 -12
  534. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -0
  535. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.js +14 -0
  536. package/vscode/src/vs/platform/terminal/common/terminal.js +168 -6
  537. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -15
  538. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  539. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +66 -64
  540. package/vscode/src/vs/platform/tunnel/common/tunnel.js +3 -1
  541. package/vscode/src/vs/platform/undoRedo/common/undoRedo.js +6 -1
  542. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +29 -24
  543. package/vscode/src/vs/platform/update/common/update.js +37 -10
  544. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +3 -1
  545. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +12 -3
  546. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +56 -58
  547. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +75 -8
  548. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +6 -5
  549. package/vscode/src/vs/platform/userDataSync/common/userDataSyncStoreService.js +49 -48
  550. package/vscode/src/vs/platform/window/common/window.js +24 -7
  551. package/vscode/src/vs/platform/workspace/common/workspace.js +7 -1
  552. package/vscode/src/vs/platform/workspace/common/workspaceTrust.js +7 -0
  553. package/vscode/src/vs/workbench/api/browser/statusBarService.js +12 -6
  554. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +59 -40
  555. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +27 -27
  556. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +68 -3
  557. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +19 -0
  558. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +6 -6
  559. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +115 -45
  560. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +14 -9
  561. package/vscode/src/vs/workbench/api/common/extHostComments.js +14 -12
  562. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +10 -9
  563. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.js +13 -8
  564. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +5 -3
  565. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +19 -19
  566. package/vscode/src/vs/workbench/api/common/extHostEmbedding.js +64 -0
  567. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  568. package/vscode/src/vs/workbench/api/common/extHostFileSystem.js +17 -15
  569. package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +2 -2
  570. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +13 -12
  571. package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.js +2 -1
  572. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +79 -76
  573. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +121 -87
  574. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +24 -8
  575. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +1 -0
  576. package/vscode/src/vs/workbench/api/common/extHostSCM.js +34 -28
  577. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +38 -2
  578. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -2
  579. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +7 -5
  580. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +8 -6
  581. package/vscode/src/vs/workbench/api/common/extHostTestItem.js +7 -7
  582. package/vscode/src/vs/workbench/api/common/extHostTesting.js +140 -45
  583. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +2 -1
  584. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +259 -278
  585. package/vscode/src/vs/workbench/api/common/extHostTypes.js +83 -22
  586. package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.js +23 -22
  587. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -1
  588. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +2 -2
  589. package/vscode/src/vs/workbench/api/worker/extHost.worker.services.js +3 -3
  590. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +4 -4
  591. package/vscode/src/vs/workbench/browser/actions/developerActions.js +13 -10
  592. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +95 -100
  593. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +7 -6
  594. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +8 -7
  595. package/vscode/src/vs/workbench/browser/actions/windowActions.js +24 -23
  596. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +17 -16
  597. package/vscode/src/vs/workbench/browser/codeeditor.js +12 -9
  598. package/vscode/src/vs/workbench/browser/labels.js +3 -0
  599. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +11 -8
  600. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +29 -28
  601. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +34 -33
  602. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +4 -2
  603. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +37 -33
  604. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution._autosave.js +2 -2
  605. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +2 -0
  606. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +224 -219
  607. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +30 -27
  608. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +204 -161
  609. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +151 -80
  610. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +9 -5
  611. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +4 -3
  612. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +3 -3
  613. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -3
  614. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +7 -6
  615. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +28 -22
  616. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +12 -10
  617. package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +3 -0
  618. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +19 -17
  619. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +1 -1
  620. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  621. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +218 -76
  622. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +4 -0
  623. package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +1 -0
  624. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +16 -15
  625. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +10 -11
  626. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -1
  627. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +7 -5
  628. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +12 -10
  629. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +7 -4
  630. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +13 -9
  631. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -2
  632. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +10 -8
  633. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +33 -33
  634. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +8 -6
  635. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +12 -8
  636. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +12 -6
  637. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +1 -1
  638. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +32 -36
  639. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +1 -1
  640. package/vscode/src/vs/workbench/browser/parts/titlebar/media/menubarControl.css.js +1 -1
  641. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +22 -16
  642. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +21 -14
  643. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +8 -12
  644. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.d.ts +2 -0
  645. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +13 -6
  646. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +13 -9
  647. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +57 -46
  648. package/vscode/src/vs/workbench/browser/window.js +329 -0
  649. package/vscode/src/vs/workbench/browser/workbench.contribution.js +207 -199
  650. package/vscode/src/vs/workbench/common/configuration.js +94 -20
  651. package/vscode/src/vs/workbench/common/contextkeys.js +50 -40
  652. package/vscode/src/vs/workbench/common/contributions.js +23 -22
  653. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +16 -16
  654. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +125 -63
  655. package/vscode/src/vs/workbench/common/editor/editorInput.js +6 -6
  656. package/vscode/src/vs/workbench/common/editor/editorOptions.js +5 -4
  657. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +9 -6
  658. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +13 -12
  659. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +7 -7
  660. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +3 -2
  661. package/vscode/src/vs/workbench/common/editor.d.ts +13 -11
  662. package/vscode/src/vs/workbench/common/editor.js +49 -1
  663. package/vscode/src/vs/workbench/common/memento.js +10 -9
  664. package/vscode/src/vs/workbench/common/notifications.js +32 -11
  665. package/vscode/src/vs/workbench/common/theme.js +167 -137
  666. package/vscode/src/vs/workbench/common/views.js +5 -6
  667. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +477 -378
  668. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +87 -49
  669. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +19 -29
  670. package/vscode/src/vs/workbench/contrib/accessibility/common/accessibilityCommands.js +15 -0
  671. package/vscode/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.js +6 -1
  672. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +74 -48
  673. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +10 -8
  674. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +5 -3
  675. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +3 -2
  676. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +50 -43
  677. package/vscode/src/vs/workbench/contrib/chat/browser/chatConfirmationWidget.js +47 -0
  678. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -1
  679. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +8 -21
  680. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +101 -47
  681. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +276 -140
  682. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +120 -29
  683. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +65 -0
  684. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +51 -34
  685. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  686. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +55 -34
  687. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +20 -18
  688. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  689. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  690. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatConfirmationWidget.css.js +4 -0
  691. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +7 -7
  692. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +79 -23
  693. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +2 -1
  694. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +189 -103
  695. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +9 -10
  696. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +21 -5
  697. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
  698. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +19 -12
  699. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +8 -15
  700. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +11 -2
  701. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +170 -0
  702. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +2 -1
  703. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +2 -2
  704. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +20 -12
  705. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +77 -0
  706. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +9 -89
  707. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +2 -2
  708. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js +7 -5
  709. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +4 -7
  710. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +2 -2
  711. package/vscode/src/vs/workbench/contrib/codeEditor/browser/menuPreventer.js +5 -4
  712. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +10 -6
  713. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -12
  714. package/vscode/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +2 -1
  715. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +5 -3
  716. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +2 -1
  717. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +17 -14
  718. package/vscode/src/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js +2 -2
  719. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +2 -1
  720. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +2 -1
  721. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +14 -12
  722. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +23 -15
  723. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +2 -1
  724. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -2
  725. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -1
  726. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +12 -10
  727. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +11 -14
  728. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +49 -76
  729. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +50 -40
  730. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +15 -8
  731. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +4 -2
  732. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +8 -6
  733. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +9 -8
  734. package/vscode/src/vs/workbench/contrib/comments/common/commentCommandIds.js +15 -0
  735. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +2 -1
  736. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +14 -14
  737. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +3 -2
  738. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +19 -17
  739. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +33 -32
  740. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +25 -20
  741. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +4 -3
  742. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +62 -60
  743. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +40 -4
  744. package/vscode/src/vs/workbench/contrib/debug/common/debug.service.d.ts +2 -2
  745. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +4 -1
  746. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +15 -16
  747. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +2 -1
  748. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +118 -109
  749. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  750. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +24 -1
  751. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -1
  752. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +4 -2
  753. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +3 -2
  754. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +23 -16
  755. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +12 -9
  756. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +3 -2
  757. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +14 -12
  758. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +10 -2
  759. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +9 -7
  760. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +12 -9
  761. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +23 -22
  762. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +13 -11
  763. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +25 -25
  764. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +7 -7
  765. package/vscode/src/vs/workbench/contrib/files/browser/files.js +8 -1
  766. package/vscode/src/vs/workbench/contrib/files/browser/media/explorerviewlet.css.js +1 -1
  767. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -2
  768. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +16 -10
  769. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +55 -111
  770. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +42 -35
  771. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +2 -1
  772. package/vscode/src/vs/workbench/contrib/files/common/explorerFileNestingTrie.js +15 -8
  773. package/vscode/src/vs/workbench/contrib/files/common/explorerModel.js +5 -3
  774. package/vscode/src/vs/workbench/contrib/files/common/files.js +25 -2
  775. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +2 -1
  776. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +8 -6
  777. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +7 -4
  778. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +2 -2
  779. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +6 -4
  780. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +82 -137
  781. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +11 -8
  782. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +292 -328
  783. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +69 -67
  784. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +79 -417
  785. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +50 -61
  786. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +32 -124
  787. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +41 -20
  788. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  789. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +5 -1
  790. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +59 -53
  791. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +5 -4
  792. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +2 -2
  793. package/vscode/src/vs/workbench/contrib/markers/common/markers.js +7 -2
  794. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +3 -3
  795. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +15 -13
  796. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +1 -1
  797. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +3 -2
  798. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +26 -20
  799. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +13 -8
  800. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +22 -10
  801. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +5 -11
  802. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +4 -3
  803. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -57
  804. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +25 -1
  805. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -6
  806. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +103 -23
  807. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +6 -5
  808. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +16 -15
  809. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -2
  810. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +137 -261
  811. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +26 -8
  812. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +25 -23
  813. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +23 -21
  814. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +1 -1
  815. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +4 -2
  816. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +21 -1
  817. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +16 -11
  818. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +36 -18
  819. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +24 -13
  820. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +1 -1
  821. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +8 -7
  822. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +3 -3
  823. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +5 -3
  824. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +1 -1
  825. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +17 -10
  826. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +14 -9
  827. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +3 -2
  828. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellWidgets.js +7 -0
  829. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +11 -1
  830. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -1
  831. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +15 -5
  832. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +7 -4
  833. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +36 -25
  834. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +14 -3
  835. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +20 -10
  836. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +2 -1
  837. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +2 -1
  838. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +7 -10
  839. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +3 -2
  840. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +2 -2
  841. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +19 -9
  842. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +5 -3
  843. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +5 -4
  844. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +15 -11
  845. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +2 -2
  846. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +4 -3
  847. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +35 -2
  848. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +14 -12
  849. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +41 -15
  850. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +8 -2
  851. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +5 -3
  852. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +29 -23
  853. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +1 -1
  854. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +31 -24
  855. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +11 -8
  856. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +29 -27
  857. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +2 -2
  858. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +27 -45
  859. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +13 -1
  860. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +785 -0
  861. package/vscode/src/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +4 -0
  862. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  863. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +23 -22
  864. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +36 -32
  865. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +222 -0
  866. package/vscode/src/vs/workbench/contrib/search/common/cacheState.js +85 -0
  867. package/vscode/src/vs/workbench/contrib/search/common/cellSearchModel.js +3 -2
  868. package/vscode/src/vs/workbench/contrib/search/common/constants.js +49 -1
  869. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +6 -5
  870. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +8 -2
  871. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +16 -13
  872. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +11 -11
  873. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +47 -30
  874. package/vscode/src/vs/workbench/contrib/tags/browser/workspaceTagsService.js +1 -0
  875. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +80 -11
  876. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +5 -3
  877. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.js +27 -1
  878. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +8 -5
  879. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +721 -0
  880. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +9 -8
  881. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +0 -9
  882. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -5
  883. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +166 -71
  884. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +92 -144
  885. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +41 -0
  886. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminal.accessibility.js +12 -0
  887. package/vscode/src/vs/workbench/contrib/terminalContrib/find/common/terminal.find.js +22 -0
  888. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminal.suggest.js +18 -0
  889. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +103 -0
  890. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +4 -3
  891. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +79 -22
  892. package/vscode/src/vs/workbench/contrib/testing/common/testId.js +46 -18
  893. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +51 -41
  894. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +33 -19
  895. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +108 -38
  896. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +19 -18
  897. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.js +1 -2
  898. package/vscode/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.js +6 -1
  899. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.js +77 -0
  900. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.service.js +3 -0
  901. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +119 -0
  902. package/vscode/src/vs/workbench/contrib/webview/browser/webview.js +9 -2
  903. package/vscode/src/vs/workbench/contrib/webview/common/webview.js +4 -3
  904. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +3 -2
  905. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +2 -1
  906. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +2 -1
  907. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.js +22 -10
  908. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +25 -9
  909. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +370 -0
  910. package/vscode/src/vs/workbench/services/configuration/common/configuration.js +8 -7
  911. package/vscode/src/vs/workbench/services/driver/browser/driver.js +187 -0
  912. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +3 -1
  913. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +42 -29
  914. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +1 -0
  915. package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.js +5 -5
  916. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +5 -5
  917. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +36 -1
  918. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  919. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +11 -2
  920. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +6 -1
  921. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +3 -0
  922. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +1 -0
  923. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +20 -1
  924. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  925. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.js +11 -0
  926. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +4 -7
  927. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +8 -2
  928. package/vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js +16 -10
  929. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.js +18 -7
  930. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.js +1 -0
  931. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.js +4 -3
  932. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +17 -6
  933. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +4 -4
  934. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.d.ts +2 -1
  935. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +5 -0
  936. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +103 -64
  937. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +31 -15
  938. package/vscode/src/vs/workbench/services/{views/browser/treeViewsService.service.js → integrity/common/integrity.service.js} +2 -2
  939. package/vscode/src/vs/workbench/services/language/common/languageService.js +2 -1
  940. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +71 -24
  941. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.js +28 -8
  942. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +11 -11
  943. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +1 -0
  944. package/vscode/src/vs/workbench/services/outline/browser/outline.js +22 -0
  945. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +10 -9
  946. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +19 -17
  947. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +4 -2
  948. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +16 -16
  949. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +3 -2
  950. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +9 -9
  951. package/vscode/src/vs/workbench/services/search/common/replace.js +12 -11
  952. package/vscode/src/vs/workbench/services/search/common/search.js +32 -1
  953. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +6 -6
  954. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.js +6 -1
  955. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +13 -13
  956. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +6 -2
  957. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -0
  958. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +28 -27
  959. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +27 -3
  960. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +2 -2
  961. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +2 -2
  962. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +43 -1
  963. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +2 -2
  964. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +2 -2
  965. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +12 -11
  966. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +19 -13
  967. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +29 -25
  968. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.js +6 -0
  969. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +3 -2
  970. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +52 -32
  971. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopy.js +7 -1
  972. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +17 -14
  973. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -0
  974. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +90 -97
  975. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +76 -0
  976. package/vscode-dts/vscode.proposed.chatProvider.d.ts +24 -7
  977. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +82 -2
  978. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +0 -5
  979. package/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts +2 -2
  980. package/vscode-dts/vscode.proposed.embeddings.d.ts +33 -0
  981. package/vscode-dts/vscode.proposed.interactive.d.ts +2 -110
  982. package/vscode-dts/vscode.proposed.languageModelSystem.d.ts +17 -0
  983. package/vscode-dts/vscode.proposed.resolvers.d.ts +2 -1
  984. package/vscode-dts/vscode.proposed.speech.d.ts +26 -6
  985. package/vscode-dts/vscode.proposed.testObserver.d.ts +9 -0
  986. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +0 -194
  987. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +0 -876
  988. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewContributions.js +0 -407
  989. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +0 -196
  990. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.service.js +0 -3
  991. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.js +0 -595
  992. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnostics.js +0 -102
  993. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +0 -458
  994. package/vscode-dts/vscode.proposed.debugFocus.d.ts +0 -66
  995. package/vscode-dts/vscode.proposed.languageModels.d.ts +0 -291
  996. package/vscode-dts/vscode.proposed.testPreserveFocus.d.ts +0 -28
  997. /package/vscode/src/vs/workbench/{services → contrib}/issue/browser/issueTroubleshoot.service.js +0 -0
  998. /package/vscode/src/vs/workbench/{services → contrib}/issue/common/issue.service.js +0 -0
@@ -1,4 +1,5 @@
1
1
  import { findLastIdxMonotonous, findLastMonotonous, findFirstMonotonous } from '../../../../base/common/arraysFind.js';
2
+ import { CharCode } from '../../../../base/common/charCode.js';
2
3
  import { OffsetRange } from '../../core/offsetRange.js';
3
4
  import { Position } from '../../core/position.js';
4
5
  import { Range } from '../../core/range.js';
@@ -59,16 +60,16 @@ class LinesSliceCharSequence {
59
60
  getBoundaryScore(length) {
60
61
  const prevCategory = getCategory(length > 0 ? this.elements[length - 1] : -1);
61
62
  const nextCategory = getCategory(length < this.elements.length ? this.elements[length] : -1);
62
- if (prevCategory === 7 && nextCategory === 8 ) {
63
+ if (prevCategory === CharBoundaryCategory.LineBreakCR && nextCategory === CharBoundaryCategory.LineBreakLF) {
63
64
  return 0;
64
65
  }
65
- if (prevCategory === 8 ) {
66
+ if (prevCategory === CharBoundaryCategory.LineBreakLF) {
66
67
  return 150;
67
68
  }
68
69
  let score = 0;
69
70
  if (prevCategory !== nextCategory) {
70
71
  score += 10;
71
- if (prevCategory === 0 && nextCategory === 1 ) {
72
+ if (prevCategory === CharBoundaryCategory.WordLower && nextCategory === CharBoundaryCategory.WordUpper) {
72
73
  score += 1;
73
74
  }
74
75
  }
@@ -119,51 +120,63 @@ class LinesSliceCharSequence {
119
120
  }
120
121
  }
121
122
  function isWordChar(charCode) {
122
- return charCode >= 97 && charCode <= 122
123
- || charCode >= 65 && charCode <= 90
124
- || charCode >= 48 && charCode <= 57 ;
123
+ return charCode >= CharCode.a && charCode <= CharCode.z
124
+ || charCode >= CharCode.A && charCode <= CharCode.Z
125
+ || charCode >= CharCode.Digit0 && charCode <= CharCode.Digit9;
125
126
  }
127
+ var CharBoundaryCategory;
128
+ ( (function(CharBoundaryCategory) {
129
+ CharBoundaryCategory[CharBoundaryCategory["WordLower"] = 0] = "WordLower";
130
+ CharBoundaryCategory[CharBoundaryCategory["WordUpper"] = 1] = "WordUpper";
131
+ CharBoundaryCategory[CharBoundaryCategory["WordNumber"] = 2] = "WordNumber";
132
+ CharBoundaryCategory[CharBoundaryCategory["End"] = 3] = "End";
133
+ CharBoundaryCategory[CharBoundaryCategory["Other"] = 4] = "Other";
134
+ CharBoundaryCategory[CharBoundaryCategory["Separator"] = 5] = "Separator";
135
+ CharBoundaryCategory[CharBoundaryCategory["Space"] = 6] = "Space";
136
+ CharBoundaryCategory[CharBoundaryCategory["LineBreakCR"] = 7] = "LineBreakCR";
137
+ CharBoundaryCategory[CharBoundaryCategory["LineBreakLF"] = 8] = "LineBreakLF";
138
+ })(CharBoundaryCategory || (CharBoundaryCategory = {})));
126
139
  const score = {
127
- [0 ]: 0,
128
- [1 ]: 0,
129
- [2 ]: 0,
130
- [3 ]: 10,
131
- [4 ]: 2,
132
- [5 ]: 30,
133
- [6 ]: 3,
134
- [7 ]: 10,
135
- [8 ]: 10,
140
+ [CharBoundaryCategory.WordLower]: 0,
141
+ [CharBoundaryCategory.WordUpper]: 0,
142
+ [CharBoundaryCategory.WordNumber]: 0,
143
+ [CharBoundaryCategory.End]: 10,
144
+ [CharBoundaryCategory.Other]: 2,
145
+ [CharBoundaryCategory.Separator]: 30,
146
+ [CharBoundaryCategory.Space]: 3,
147
+ [CharBoundaryCategory.LineBreakCR]: 10,
148
+ [CharBoundaryCategory.LineBreakLF]: 10,
136
149
  };
137
150
  function getCategoryBoundaryScore(category) {
138
151
  return score[category];
139
152
  }
140
153
  function getCategory(charCode) {
141
- if (charCode === 10 ) {
142
- return 8 ;
154
+ if (charCode === CharCode.LineFeed) {
155
+ return CharBoundaryCategory.LineBreakLF;
143
156
  }
144
- else if (charCode === 13 ) {
145
- return 7 ;
157
+ else if (charCode === CharCode.CarriageReturn) {
158
+ return CharBoundaryCategory.LineBreakCR;
146
159
  }
147
160
  else if (isSpace(charCode)) {
148
- return 6 ;
161
+ return CharBoundaryCategory.Space;
149
162
  }
150
- else if (charCode >= 97 && charCode <= 122 ) {
151
- return 0 ;
163
+ else if (charCode >= CharCode.a && charCode <= CharCode.z) {
164
+ return CharBoundaryCategory.WordLower;
152
165
  }
153
- else if (charCode >= 65 && charCode <= 90 ) {
154
- return 1 ;
166
+ else if (charCode >= CharCode.A && charCode <= CharCode.Z) {
167
+ return CharBoundaryCategory.WordUpper;
155
168
  }
156
- else if (charCode >= 48 && charCode <= 57 ) {
157
- return 2 ;
169
+ else if (charCode >= CharCode.Digit0 && charCode <= CharCode.Digit9) {
170
+ return CharBoundaryCategory.WordNumber;
158
171
  }
159
172
  else if (charCode === -1) {
160
- return 3 ;
173
+ return CharBoundaryCategory.End;
161
174
  }
162
- else if (charCode === 44 || charCode === 59 ) {
163
- return 5 ;
175
+ else if (charCode === CharCode.Comma || charCode === CharCode.Semicolon) {
176
+ return CharBoundaryCategory.Separator;
164
177
  }
165
178
  else {
166
- return 4 ;
179
+ return CharBoundaryCategory.Other;
167
180
  }
168
181
  }
169
182
  export { LinesSliceCharSequence };
@@ -1,3 +1,4 @@
1
+ import { CharCode } from '../../../../base/common/charCode.js';
1
2
  class Array2D {
2
3
  constructor(width, height) {
3
4
  this.width = width;
@@ -13,7 +14,7 @@ class Array2D {
13
14
  }
14
15
  }
15
16
  function isSpace(charCode) {
16
- return charCode === 32 || charCode === 9 ;
17
+ return charCode === CharCode.Space || charCode === CharCode.Tab;
17
18
  }
18
19
  class LineRangeFragment {
19
20
  static { this.chrKeys = ( new Map()); }
@@ -1,3 +1,4 @@
1
+ import { CharCode } from '../../../base/common/charCode.js';
1
2
  import { LcsDiff } from '../../../base/common/diff/diff.js';
2
3
  import { LinesDiff } from './linesDiffComputer.js';
3
4
  import { DetailedLineRangeMapping, RangeMapping } from './rangeMapping.js';
@@ -115,7 +116,7 @@ class LineSequence {
115
116
  len++;
116
117
  }
117
118
  if (!shouldIgnoreTrimWhitespace && index < endIndex) {
118
- charCodes[len] = 10 ;
119
+ charCodes[len] = CharCode.LineFeed;
119
120
  lineNumbers[len] = index + 1;
120
121
  columns[len] = lineContent.length + 1;
121
122
  len++;
@@ -132,7 +133,7 @@ class CharSequence {
132
133
  }
133
134
  toString() {
134
135
  return ('[' + ( this._charCodes.map(
135
- (s, idx) => (s === 10 ? '\\n' : String.fromCharCode(s)) + `-(${this._lineNumbers[idx]},${this._columns[idx]})`
136
+ (s, idx) => (s === CharCode.LineFeed ? '\\n' : String.fromCharCode(s)) + `-(${this._lineNumbers[idx]},${this._columns[idx]})`
136
137
  )).join(', ') + ']');
137
138
  }
138
139
  _assertIndex(index, arr) {
@@ -155,7 +156,7 @@ class CharSequence {
155
156
  return this.getStartLineNumber(i + 1);
156
157
  }
157
158
  this._assertIndex(i, this._lineNumbers);
158
- if (this._charCodes[i] === 10 ) {
159
+ if (this._charCodes[i] === CharCode.LineFeed) {
159
160
  return this._lineNumbers[i] + 1;
160
161
  }
161
162
  return this._lineNumbers[i];
@@ -172,7 +173,7 @@ class CharSequence {
172
173
  return this.getStartColumn(i + 1);
173
174
  }
174
175
  this._assertIndex(i, this._columns);
175
- if (this._charCodes[i] === 10 ) {
176
+ if (this._charCodes[i] === CharCode.LineFeed) {
176
177
  return 1;
177
178
  }
178
179
  return this._columns[i] + 1;
@@ -1,3 +1,8 @@
1
+ var ScrollType;
2
+ ( (function(ScrollType) {
3
+ ScrollType[ScrollType["Smooth"] = 0] = "Smooth";
4
+ ScrollType[ScrollType["Immediate"] = 1] = "Immediate";
5
+ })(ScrollType || (ScrollType = {})));
1
6
  function isThemeColor(o) {
2
7
  return o && typeof o.id === 'string';
3
8
  }
@@ -5,4 +10,14 @@ const EditorType = {
5
10
  ICodeEditor: 'vs.editor.ICodeEditor',
6
11
  IDiffEditor: 'vs.editor.IDiffEditor'
7
12
  };
8
- export { EditorType, isThemeColor };
13
+ var Handler;
14
+ ( (function(Handler) {
15
+ Handler["CompositionStart"] = "compositionStart";
16
+ Handler["CompositionEnd"] = "compositionEnd";
17
+ Handler["Type"] = "type";
18
+ Handler["ReplacePreviousChar"] = "replacePreviousChar";
19
+ Handler["CompositionType"] = "compositionType";
20
+ Handler["Paste"] = "paste";
21
+ Handler["Cut"] = "cut";
22
+ })(Handler || (Handler = {})));
23
+ export { EditorType, Handler, ScrollType, isThemeColor };
@@ -1,36 +1,88 @@
1
+ var LanguageId;
2
+ ( (function(LanguageId) {
3
+ LanguageId[LanguageId["Null"] = 0] = "Null";
4
+ LanguageId[LanguageId["PlainText"] = 1] = "PlainText";
5
+ })(LanguageId || (LanguageId = {})));
6
+ var FontStyle;
7
+ ( (function(FontStyle) {
8
+ FontStyle[FontStyle["NotSet"] = -1] = "NotSet";
9
+ FontStyle[FontStyle["None"] = 0] = "None";
10
+ FontStyle[FontStyle["Italic"] = 1] = "Italic";
11
+ FontStyle[FontStyle["Bold"] = 2] = "Bold";
12
+ FontStyle[FontStyle["Underline"] = 4] = "Underline";
13
+ FontStyle[FontStyle["Strikethrough"] = 8] = "Strikethrough";
14
+ })(FontStyle || (FontStyle = {})));
15
+ var ColorId;
16
+ ( (function(ColorId) {
17
+ ColorId[ColorId["None"] = 0] = "None";
18
+ ColorId[ColorId["DefaultForeground"] = 1] = "DefaultForeground";
19
+ ColorId[ColorId["DefaultBackground"] = 2] = "DefaultBackground";
20
+ })(ColorId || (ColorId = {})));
21
+ var StandardTokenType;
22
+ ( (function(StandardTokenType) {
23
+ StandardTokenType[StandardTokenType["Other"] = 0] = "Other";
24
+ StandardTokenType[StandardTokenType["Comment"] = 1] = "Comment";
25
+ StandardTokenType[StandardTokenType["String"] = 2] = "String";
26
+ StandardTokenType[StandardTokenType["RegEx"] = 3] = "RegEx";
27
+ })(StandardTokenType || (StandardTokenType = {})));
28
+ var MetadataConsts;
29
+ ( (function(MetadataConsts) {
30
+ MetadataConsts[MetadataConsts["LANGUAGEID_MASK"] = 255] = "LANGUAGEID_MASK";
31
+ MetadataConsts[MetadataConsts["TOKEN_TYPE_MASK"] = 768] = "TOKEN_TYPE_MASK";
32
+ MetadataConsts[MetadataConsts["BALANCED_BRACKETS_MASK"] = 1024] = "BALANCED_BRACKETS_MASK";
33
+ MetadataConsts[MetadataConsts["FONT_STYLE_MASK"] = 30720] = "FONT_STYLE_MASK";
34
+ MetadataConsts[MetadataConsts["FOREGROUND_MASK"] = 16744448] = "FOREGROUND_MASK";
35
+ MetadataConsts[MetadataConsts["BACKGROUND_MASK"] = 4278190080] = "BACKGROUND_MASK";
36
+ MetadataConsts[MetadataConsts["ITALIC_MASK"] = 2048] = "ITALIC_MASK";
37
+ MetadataConsts[MetadataConsts["BOLD_MASK"] = 4096] = "BOLD_MASK";
38
+ MetadataConsts[MetadataConsts["UNDERLINE_MASK"] = 8192] = "UNDERLINE_MASK";
39
+ MetadataConsts[MetadataConsts["STRIKETHROUGH_MASK"] = 16384] = "STRIKETHROUGH_MASK";
40
+ MetadataConsts[MetadataConsts["SEMANTIC_USE_ITALIC"] = 1] = "SEMANTIC_USE_ITALIC";
41
+ MetadataConsts[MetadataConsts["SEMANTIC_USE_BOLD"] = 2] = "SEMANTIC_USE_BOLD";
42
+ MetadataConsts[MetadataConsts["SEMANTIC_USE_UNDERLINE"] = 4] = "SEMANTIC_USE_UNDERLINE";
43
+ MetadataConsts[MetadataConsts["SEMANTIC_USE_STRIKETHROUGH"] = 8] = "SEMANTIC_USE_STRIKETHROUGH";
44
+ MetadataConsts[MetadataConsts["SEMANTIC_USE_FOREGROUND"] = 16] = "SEMANTIC_USE_FOREGROUND";
45
+ MetadataConsts[MetadataConsts["SEMANTIC_USE_BACKGROUND"] = 32] = "SEMANTIC_USE_BACKGROUND";
46
+ MetadataConsts[MetadataConsts["LANGUAGEID_OFFSET"] = 0] = "LANGUAGEID_OFFSET";
47
+ MetadataConsts[MetadataConsts["TOKEN_TYPE_OFFSET"] = 8] = "TOKEN_TYPE_OFFSET";
48
+ MetadataConsts[MetadataConsts["BALANCED_BRACKETS_OFFSET"] = 10] = "BALANCED_BRACKETS_OFFSET";
49
+ MetadataConsts[MetadataConsts["FONT_STYLE_OFFSET"] = 11] = "FONT_STYLE_OFFSET";
50
+ MetadataConsts[MetadataConsts["FOREGROUND_OFFSET"] = 15] = "FOREGROUND_OFFSET";
51
+ MetadataConsts[MetadataConsts["BACKGROUND_OFFSET"] = 24] = "BACKGROUND_OFFSET";
52
+ })(MetadataConsts || (MetadataConsts = {})));
1
53
  class TokenMetadata {
2
54
  static getLanguageId(metadata) {
3
- return ((metadata & 255) ) >>> 0 ;
55
+ return (metadata & MetadataConsts.LANGUAGEID_MASK) >>> MetadataConsts.LANGUAGEID_OFFSET;
4
56
  }
5
57
  static getTokenType(metadata) {
6
- return ((metadata & 768) ) >>> 8 ;
58
+ return (metadata & MetadataConsts.TOKEN_TYPE_MASK) >>> MetadataConsts.TOKEN_TYPE_OFFSET;
7
59
  }
8
60
  static containsBalancedBrackets(metadata) {
9
- return ((metadata & 1024) ) !== 0;
61
+ return (metadata & MetadataConsts.BALANCED_BRACKETS_MASK) !== 0;
10
62
  }
11
63
  static getFontStyle(metadata) {
12
- return ((metadata & 30720) ) >>> 11 ;
64
+ return (metadata & MetadataConsts.FONT_STYLE_MASK) >>> MetadataConsts.FONT_STYLE_OFFSET;
13
65
  }
14
66
  static getForeground(metadata) {
15
- return ((metadata & 16744448) ) >>> 15 ;
67
+ return (metadata & MetadataConsts.FOREGROUND_MASK) >>> MetadataConsts.FOREGROUND_OFFSET;
16
68
  }
17
69
  static getBackground(metadata) {
18
- return ((metadata & 4278190080) ) >>> 24 ;
70
+ return (metadata & MetadataConsts.BACKGROUND_MASK) >>> MetadataConsts.BACKGROUND_OFFSET;
19
71
  }
20
72
  static getClassNameFromMetadata(metadata) {
21
73
  const foreground = this.getForeground(metadata);
22
74
  let className = 'mtk' + foreground;
23
75
  const fontStyle = this.getFontStyle(metadata);
24
- if (fontStyle & 1 ) {
76
+ if (fontStyle & FontStyle.Italic) {
25
77
  className += ' mtki';
26
78
  }
27
- if (fontStyle & 2 ) {
79
+ if (fontStyle & FontStyle.Bold) {
28
80
  className += ' mtkb';
29
81
  }
30
- if (fontStyle & 4 ) {
82
+ if (fontStyle & FontStyle.Underline) {
31
83
  className += ' mtku';
32
84
  }
33
- if (fontStyle & 8 ) {
85
+ if (fontStyle & FontStyle.Strikethrough) {
34
86
  className += ' mtks';
35
87
  }
36
88
  return className;
@@ -39,17 +91,17 @@ class TokenMetadata {
39
91
  const foreground = this.getForeground(metadata);
40
92
  const fontStyle = this.getFontStyle(metadata);
41
93
  let result = `color: ${colorMap[foreground]};`;
42
- if (fontStyle & 1 ) {
94
+ if (fontStyle & FontStyle.Italic) {
43
95
  result += 'font-style: italic;';
44
96
  }
45
- if (fontStyle & 2 ) {
97
+ if (fontStyle & FontStyle.Bold) {
46
98
  result += 'font-weight: bold;';
47
99
  }
48
100
  let textDecoration = '';
49
- if (fontStyle & 4 ) {
101
+ if (fontStyle & FontStyle.Underline) {
50
102
  textDecoration += ' underline';
51
103
  }
52
- if (fontStyle & 8 ) {
104
+ if (fontStyle & FontStyle.Strikethrough) {
53
105
  textDecoration += ' line-through';
54
106
  }
55
107
  if (textDecoration) {
@@ -62,11 +114,11 @@ class TokenMetadata {
62
114
  const fontStyle = this.getFontStyle(metadata);
63
115
  return {
64
116
  foreground: foreground,
65
- italic: Boolean(fontStyle & 1 ),
66
- bold: Boolean(fontStyle & 2 ),
67
- underline: Boolean(fontStyle & 4 ),
68
- strikethrough: Boolean(fontStyle & 8 ),
117
+ italic: Boolean(fontStyle & FontStyle.Italic),
118
+ bold: Boolean(fontStyle & FontStyle.Bold),
119
+ underline: Boolean(fontStyle & FontStyle.Underline),
120
+ strikethrough: Boolean(fontStyle & FontStyle.Strikethrough),
69
121
  };
70
122
  }
71
123
  }
72
- export { TokenMetadata };
124
+ export { ColorId, FontStyle, LanguageId, MetadataConsts, StandardTokenType, TokenMetadata };
@@ -1,8 +1,9 @@
1
1
  import { getLeadingWhitespace } from '../../../base/common/strings.js';
2
2
  import { IndentAction } from './languageConfiguration.js';
3
- import { createScopedLineTokens } from './supports.js';
4
- import { getScopedLineTokens } from './languageConfigurationRegistry.js';
5
- function getPrecedingValidLine(model, lineNumber, indentRulesSupport) {
3
+ import { IndentConsts } from './supports/indentRules.js';
4
+ import { EditorAutoIndentStrategy } from '../config/editorOptions.js';
5
+ import { ProcessedIndentRulesSupport, isLanguageDifferentFromLineStart, IndentationContextProcessor } from './supports/indentationLineProcessor.js';
6
+ function getPrecedingValidLine(model, lineNumber, processedIndentRulesSupport) {
6
7
  const languageId = model.tokenization.getLanguageIdAtPosition(lineNumber, 0);
7
8
  if (lineNumber > 1) {
8
9
  let lastLineNumber;
@@ -12,7 +13,7 @@ function getPrecedingValidLine(model, lineNumber, indentRulesSupport) {
12
13
  return resultLineNumber;
13
14
  }
14
15
  const text = model.getLineContent(lastLineNumber);
15
- if (indentRulesSupport.shouldIgnore(text) || /^\s+$/.test(text) || text === '') {
16
+ if (processedIndentRulesSupport.shouldIgnore(lastLineNumber) || /^\s+$/.test(text) || text === '') {
16
17
  resultLineNumber = lastLineNumber;
17
18
  continue;
18
19
  }
@@ -22,13 +23,14 @@ function getPrecedingValidLine(model, lineNumber, indentRulesSupport) {
22
23
  return -1;
23
24
  }
24
25
  function getInheritIndentForLine(autoIndent, model, lineNumber, honorIntentialIndent = true, languageConfigurationService) {
25
- if (autoIndent < 4 ) {
26
+ if (autoIndent < EditorAutoIndentStrategy.Full) {
26
27
  return null;
27
28
  }
28
29
  const indentRulesSupport = languageConfigurationService.getLanguageConfiguration(model.tokenization.getLanguageId()).indentRulesSupport;
29
30
  if (!indentRulesSupport) {
30
31
  return null;
31
32
  }
33
+ const processedIndentRulesSupport = ( new ProcessedIndentRulesSupport(model, indentRulesSupport, languageConfigurationService));
32
34
  if (lineNumber <= 1) {
33
35
  return {
34
36
  indentation: '',
@@ -46,7 +48,7 @@ function getInheritIndentForLine(autoIndent, model, lineNumber, honorIntentialIn
46
48
  };
47
49
  }
48
50
  }
49
- const precedingUnIgnoredLine = getPrecedingValidLine(model, lineNumber, indentRulesSupport);
51
+ const precedingUnIgnoredLine = getPrecedingValidLine(model, lineNumber, processedIndentRulesSupport);
50
52
  if (precedingUnIgnoredLine < 0) {
51
53
  return null;
52
54
  }
@@ -56,15 +58,16 @@ function getInheritIndentForLine(autoIndent, model, lineNumber, honorIntentialIn
56
58
  action: null
57
59
  };
58
60
  }
59
- const precedingUnIgnoredLineContent = model.getLineContent(precedingUnIgnoredLine);
60
- if (indentRulesSupport.shouldIncrease(precedingUnIgnoredLineContent) || indentRulesSupport.shouldIndentNextLine(precedingUnIgnoredLineContent)) {
61
+ if (processedIndentRulesSupport.shouldIncrease(precedingUnIgnoredLine) || processedIndentRulesSupport.shouldIndentNextLine(precedingUnIgnoredLine)) {
62
+ const precedingUnIgnoredLineContent = model.getLineContent(precedingUnIgnoredLine);
61
63
  return {
62
64
  indentation: getLeadingWhitespace(precedingUnIgnoredLineContent),
63
65
  action: IndentAction.Indent,
64
66
  line: precedingUnIgnoredLine
65
67
  };
66
68
  }
67
- else if (indentRulesSupport.shouldDecrease(precedingUnIgnoredLineContent)) {
69
+ else if (processedIndentRulesSupport.shouldDecrease(precedingUnIgnoredLine)) {
70
+ const precedingUnIgnoredLineContent = model.getLineContent(precedingUnIgnoredLine);
68
71
  return {
69
72
  indentation: getLeadingWhitespace(precedingUnIgnoredLineContent),
70
73
  action: null,
@@ -81,11 +84,11 @@ function getInheritIndentForLine(autoIndent, model, lineNumber, honorIntentialIn
81
84
  }
82
85
  const previousLine = precedingUnIgnoredLine - 1;
83
86
  const previousLineIndentMetadata = indentRulesSupport.getIndentMetadata(model.getLineContent(previousLine));
84
- if (!(previousLineIndentMetadata & (1 | 2 )) &&
85
- (previousLineIndentMetadata & 4 )) {
87
+ if (!(previousLineIndentMetadata & (IndentConsts.INCREASE_MASK | IndentConsts.DECREASE_MASK)) &&
88
+ (previousLineIndentMetadata & IndentConsts.INDENT_NEXTLINE_MASK)) {
86
89
  let stopLine = 0;
87
90
  for (let i = previousLine - 1; i > 0; i--) {
88
- if (indentRulesSupport.shouldIndentNextLine(model.getLineContent(i))) {
91
+ if (processedIndentRulesSupport.shouldIndentNextLine(i)) {
89
92
  continue;
90
93
  }
91
94
  stopLine = i;
@@ -106,18 +109,17 @@ function getInheritIndentForLine(autoIndent, model, lineNumber, honorIntentialIn
106
109
  }
107
110
  else {
108
111
  for (let i = precedingUnIgnoredLine; i > 0; i--) {
109
- const lineContent = model.getLineContent(i);
110
- if (indentRulesSupport.shouldIncrease(lineContent)) {
112
+ if (processedIndentRulesSupport.shouldIncrease(i)) {
111
113
  return {
112
- indentation: getLeadingWhitespace(lineContent),
114
+ indentation: getLeadingWhitespace(model.getLineContent(i)),
113
115
  action: IndentAction.Indent,
114
116
  line: i
115
117
  };
116
118
  }
117
- else if (indentRulesSupport.shouldIndentNextLine(lineContent)) {
119
+ else if (processedIndentRulesSupport.shouldIndentNextLine(i)) {
118
120
  let stopLine = 0;
119
121
  for (let j = i - 1; j > 0; j--) {
120
- if (indentRulesSupport.shouldIndentNextLine(model.getLineContent(i))) {
122
+ if (processedIndentRulesSupport.shouldIndentNextLine(i)) {
121
123
  continue;
122
124
  }
123
125
  stopLine = j;
@@ -129,9 +131,9 @@ function getInheritIndentForLine(autoIndent, model, lineNumber, honorIntentialIn
129
131
  line: stopLine + 1
130
132
  };
131
133
  }
132
- else if (indentRulesSupport.shouldDecrease(lineContent)) {
134
+ else if (processedIndentRulesSupport.shouldDecrease(i)) {
133
135
  return {
134
- indentation: getLeadingWhitespace(lineContent),
136
+ indentation: getLeadingWhitespace(model.getLineContent(i)),
135
137
  action: null,
136
138
  line: i
137
139
  };
@@ -146,7 +148,7 @@ function getInheritIndentForLine(autoIndent, model, lineNumber, honorIntentialIn
146
148
  }
147
149
  }
148
150
  function getGoodIndentForLine(autoIndent, virtualModel, languageId, lineNumber, indentConverter, languageConfigurationService) {
149
- if (autoIndent < 4 ) {
151
+ if (autoIndent < EditorAutoIndentStrategy.Full) {
150
152
  return null;
151
153
  }
152
154
  const richEditSupport = languageConfigurationService.getLanguageConfiguration(languageId);
@@ -157,8 +159,8 @@ function getGoodIndentForLine(autoIndent, virtualModel, languageId, lineNumber,
157
159
  if (!indentRulesSupport) {
158
160
  return null;
159
161
  }
162
+ const processedIndentRulesSupport = ( new ProcessedIndentRulesSupport(virtualModel, indentRulesSupport, languageConfigurationService));
160
163
  const indent = getInheritIndentForLine(autoIndent, virtualModel, lineNumber, undefined, languageConfigurationService);
161
- const lineContent = virtualModel.getLineContent(lineNumber);
162
164
  if (indent) {
163
165
  const inheritLine = indent.line;
164
166
  if (inheritLine !== undefined) {
@@ -183,7 +185,7 @@ function getGoodIndentForLine(autoIndent, virtualModel, languageId, lineNumber,
183
185
  else if (enterResult.indentAction === IndentAction.Outdent) {
184
186
  indentation = indentConverter.unshiftIndent(indentation);
185
187
  }
186
- if (indentRulesSupport.shouldDecrease(lineContent)) {
188
+ if (processedIndentRulesSupport.shouldDecrease(lineNumber)) {
187
189
  indentation = indentConverter.unshiftIndent(indentation);
188
190
  }
189
191
  if (enterResult.appendText) {
@@ -193,7 +195,7 @@ function getGoodIndentForLine(autoIndent, virtualModel, languageId, lineNumber,
193
195
  }
194
196
  }
195
197
  }
196
- if (indentRulesSupport.shouldDecrease(lineContent)) {
198
+ if (processedIndentRulesSupport.shouldDecrease(lineNumber)) {
197
199
  if (indent.action === IndentAction.Indent) {
198
200
  return indent.indentation;
199
201
  }
@@ -213,101 +215,64 @@ function getGoodIndentForLine(autoIndent, virtualModel, languageId, lineNumber,
213
215
  return null;
214
216
  }
215
217
  function getIndentForEnter(autoIndent, model, range, indentConverter, languageConfigurationService) {
216
- if (autoIndent < 4 ) {
218
+ if (autoIndent < EditorAutoIndentStrategy.Full) {
217
219
  return null;
218
220
  }
219
- model.tokenization.forceTokenization(range.startLineNumber);
220
- const lineTokens = model.tokenization.getLineTokens(range.startLineNumber);
221
- const scopedLineTokens = createScopedLineTokens(lineTokens, range.startColumn - 1);
222
- const scopedLineText = scopedLineTokens.getLineContent();
223
- let embeddedLanguage = false;
224
- let beforeEnterText;
225
- if (scopedLineTokens.firstCharOffset > 0 && lineTokens.getLanguageId(0) !== scopedLineTokens.languageId) {
226
- embeddedLanguage = true;
227
- beforeEnterText = scopedLineText.substr(0, range.startColumn - 1 - scopedLineTokens.firstCharOffset);
228
- }
229
- else {
230
- beforeEnterText = lineTokens.getLineContent().substring(0, range.startColumn - 1);
231
- }
232
- let afterEnterText;
233
- if (range.isEmpty()) {
234
- afterEnterText = scopedLineText.substr(range.startColumn - 1 - scopedLineTokens.firstCharOffset);
235
- }
236
- else {
237
- const endScopedLineTokens = getScopedLineTokens(model, range.endLineNumber, range.endColumn);
238
- afterEnterText = endScopedLineTokens.getLineContent().substr(range.endColumn - 1 - scopedLineTokens.firstCharOffset);
239
- }
240
- const indentRulesSupport = languageConfigurationService.getLanguageConfiguration(scopedLineTokens.languageId).indentRulesSupport;
221
+ const languageId = model.getLanguageIdAtPosition(range.startLineNumber, range.startColumn);
222
+ const indentRulesSupport = languageConfigurationService.getLanguageConfiguration(languageId).indentRulesSupport;
241
223
  if (!indentRulesSupport) {
242
224
  return null;
243
225
  }
244
- const beforeEnterResult = beforeEnterText;
245
- const beforeEnterIndent = getLeadingWhitespace(beforeEnterText);
246
- const virtualModel = {
247
- tokenization: {
248
- getLineTokens: (lineNumber) => {
249
- return model.tokenization.getLineTokens(lineNumber);
250
- },
251
- getLanguageId: () => {
252
- return model.getLanguageId();
253
- },
254
- getLanguageIdAtPosition: (lineNumber, column) => {
255
- return model.getLanguageIdAtPosition(lineNumber, column);
256
- },
257
- },
258
- getLineContent: (lineNumber) => {
259
- if (lineNumber === range.startLineNumber) {
260
- return beforeEnterResult;
261
- }
262
- else {
263
- return model.getLineContent(lineNumber);
264
- }
265
- }
266
- };
267
- const currentLineIndent = getLeadingWhitespace(lineTokens.getLineContent());
226
+ model.tokenization.forceTokenization(range.startLineNumber);
227
+ const indentationContextProcessor = ( new IndentationContextProcessor(model, languageConfigurationService));
228
+ const processedContextTokens = indentationContextProcessor.getProcessedTokenContextAroundRange(range);
229
+ const afterEnterProcessedTokens = processedContextTokens.afterRangeProcessedTokens;
230
+ const beforeEnterProcessedTokens = processedContextTokens.beforeRangeProcessedTokens;
231
+ const beforeEnterIndent = getLeadingWhitespace(beforeEnterProcessedTokens.getLineContent());
232
+ const virtualModel = createVirtualModelWithModifiedTokensAtLine(model, range.startLineNumber, beforeEnterProcessedTokens);
233
+ const languageIsDifferentFromLineStart = isLanguageDifferentFromLineStart(model, range.getStartPosition());
234
+ const currentLine = model.getLineContent(range.startLineNumber);
235
+ const currentLineIndent = getLeadingWhitespace(currentLine);
268
236
  const afterEnterAction = getInheritIndentForLine(autoIndent, virtualModel, range.startLineNumber + 1, undefined, languageConfigurationService);
269
237
  if (!afterEnterAction) {
270
- const beforeEnter = embeddedLanguage ? currentLineIndent : beforeEnterIndent;
238
+ const beforeEnter = languageIsDifferentFromLineStart ? currentLineIndent : beforeEnterIndent;
271
239
  return {
272
240
  beforeEnter: beforeEnter,
273
241
  afterEnter: beforeEnter
274
242
  };
275
243
  }
276
- let afterEnterIndent = embeddedLanguage ? currentLineIndent : afterEnterAction.indentation;
244
+ let afterEnterIndent = languageIsDifferentFromLineStart ? currentLineIndent : afterEnterAction.indentation;
277
245
  if (afterEnterAction.action === IndentAction.Indent) {
278
246
  afterEnterIndent = indentConverter.shiftIndent(afterEnterIndent);
279
247
  }
280
- if (indentRulesSupport.shouldDecrease(afterEnterText)) {
248
+ if (indentRulesSupport.shouldDecrease(afterEnterProcessedTokens.getLineContent())) {
281
249
  afterEnterIndent = indentConverter.unshiftIndent(afterEnterIndent);
282
250
  }
283
251
  return {
284
- beforeEnter: embeddedLanguage ? currentLineIndent : beforeEnterIndent,
252
+ beforeEnter: languageIsDifferentFromLineStart ? currentLineIndent : beforeEnterIndent,
285
253
  afterEnter: afterEnterIndent
286
254
  };
287
255
  }
288
256
  function getIndentActionForType(autoIndent, model, range, ch, indentConverter, languageConfigurationService) {
289
- if (autoIndent < 4 ) {
257
+ if (autoIndent < EditorAutoIndentStrategy.Full) {
290
258
  return null;
291
259
  }
292
- const scopedLineTokens = getScopedLineTokens(model, range.startLineNumber, range.startColumn);
293
- if (scopedLineTokens.firstCharOffset) {
260
+ const languageIsDifferentFromLineStart = isLanguageDifferentFromLineStart(model, range.getStartPosition());
261
+ if (languageIsDifferentFromLineStart) {
294
262
  return null;
295
263
  }
296
- const indentRulesSupport = languageConfigurationService.getLanguageConfiguration(scopedLineTokens.languageId).indentRulesSupport;
264
+ const languageId = model.getLanguageIdAtPosition(range.startLineNumber, range.startColumn);
265
+ const indentRulesSupport = languageConfigurationService.getLanguageConfiguration(languageId).indentRulesSupport;
297
266
  if (!indentRulesSupport) {
298
267
  return null;
299
268
  }
300
- const scopedLineText = scopedLineTokens.getLineContent();
301
- const beforeTypeText = scopedLineText.substr(0, range.startColumn - 1 - scopedLineTokens.firstCharOffset);
302
- let afterTypeText;
303
- if (range.isEmpty()) {
304
- afterTypeText = scopedLineText.substr(range.startColumn - 1 - scopedLineTokens.firstCharOffset);
305
- }
306
- else {
307
- const endScopedLineTokens = getScopedLineTokens(model, range.endLineNumber, range.endColumn);
308
- afterTypeText = endScopedLineTokens.getLineContent().substr(range.endColumn - 1 - scopedLineTokens.firstCharOffset);
309
- }
310
- if (!indentRulesSupport.shouldDecrease(beforeTypeText + afterTypeText) && indentRulesSupport.shouldDecrease(beforeTypeText + ch + afterTypeText)) {
269
+ const indentationContextProcessor = ( new IndentationContextProcessor(model, languageConfigurationService));
270
+ const processedContextTokens = indentationContextProcessor.getProcessedTokenContextAroundRange(range);
271
+ const beforeRangeText = processedContextTokens.beforeRangeProcessedTokens.getLineContent();
272
+ const afterRangeText = processedContextTokens.afterRangeProcessedTokens.getLineContent();
273
+ const textAroundRange = beforeRangeText + afterRangeText;
274
+ const textAroundRangeWithCharacter = beforeRangeText + ch + afterRangeText;
275
+ if (!indentRulesSupport.shouldDecrease(textAroundRange) && indentRulesSupport.shouldDecrease(textAroundRangeWithCharacter)) {
311
276
  const r = getInheritIndentForLine(autoIndent, model, range.startLineNumber, false, languageConfigurationService);
312
277
  if (!r) {
313
278
  return null;
@@ -330,4 +295,33 @@ function getIndentMetadata(model, lineNumber, languageConfigurationService) {
330
295
  }
331
296
  return indentRulesSupport.getIndentMetadata(model.getLineContent(lineNumber));
332
297
  }
298
+ function createVirtualModelWithModifiedTokensAtLine(model, modifiedLineNumber, modifiedTokens) {
299
+ const virtualModel = {
300
+ tokenization: {
301
+ getLineTokens: (lineNumber) => {
302
+ if (lineNumber === modifiedLineNumber) {
303
+ return modifiedTokens;
304
+ }
305
+ else {
306
+ return model.tokenization.getLineTokens(lineNumber);
307
+ }
308
+ },
309
+ getLanguageId: () => {
310
+ return model.getLanguageId();
311
+ },
312
+ getLanguageIdAtPosition: (lineNumber, column) => {
313
+ return model.getLanguageIdAtPosition(lineNumber, column);
314
+ },
315
+ },
316
+ getLineContent: (lineNumber) => {
317
+ if (lineNumber === modifiedLineNumber) {
318
+ return modifiedTokens.getLineContent();
319
+ }
320
+ else {
321
+ return model.getLineContent(lineNumber);
322
+ }
323
+ }
324
+ };
325
+ return virtualModel;
326
+ }
333
327
  export { getGoodIndentForLine, getIndentActionForType, getIndentForEnter, getIndentMetadata, getInheritIndentForLine };