@codingame/monaco-vscode-api 16.1.1 → 17.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (604) hide show
  1. package/missing-services.js +105 -0
  2. package/monaco.d.ts +2 -2
  3. package/package.json +10 -9
  4. package/services.d.ts +4 -4
  5. package/services.js +3 -3
  6. package/vscode/product.json.js +3 -0
  7. package/vscode/src/vs/base/browser/dom.d.ts +1 -0
  8. package/vscode/src/vs/base/browser/dom.js +6 -1
  9. package/vscode/src/vs/base/browser/mouseEvent.d.ts +2 -0
  10. package/vscode/src/vs/base/browser/mouseEvent.js +1 -0
  11. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  12. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.d.ts +2 -3
  13. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  14. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +1 -0
  15. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +6 -1
  16. package/vscode/src/vs/base/browser/ui/list/listPaging.d.ts +2 -1
  17. package/vscode/src/vs/base/browser/ui/severityIcon/media/severityIcon.css +1 -3
  18. package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +5 -1
  19. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +17 -4
  20. package/vscode/src/vs/base/common/arrays.d.ts +1 -0
  21. package/vscode/src/vs/base/common/arrays.js +5 -2
  22. package/vscode/src/vs/base/common/async.js +9 -2
  23. package/vscode/src/vs/base/common/codicons.d.ts +5 -0
  24. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +5 -0
  25. package/vscode/src/vs/base/common/codiconsLibrary.js +5 -0
  26. package/vscode/src/vs/base/common/color.d.ts +1 -0
  27. package/vscode/src/vs/base/common/color.js +10 -0
  28. package/vscode/src/vs/base/common/comparers.d.ts +2 -2
  29. package/vscode/src/vs/base/common/decorators.d.ts +1 -1
  30. package/vscode/src/vs/base/common/glob.d.ts +3 -0
  31. package/vscode/src/vs/base/common/glob.js +10 -1
  32. package/vscode/src/vs/base/common/marshallingIds.d.ts +2 -1
  33. package/vscode/src/vs/base/common/marshallingIds.js +1 -0
  34. package/vscode/src/vs/base/common/observableInternal/autorun.d.ts +6 -8
  35. package/vscode/src/vs/base/common/observableInternal/autorun.js +15 -11
  36. package/vscode/src/vs/base/common/observableInternal/base.d.ts +0 -10
  37. package/vscode/src/vs/base/common/observableInternal/changeTracker.d.ts +23 -0
  38. package/vscode/src/vs/base/common/observableInternal/changeTracker.js +30 -0
  39. package/vscode/src/vs/base/common/observableInternal/derived.d.ts +18 -13
  40. package/vscode/src/vs/base/common/observableInternal/derived.js +47 -18
  41. package/vscode/src/vs/base/common/observableInternal/index.d.ts +6 -5
  42. package/vscode/src/vs/base/common/observableInternal/index.js +2 -2
  43. package/vscode/src/vs/base/common/observableInternal/logging/logging.d.ts +2 -2
  44. package/vscode/src/vs/base/common/observableInternal/promise.d.ts +28 -0
  45. package/vscode/src/vs/base/common/observableInternal/promise.js +65 -0
  46. package/vscode/src/vs/base/common/observableInternal/reducer.d.ts +16 -0
  47. package/vscode/src/vs/base/common/observableInternal/reducer.js +36 -0
  48. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +2 -0
  49. package/vscode/src/vs/base/common/observableInternal/utils.js +19 -11
  50. package/vscode/src/vs/base/common/product.d.ts +5 -0
  51. package/vscode/src/vs/base/common/sseParser.d.ts +26 -0
  52. package/vscode/src/vs/base/common/sseParser.js +134 -0
  53. package/vscode/src/vs/base/common/stopwatch.js +2 -2
  54. package/vscode/src/vs/base/common/strings.d.ts +1 -0
  55. package/vscode/src/vs/base/common/strings.js +8 -19
  56. package/vscode/src/vs/base/common/ternarySearchTree.d.ts +1 -0
  57. package/vscode/src/vs/base/common/ternarySearchTree.js +55 -13
  58. package/vscode/src/vs/editor/browser/config/editorConfiguration.d.ts +1 -0
  59. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -1
  60. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.css +1 -1
  61. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +6 -3
  62. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +86 -54
  63. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.d.ts +0 -1
  64. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +12 -8
  65. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.d.ts +0 -1
  66. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +9 -6
  67. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +3 -3
  68. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +2 -2
  69. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +1 -1
  70. package/vscode/src/vs/editor/browser/gpu/objectCollectionBuffer.d.ts +1 -1
  71. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +2 -0
  72. package/vscode/src/vs/editor/browser/services/hoverService/hover.css +8 -0
  73. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.d.ts +1 -0
  74. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +6 -1
  75. package/vscode/src/vs/editor/browser/view/renderingContext.d.ts +1 -0
  76. package/vscode/src/vs/editor/browser/view/renderingContext.js +3 -0
  77. package/vscode/src/vs/editor/browser/view/viewLayer.d.ts +3 -1
  78. package/vscode/src/vs/editor/browser/view/viewLayer.js +13 -6
  79. package/vscode/src/vs/editor/browser/view/viewOverlays.js +4 -1
  80. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +4 -5
  81. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -2
  82. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.d.ts +0 -1
  83. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +6 -6
  84. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +3 -0
  85. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +2 -2
  86. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +1 -1
  87. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +1 -1
  88. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +5 -2
  89. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -1
  90. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
  91. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.d.ts +1 -1
  92. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +10 -8
  93. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +19 -15
  94. package/vscode/src/vs/editor/common/codecs/frontMatterCodec/tokens/index.d.ts +5 -0
  95. package/vscode/src/vs/editor/common/codecs/simpleCodec/tokens/index.d.ts +20 -0
  96. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +24 -23
  97. package/vscode/src/vs/editor/common/config/editorOptions.js +1 -2
  98. package/vscode/src/vs/editor/common/core/columnRange.d.ts +11 -0
  99. package/vscode/src/vs/editor/common/core/columnRange.js +32 -0
  100. package/vscode/src/vs/editor/common/core/offsetEdit.d.ts +1 -0
  101. package/vscode/src/vs/editor/common/core/offsetEdit.js +10 -0
  102. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +1 -0
  103. package/vscode/src/vs/editor/common/core/offsetRange.js +3 -0
  104. package/vscode/src/vs/editor/common/core/positionToOffset.d.ts +15 -3
  105. package/vscode/src/vs/editor/common/core/positionToOffset.js +45 -11
  106. package/vscode/src/vs/editor/common/core/rangeSingleLine.d.ts +9 -0
  107. package/vscode/src/vs/editor/common/core/rangeSingleLine.js +27 -0
  108. package/vscode/src/vs/editor/common/core/textEdit.d.ts +1 -0
  109. package/vscode/src/vs/editor/common/core/textEdit.js +41 -0
  110. package/vscode/src/vs/editor/common/editorCommon.d.ts +1 -0
  111. package/vscode/src/vs/editor/common/languages/modesRegistry.d.ts +2 -2
  112. package/vscode/src/vs/editor/common/languages/modesRegistry.js +4 -2
  113. package/vscode/src/vs/editor/common/languages.d.ts +22 -1
  114. package/vscode/src/vs/editor/common/languages.js +7 -1
  115. package/vscode/src/vs/editor/common/model/textModel.d.ts +5 -1
  116. package/vscode/src/vs/editor/common/model/textModel.js +80 -18
  117. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +1 -1
  118. package/vscode/src/vs/editor/common/model.d.ts +2 -1
  119. package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +5 -0
  120. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +7 -1
  121. package/vscode/src/vs/editor/common/textModelEvents.d.ts +11 -0
  122. package/vscode/src/vs/editor/common/textModelEvents.js +14 -1
  123. package/vscode/src/vs/editor/common/tokens/common.d.ts +7 -0
  124. package/vscode/src/vs/editor/common/tokens/common.js +18 -0
  125. package/vscode/src/vs/editor/common/tokens/contiguousTokensEditing.d.ts +1 -1
  126. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +1 -0
  127. package/vscode/src/vs/editor/common/tokens/lineTokens.js +3 -0
  128. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.d.ts +2 -0
  129. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +20 -0
  130. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.d.ts +2 -1
  131. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +9 -4
  132. package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +1 -0
  133. package/vscode/src/vs/editor/common/tokens/tokenArray.js +4 -0
  134. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.d.ts +25 -0
  135. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.js +73 -0
  136. package/vscode/src/vs/editor/common/viewLayout/lineHeights.d.ts +35 -0
  137. package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +339 -0
  138. package/vscode/src/vs/editor/common/viewLayout/linesLayout.d.ts +8 -6
  139. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +42 -49
  140. package/vscode/src/vs/editor/common/viewLayout/viewLayout.d.ts +6 -3
  141. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +16 -5
  142. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +1 -0
  143. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +44 -7
  144. package/vscode/src/vs/editor/common/viewModel.d.ts +5 -0
  145. package/vscode/src/vs/editor/common/viewModelEventDispatcher.d.ts +11 -3
  146. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +14 -1
  147. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +20 -14
  148. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -1
  149. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -1
  150. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.d.ts +1 -1
  151. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +4 -3
  152. package/vscode/src/vs/editor/contrib/find/browser/findController.d.ts +1 -3
  153. package/vscode/src/vs/editor/contrib/find/browser/findController.js +5 -11
  154. package/vscode/src/vs/editor/contrib/find/browser/findWidget.d.ts +1 -7
  155. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -15
  156. package/vscode/src/vs/editor/contrib/folding/browser/folding.d.ts +1 -1
  157. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +24 -23
  158. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  159. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  160. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  161. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  162. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  163. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  164. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  165. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  166. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  167. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  168. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  169. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +5 -5
  170. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  171. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  172. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  173. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  174. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  175. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +14 -12
  176. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  177. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  178. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +21 -21
  179. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  180. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.d.ts +0 -4
  181. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +29 -41
  182. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
  183. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.d.ts +1 -0
  184. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +11 -6
  185. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  186. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -6
  187. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +1 -2
  188. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.d.ts +4 -4
  189. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +1 -2
  190. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.d.ts +10 -0
  191. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +31 -2
  192. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.d.ts +1 -1
  193. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +16 -16
  194. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +156 -202
  195. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +21 -49
  196. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +135 -431
  197. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.d.ts +3 -3
  198. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +98 -0
  199. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +487 -0
  200. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +34 -32
  201. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +141 -132
  202. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.d.ts +1 -1
  203. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +2 -2
  204. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.d.ts +26 -0
  205. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.d.ts +2 -7
  206. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +21 -20
  207. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +19 -7
  208. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +1 -1
  209. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +17 -9
  210. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.d.ts +5 -13
  211. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +139 -188
  212. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +8 -6
  213. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +9 -3
  214. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.d.ts +4 -4
  215. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +6 -6
  216. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.d.ts +23 -0
  217. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +157 -0
  218. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +2 -0
  219. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +37 -20
  220. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.d.ts +3 -2
  221. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +3 -4
  222. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.d.ts +6 -1
  223. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +28 -5
  224. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.d.ts +21 -0
  225. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +215 -0
  226. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +0 -1
  227. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +0 -1
  228. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +2 -2
  229. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.d.ts +1 -3
  230. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +3 -4
  231. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +22 -21
  232. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  233. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  234. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
  235. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  236. package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
  237. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  238. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  239. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  240. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  241. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +17 -17
  242. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  243. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  244. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +23 -49
  245. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  246. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  247. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  248. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  249. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  250. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +8 -0
  251. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +1 -1
  252. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  253. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.d.ts +1 -0
  254. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +24 -14
  255. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  256. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  257. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +19 -18
  258. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  259. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  260. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  261. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  262. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  263. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  264. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +5 -10
  265. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  266. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  267. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  268. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  269. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  270. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +1 -1
  271. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +2 -2
  272. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +2 -2
  273. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
  274. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +3 -0
  275. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +23 -14
  276. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +2 -0
  277. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +17 -3
  278. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +6 -1
  279. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.d.ts +2 -1
  280. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.service.d.ts +2 -1
  281. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  282. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  283. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -1
  284. package/vscode/src/vs/platform/actions/common/actions.js +2 -0
  285. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  286. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  287. package/vscode/src/vs/platform/clipboard/browser/clipboardService.d.ts +1 -0
  288. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +3 -0
  289. package/vscode/src/vs/platform/clipboard/common/clipboardService.service.d.ts +1 -0
  290. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +15 -13
  291. package/vscode/src/vs/platform/configuration/common/configurations.js +1 -1
  292. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  293. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  294. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  295. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  296. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
  297. package/vscode/src/vs/platform/dnd/browser/dnd.d.ts +5 -0
  298. package/vscode/src/vs/platform/dnd/browser/dnd.js +6 -2
  299. package/vscode/src/vs/platform/editor/common/editor.d.ts +1 -0
  300. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +8 -2
  301. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +94 -4
  302. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -2
  303. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.d.ts +3 -2
  304. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +10 -7
  305. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  306. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +1 -1
  307. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.d.ts +0 -1
  308. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +10 -11
  309. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
  310. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -0
  311. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +7 -6
  312. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +9 -8
  313. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  314. package/vscode/src/vs/platform/files/common/files.js +6 -6
  315. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  316. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +5 -4
  317. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  318. package/vscode/src/vs/platform/label/common/label.service.d.ts +1 -1
  319. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
  320. package/vscode/src/vs/platform/list/browser/listService.d.ts +1 -1
  321. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  322. package/vscode/src/vs/platform/log/common/log.js +6 -6
  323. package/vscode/src/vs/platform/markers/common/markerService.d.ts +2 -7
  324. package/vscode/src/vs/platform/markers/common/markerService.js +5 -5
  325. package/vscode/src/vs/platform/markers/common/markers.d.ts +7 -0
  326. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  327. package/vscode/src/vs/platform/markers/common/markers.service.d.ts +2 -7
  328. package/vscode/src/vs/platform/native/common/native.d.ts +168 -0
  329. package/vscode/src/vs/platform/notification/common/notification.d.ts +6 -2
  330. package/vscode/src/vs/platform/notification/common/notification.js +3 -2
  331. package/vscode/src/vs/platform/notification/common/notification.service.d.ts +2 -3
  332. package/vscode/src/vs/platform/product/common/product.js +7 -90
  333. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +4 -19
  334. package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +6 -3
  335. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +33 -10
  336. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
  337. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.d.ts +2 -0
  338. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +6 -0
  339. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +25 -18
  340. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.d.ts +5 -5
  341. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +58 -43
  342. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  343. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +1 -1
  344. package/vscode/src/vs/platform/registry/common/platform.js +9 -1
  345. package/vscode/src/vs/platform/request/common/request.d.ts +1 -1
  346. package/vscode/src/vs/platform/request/common/request.js +18 -18
  347. package/vscode/src/vs/platform/request/common/request.service.d.ts +1 -1
  348. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  349. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +14 -1
  350. package/vscode/src/vs/platform/terminal/common/terminal.js +14 -1
  351. package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -2
  352. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +4 -2
  353. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +7 -1
  354. package/vscode/src/vs/platform/theme/common/colorUtils.js +12 -4
  355. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  356. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  357. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +94 -94
  358. package/vscode/src/vs/platform/theme/common/colors/inputColors.d.ts +2 -0
  359. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +49 -47
  360. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  361. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  362. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  363. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
  364. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  365. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  366. package/vscode/src/vs/platform/theme/common/iconRegistry.js +10 -8
  367. package/vscode/src/vs/platform/theme/common/themeService.d.ts +0 -8
  368. package/vscode/src/vs/platform/theme/common/themeService.js +4 -3
  369. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  370. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  371. package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +1 -1
  372. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  373. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +2 -2
  374. package/vscode/src/vs/platform/window/common/window.d.ts +4 -0
  375. package/vscode/src/vs/platform/window/common/window.js +2 -1
  376. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  377. package/vscode/src/vs/platform/workspaces/common/workspaces.service.d.ts +2 -2
  378. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +27 -20
  379. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +54 -19
  380. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  381. package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.d.ts +14 -0
  382. package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.js +38 -0
  383. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +1 -0
  384. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +2 -1
  385. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +30 -17
  386. package/vscode/src/vs/workbench/api/common/extHostCodeMapper.js +2 -0
  387. package/vscode/src/vs/workbench/api/common/extHostCommands.d.ts +0 -1
  388. package/vscode/src/vs/workbench/api/common/extHostCommands.js +4 -2
  389. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
  390. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  391. package/vscode/src/vs/workbench/api/common/extHostExtensionService.d.ts +2 -0
  392. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +15 -4
  393. package/vscode/src/vs/workbench/api/common/extHostLabelService.d.ts +1 -1
  394. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +4 -0
  395. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +31 -6
  396. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +2 -3
  397. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +60 -14
  398. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +1 -1
  399. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +15 -9
  400. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  401. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +4 -3
  402. package/vscode/src/vs/workbench/api/common/extHostMcp.js +279 -82
  403. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  404. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +3 -0
  405. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.d.ts +2 -1
  406. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.js +4 -2
  407. package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.d.ts +1 -1
  408. package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -0
  409. package/vscode/src/vs/workbench/api/common/extHostSCM.js +21 -0
  410. package/vscode/src/vs/workbench/api/common/extHostSearch.js +1 -1
  411. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  412. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  413. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
  414. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
  415. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  416. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +27 -9
  417. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +201 -29
  418. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +67 -27
  419. package/vscode/src/vs/workbench/api/common/extHostTypes.js +79 -28
  420. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
  421. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +7 -4
  422. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +34 -9
  423. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  424. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +1 -0
  425. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +3 -0
  426. package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
  427. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  428. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.d.ts +1 -1
  429. package/vscode/src/vs/workbench/common/configuration.js +10 -16
  430. package/vscode/src/vs/workbench/common/contextkeys.d.ts +3 -0
  431. package/vscode/src/vs/workbench/common/contextkeys.js +73 -71
  432. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  433. package/vscode/src/vs/workbench/common/editor.d.ts +13 -9
  434. package/vscode/src/vs/workbench/common/editor.js +4 -4
  435. package/vscode/src/vs/workbench/common/theme.js +160 -160
  436. package/vscode/src/vs/workbench/common/views.js +4 -4
  437. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +164 -147
  438. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  439. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +2 -2
  440. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +2 -2
  441. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service.d.ts +1 -1
  442. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +15 -14
  443. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +245 -0
  444. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +435 -0
  445. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +1 -1
  446. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +6 -9
  447. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +51 -49
  448. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +19 -26
  449. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +16 -23
  450. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.service.d.ts +1 -1
  451. package/vscode/src/vs/workbench/contrib/chat/common/chatEntitlementService.service.d.ts +2 -2
  452. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +585 -0
  453. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +1179 -0
  454. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +116 -0
  455. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +211 -0
  456. package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +19 -6
  457. package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +4 -4
  458. package/vscode/src/vs/workbench/contrib/chat/common/chatTransferService.service.d.ts +3 -1
  459. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +1 -2
  460. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.service.d.ts +2 -7
  461. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service.d.ts +1 -1
  462. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +2 -3
  463. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +12 -4
  464. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +33 -5
  465. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +14 -3
  466. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +18 -3
  467. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
  468. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.d.ts +4 -0
  469. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +6 -0
  470. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +3 -1
  471. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/index.d.ts +3 -0
  472. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +14 -4
  473. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.d.ts +28 -1
  474. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.service.d.ts +10 -4
  475. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.d.ts +8 -25
  476. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +11 -97
  477. package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.d.ts +0 -3
  478. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
  479. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  480. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  481. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  482. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  483. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.d.ts +1 -1
  484. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  485. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  486. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  487. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  488. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  489. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  490. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -1
  491. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  492. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  493. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  494. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +1 -1
  495. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +64 -64
  496. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +171 -0
  497. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +85 -0
  498. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +2 -3
  499. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.d.ts +10 -0
  500. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +127 -0
  501. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  502. package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +3 -3
  503. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  504. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  505. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  506. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  507. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  508. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +2 -2
  509. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +3 -1
  510. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  511. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  512. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service.d.ts +1 -0
  513. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +19 -8
  514. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +12 -10
  515. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
  516. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +2 -2
  517. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +8 -4
  518. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -1
  519. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.d.ts +1 -1
  520. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.service.d.ts +1 -1
  521. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.d.ts +1 -1
  522. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +2 -2
  523. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.d.ts +4 -1
  524. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +11 -3
  525. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +77 -16
  526. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  527. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  528. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  529. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  530. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  531. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  532. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +3 -2
  533. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  534. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  535. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
  536. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
  537. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +1 -1
  538. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.service.d.ts +1 -1
  539. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.d.ts +17 -0
  540. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.js +10 -0
  541. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.d.ts +13 -0
  542. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.js +6 -0
  543. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.d.ts +2 -0
  544. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.js +61 -12
  545. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.d.ts +3 -2
  546. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +25 -29
  547. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +4 -1
  548. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +1 -0
  549. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  550. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
  551. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +2 -2
  552. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
  553. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.d.ts +1 -1
  554. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +1 -1
  555. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +3 -2
  556. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +84 -84
  557. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +4 -1
  558. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  559. package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +2 -4
  560. package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
  561. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  562. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.d.ts +1 -0
  563. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +2 -0
  564. package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
  565. package/vscode/src/vs/workbench/services/output/common/output.js +6 -4
  566. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
  567. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  568. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  569. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  570. package/vscode/src/vs/workbench/services/search/common/search.d.ts +2 -1
  571. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.d.ts +5 -0
  572. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +6 -1
  573. package/vscode/src/vs/workbench/services/search/common/textSearchManager.d.ts +2 -2
  574. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +31 -23
  575. package/vscode/src/vs/workbench/services/textfile/common/encoding.d.ts +64 -0
  576. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +560 -0
  577. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +165 -0
  578. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +74 -0
  579. package/vscode/src/vs/workbench/services/textfile/common/textfiles.service.d.ts +12 -2
  580. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  581. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  582. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +12 -12
  583. package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.d.ts +1 -1
  584. package/vscode-dts/vscode.d.ts +204 -9
  585. package/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts +30 -0
  586. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +18 -16
  587. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +84 -5
  588. package/vscode-dts/vscode.proposed.chatProvider.d.ts +18 -16
  589. package/vscode-dts/vscode.proposed.chatStatusItem.d.ts +1 -1
  590. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +1 -1
  591. package/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts +1 -1
  592. package/vscode-dts/vscode.proposed.d.ts +2 -2
  593. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
  594. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +46 -8
  595. package/vscode-dts/vscode.proposed.languageModelDataPart.d.ts +106 -16
  596. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +2 -0
  597. package/vscode-dts/vscode.proposed.mcpConfigurationProvider.d.ts +115 -21
  598. package/vscode-dts/vscode.proposed.quickDiffProvider.d.ts +7 -3
  599. package/vscode-dts/vscode.proposed.textSearchProvider2.d.ts +23 -1
  600. package/vscode-dts/vscode.proposed.toolProgress.d.ts +25 -0
  601. package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +1 -1
  602. package/workbench.d.ts +1 -1
  603. package/vscode-dts/vscode.proposed.languageModelToolsForAgent.d.ts +0 -8
  604. package/vscode-dts/vscode.proposed.textDocumentEncoding.d.ts +0 -170
