@codingame/monaco-vscode-api 16.1.0 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (603) hide show
  1. package/missing-services.js +107 -2
  2. package/monaco.d.ts +2 -2
  3. package/package.json +10 -9
  4. package/services.d.ts +4 -4
  5. package/services.js +7 -18
  6. package/vscode/src/vs/base/browser/dom.d.ts +1 -0
  7. package/vscode/src/vs/base/browser/dom.js +6 -1
  8. package/vscode/src/vs/base/browser/mouseEvent.d.ts +2 -0
  9. package/vscode/src/vs/base/browser/mouseEvent.js +1 -0
  10. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  11. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.d.ts +2 -3
  12. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  13. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +1 -0
  14. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +6 -1
  15. package/vscode/src/vs/base/browser/ui/list/listPaging.d.ts +2 -1
  16. package/vscode/src/vs/base/browser/ui/severityIcon/media/severityIcon.css +1 -3
  17. package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +5 -1
  18. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +17 -4
  19. package/vscode/src/vs/base/common/arrays.d.ts +1 -0
  20. package/vscode/src/vs/base/common/arrays.js +5 -2
  21. package/vscode/src/vs/base/common/async.js +9 -2
  22. package/vscode/src/vs/base/common/codicons.d.ts +5 -0
  23. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +5 -0
  24. package/vscode/src/vs/base/common/codiconsLibrary.js +5 -0
  25. package/vscode/src/vs/base/common/color.d.ts +1 -0
  26. package/vscode/src/vs/base/common/color.js +10 -0
  27. package/vscode/src/vs/base/common/comparers.d.ts +2 -2
  28. package/vscode/src/vs/base/common/decorators.d.ts +1 -1
  29. package/vscode/src/vs/base/common/glob.d.ts +3 -0
  30. package/vscode/src/vs/base/common/glob.js +10 -1
  31. package/vscode/src/vs/base/common/marshallingIds.d.ts +2 -1
  32. package/vscode/src/vs/base/common/marshallingIds.js +1 -0
  33. package/vscode/src/vs/base/common/observableInternal/autorun.d.ts +6 -8
  34. package/vscode/src/vs/base/common/observableInternal/autorun.js +15 -11
  35. package/vscode/src/vs/base/common/observableInternal/base.d.ts +0 -10
  36. package/vscode/src/vs/base/common/observableInternal/changeTracker.d.ts +23 -0
  37. package/vscode/src/vs/base/common/observableInternal/changeTracker.js +30 -0
  38. package/vscode/src/vs/base/common/observableInternal/derived.d.ts +18 -13
  39. package/vscode/src/vs/base/common/observableInternal/derived.js +47 -18
  40. package/vscode/src/vs/base/common/observableInternal/index.d.ts +6 -5
  41. package/vscode/src/vs/base/common/observableInternal/index.js +2 -2
  42. package/vscode/src/vs/base/common/observableInternal/logging/logging.d.ts +2 -2
  43. package/vscode/src/vs/base/common/observableInternal/promise.d.ts +28 -0
  44. package/vscode/src/vs/base/common/observableInternal/promise.js +65 -0
  45. package/vscode/src/vs/base/common/observableInternal/reducer.d.ts +16 -0
  46. package/vscode/src/vs/base/common/observableInternal/reducer.js +36 -0
  47. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +2 -0
  48. package/vscode/src/vs/base/common/observableInternal/utils.js +19 -11
  49. package/vscode/src/vs/base/common/product.d.ts +5 -0
  50. package/vscode/src/vs/base/common/sseParser.d.ts +26 -0
  51. package/vscode/src/vs/base/common/sseParser.js +134 -0
  52. package/vscode/src/vs/base/common/stopwatch.js +2 -2
  53. package/vscode/src/vs/base/common/strings.d.ts +1 -0
  54. package/vscode/src/vs/base/common/strings.js +8 -19
  55. package/vscode/src/vs/base/common/ternarySearchTree.d.ts +1 -0
  56. package/vscode/src/vs/base/common/ternarySearchTree.js +55 -13
  57. package/vscode/src/vs/editor/browser/config/editorConfiguration.d.ts +1 -0
  58. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -1
  59. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.css +1 -1
  60. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +6 -3
  61. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +86 -54
  62. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.d.ts +0 -1
  63. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +12 -8
  64. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.d.ts +0 -1
  65. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +9 -6
  66. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +3 -3
  67. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +2 -2
  68. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +1 -1
  69. package/vscode/src/vs/editor/browser/gpu/objectCollectionBuffer.d.ts +1 -1
  70. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +2 -0
  71. package/vscode/src/vs/editor/browser/services/hoverService/hover.css +8 -0
  72. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.d.ts +1 -0
  73. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +6 -1
  74. package/vscode/src/vs/editor/browser/view/renderingContext.d.ts +1 -0
  75. package/vscode/src/vs/editor/browser/view/renderingContext.js +3 -0
  76. package/vscode/src/vs/editor/browser/view/viewLayer.d.ts +3 -1
  77. package/vscode/src/vs/editor/browser/view/viewLayer.js +13 -6
  78. package/vscode/src/vs/editor/browser/view/viewOverlays.js +4 -1
  79. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +4 -5
  80. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -2
  81. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.d.ts +0 -1
  82. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +6 -6
  83. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +3 -0
  84. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +2 -2
  85. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +1 -1
  86. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +1 -1
  87. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +5 -2
  88. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -1
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
  90. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.d.ts +1 -1
  91. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +10 -8
  92. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +19 -15
  93. package/vscode/src/vs/editor/common/codecs/frontMatterCodec/tokens/index.d.ts +5 -0
  94. package/vscode/src/vs/editor/common/codecs/simpleCodec/tokens/index.d.ts +20 -0
  95. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +24 -23
  96. package/vscode/src/vs/editor/common/config/editorOptions.js +3 -4
  97. package/vscode/src/vs/editor/common/core/columnRange.d.ts +11 -0
  98. package/vscode/src/vs/editor/common/core/columnRange.js +32 -0
  99. package/vscode/src/vs/editor/common/core/offsetEdit.d.ts +1 -0
  100. package/vscode/src/vs/editor/common/core/offsetEdit.js +10 -0
  101. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +1 -0
  102. package/vscode/src/vs/editor/common/core/offsetRange.js +3 -0
  103. package/vscode/src/vs/editor/common/core/positionToOffset.d.ts +15 -3
  104. package/vscode/src/vs/editor/common/core/positionToOffset.js +45 -11
  105. package/vscode/src/vs/editor/common/core/rangeSingleLine.d.ts +9 -0
  106. package/vscode/src/vs/editor/common/core/rangeSingleLine.js +27 -0
  107. package/vscode/src/vs/editor/common/core/textEdit.d.ts +1 -0
  108. package/vscode/src/vs/editor/common/core/textEdit.js +41 -0
  109. package/vscode/src/vs/editor/common/editorCommon.d.ts +1 -0
  110. package/vscode/src/vs/editor/common/languages/modesRegistry.d.ts +2 -2
  111. package/vscode/src/vs/editor/common/languages/modesRegistry.js +4 -2
  112. package/vscode/src/vs/editor/common/languages.d.ts +22 -1
  113. package/vscode/src/vs/editor/common/languages.js +7 -1
  114. package/vscode/src/vs/editor/common/model/textModel.d.ts +5 -1
  115. package/vscode/src/vs/editor/common/model/textModel.js +80 -18
  116. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +1 -1
  117. package/vscode/src/vs/editor/common/model.d.ts +2 -1
  118. package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +5 -0
  119. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +7 -1
  120. package/vscode/src/vs/editor/common/textModelEvents.d.ts +11 -0
  121. package/vscode/src/vs/editor/common/textModelEvents.js +14 -1
  122. package/vscode/src/vs/editor/common/tokens/common.d.ts +7 -0
  123. package/vscode/src/vs/editor/common/tokens/common.js +18 -0
  124. package/vscode/src/vs/editor/common/tokens/contiguousTokensEditing.d.ts +1 -1
  125. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +1 -0
  126. package/vscode/src/vs/editor/common/tokens/lineTokens.js +3 -0
  127. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.d.ts +2 -0
  128. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +20 -0
  129. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.d.ts +2 -1
  130. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +9 -4
  131. package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +1 -0
  132. package/vscode/src/vs/editor/common/tokens/tokenArray.js +4 -0
  133. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.d.ts +25 -0
  134. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.js +73 -0
  135. package/vscode/src/vs/editor/common/viewLayout/lineHeights.d.ts +35 -0
  136. package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +339 -0
  137. package/vscode/src/vs/editor/common/viewLayout/linesLayout.d.ts +8 -6
  138. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +42 -49
  139. package/vscode/src/vs/editor/common/viewLayout/viewLayout.d.ts +6 -3
  140. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +16 -5
  141. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +1 -0
  142. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +44 -7
  143. package/vscode/src/vs/editor/common/viewModel.d.ts +5 -0
  144. package/vscode/src/vs/editor/common/viewModelEventDispatcher.d.ts +11 -3
  145. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +14 -1
  146. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +20 -14
  147. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -1
  148. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -1
  149. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.d.ts +1 -1
  150. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +4 -3
  151. package/vscode/src/vs/editor/contrib/find/browser/findController.d.ts +1 -3
  152. package/vscode/src/vs/editor/contrib/find/browser/findController.js +5 -11
  153. package/vscode/src/vs/editor/contrib/find/browser/findWidget.d.ts +1 -7
  154. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -15
  155. package/vscode/src/vs/editor/contrib/folding/browser/folding.d.ts +1 -1
  156. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +24 -23
  157. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  158. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  159. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  160. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  161. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  162. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  163. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  164. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  165. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  166. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  167. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  168. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +5 -5
  169. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  170. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  171. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  172. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  173. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  174. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +14 -12
  175. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  176. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  177. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +21 -21
  178. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  179. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.d.ts +0 -4
  180. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +29 -41
  181. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
  182. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.d.ts +1 -0
  183. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +11 -6
  184. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  185. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -6
  186. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +1 -2
  187. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.d.ts +4 -4
  188. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +1 -2
  189. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.d.ts +10 -0
  190. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +31 -2
  191. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.d.ts +1 -1
  192. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +16 -16
  193. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +156 -202
  194. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +21 -49
  195. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +135 -431
  196. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.d.ts +3 -3
  197. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +98 -0
  198. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +487 -0
  199. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +34 -32
  200. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +141 -132
  201. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.d.ts +1 -1
  202. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +2 -2
  203. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.d.ts +26 -0
  204. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.d.ts +2 -7
  205. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +21 -20
  206. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +19 -7
  207. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +1 -1
  208. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +17 -9
  209. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.d.ts +5 -13
  210. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +139 -188
  211. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +8 -6
  212. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +9 -3
  213. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.d.ts +4 -4
  214. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +6 -6
  215. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.d.ts +23 -0
  216. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +157 -0
  217. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +2 -0
  218. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +37 -20
  219. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.d.ts +3 -2
  220. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +3 -4
  221. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.d.ts +6 -1
  222. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +28 -5
  223. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.d.ts +21 -0
  224. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +215 -0
  225. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +0 -1
  226. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +0 -1
  227. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +2 -2
  228. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.d.ts +1 -3
  229. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +3 -4
  230. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +22 -21
  231. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  232. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  233. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
  234. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  235. package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
  236. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  237. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  238. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  239. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  240. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +17 -17
  241. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  242. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  243. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +23 -49
  244. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  245. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  246. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  247. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  248. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  249. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +8 -0
  250. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +1 -1
  251. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  252. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.d.ts +1 -0
  253. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +24 -14
  254. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  255. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  256. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +19 -18
  257. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  258. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  259. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  260. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  261. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  262. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  263. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +5 -10
  264. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  265. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  266. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  267. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  268. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  269. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +1 -1
  270. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +2 -2
  271. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +2 -2
  272. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
  273. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +3 -0
  274. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +23 -14
  275. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +2 -0
  276. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +17 -3
  277. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +6 -1
  278. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.d.ts +2 -1
  279. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.service.d.ts +2 -1
  280. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  281. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  282. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -1
  283. package/vscode/src/vs/platform/actions/common/actions.js +2 -0
  284. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  285. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  286. package/vscode/src/vs/platform/clipboard/browser/clipboardService.d.ts +1 -0
  287. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +3 -0
  288. package/vscode/src/vs/platform/clipboard/common/clipboardService.service.d.ts +1 -0
  289. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +15 -13
  290. package/vscode/src/vs/platform/configuration/common/configurations.js +1 -1
  291. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  292. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  293. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  294. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  295. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
  296. package/vscode/src/vs/platform/dnd/browser/dnd.d.ts +5 -0
  297. package/vscode/src/vs/platform/dnd/browser/dnd.js +6 -2
  298. package/vscode/src/vs/platform/editor/common/editor.d.ts +1 -0
  299. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +8 -2
  300. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +94 -4
  301. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -2
  302. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.d.ts +3 -2
  303. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +10 -7
  304. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  305. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +1 -1
  306. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.d.ts +0 -1
  307. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +10 -11
  308. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
  309. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -0
  310. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +7 -6
  311. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +9 -8
  312. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  313. package/vscode/src/vs/platform/files/common/files.js +6 -6
  314. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  315. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +5 -4
  316. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  317. package/vscode/src/vs/platform/label/common/label.service.d.ts +1 -1
  318. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
  319. package/vscode/src/vs/platform/list/browser/listService.d.ts +1 -1
  320. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  321. package/vscode/src/vs/platform/log/common/log.js +6 -6
  322. package/vscode/src/vs/platform/markers/common/markerService.d.ts +2 -7
  323. package/vscode/src/vs/platform/markers/common/markerService.js +5 -5
  324. package/vscode/src/vs/platform/markers/common/markers.d.ts +7 -0
  325. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  326. package/vscode/src/vs/platform/markers/common/markers.service.d.ts +2 -7
  327. package/vscode/src/vs/platform/native/common/native.d.ts +168 -0
  328. package/vscode/src/vs/platform/notification/common/notification.d.ts +6 -2
  329. package/vscode/src/vs/platform/notification/common/notification.js +3 -2
  330. package/vscode/src/vs/platform/notification/common/notification.service.d.ts +2 -3
  331. package/vscode/src/vs/platform/product/common/product.js +93 -48
  332. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +4 -19
  333. package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +6 -3
  334. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +33 -10
  335. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
  336. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.d.ts +2 -0
  337. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +6 -0
  338. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +25 -18
  339. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.d.ts +5 -5
  340. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +58 -43
  341. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  342. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +1 -1
  343. package/vscode/src/vs/platform/registry/common/platform.js +9 -1
  344. package/vscode/src/vs/platform/request/common/request.d.ts +1 -1
  345. package/vscode/src/vs/platform/request/common/request.js +18 -18
  346. package/vscode/src/vs/platform/request/common/request.service.d.ts +1 -1
  347. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  348. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +14 -1
  349. package/vscode/src/vs/platform/terminal/common/terminal.js +14 -1
  350. package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -2
  351. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +4 -2
  352. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +7 -1
  353. package/vscode/src/vs/platform/theme/common/colorUtils.js +12 -4
  354. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  355. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  356. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +94 -94
  357. package/vscode/src/vs/platform/theme/common/colors/inputColors.d.ts +2 -0
  358. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +49 -47
  359. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  360. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  361. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  362. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
  363. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  364. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  365. package/vscode/src/vs/platform/theme/common/iconRegistry.js +10 -8
  366. package/vscode/src/vs/platform/theme/common/themeService.d.ts +0 -8
  367. package/vscode/src/vs/platform/theme/common/themeService.js +4 -3
  368. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  369. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  370. package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +1 -1
  371. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  372. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +2 -2
  373. package/vscode/src/vs/platform/window/common/window.d.ts +4 -0
  374. package/vscode/src/vs/platform/window/common/window.js +2 -1
  375. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  376. package/vscode/src/vs/platform/workspaces/common/workspaces.service.d.ts +2 -2
  377. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +27 -20
  378. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +54 -19
  379. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  380. package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.d.ts +14 -0
  381. package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.js +38 -0
  382. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +1 -0
  383. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +2 -1
  384. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +30 -17
  385. package/vscode/src/vs/workbench/api/common/extHostCodeMapper.js +2 -0
  386. package/vscode/src/vs/workbench/api/common/extHostCommands.d.ts +0 -1
  387. package/vscode/src/vs/workbench/api/common/extHostCommands.js +4 -2
  388. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
  389. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  390. package/vscode/src/vs/workbench/api/common/extHostExtensionService.d.ts +2 -0
  391. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +15 -4
  392. package/vscode/src/vs/workbench/api/common/extHostLabelService.d.ts +1 -1
  393. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +4 -0
  394. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +31 -6
  395. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +2 -3
  396. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +60 -14
  397. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +1 -1
  398. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +15 -9
  399. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  400. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +4 -3
  401. package/vscode/src/vs/workbench/api/common/extHostMcp.js +279 -82
  402. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  403. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +3 -0
  404. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.d.ts +2 -1
  405. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.js +4 -2
  406. package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.d.ts +1 -1
  407. package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -0
  408. package/vscode/src/vs/workbench/api/common/extHostSCM.js +21 -0
  409. package/vscode/src/vs/workbench/api/common/extHostSearch.js +1 -1
  410. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  411. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  412. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
  413. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
  414. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  415. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +27 -9
  416. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +201 -29
  417. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +67 -27
  418. package/vscode/src/vs/workbench/api/common/extHostTypes.js +79 -28
  419. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
  420. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +7 -4
  421. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +34 -9
  422. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  423. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +1 -0
  424. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +3 -0
  425. package/vscode/src/vs/workbench/browser/actions/developerActions.js +33 -33
  426. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  427. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.d.ts +1 -1
  428. package/vscode/src/vs/workbench/common/configuration.js +10 -16
  429. package/vscode/src/vs/workbench/common/contextkeys.d.ts +3 -0
  430. package/vscode/src/vs/workbench/common/contextkeys.js +73 -71
  431. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  432. package/vscode/src/vs/workbench/common/editor.d.ts +13 -9
  433. package/vscode/src/vs/workbench/common/editor.js +4 -4
  434. package/vscode/src/vs/workbench/common/theme.js +160 -160
  435. package/vscode/src/vs/workbench/common/views.js +4 -4
  436. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +164 -147
  437. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  438. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +2 -2
  439. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +2 -2
  440. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service.d.ts +1 -1
  441. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +15 -14
  442. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +245 -0
  443. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +435 -0
  444. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +1 -1
  445. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +6 -9
  446. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +51 -49
  447. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +19 -26
  448. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +16 -23
  449. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.service.d.ts +1 -1
  450. package/vscode/src/vs/workbench/contrib/chat/common/chatEntitlementService.service.d.ts +2 -2
  451. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +585 -0
  452. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +1179 -0
  453. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +116 -0
  454. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +211 -0
  455. package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +19 -6
  456. package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +4 -4
  457. package/vscode/src/vs/workbench/contrib/chat/common/chatTransferService.service.d.ts +3 -1
  458. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +1 -2
  459. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.service.d.ts +2 -7
  460. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service.d.ts +1 -1
  461. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +2 -3
  462. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +12 -4
  463. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +33 -5
  464. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +14 -3
  465. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +18 -3
  466. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
  467. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.d.ts +4 -0
  468. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +6 -0
  469. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +3 -1
  470. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/index.d.ts +3 -0
  471. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +14 -4
  472. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.d.ts +28 -1
  473. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.service.d.ts +10 -4
  474. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.d.ts +8 -25
  475. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +11 -97
  476. package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.d.ts +0 -3
  477. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
  478. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  479. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  480. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  481. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  482. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.d.ts +1 -1
  483. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  484. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  485. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  486. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  487. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  488. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  489. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -1
  490. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  491. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  492. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  493. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +1 -1
  494. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +64 -64
  495. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +171 -0
  496. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +85 -0
  497. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +2 -3
  498. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.d.ts +10 -0
  499. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +127 -0
  500. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  501. package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +3 -3
  502. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  503. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  504. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  505. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  506. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  507. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +2 -2
  508. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +3 -1
  509. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  510. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  511. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service.d.ts +1 -0
  512. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +19 -8
  513. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +12 -10
  514. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
  515. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +2 -2
  516. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +8 -4
  517. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -1
  518. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.d.ts +1 -1
  519. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.service.d.ts +1 -1
  520. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.d.ts +1 -1
  521. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +2 -2
  522. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.d.ts +4 -1
  523. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +11 -3
  524. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +77 -16
  525. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  526. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  527. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  528. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  529. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  530. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  531. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +3 -2
  532. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  533. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  534. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
  535. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
  536. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +1 -1
  537. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.service.d.ts +1 -1
  538. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.d.ts +17 -0
  539. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.js +10 -0
  540. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.d.ts +13 -0
  541. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.js +6 -0
  542. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.d.ts +2 -0
  543. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.js +61 -12
  544. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.d.ts +3 -2
  545. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +25 -29
  546. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +4 -1
  547. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +1 -0
  548. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  549. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
  550. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +2 -2
  551. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
  552. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.d.ts +1 -1
  553. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +1 -1
  554. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +3 -2
  555. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +84 -84
  556. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +4 -1
  557. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  558. package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +2 -4
  559. package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
  560. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  561. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.d.ts +1 -0
  562. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +2 -0
  563. package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
  564. package/vscode/src/vs/workbench/services/output/common/output.js +6 -4
  565. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
  566. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  567. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  568. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  569. package/vscode/src/vs/workbench/services/search/common/search.d.ts +2 -1
  570. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.d.ts +5 -0
  571. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +6 -1
  572. package/vscode/src/vs/workbench/services/search/common/textSearchManager.d.ts +2 -2
  573. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +31 -23
  574. package/vscode/src/vs/workbench/services/textfile/common/encoding.d.ts +64 -0
  575. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +560 -0
  576. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +165 -0
  577. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +74 -0
  578. package/vscode/src/vs/workbench/services/textfile/common/textfiles.service.d.ts +12 -2
  579. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  580. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  581. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +12 -12
  582. package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.d.ts +1 -1
  583. package/vscode-dts/vscode.d.ts +204 -9
  584. package/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts +30 -0
  585. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +18 -16
  586. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +84 -5
  587. package/vscode-dts/vscode.proposed.chatProvider.d.ts +18 -16
  588. package/vscode-dts/vscode.proposed.chatStatusItem.d.ts +1 -1
  589. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +1 -1
  590. package/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts +1 -1
  591. package/vscode-dts/vscode.proposed.d.ts +2 -2
  592. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
  593. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +46 -8
  594. package/vscode-dts/vscode.proposed.languageModelDataPart.d.ts +106 -16
  595. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +2 -0
  596. package/vscode-dts/vscode.proposed.mcpConfigurationProvider.d.ts +115 -21
  597. package/vscode-dts/vscode.proposed.quickDiffProvider.d.ts +7 -3
  598. package/vscode-dts/vscode.proposed.textSearchProvider2.d.ts +23 -1
  599. package/vscode-dts/vscode.proposed.toolProgress.d.ts +25 -0
  600. package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +1 -1
  601. package/workbench.d.ts +1 -1
  602. package/vscode-dts/vscode.proposed.languageModelToolsForAgent.d.ts +0 -8
  603. package/vscode-dts/vscode.proposed.textDocumentEncoding.d.ts +0 -170
@@ -1,11 +1,11 @@
1
1
  import { SingleTextEdit } from "../../../../common/core/textEdit.js";
2
2
  import { Command } from "../../../../common/languages.js";
3
- import { InlineCompletionItem } from "./provideInlineCompletions.js";
3
+ import { InlineSuggestionItem } from "./inlineSuggestionItem.js";
4
4
  export declare class InlineEdit {
5
5
  readonly edit: SingleTextEdit;
6
6
  readonly commands: readonly Command[];
7
- readonly inlineCompletion: InlineCompletionItem;
8
- constructor(edit: SingleTextEdit, commands: readonly Command[], inlineCompletion: InlineCompletionItem);
7
+ readonly inlineCompletion: InlineSuggestionItem;
8
+ constructor(edit: SingleTextEdit, commands: readonly Command[], inlineCompletion: InlineSuggestionItem);
9
9
  get range(): import("../../../../common/core/range.js").Range;
10
10
  get text(): string;
11
11
  equals(other: InlineEdit): boolean;
@@ -0,0 +1,98 @@
1
+ import { IObservable } from "../../../../../base/common/observable.js";
2
+ import { ICommandService } from "../../../../../platform/commands/common/commands.service.js";
3
+ import { ISingleEditOperation } from "../../../../common/core/editOperation.js";
4
+ import { OffsetEdit } from "../../../../common/core/offsetEdit.js";
5
+ import { Position } from "../../../../common/core/position.js";
6
+ import { PositionOffsetTransformerBase } from "../../../../common/core/positionToOffset.js";
7
+ import { Range } from "../../../../common/core/range.js";
8
+ import { SingleTextEdit } from "../../../../common/core/textEdit.js";
9
+ import { InlineCompletion, Command, InlineCompletionWarning, PartialAcceptInfo, InlineCompletionEndOfLifeReason } from "../../../../common/languages.js";
10
+ import { ITextModel } from "../../../../common/model.js";
11
+ import { IDisplayLocation, InlineSuggestData, InlineSuggestionList, SnippetInfo } from "./provideInlineCompletions.js";
12
+ export type InlineSuggestionItem = InlineEditItem | InlineCompletionItem;
13
+ export declare namespace InlineSuggestionItem {
14
+ function create(data: InlineSuggestData, textModel: ITextModel): InlineSuggestionItem;
15
+ }
16
+ declare abstract class InlineSuggestionItemBase {
17
+ protected readonly _data: InlineSuggestData;
18
+ readonly identity: InlineSuggestionIdentity;
19
+ readonly displayLocation: InlineSuggestDisplayLocation | undefined;
20
+ constructor(_data: InlineSuggestData, identity: InlineSuggestionIdentity, displayLocation: InlineSuggestDisplayLocation | undefined);
21
+ get source(): InlineSuggestionList;
22
+ get isFromExplicitRequest(): boolean;
23
+ get forwardStable(): boolean;
24
+ get editRange(): Range;
25
+ get targetRange(): Range;
26
+ get insertText(): string;
27
+ get semanticId(): string;
28
+ get action(): Command | undefined;
29
+ get command(): Command | undefined;
30
+ get warning(): InlineCompletionWarning | undefined;
31
+ get showInlineEditMenu(): boolean;
32
+ get hash(): string;
33
+ get shownCommand(): Command | undefined;
34
+ private get _sourceInlineCompletion();
35
+ abstract getSingleTextEdit(): SingleTextEdit;
36
+ abstract withEdit(userEdit: OffsetEdit, textModel: ITextModel): InlineSuggestionItem | undefined;
37
+ abstract withIdentity(identity: InlineSuggestionIdentity): InlineSuggestionItem;
38
+ abstract canBeReused(model: ITextModel, position: Position): boolean;
39
+ addRef(): void;
40
+ removeRef(): void;
41
+ reportInlineEditShown(commandService: ICommandService): void;
42
+ reportPartialAccept(acceptedCharacters: number, info: PartialAcceptInfo): void;
43
+ reportEndOfLife(reason: InlineCompletionEndOfLifeReason): void;
44
+ setEndOfLifeReason(reason: InlineCompletionEndOfLifeReason): void;
45
+ getSourceCompletion(): InlineCompletion;
46
+ }
47
+ export declare class InlineSuggestionIdentity {
48
+ private static idCounter;
49
+ private readonly _onDispose;
50
+ readonly onDispose: IObservable<void>;
51
+ private _refCount;
52
+ readonly id: string;
53
+ addRef(): void;
54
+ removeRef(): void;
55
+ }
56
+ declare class InlineSuggestDisplayLocation implements IDisplayLocation {
57
+ private readonly _offsetRange;
58
+ readonly range: Range;
59
+ readonly label: string;
60
+ static create(displayLocation: IDisplayLocation, textmodel: ITextModel): InlineSuggestDisplayLocation;
61
+ private constructor();
62
+ withEdit(edit: OffsetEdit, positionOffsetTransformer: PositionOffsetTransformerBase): InlineSuggestDisplayLocation | undefined;
63
+ }
64
+ export declare class InlineCompletionItem extends InlineSuggestionItemBase {
65
+ private readonly _edit;
66
+ private readonly _textEdit;
67
+ private readonly _originalRange;
68
+ readonly snippetInfo: SnippetInfo | undefined;
69
+ readonly additionalTextEdits: readonly ISingleEditOperation[];
70
+ static create(data: InlineSuggestData, textModel: ITextModel): InlineCompletionItem;
71
+ readonly isInlineEdit = false;
72
+ private constructor();
73
+ getSingleTextEdit(): SingleTextEdit;
74
+ withIdentity(identity: InlineSuggestionIdentity): InlineCompletionItem;
75
+ withEdit(textModelEdit: OffsetEdit, textModel: ITextModel): InlineCompletionItem | undefined;
76
+ canBeReused(model: ITextModel, position: Position): boolean;
77
+ isVisible(model: ITextModel, cursorPosition: Position): boolean;
78
+ }
79
+ export declare class InlineEditItem extends InlineSuggestionItemBase {
80
+ private readonly _edit;
81
+ private readonly _textEdit;
82
+ private readonly _edits;
83
+ private readonly _lastChangePartOfInlineEdit;
84
+ private readonly _inlineEditModelVersion;
85
+ static create(data: InlineSuggestData, textModel: ITextModel): InlineEditItem;
86
+ readonly snippetInfo: SnippetInfo | undefined;
87
+ readonly additionalTextEdits: readonly ISingleEditOperation[];
88
+ readonly isInlineEdit = true;
89
+ private constructor();
90
+ get updatedEditModelVersion(): number;
91
+ get updatedEdit(): OffsetEdit;
92
+ getSingleTextEdit(): SingleTextEdit;
93
+ withIdentity(identity: InlineSuggestionIdentity): InlineEditItem;
94
+ canBeReused(model: ITextModel, position: Position): boolean;
95
+ withEdit(textModelChanges: OffsetEdit, textModel: ITextModel): InlineEditItem | undefined;
96
+ private _applyTextModelChanges;
97
+ }
98
+ export {};
@@ -0,0 +1,487 @@
1
+
2
+ import { BugIndicatingError } from '../../../../../base/common/errors.js';
3
+ import { matchesSubString } from '../../../../../base/common/filters.js';
4
+ import '../../../../../base/common/observableInternal/index.js';
5
+ import { splitLines, commonPrefixLength, commonSuffixLength } from '../../../../../base/common/strings.js';
6
+ import { applyEditsToRanges, SingleOffsetEdit, OffsetEdit } from '../../../../common/core/offsetEdit.js';
7
+ import { OffsetRange } from '../../../../common/core/offsetRange.js';
8
+ import { getPositionOffsetTransformerFromTextModel } from '../../../../common/core/positionToOffset.js';
9
+ import { Range } from '../../../../common/core/range.js';
10
+ import { SingleTextEdit, TextEdit, StringText } from '../../../../common/core/textEdit.js';
11
+ import { TextLength } from '../../../../common/core/textLength.js';
12
+ import { linesDiffComputers } from '../../../../common/diff/linesDiffComputers.js';
13
+ import { InlineCompletionTriggerKind } from '../../../../common/languages.js';
14
+ import { EndOfLinePreference } from '../../../../common/model.js';
15
+ import { TextModelText } from '../../../../common/model/textModelText.js';
16
+ import { singleTextRemoveCommonPrefix } from './singleTextEditHelpers.js';
17
+ import { observableSignal } from '../../../../../base/common/observableInternal/utils.js';
18
+
19
+ var InlineSuggestionItem;
20
+ (function (InlineSuggestionItem) {
21
+ function create(data, textModel) {
22
+ if (!data.isInlineEdit) {
23
+ return InlineCompletionItem.create(data, textModel);
24
+ }
25
+ else {
26
+ return InlineEditItem.create(data, textModel);
27
+ }
28
+ }
29
+ InlineSuggestionItem.create = create;
30
+ })(InlineSuggestionItem || (InlineSuggestionItem = {}));
31
+ class InlineSuggestionItemBase {
32
+ constructor(_data, identity, displayLocation) {
33
+ this._data = _data;
34
+ this.identity = identity;
35
+ this.displayLocation = displayLocation;
36
+ }
37
+ get source() { return this._data.source; }
38
+ get isFromExplicitRequest() { return this._data.context.triggerKind === InlineCompletionTriggerKind.Explicit; }
39
+ get forwardStable() { return this.source.inlineSuggestions.enableForwardStability ?? false; }
40
+ get editRange() { return this.getSingleTextEdit().range; }
41
+ get targetRange() { return this.displayLocation?.range ?? this.editRange; }
42
+ get insertText() { return this.getSingleTextEdit().text; }
43
+ get semanticId() { return this.hash; }
44
+ get action() { return this._sourceInlineCompletion.action; }
45
+ get command() { return this._sourceInlineCompletion.command; }
46
+ get warning() { return this._sourceInlineCompletion.warning; }
47
+ get showInlineEditMenu() { return !!this._sourceInlineCompletion.showInlineEditMenu; }
48
+ get hash() {
49
+ return JSON.stringify([
50
+ this.getSingleTextEdit().text,
51
+ ( this.getSingleTextEdit().range.getStartPosition().toString())
52
+ ]);
53
+ }
54
+ get shownCommand() { return this._sourceInlineCompletion.shownCommand; }
55
+ get _sourceInlineCompletion() { return this._data.sourceInlineCompletion; }
56
+ addRef() {
57
+ this.identity.addRef();
58
+ this.source.addRef();
59
+ }
60
+ removeRef() {
61
+ this.identity.removeRef();
62
+ this.source.removeRef();
63
+ }
64
+ reportInlineEditShown(commandService) {
65
+ this._data.reportInlineEditShown(commandService, this.insertText);
66
+ }
67
+ reportPartialAccept(acceptedCharacters, info) {
68
+ this._data.reportPartialAccept(acceptedCharacters, info);
69
+ }
70
+ reportEndOfLife(reason) {
71
+ this._data.reportEndOfLife(reason);
72
+ }
73
+ setEndOfLifeReason(reason) {
74
+ this._data.setEndOfLifeReason(reason);
75
+ }
76
+ getSourceCompletion() {
77
+ return this._sourceInlineCompletion;
78
+ }
79
+ }
80
+ class InlineSuggestionIdentity {
81
+ constructor() {
82
+ this._onDispose = observableSignal(this);
83
+ this.onDispose = this._onDispose;
84
+ this._refCount = 1;
85
+ this.id = 'InlineCompletionIdentity' + InlineSuggestionIdentity.idCounter++;
86
+ }
87
+ static { this.idCounter = 0; }
88
+ addRef() {
89
+ this._refCount++;
90
+ }
91
+ removeRef() {
92
+ this._refCount--;
93
+ if (this._refCount === 0) {
94
+ this._onDispose.trigger(undefined);
95
+ }
96
+ }
97
+ }
98
+ class InlineSuggestDisplayLocation {
99
+ static create(displayLocation, textmodel) {
100
+ const offsetRange = ( new OffsetRange(
101
+ textmodel.getOffsetAt(displayLocation.range.getStartPosition()),
102
+ textmodel.getOffsetAt(displayLocation.range.getEndPosition())
103
+ ));
104
+ return ( new InlineSuggestDisplayLocation(offsetRange, displayLocation.range, displayLocation.label));
105
+ }
106
+ constructor(_offsetRange, range, label) {
107
+ this._offsetRange = _offsetRange;
108
+ this.range = range;
109
+ this.label = label;
110
+ }
111
+ withEdit(edit, positionOffsetTransformer) {
112
+ const newOffsetRange = applyEditsToRanges([this._offsetRange], edit)[0];
113
+ if (!newOffsetRange || newOffsetRange.length !== this._offsetRange.length) {
114
+ return undefined;
115
+ }
116
+ const newRange = positionOffsetTransformer.getRange(newOffsetRange);
117
+ return ( new InlineSuggestDisplayLocation(newOffsetRange, newRange, this.label));
118
+ }
119
+ }
120
+ class InlineCompletionItem extends InlineSuggestionItemBase {
121
+ static create(data, textModel) {
122
+ const identity = ( new InlineSuggestionIdentity());
123
+ const textEdit = ( new SingleTextEdit(data.range, data.insertText));
124
+ const edit = getPositionOffsetTransformerFromTextModel(textModel).getSingleOffsetEdit(textEdit);
125
+ const displayLocation = data.displayLocation ? InlineSuggestDisplayLocation.create(data.displayLocation, textModel) : undefined;
126
+ return ( new InlineCompletionItem(
127
+ edit,
128
+ textEdit,
129
+ data.range,
130
+ data.snippetInfo,
131
+ data.additionalTextEdits,
132
+ data,
133
+ identity,
134
+ displayLocation
135
+ ));
136
+ }
137
+ constructor(_edit, _textEdit, _originalRange, snippetInfo, additionalTextEdits, data, identity, displayLocation) {
138
+ super(data, identity, displayLocation);
139
+ this._edit = _edit;
140
+ this._textEdit = _textEdit;
141
+ this._originalRange = _originalRange;
142
+ this.snippetInfo = snippetInfo;
143
+ this.additionalTextEdits = additionalTextEdits;
144
+ this.isInlineEdit = false;
145
+ }
146
+ getSingleTextEdit() { return this._textEdit; }
147
+ withIdentity(identity) {
148
+ return ( new InlineCompletionItem(
149
+ this._edit,
150
+ this._textEdit,
151
+ this._originalRange,
152
+ this.snippetInfo,
153
+ this.additionalTextEdits,
154
+ this._data,
155
+ identity,
156
+ this.displayLocation
157
+ ));
158
+ }
159
+ withEdit(textModelEdit, textModel) {
160
+ const newEditRange = applyEditsToRanges([this._edit.replaceRange], textModelEdit);
161
+ if (newEditRange.length === 0) {
162
+ return undefined;
163
+ }
164
+ const newEdit = ( new SingleOffsetEdit(newEditRange[0], this._textEdit.text));
165
+ const positionOffsetTransformer = getPositionOffsetTransformerFromTextModel(textModel);
166
+ const newTextEdit = positionOffsetTransformer.getSingleTextEdit(newEdit);
167
+ let newDisplayLocation = this.displayLocation;
168
+ if (newDisplayLocation) {
169
+ newDisplayLocation = newDisplayLocation.withEdit(textModelEdit, positionOffsetTransformer);
170
+ if (!newDisplayLocation) {
171
+ return undefined;
172
+ }
173
+ }
174
+ return ( new InlineCompletionItem(
175
+ newEdit,
176
+ newTextEdit,
177
+ this._originalRange,
178
+ this.snippetInfo,
179
+ this.additionalTextEdits,
180
+ this._data,
181
+ this.identity,
182
+ newDisplayLocation
183
+ ));
184
+ }
185
+ canBeReused(model, position) {
186
+ const updatedRange = this._textEdit.range;
187
+ const result = !!updatedRange
188
+ && updatedRange.containsPosition(position)
189
+ && this.isVisible(model, position)
190
+ && TextLength.ofRange(updatedRange).isGreaterThanOrEqualTo(TextLength.ofRange(this._originalRange));
191
+ return result;
192
+ }
193
+ isVisible(model, cursorPosition) {
194
+ const minimizedReplacement = singleTextRemoveCommonPrefix(this.getSingleTextEdit(), model);
195
+ if (!this.editRange
196
+ || !this._originalRange.getStartPosition().equals(this.editRange.getStartPosition())
197
+ || cursorPosition.lineNumber !== minimizedReplacement.range.startLineNumber
198
+ || minimizedReplacement.isEmpty
199
+ ) {
200
+ return false;
201
+ }
202
+ const originalValue = model.getValueInRange(minimizedReplacement.range, EndOfLinePreference.LF);
203
+ const filterText = minimizedReplacement.text;
204
+ const cursorPosIndex = Math.max(0, cursorPosition.column - minimizedReplacement.range.startColumn);
205
+ let filterTextBefore = filterText.substring(0, cursorPosIndex);
206
+ let filterTextAfter = filterText.substring(cursorPosIndex);
207
+ let originalValueBefore = originalValue.substring(0, cursorPosIndex);
208
+ let originalValueAfter = originalValue.substring(cursorPosIndex);
209
+ const originalValueIndent = model.getLineIndentColumn(minimizedReplacement.range.startLineNumber);
210
+ if (minimizedReplacement.range.startColumn <= originalValueIndent) {
211
+ originalValueBefore = originalValueBefore.trimStart();
212
+ if (originalValueBefore.length === 0) {
213
+ originalValueAfter = originalValueAfter.trimStart();
214
+ }
215
+ filterTextBefore = filterTextBefore.trimStart();
216
+ if (filterTextBefore.length === 0) {
217
+ filterTextAfter = filterTextAfter.trimStart();
218
+ }
219
+ }
220
+ return filterTextBefore.startsWith(originalValueBefore)
221
+ && !!matchesSubString(originalValueAfter, filterTextAfter);
222
+ }
223
+ }
224
+ class InlineEditItem extends InlineSuggestionItemBase {
225
+ static create(data, textModel) {
226
+ const offsetEdit = getOffsetEdit(textModel, data.range, data.insertText);
227
+ const text = ( new TextModelText(textModel));
228
+ const textEdit = TextEdit.fromOffsetEdit(offsetEdit, text);
229
+ const singleTextEdit = textEdit.toSingle(text);
230
+ const identity = ( new InlineSuggestionIdentity());
231
+ const edits = ( offsetEdit.edits.map(edit => {
232
+ const replacedRange = Range.fromPositions(textModel.getPositionAt(edit.replaceRange.start), textModel.getPositionAt(edit.replaceRange.endExclusive));
233
+ const replacedText = textModel.getValueInRange(replacedRange);
234
+ return SingleUpdatedNextEdit.create(edit, replacedText);
235
+ }));
236
+ const displayLocation = data.displayLocation ? InlineSuggestDisplayLocation.create(data.displayLocation, textModel) : undefined;
237
+ return ( new InlineEditItem(
238
+ offsetEdit,
239
+ singleTextEdit,
240
+ data,
241
+ identity,
242
+ edits,
243
+ displayLocation,
244
+ false,
245
+ textModel.getVersionId()
246
+ ));
247
+ }
248
+ constructor(_edit, _textEdit, data, identity, _edits, displayLocation, _lastChangePartOfInlineEdit = false, _inlineEditModelVersion) {
249
+ super(data, identity, displayLocation);
250
+ this._edit = _edit;
251
+ this._textEdit = _textEdit;
252
+ this._edits = _edits;
253
+ this._lastChangePartOfInlineEdit = _lastChangePartOfInlineEdit;
254
+ this._inlineEditModelVersion = _inlineEditModelVersion;
255
+ this.snippetInfo = undefined;
256
+ this.additionalTextEdits = [];
257
+ this.isInlineEdit = true;
258
+ }
259
+ get updatedEditModelVersion() { return this._inlineEditModelVersion; }
260
+ get updatedEdit() { return this._edit; }
261
+ getSingleTextEdit() {
262
+ return this._textEdit;
263
+ }
264
+ withIdentity(identity) {
265
+ return ( new InlineEditItem(
266
+ this._edit,
267
+ this._textEdit,
268
+ this._data,
269
+ identity,
270
+ this._edits,
271
+ this.displayLocation,
272
+ this._lastChangePartOfInlineEdit,
273
+ this._inlineEditModelVersion
274
+ ));
275
+ }
276
+ canBeReused(model, position) {
277
+ return this._lastChangePartOfInlineEdit && this.updatedEditModelVersion === model.getVersionId();
278
+ }
279
+ withEdit(textModelChanges, textModel) {
280
+ const edit = this._applyTextModelChanges(textModelChanges, this._edits, textModel);
281
+ return edit;
282
+ }
283
+ _applyTextModelChanges(textModelChanges, edits, textModel) {
284
+ edits = ( edits.map(innerEdit => innerEdit.applyTextModelChanges(textModelChanges)));
285
+ if (( edits.some(edit => edit.edit === undefined))) {
286
+ return undefined;
287
+ }
288
+ const newTextModelVersion = textModel.getVersionId();
289
+ let inlineEditModelVersion = this._inlineEditModelVersion;
290
+ const lastChangePartOfInlineEdit = ( edits.some(edit => edit.lastChangeUpdatedEdit));
291
+ if (lastChangePartOfInlineEdit) {
292
+ inlineEditModelVersion = newTextModelVersion ?? -1;
293
+ }
294
+ if (newTextModelVersion === null || inlineEditModelVersion + 20 < newTextModelVersion) {
295
+ return undefined;
296
+ }
297
+ edits = edits.filter(innerEdit => !innerEdit.edit.isEmpty);
298
+ if (edits.length === 0) {
299
+ return undefined;
300
+ }
301
+ const newEdit = ( new OffsetEdit(( edits.map(edit => edit.edit))));
302
+ const positionOffsetTransformer = getPositionOffsetTransformerFromTextModel(textModel);
303
+ const newTextEdit = positionOffsetTransformer.getTextEdit(newEdit).toSingle(( new TextModelText(textModel)));
304
+ let newDisplayLocation = this.displayLocation;
305
+ if (newDisplayLocation) {
306
+ newDisplayLocation = newDisplayLocation.withEdit(textModelChanges, positionOffsetTransformer);
307
+ if (!newDisplayLocation) {
308
+ return undefined;
309
+ }
310
+ }
311
+ return ( new InlineEditItem(
312
+ newEdit,
313
+ newTextEdit,
314
+ this._data,
315
+ this.identity,
316
+ edits,
317
+ newDisplayLocation,
318
+ lastChangePartOfInlineEdit,
319
+ inlineEditModelVersion
320
+ ));
321
+ }
322
+ }
323
+ function getOffsetEdit(textModel, editRange, replaceText) {
324
+ const eol = textModel.getEOL();
325
+ const editOriginalText = textModel.getValueInRange(editRange);
326
+ const editReplaceText = replaceText.replace(/\r\n|\r|\n/g, eol);
327
+ const diffAlgorithm = linesDiffComputers.getDefault();
328
+ const lineDiffs = diffAlgorithm.computeDiff(splitLines(editOriginalText), splitLines(editReplaceText), {
329
+ ignoreTrimWhitespace: false,
330
+ computeMoves: false,
331
+ extendToSubwords: true,
332
+ maxComputationTimeMs: 500,
333
+ });
334
+ const innerChanges = lineDiffs.changes.flatMap(c => c.innerChanges ?? []);
335
+ function addRangeToPos(pos, range) {
336
+ const start = TextLength.fromPosition(range.getStartPosition());
337
+ return TextLength.ofRange(range).createRange(start.addToPosition(pos));
338
+ }
339
+ const modifiedText = ( new StringText(editReplaceText));
340
+ const offsetEdit = ( new OffsetEdit(( innerChanges.map(c => {
341
+ const rangeInModel = addRangeToPos(editRange.getStartPosition(), c.originalRange);
342
+ const originalRange = getPositionOffsetTransformerFromTextModel(textModel).getOffsetRange(rangeInModel);
343
+ const replaceText = modifiedText.getValueOfRange(c.modifiedRange);
344
+ const edit = ( new SingleOffsetEdit(originalRange, replaceText));
345
+ const originalText = textModel.getValueInRange(rangeInModel);
346
+ return reshapeEdit(edit, originalText, innerChanges.length, textModel);
347
+ }))));
348
+ return offsetEdit;
349
+ }
350
+ class SingleUpdatedNextEdit {
351
+ static create(edit, replacedText) {
352
+ const prefixLength = commonPrefixLength(edit.newText, replacedText);
353
+ const suffixLength = commonSuffixLength(edit.newText, replacedText);
354
+ const trimmedNewText = edit.newText.substring(prefixLength, edit.newText.length - suffixLength);
355
+ return ( new SingleUpdatedNextEdit(edit, trimmedNewText, prefixLength, suffixLength));
356
+ }
357
+ get edit() { return this._edit; }
358
+ get lastChangeUpdatedEdit() { return this._lastChangeUpdatedEdit; }
359
+ constructor(_edit, _trimmedNewText, _prefixLength, _suffixLength, _lastChangeUpdatedEdit = false) {
360
+ this._edit = _edit;
361
+ this._trimmedNewText = _trimmedNewText;
362
+ this._prefixLength = _prefixLength;
363
+ this._suffixLength = _suffixLength;
364
+ this._lastChangeUpdatedEdit = _lastChangeUpdatedEdit;
365
+ }
366
+ applyTextModelChanges(textModelChanges) {
367
+ const c = this._clone();
368
+ c._applyTextModelChanges(textModelChanges);
369
+ return c;
370
+ }
371
+ _clone() {
372
+ return ( new SingleUpdatedNextEdit(
373
+ this._edit,
374
+ this._trimmedNewText,
375
+ this._prefixLength,
376
+ this._suffixLength,
377
+ this._lastChangeUpdatedEdit
378
+ ));
379
+ }
380
+ _applyTextModelChanges(textModelChanges) {
381
+ this._lastChangeUpdatedEdit = false;
382
+ if (!this._edit) {
383
+ throw ( new BugIndicatingError('UpdatedInnerEdits: No edit to apply changes to'));
384
+ }
385
+ const result = this._applyChanges(this._edit, textModelChanges);
386
+ if (!result) {
387
+ this._edit = undefined;
388
+ return;
389
+ }
390
+ this._edit = result.edit;
391
+ this._lastChangeUpdatedEdit = result.editHasChanged;
392
+ }
393
+ _applyChanges(edit, textModelChanges) {
394
+ let editStart = edit.replaceRange.start;
395
+ let editEnd = edit.replaceRange.endExclusive;
396
+ let editReplaceText = edit.newText;
397
+ let editHasChanged = false;
398
+ const shouldPreserveEditShape = this._prefixLength > 0 || this._suffixLength > 0;
399
+ for (let i = textModelChanges.edits.length - 1; i >= 0; i--) {
400
+ const change = textModelChanges.edits[i];
401
+ const isInsertion = change.newText.length > 0 && change.replaceRange.isEmpty;
402
+ if (isInsertion && !shouldPreserveEditShape && change.replaceRange.start === editStart && editReplaceText.startsWith(change.newText)) {
403
+ editStart += change.newText.length;
404
+ editReplaceText = editReplaceText.substring(change.newText.length);
405
+ editEnd = Math.max(editStart, editEnd);
406
+ editHasChanged = true;
407
+ continue;
408
+ }
409
+ if (isInsertion && shouldPreserveEditShape && change.replaceRange.start === editStart + this._prefixLength && this._trimmedNewText.startsWith(change.newText)) {
410
+ editEnd += change.newText.length;
411
+ editHasChanged = true;
412
+ this._prefixLength += change.newText.length;
413
+ this._trimmedNewText = this._trimmedNewText.substring(change.newText.length);
414
+ continue;
415
+ }
416
+ const isDeletion = change.newText.length === 0 && change.replaceRange.length > 0;
417
+ if (isDeletion && change.replaceRange.start >= editStart + this._prefixLength && change.replaceRange.endExclusive <= editEnd - this._suffixLength) {
418
+ editEnd -= change.replaceRange.length;
419
+ editHasChanged = true;
420
+ continue;
421
+ }
422
+ if (change.equals(edit)) {
423
+ editHasChanged = true;
424
+ editStart = change.replaceRange.endExclusive;
425
+ editReplaceText = '';
426
+ continue;
427
+ }
428
+ if (change.replaceRange.start > editEnd) {
429
+ continue;
430
+ }
431
+ if (change.replaceRange.endExclusive < editStart) {
432
+ editStart += change.newText.length - change.replaceRange.length;
433
+ editEnd += change.newText.length - change.replaceRange.length;
434
+ continue;
435
+ }
436
+ return undefined;
437
+ }
438
+ if (this._trimmedNewText.length === 0 && editStart + this._prefixLength === editEnd - this._suffixLength) {
439
+ return { edit: ( new SingleOffsetEdit(( new OffsetRange(editStart + this._prefixLength, editStart + this._prefixLength)), '')), editHasChanged: true };
440
+ }
441
+ return { edit: ( new SingleOffsetEdit(( new OffsetRange(editStart, editEnd)), editReplaceText)), editHasChanged };
442
+ }
443
+ }
444
+ function reshapeEdit(edit, originalText, totalInnerEdits, textModel) {
445
+ const eol = textModel.getEOL();
446
+ if (edit.newText.endsWith(eol) && originalText.endsWith(eol)) {
447
+ edit = ( new SingleOffsetEdit(
448
+ edit.replaceRange.deltaEnd(-eol.length),
449
+ edit.newText.slice(0, -eol.length)
450
+ ));
451
+ }
452
+ if (totalInnerEdits === 1 && edit.replaceRange.isEmpty && edit.newText.includes(eol)) {
453
+ edit = reshapeMultiLineInsertion(edit, textModel);
454
+ }
455
+ if (totalInnerEdits === 1) {
456
+ const prefixLength = commonPrefixLength(originalText, edit.newText);
457
+ const suffixLength = commonSuffixLength(originalText.slice(prefixLength), edit.newText.slice(prefixLength));
458
+ if (prefixLength + suffixLength === originalText.length) {
459
+ return ( new SingleOffsetEdit(
460
+ edit.replaceRange.deltaStart(prefixLength).deltaEnd(-suffixLength),
461
+ edit.newText.substring(prefixLength, edit.newText.length - suffixLength)
462
+ ));
463
+ }
464
+ if (prefixLength + suffixLength === edit.newText.length) {
465
+ return ( new SingleOffsetEdit(edit.replaceRange.deltaStart(prefixLength).deltaEnd(-suffixLength), ''));
466
+ }
467
+ }
468
+ return edit;
469
+ }
470
+ function reshapeMultiLineInsertion(edit, textModel) {
471
+ if (!edit.replaceRange.isEmpty) {
472
+ throw ( new BugIndicatingError('Unexpected original range'));
473
+ }
474
+ if (edit.replaceRange.start === 0) {
475
+ return edit;
476
+ }
477
+ const eol = textModel.getEOL();
478
+ const startPosition = textModel.getPositionAt(edit.replaceRange.start);
479
+ const startColumn = startPosition.column;
480
+ const startLineNumber = startPosition.lineNumber;
481
+ if (startColumn === 1 && startLineNumber > 1 && textModel.getLineLength(startLineNumber) !== 0 && edit.newText.endsWith(eol) && !edit.newText.startsWith(eol)) {
482
+ return ( new SingleOffsetEdit(edit.replaceRange.delta(-1), eol + edit.newText.slice(0, -eol.length)));
483
+ }
484
+ return edit;
485
+ }
486
+
487
+ export { InlineCompletionItem, InlineEditItem, InlineSuggestionIdentity, InlineSuggestionItem };