@@ -29,9 +29,10 @@ import { PieceTreeTextBufferBuilder } from './pieceTreeTextBuffer/pieceTreeTextB
29
29
  import { SearchParams, TextModelSearch } from './textModelSearch.js';
30
30
  import { TokenizationTextModelPart } from './tokenizationTextModelPart.js';
31
31
  import { AttachedViews } from './tokens.js';
32
- import { InternalModelContentChangeEvent, ModelRawContentChangedEvent, ModelRawFlush, ModelRawEOLChanged, LineInjectedText, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted, ModelInjectedTextChangedEvent } from '../textModelEvents.js';
32
+ import { InternalModelContentChangeEvent, ModelRawContentChangedEvent, ModelRawFlush, ModelRawEOLChanged, LineInjectedText, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted, ModelInjectedTextChangedEvent, ModelLineHeightChanged, ModelLineHeightChangedEvent } from '../textModelEvents.js';
33
33
  import { IInstantiationService } from '../../../platform/instantiation/common/instantiation.js';
34
34
  import { IUndoRedoService } from '../../../platform/undoRedo/common/undoRedo.service.js';
35
+ import { SetWithKey } from '../../../base/common/collections.js';
35
36
 
36
37
  var TextModel_1;
37
38
  function createTextBufferFactory(text) {
@@ -178,7 +179,7 @@ let TextModel = class TextModel extends Disposable {
178
179
  this._onWillDispose = this._register(( new Emitter()));
179
180
  this.onWillDispose = this._onWillDispose.event;
180
181
  this._onDidChangeDecorations = this._register(( new DidChangeDecorationsEmitter(
181
- affectedInjectedTextLines => this.handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines)
182
+ (affectedInjectedTextLines, affectedLineHeights) => this.handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines, affectedLineHeights)
182
183
  )));
183
184
  this.onDidChangeDecorations = this._onDidChangeDecorations.event;
184
185
  this._onDidChangeOptions = this._register(( new Emitter()));
@@ -186,6 +187,8 @@ let TextModel = class TextModel extends Disposable {
186
187
  this._onDidChangeAttached = this._register(( new Emitter()));
187
188
  this.onDidChangeAttached = this._onDidChangeAttached.event;
188
189
  this._onDidChangeInjectedText = this._register(( new Emitter()));
190
+ this._onDidChangeLineHeight = this._register(( new Emitter()));
191
+ this.onDidChangeLineHeight = this._onDidChangeLineHeight.event;
189
192
  this._eventEmitter = this._register(( new DidChangeContentEmitter()));
190
193
  this._languageSelectionListener = this._register(( new MutableDisposable()));
191
194
  this._deltaDecorationCallCnt = 0;
@@ -268,6 +271,7 @@ let TextModel = class TextModel extends Disposable {
268
271
  || this._onDidChangeOptions.hasListeners()
269
272
  || this._onDidChangeAttached.hasListeners()
270
273
  || this._onDidChangeInjectedText.hasListeners()
274
+ || this._onDidChangeLineHeight.hasListeners()
271
275
  || this._eventEmitter.hasListeners());
272
276
  }
273
277
  _assertNotDisposed() {
@@ -1158,17 +1162,26 @@ let TextModel = class TextModel extends Disposable {
1158
1162
  canRedo() {
1159
1163
  return this._undoRedoService.canRedo(this.uri);
1160
1164
  }
1161
- handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines) {
1162
- if (affectedInjectedTextLines === null || affectedInjectedTextLines.size === 0) {
1163
- return;
1165
+ handleBeforeFireDecorationsChangedEvent(affectedInjectedTextLines, affectedLineHeights) {
1166
+ if (affectedInjectedTextLines && affectedInjectedTextLines.size > 0) {
1167
+ const affectedLines = Array.from(affectedInjectedTextLines);
1168
+ const lineChangeEvents = ( affectedLines.map(lineNumber => ( new ModelRawLineChanged(
1169
+ lineNumber,
1170
+ this.getLineContent(lineNumber),
1171
+ this._getInjectedTextInLine(lineNumber)
1172
+ ))));
1173
+ this._onDidChangeInjectedText.fire(( new ModelInjectedTextChangedEvent(lineChangeEvents)));
1174
+ }
1175
+ if (affectedLineHeights && affectedLineHeights.size > 0) {
1176
+ const affectedLines = Array.from(affectedLineHeights);
1177
+ const lineHeightChangeEvent = ( affectedLines.map(specialLineHeightChange => ( new ModelLineHeightChanged(
1178
+ specialLineHeightChange.ownerId,
1179
+ specialLineHeightChange.decorationId,
1180
+ specialLineHeightChange.lineNumber,
1181
+ specialLineHeightChange.lineHeight
1182
+ ))));
1183
+ this._onDidChangeLineHeight.fire(( new ModelLineHeightChangedEvent(lineHeightChangeEvent)));
1164
1184
  }
1165
- const affectedLines = Array.from(affectedInjectedTextLines);
1166
- const lineChangeEvents = ( affectedLines.map(lineNumber => ( new ModelRawLineChanged(
1167
- lineNumber,
1168
- this.getLineContent(lineNumber),
1169
- this._getInjectedTextInLine(lineNumber)
1170
- ))));
1171
- this._onDidChangeInjectedText.fire(( new ModelInjectedTextChangedEvent(lineChangeEvents)));
1172
1185
  }
1173
1186
  changeDecorations(callback, ownerId = 0) {
1174
1187
  this._assertNotDisposed();
@@ -1186,10 +1199,10 @@ let TextModel = class TextModel extends Disposable {
1186
1199
  return this._deltaDecorationsImpl(ownerId, [], [{ range: range, options: options }])[0];
1187
1200
  },
1188
1201
  changeDecoration: (id, newRange) => {
1189
- this._changeDecorationImpl(id, newRange);
1202
+ this._changeDecorationImpl(ownerId, id, newRange);
1190
1203
  },
1191
1204
  changeDecorationOptions: (id, options) => {
1192
- this._changeDecorationOptionsImpl(id, _normalizeOptions(options));
1205
+ this._changeDecorationOptionsImpl(ownerId, id, _normalizeOptions(options));
1193
1206
  },
1194
1207
  removeDecoration: (id) => {
1195
1208
  this._deltaDecorationsImpl(ownerId, [id], []);
@@ -1315,6 +1328,9 @@ let TextModel = class TextModel extends Disposable {
1315
1328
  getInjectedTextDecorations(ownerId = 0) {
1316
1329
  return this._decorationsTree.getAllInjectedText(this, ownerId);
1317
1330
  }
1331
+ getCustomLineHeightsDecorations(ownerId = 0) {
1332
+ return this._decorationsTree.getAllCustomLineHeights(this, ownerId);
1333
+ }
1318
1334
  _getInjectedTextInLine(lineNumber) {
1319
1335
  const startOffset = this._buffer.getOffsetAt(lineNumber, 1);
1320
1336
  const endOffset = startOffset + this._buffer.getLineLength(lineNumber);
@@ -1337,7 +1353,7 @@ let TextModel = class TextModel extends Disposable {
1337
1353
  getRangeAt(start, end) {
1338
1354
  return this._buffer.getRangeAt(start, end - start);
1339
1355
  }
1340
- _changeDecorationImpl(decorationId, _range) {
1356
+ _changeDecorationImpl(ownerId, decorationId, _range) {
1341
1357
  const node = this._decorations[decorationId];
1342
1358
  if (!node) {
1343
1359
  return;
@@ -1350,6 +1366,10 @@ let TextModel = class TextModel extends Disposable {
1350
1366
  const oldRange = this.getDecorationRange(decorationId);
1351
1367
  this._onDidChangeDecorations.recordLineAffectedByInjectedText(oldRange.startLineNumber);
1352
1368
  }
1369
+ if (node.options.lineHeight !== null) {
1370
+ const oldRange = this.getDecorationRange(decorationId);
1371
+ this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(ownerId, decorationId, oldRange.startLineNumber, null);
1372
+ }
1353
1373
  const range = this._validateRangeRelaxedNoAllocations(_range);
1354
1374
  const startOffset = this._buffer.getOffsetAt(range.startLineNumber, range.startColumn);
1355
1375
  const endOffset = this._buffer.getOffsetAt(range.endLineNumber, range.endColumn);
@@ -1363,8 +1383,11 @@ let TextModel = class TextModel extends Disposable {
1363
1383
  if (node.options.before) {
1364
1384
  this._onDidChangeDecorations.recordLineAffectedByInjectedText(range.startLineNumber);
1365
1385
  }
1386
+ if (node.options.lineHeight !== null) {
1387
+ this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(ownerId, decorationId, range.startLineNumber, node.options.lineHeight);
1388
+ }
1366
1389
  }
1367
- _changeDecorationOptionsImpl(decorationId, options) {
1390
+ _changeDecorationOptionsImpl(ownerId, decorationId, options) {
1368
1391
  const node = this._decorations[decorationId];
1369
1392
  if (!node) {
1370
1393
  return;
@@ -1381,6 +1404,10 @@ let TextModel = class TextModel extends Disposable {
1381
1404
  const nodeRange = this._decorationsTree.getNodeRange(this, node);
1382
1405
  this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.startLineNumber);
1383
1406
  }
1407
+ if (node.options.lineHeight !== null || options.lineHeight !== null) {
1408
+ const nodeRange = this._decorationsTree.getNodeRange(this, node);
1409
+ this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(ownerId, decorationId, nodeRange.startLineNumber, options.lineHeight);
1410
+ }
1384
1411
  const movedInOverviewRuler = nodeWasInOverviewRuler !== nodeIsInOverviewRuler;
1385
1412
  const changedWhetherInjectedText = isOptionsInjectedText(options) !== isNodeInjectedText(node);
1386
1413
  if (movedInOverviewRuler || changedWhetherInjectedText) {
@@ -1404,8 +1431,10 @@ let TextModel = class TextModel extends Disposable {
1404
1431
  while (oldDecorationIndex < oldDecorationsLen || newDecorationIndex < newDecorationsLen) {
1405
1432
  let node = null;
1406
1433
  if (oldDecorationIndex < oldDecorationsLen) {
1434
+ let decorationId;
1407
1435
  do {
1408
- node = this._decorations[oldDecorationsIds[oldDecorationIndex++]];
1436
+ decorationId = oldDecorationsIds[oldDecorationIndex++];
1437
+ node = this._decorations[decorationId];
1409
1438
  } while (!node && oldDecorationIndex < oldDecorationsLen);
1410
1439
  if (node) {
1411
1440
  if (node.options.after) {
@@ -1416,6 +1445,10 @@ let TextModel = class TextModel extends Disposable {
1416
1445
  const nodeRange = this._decorationsTree.getNodeRange(this, node);
1417
1446
  this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.startLineNumber);
1418
1447
  }
1448
+ if (node.options.lineHeight !== null) {
1449
+ const nodeRange = this._decorationsTree.getNodeRange(this, node);
1450
+ this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(ownerId, decorationId, nodeRange.startLineNumber, null);
1451
+ }
1419
1452
  this._decorationsTree.delete(node);
1420
1453
  if (!suppressEvents) {
1421
1454
  this._onDidChangeDecorations.checkAffectedAndFire(node.options);
@@ -1443,6 +1476,9 @@ let TextModel = class TextModel extends Disposable {
1443
1476
  if (node.options.before) {
1444
1477
  this._onDidChangeDecorations.recordLineAffectedByInjectedText(range.startLineNumber);
1445
1478
  }
1479
+ if (node.options.lineHeight !== null) {
1480
+ this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(ownerId, node.id, range.startLineNumber, node.options.lineHeight);
1481
+ }
1446
1482
  if (!suppressEvents) {
1447
1483
  this._onDidChangeDecorations.checkAffectedAndFire(options);
1448
1484
  }
@@ -1563,6 +1599,11 @@ class DecorationsTrees {
1563
1599
  const result = this._injectedTextDecorationsTree.search(filterOwnerId, false, versionId, false);
1564
1600
  return this._ensureNodesHaveRanges(host, result).filter((i) => i.options.showIfCollapsed || !i.range.isEmpty());
1565
1601
  }
1602
+ getAllCustomLineHeights(host, filterOwnerId) {
1603
+ const versionId = host.getVersionId();
1604
+ const result = this._search(filterOwnerId, false, false, versionId, false);
1605
+ return this._ensureNodesHaveRanges(host, result).filter((i) => typeof i.options.lineHeight === 'number');
1606
+ }
1566
1607
  getAll(host, filterOwnerId, filterOutValidation, overviewRulerOnly, onlyMarginDecorations) {
1567
1608
  const versionId = host.getVersionId();
1568
1609
  const result = this._search(filterOwnerId, filterOutValidation, overviewRulerOnly, versionId, onlyMarginDecorations);
@@ -1751,6 +1792,7 @@ class ModelDecorationOptions {
1751
1792
  this.glyphMarginHoverMessage = options.glyphMarginHoverMessage || null;
1752
1793
  this.lineNumberHoverMessage = options.lineNumberHoverMessage || null;
1753
1794
  this.isWholeLine = options.isWholeLine || false;
1795
+ this.lineHeight = options.lineHeight ?? null;
1754
1796
  this.showIfCollapsed = options.showIfCollapsed || false;
1755
1797
  this.collapseOnReplaceEdit = options.collapseOnReplaceEdit || false;
1756
1798
  this.overviewRuler = options.overviewRuler ? ( new ModelDecorationOverviewRulerOptions(options.overviewRuler)) : null;
@@ -1785,6 +1827,17 @@ function _normalizeOptions(options) {
1785
1827
  }
1786
1828
  return ModelDecorationOptions.createDynamic(options);
1787
1829
  }
1830
+ class LineHeightChangingDecoration {
1831
+ static toKey(obj) {
1832
+ return `${obj.ownerId};${obj.decorationId};${obj.lineNumber}`;
1833
+ }
1834
+ constructor(ownerId, decorationId, lineNumber, lineHeight) {
1835
+ this.ownerId = ownerId;
1836
+ this.decorationId = decorationId;
1837
+ this.lineNumber = lineNumber;
1838
+ this.lineHeight = lineHeight;
1839
+ }
1840
+ }
1788
1841
  class DidChangeDecorationsEmitter extends Disposable {
1789
1842
  constructor(handleBeforeFire) {
1790
1843
  super();
@@ -1792,6 +1845,7 @@ class DidChangeDecorationsEmitter extends Disposable {
1792
1845
  this._actual = this._register(( new Emitter()));
1793
1846
  this.event = this._actual.event;
1794
1847
  this._affectedInjectedTextLines = null;
1848
+ this._affectedLineHeights = null;
1795
1849
  this._deferredCnt = 0;
1796
1850
  this._shouldFireDeferred = false;
1797
1851
  this._affectsMinimap = false;
@@ -1813,6 +1867,8 @@ class DidChangeDecorationsEmitter extends Disposable {
1813
1867
  }
1814
1868
  this._affectedInjectedTextLines?.clear();
1815
1869
  this._affectedInjectedTextLines = null;
1870
+ this._affectedLineHeights?.clear();
1871
+ this._affectedLineHeights = null;
1816
1872
  }
1817
1873
  }
1818
1874
  recordLineAffectedByInjectedText(lineNumber) {
@@ -1821,6 +1877,12 @@ class DidChangeDecorationsEmitter extends Disposable {
1821
1877
  }
1822
1878
  this._affectedInjectedTextLines.add(lineNumber);
1823
1879
  }
1880
+ recordLineAffectedByLineHeightChange(ownerId, decorationId, lineNumber, lineHeight) {
1881
+ if (!this._affectedLineHeights) {
1882
+ this._affectedLineHeights = ( new SetWithKey([], LineHeightChangingDecoration.toKey));
1883
+ }
1884
+ this._affectedLineHeights.add(( new LineHeightChangingDecoration(ownerId, decorationId, lineNumber, lineHeight)));
1885
+ }
1824
1886
  checkAffectedAndFire(options) {
1825
1887
  this._affectsMinimap ||= !!options.minimap?.position;
1826
1888
  this._affectsOverviewRuler ||= !!options.overviewRuler?.color;
@@ -1843,7 +1905,7 @@ class DidChangeDecorationsEmitter extends Disposable {
1843
1905
  }
1844
1906
  }
1845
1907
  doFire() {
1846
- this.handleBeforeFire(this._affectedInjectedTextLines);
1908
+ this.handleBeforeFire(this._affectedInjectedTextLines, this._affectedLineHeights);
1847
1909
  const event = {
1848
1910
  affectsMinimap: this._affectsMinimap,
1849
1911
  affectsOverviewRuler: this._affectsOverviewRuler,
@@ -157,7 +157,7 @@ let TokenizationTextModelPart = TokenizationTextModelPart_1 = class Tokenization
157
157
  return this._tokens.tokenizeLinesAt(lineNumber, lines);
158
158
  }
159
159
  setSemanticTokens(tokens, isComplete) {
160
- this._semanticTokens.set(tokens, isComplete);
160
+ this._semanticTokens.set(tokens, isComplete, this._textModel);
161
161
  this._emitModelTokensChangedEvent({
162
162
  semanticTokensApplied: tokens !== null,
163
163
  ranges: [{ fromLineNumber: 1, toLineNumber: this._textModel.getLineCount() }],
@@ -13,7 +13,7 @@ import { IWordAtPosition } from "./core/wordHelper.js";
13
13
  import { FormattingOptions } from "./languages.js";
14
14
  import { ILanguageSelection } from "./languages/language.js";
15
15
  import { IBracketPairsTextModelPart } from "./textModelBracketPairs.js";
16
- import { IModelContentChange, IModelContentChangedEvent, IModelDecorationsChangedEvent, IModelLanguageChangedEvent, IModelLanguageConfigurationChangedEvent, IModelOptionsChangedEvent, IModelTokensChangedEvent, InternalModelContentChangeEvent, ModelInjectedTextChangedEvent } from "./textModelEvents.js";
16
+ import { IModelContentChange, IModelContentChangedEvent, IModelDecorationsChangedEvent, IModelLanguageChangedEvent, IModelLanguageConfigurationChangedEvent, IModelOptionsChangedEvent, IModelTokensChangedEvent, InternalModelContentChangeEvent, ModelInjectedTextChangedEvent, ModelLineHeightChangedEvent } from "./textModelEvents.js";
17
17
  import { IGuidesTextModelPart } from "./textModelGuides.js";
18
18
  import { ITokenizationTextModelPart } from "./tokenizationTextModelPart.js";
19
19
  import { UndoRedoGroup } from "../../platform/undoRedo/common/undoRedo.js";
@@ -85,6 +85,7 @@ export interface IModelDecorationOptions {
85
85
  minimap?: IModelDecorationMinimapOptions | null;
86
86
  glyphMarginClassName?: string | null;
87
87
  glyphMargin?: IModelDecorationGlyphMarginOptions | null;
88
+ lineHeight?: number | null;
88
89
  linesDecorationsClassName?: string | null;
89
90
  linesDecorationsTooltip?: string | null;
90
91
  lineNumberClassName?: string | null;
@@ -273,6 +273,11 @@ export declare enum InlayHintKind {
273
273
  Type = 1,
274
274
  Parameter = 2
275
275
  }
276
+ export declare enum InlineCompletionEndOfLifeReasonKind {
277
+ Accepted = 0,
278
+ Rejected = 1,
279
+ Ignored = 2
280
+ }
276
281
  export declare enum InlineCompletionTriggerKind {
277
282
  Automatic = 0,
278
283
  Explicit = 1
@@ -294,6 +294,12 @@ var InlayHintKind;
294
294
  InlayHintKind[InlayHintKind["Type"] = 1] = "Type";
295
295
  InlayHintKind[InlayHintKind["Parameter"] = 2] = "Parameter";
296
296
  })(InlayHintKind || (InlayHintKind = {}));
297
+ var InlineCompletionEndOfLifeReasonKind;
298
+ (function (InlineCompletionEndOfLifeReasonKind) {
299
+ InlineCompletionEndOfLifeReasonKind[InlineCompletionEndOfLifeReasonKind["Accepted"] = 0] = "Accepted";
300
+ InlineCompletionEndOfLifeReasonKind[InlineCompletionEndOfLifeReasonKind["Rejected"] = 1] = "Rejected";
301
+ InlineCompletionEndOfLifeReasonKind[InlineCompletionEndOfLifeReasonKind["Ignored"] = 2] = "Ignored";
302
+ })(InlineCompletionEndOfLifeReasonKind || (InlineCompletionEndOfLifeReasonKind = {}));
297
303
  var InlineCompletionTriggerKind;
298
304
  (function (InlineCompletionTriggerKind) {
299
305
  InlineCompletionTriggerKind[InlineCompletionTriggerKind["Automatic"] = 0] = "Automatic";
@@ -624,4 +630,4 @@ var WrappingIndent;
624
630
  WrappingIndent[WrappingIndent["DeepIndent"] = 3] = "DeepIndent";
625
631
  })(WrappingIndent || (WrappingIndent = {}));
626
632
 
627
- export { AccessibilitySupport, CodeActionTriggerType, CompletionItemInsertTextRule, CompletionItemKind, CompletionItemTag, CompletionTriggerKind, ContentWidgetPositionPreference, CursorChangeReason, DefaultEndOfLine, DocumentHighlightKind, EditorAutoIndentStrategy, EditorOption, EndOfLinePreference, EndOfLineSequence, GlyphMarginLane, HoverVerbosityAction, IndentAction, InjectedTextCursorStops, InlayHintKind, InlineCompletionTriggerKind, InlineEditTriggerKind, KeyCode, MarkerSeverity, MarkerTag, MinimapPosition, MinimapSectionHeaderStyle, MouseTargetType, NewSymbolNameTag, NewSymbolNameTriggerKind, OverlayWidgetPositionPreference, OverviewRulerLane, PartialAcceptTriggerKind, PositionAffinity, RenderLineNumbersType, RenderMinimap, ScrollType, ScrollbarVisibility, SelectionDirection, ShowLightbulbIconMode, SignatureHelpTriggerKind, SymbolKind, SymbolTag, TextEditorCursorBlinkingStyle, TextEditorCursorStyle, TrackedRangeStickiness, WrappingIndent };
633
+ export { AccessibilitySupport, CodeActionTriggerType, CompletionItemInsertTextRule, CompletionItemKind, CompletionItemTag, CompletionTriggerKind, ContentWidgetPositionPreference, CursorChangeReason, DefaultEndOfLine, DocumentHighlightKind, EditorAutoIndentStrategy, EditorOption, EndOfLinePreference, EndOfLineSequence, GlyphMarginLane, HoverVerbosityAction, IndentAction, InjectedTextCursorStops, InlayHintKind, InlineCompletionEndOfLifeReasonKind, InlineCompletionTriggerKind, InlineEditTriggerKind, KeyCode, MarkerSeverity, MarkerTag, MinimapPosition, MinimapSectionHeaderStyle, MouseTargetType, NewSymbolNameTag, NewSymbolNameTriggerKind, OverlayWidgetPositionPreference, OverviewRulerLane, PartialAcceptTriggerKind, PositionAffinity, RenderLineNumbersType, RenderMinimap, ScrollType, ScrollbarVisibility, SelectionDirection, ShowLightbulbIconMode, SignatureHelpTriggerKind, SymbolKind, SymbolTag, TextEditorCursorBlinkingStyle, TextEditorCursorStyle, TrackedRangeStickiness, WrappingIndent };
@@ -70,6 +70,13 @@ export declare class ModelRawLineChanged {
70
70
  readonly injectedText: LineInjectedText[] | null;
71
71
  constructor(lineNumber: number, detail: string, injectedText: LineInjectedText[] | null);
72
72
  }
73
+ export declare class ModelLineHeightChanged {
74
+ readonly ownerId: number;
75
+ readonly decorationId: string;
76
+ readonly lineNumber: number;
77
+ readonly lineHeight: number | null;
78
+ constructor(ownerId: number, decorationId: string, lineNumber: number, lineHeight: number | null);
79
+ }
73
80
  export declare class ModelRawLinesDeleted {
74
81
  readonly changeType = RawContentChangedType.LinesDeleted;
75
82
  readonly fromLineNumber: number;
@@ -102,6 +109,10 @@ export declare class ModelInjectedTextChangedEvent {
102
109
  readonly changes: ModelRawLineChanged[];
103
110
  constructor(changes: ModelRawLineChanged[]);
104
111
  }
112
+ export declare class ModelLineHeightChangedEvent {
113
+ readonly changes: ModelLineHeightChanged[];
114
+ constructor(changes: ModelLineHeightChanged[]);
115
+ }
105
116
  export declare class InternalModelContentChangeEvent {
106
117
  readonly rawContentChangedEvent: ModelRawContentChangedEvent;
107
118
  readonly contentChangedEvent: IModelContentChangedEvent;
@@ -86,6 +86,14 @@ class ModelRawLineChanged {
86
86
  this.injectedText = injectedText;
87
87
  }
88
88
  }
89
+ class ModelLineHeightChanged {
90
+ constructor(ownerId, decorationId, lineNumber, lineHeight) {
91
+ this.ownerId = ownerId;
92
+ this.decorationId = decorationId;
93
+ this.lineNumber = lineNumber;
94
+ this.lineHeight = lineHeight;
95
+ }
96
+ }
89
97
  class ModelRawLinesDeleted {
90
98
  constructor(fromLineNumber, toLineNumber) {
91
99
  this.changeType = RawContentChangedType.LinesDeleted;
@@ -137,6 +145,11 @@ class ModelInjectedTextChangedEvent {
137
145
  this.changes = changes;
138
146
  }
139
147
  }
148
+ class ModelLineHeightChangedEvent {
149
+ constructor(changes) {
150
+ this.changes = changes;
151
+ }
152
+ }
140
153
  class InternalModelContentChangeEvent {
141
154
  constructor(rawContentChangedEvent, contentChangedEvent) {
142
155
  this.rawContentChangedEvent = rawContentChangedEvent;
@@ -167,4 +180,4 @@ class InternalModelContentChangeEvent {
167
180
  }
168
181
  }
169
182
 
170
- export { InternalModelContentChangeEvent, LineInjectedText, ModelInjectedTextChangedEvent, ModelRawContentChangedEvent, ModelRawEOLChanged, ModelRawFlush, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted, RawContentChangedType };
183
+ export { InternalModelContentChangeEvent, LineInjectedText, ModelInjectedTextChangedEvent, ModelLineHeightChanged, ModelLineHeightChangedEvent, ModelRawContentChangedEvent, ModelRawEOLChanged, ModelRawFlush, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted, RawContentChangedType };
@@ -0,0 +1,7 @@
1
+ export declare class RateLimiter {
2
+ readonly timesPerSecond: number;
3
+ private _lastRun;
4
+ private readonly _minimumTimeBetweenRuns;
5
+ constructor(timesPerSecond?: number);
6
+ runIfNotLimited(callback: () => void): void;
7
+ }
@@ -0,0 +1,18 @@
1
+
2
+
3
+ class RateLimiter {
4
+ constructor(timesPerSecond = 5) {
5
+ this.timesPerSecond = timesPerSecond;
6
+ this._lastRun = 0;
7
+ this._minimumTimeBetweenRuns = 1000 / timesPerSecond;
8
+ }
9
+ runIfNotLimited(callback) {
10
+ const now = Date.now();
11
+ if (now - this._lastRun >= this._minimumTimeBetweenRuns) {
12
+ this._lastRun = now;
13
+ callback();
14
+ }
15
+ }
16
+ }
17
+
18
+ export { RateLimiter };
@@ -6,4 +6,4 @@ export declare class ContiguousTokensEditing {
6
6
  static append(lineTokens: Uint32Array | ArrayBuffer | null, _otherTokens: Uint32Array | ArrayBuffer | null): Uint32Array | ArrayBuffer | null;
7
7
  static insert(lineTokens: Uint32Array | ArrayBuffer | null, chIndex: number, textLength: number): Uint32Array | ArrayBuffer | null;
8
8
  }
9
- export declare function toUint32Array(arr: Uint32Array | ArrayBuffer): Uint32Array;
9
+ export declare function toUint32Array(arr: Uint32Array | ArrayBuffer): Uint32Array<ArrayBuffer>;
@@ -36,6 +36,7 @@ export declare class LineTokens implements IViewLineTokens {
36
36
  readonly languageIdCodec: ILanguageIdCodec;
37
37
  static defaultTokenMetadata: number;
38
38
  constructor(tokens: Uint32Array, text: string, decoder: ILanguageIdCodec);
39
+ getTextLength(): number;
39
40
  equals(other: IViewLineTokens): boolean;
40
41
  slicedEquals(other: LineTokens, sliceFromTokenIndex: number, sliceTokenCount: number): boolean;
41
42
  getLineContent(): string;
@@ -66,6 +66,9 @@ class LineTokens {
66
66
  this._text = text;
67
67
  this.languageIdCodec = decoder;
68
68
  }
69
+ getTextLength() {
70
+ return this._text.length;
71
+ }
69
72
  equals(other) {
70
73
  if (other instanceof LineTokens) {
71
74
  return this.slicedEquals(other, 0, this._tokensCount);
@@ -1,4 +1,5 @@
1
1
  import { IRange, Range } from "../core/range.js";
2
+ import { ITextModel } from "../model.js";
2
3
  export declare class SparseMultilineTokens {
3
4
  static create(startLineNumber: number, tokens: Uint32Array): SparseMultilineTokens;
4
5
  private _startLineNumber;
@@ -21,6 +22,7 @@ export declare class SparseMultilineTokens {
21
22
  acceptEdit(range: IRange, eolCount: number, firstLineLength: number, lastLineLength: number, firstCharCode: number): void;
22
23
  private _acceptDeleteRange;
23
24
  private _acceptInsertText;
25
+ reportIfInvalid(model: ITextModel): void;
24
26
  }
25
27
  export declare class SparseLineTokens {
26
28
  private readonly _tokens;
@@ -3,6 +3,7 @@ import { CharCode } from '../../../base/common/charCode.js';
3
3
  import { Position } from '../core/position.js';
4
4
  import { Range } from '../core/range.js';
5
5
  import { countEOL } from '../core/eolCounter.js';
6
+ import { RateLimiter } from './common.js';
6
7
 
7
8
  class SparseMultilineTokens {
8
9
  static create(startLineNumber, tokens) {
@@ -111,6 +112,9 @@ class SparseMultilineTokens {
111
112
  }
112
113
  this._tokens.acceptInsertText(lineIndex, position.column - 1, eolCount, firstLineLength, lastLineLength, firstCharCode);
113
114
  }
115
+ reportIfInvalid(model) {
116
+ this._tokens.reportIfInvalid(model, this._startLineNumber);
117
+ }
114
118
  }
115
119
  class SparseMultilineTokensStorage {
116
120
  constructor(tokens) {
@@ -385,6 +389,22 @@ class SparseMultilineTokensStorage {
385
389
  tokens[offset + 2] = tokenEndCharacter;
386
390
  }
387
391
  }
392
+ static { this._rateLimiter = ( new RateLimiter(10 / 60)); }
393
+ reportIfInvalid(model, startLineNumber) {
394
+ for (let i = 0; i < this._tokenCount; i++) {
395
+ const lineNumber = this._getDeltaLine(i) + startLineNumber;
396
+ if (lineNumber > model.getLineCount()) {
397
+ SparseMultilineTokensStorage._rateLimiter.runIfNotLimited(() => {
398
+ console.error('Invalid Semantic Tokens Data From Extension: lineNumber > model.getLineCount()');
399
+ });
400
+ }
401
+ if (this._getEndCharacter(i) > model.getLineLength(lineNumber)) {
402
+ SparseMultilineTokensStorage._rateLimiter.runIfNotLimited(() => {
403
+ console.error('Invalid Semantic Tokens Data From Extension: end character > model.getLineLength(lineNumber)');
404
+ });
405
+ }
406
+ }
407
+ }
388
408
  }
389
409
  class SparseLineTokens {
390
410
  constructor(tokens) {
@@ -2,6 +2,7 @@ import { IRange, Range } from "../core/range.js";
2
2
  import { LineTokens } from "./lineTokens.js";
3
3
  import { SparseMultilineTokens } from "./sparseMultilineTokens.js";
4
4
  import { ILanguageIdCodec } from "../languages.js";
5
+ import { ITextModel } from "../model.js";
5
6
  export declare class SparseTokensStore {
6
7
  private _pieces;
7
8
  private _isComplete;
@@ -9,7 +10,7 @@ export declare class SparseTokensStore {
9
10
  constructor(languageIdCodec: ILanguageIdCodec);
10
11
  flush(): void;
11
12
  isEmpty(): boolean;
12
- set(pieces: SparseMultilineTokens[] | null, isComplete: boolean): void;
13
+ set(pieces: SparseMultilineTokens[] | null, isComplete: boolean, textModel?: ITextModel | undefined): void;
13
14
  setPartial(_range: Range, pieces: SparseMultilineTokens[]): Range;
14
15
  isComplete(): boolean;
15
16
  addSparseTokens(lineNumber: number, aTokens: LineTokens): LineTokens;
@@ -16,9 +16,14 @@ class SparseTokensStore {
16
16
  isEmpty() {
17
17
  return (this._pieces.length === 0);
18
18
  }
19
- set(pieces, isComplete) {
19
+ set(pieces, isComplete, textModel = undefined) {
20
20
  this._pieces = pieces || [];
21
21
  this._isComplete = isComplete;
22
+ if (textModel) {
23
+ for (const p of this._pieces) {
24
+ p.reportIfInvalid(textModel);
25
+ }
26
+ }
22
27
  }
23
28
  setPartial(_range, pieces) {
24
29
  let range = _range;
@@ -77,7 +82,7 @@ class SparseTokensStore {
77
82
  return this._isComplete;
78
83
  }
79
84
  addSparseTokens(lineNumber, aTokens) {
80
- if (aTokens.getLineContent().length === 0) {
85
+ if (aTokens.getTextLength() === 0) {
81
86
  return aTokens;
82
87
  }
83
88
  const pieces = this._pieces;
@@ -104,8 +109,8 @@ class SparseTokensStore {
104
109
  result[resultLen++] = metadata;
105
110
  };
106
111
  for (let bIndex = 0; bIndex < bLen; bIndex++) {
107
- const bStartCharacter = bTokens.getStartCharacter(bIndex);
108
- const bEndCharacter = bTokens.getEndCharacter(bIndex);
112
+ const bStartCharacter = Math.min(bTokens.getStartCharacter(bIndex), aTokens.getTextLength());
113
+ const bEndCharacter = Math.min(bTokens.getEndCharacter(bIndex), aTokens.getTextLength());
109
114
  const bMetadata = bTokens.getMetadata(bIndex);
110
115
  const bMask = (((bMetadata & MetadataConsts.SEMANTIC_USE_ITALIC) ? MetadataConsts.ITALIC_MASK : 0)
111
116
  | ((bMetadata & MetadataConsts.SEMANTIC_USE_BOLD) ? MetadataConsts.BOLD_MASK : 0)
@@ -10,6 +10,7 @@ export declare class TokenArray {
10
10
  forEach(cb: (range: OffsetRange, tokenInfo: TokenInfo) => void): void;
11
11
  map<T>(cb: (range: OffsetRange, tokenInfo: TokenInfo) => T): T[];
12
12
  slice(range: OffsetRange): TokenArray;
13
+ append(other: TokenArray): TokenArray;
13
14
  }
14
15
  export type TokenMetadata = number;
15
16
  export declare class TokenInfo {
@@ -58,6 +58,10 @@ class TokenArray {
58
58
  }
59
59
  return TokenArray.create(result);
60
60
  }
61
+ append(other) {
62
+ const result = this._tokenInfo.concat(other._tokenInfo);
63
+ return TokenArray.create(result);
64
+ }
61
65
  }
62
66
  class TokenInfo {
63
67
  constructor(length, metadata) {
@@ -0,0 +1,25 @@
1
+ import { OffsetRange } from "../core/offsetRange.js";
2
+ import { ILanguageIdCodec } from "../languages.js";
3
+ import { LineTokens } from "./lineTokens.js";
4
+ export declare class TokenWithTextArray {
5
+ private readonly _tokenInfo;
6
+ static fromLineTokens(lineTokens: LineTokens): TokenWithTextArray;
7
+ static create(tokenInfo: TokenWithTextInfo[]): TokenWithTextArray;
8
+ private constructor();
9
+ toLineTokens(decoder: ILanguageIdCodec): LineTokens;
10
+ forEach(cb: (range: OffsetRange, tokenInfo: TokenWithTextInfo) => void): void;
11
+ map<T>(cb: (range: OffsetRange, tokenInfo: TokenWithTextInfo) => T): T[];
12
+ slice(range: OffsetRange): TokenWithTextArray;
13
+ append(other: TokenWithTextArray): TokenWithTextArray;
14
+ }
15
+ export type TokenMetadata = number;
16
+ export declare class TokenWithTextInfo {
17
+ readonly text: string;
18
+ readonly metadata: TokenMetadata;
19
+ constructor(text: string, metadata: TokenMetadata);
20
+ }
21
+ export declare class TokenWithTextArrayBuilder {
22
+ private readonly _tokens;
23
+ add(text: string, metadata: TokenMetadata): void;
24
+ build(): TokenWithTextArray;
25
+ }
@@ -0,0 +1,73 @@
1
+
2
+ import { OffsetRange } from '../core/offsetRange.js';
3
+ import { LineTokens } from './lineTokens.js';
4
+
5
+ class TokenWithTextArray {
6
+ static fromLineTokens(lineTokens) {
7
+ const tokenInfo = [];
8
+ for (let i = 0; i < lineTokens.getCount(); i++) {
9
+ tokenInfo.push(( new TokenWithTextInfo(lineTokens.getTokenText(i), lineTokens.getMetadata(i))));
10
+ }
11
+ return TokenWithTextArray.create(tokenInfo);
12
+ }
13
+ static create(tokenInfo) {
14
+ return ( new TokenWithTextArray(tokenInfo));
15
+ }
16
+ constructor(_tokenInfo) {
17
+ this._tokenInfo = _tokenInfo;
18
+ }
19
+ toLineTokens(decoder) {
20
+ return LineTokens.createFromTextAndMetadata(( this.map((_r, t) => ({ text: t.text, metadata: t.metadata }))), decoder);
21
+ }
22
+ forEach(cb) {
23
+ let lengthSum = 0;
24
+ for (const tokenInfo of this._tokenInfo) {
25
+ const range = ( new OffsetRange(lengthSum, lengthSum + tokenInfo.text.length));
26
+ cb(range, tokenInfo);
27
+ lengthSum += tokenInfo.text.length;
28
+ }
29
+ }
30
+ map(cb) {
31
+ const result = [];
32
+ let lengthSum = 0;
33
+ for (const tokenInfo of this._tokenInfo) {
34
+ const range = ( new OffsetRange(lengthSum, lengthSum + tokenInfo.text.length));
35
+ result.push(cb(range, tokenInfo));
36
+ lengthSum += tokenInfo.text.length;
37
+ }
38
+ return result;
39
+ }
40
+ slice(range) {
41
+ const result = [];
42
+ let lengthSum = 0;
43
+ for (const tokenInfo of this._tokenInfo) {
44
+ const tokenStart = lengthSum;
45
+ const tokenEndEx = tokenStart + tokenInfo.text.length;
46
+ if (tokenEndEx > range.start) {
47
+ if (tokenStart >= range.endExclusive) {
48
+ break;
49
+ }
50
+ const deltaBefore = Math.max(0, range.start - tokenStart);
51
+ const deltaAfter = Math.max(0, tokenEndEx - range.endExclusive);
52
+ result.push(( new TokenWithTextInfo(
53
+ tokenInfo.text.slice(deltaBefore, tokenInfo.text.length - deltaAfter),
54
+ tokenInfo.metadata
55
+ )));
56
+ }
57
+ lengthSum += tokenInfo.text.length;
58
+ }
59
+ return TokenWithTextArray.create(result);
60
+ }
61
+ append(other) {
62
+ const result = this._tokenInfo.concat(other._tokenInfo);
63
+ return TokenWithTextArray.create(result);
64
+ }
65
+ }
66
+ class TokenWithTextInfo {
67
+ constructor(text, metadata) {
68
+ this.text = text;
69
+ this.metadata = metadata;
70
+ }
71
+ }
72
+
73
+ export { TokenWithTextArray, TokenWithTextInfo };