@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
@@ -4,51 +4,73 @@ import { compareUndefinedSmallest, numberComparator } from '../../../../../base/
4
4
  import { findLastMax } from '../../../../../base/common/arraysFind.js';
5
5
  import { CancellationTokenSource } from '../../../../../base/common/cancellation.js';
6
6
  import { equalsIfDefined, itemEquals } from '../../../../../base/common/equals.js';
7
- import { BugIndicatingError } from '../../../../../base/common/errors.js';
8
- import { matchesSubString } from '../../../../../base/common/filters.js';
9
7
  import { Disposable, MutableDisposable } from '../../../../../base/common/lifecycle.js';
10
8
  import '../../../../../base/common/observableInternal/index.js';
11
- import { splitLines, commonPrefixLength, commonSuffixLength } from '../../../../../base/common/strings.js';
9
+ import { observableReducerSettable } from '../../../../../base/common/observableInternal/reducer.js';
10
+ import { isDefined } from '../../../../../base/common/types.js';
12
11
  import { IConfigurationService } from '../../../../../platform/configuration/common/configuration.service.js';
13
12
  import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
14
13
  import { ILogService } from '../../../../../platform/log/common/log.service.js';
15
14
  import { observableConfigValue } from '../../../../../platform/observable/common/platformObservableUtils.js';
16
- import { OffsetEdit, SingleOffsetEdit, applyEditsToRanges } from '../../../../common/core/offsetEdit.js';
17
- import { OffsetRange } from '../../../../common/core/offsetRange.js';
18
- import { Range } from '../../../../common/core/range.js';
19
- import { SingleTextEdit, StringText } from '../../../../common/core/textEdit.js';
20
- import { TextLength } from '../../../../common/core/textLength.js';
21
- import { linesDiffComputers } from '../../../../common/diff/linesDiffComputers.js';
22
- import { InlineCompletionTriggerKind } from '../../../../common/languages.js';
15
+ import { OffsetEdit } from '../../../../common/core/offsetEdit.js';
16
+ import { InlineCompletionTriggerKind, InlineCompletionEndOfLifeReasonKind } from '../../../../common/languages.js';
23
17
  import { ILanguageConfigurationService } from '../../../../common/languages/languageConfigurationRegistry.service.js';
24
- import { EndOfLinePreference } from '../../../../common/model.js';
25
18
  import { OffsetEdits } from '../../../../common/model/textModelOffsetEdit.js';
26
- import { ILanguageFeaturesService } from '../../../../common/services/languageFeatures.service.js';
27
- import { provideInlineCompletions } from './provideInlineCompletions.js';
28
- import { singleTextRemoveCommonPrefix } from './singleTextEditHelpers.js';
29
19
  import { StructuredLogger, formatRecordableLogEntry } from '../structuredLogger.js';
30
- import { derived, derivedHandleChanges } from '../../../../../base/common/observableInternal/derived.js';
31
- import { disposableObservableValue, observableValue, transaction } from '../../../../../base/common/observableInternal/base.js';
20
+ import { wait } from '../utils.js';
21
+ import { InlineSuggestionItem } from './inlineSuggestionItem.js';
22
+ import { provideInlineCompletions } from './provideInlineCompletions.js';
23
+ import { recordChanges } from '../../../../../base/common/observableInternal/changeTracker.js';
24
+ import { derived } from '../../../../../base/common/observableInternal/derived.js';
25
+ import { observableValue, transaction } from '../../../../../base/common/observableInternal/base.js';
32
26
 
33
27
  var InlineCompletionsSource_1;
34
28
  let InlineCompletionsSource = class InlineCompletionsSource extends Disposable {
35
29
  static { InlineCompletionsSource_1 = this; }
36
30
  static { this._requestId = 0; }
37
- constructor(_textModel, _versionId, _debounceValue, _languageFeaturesService, _languageConfigurationService, _logService, _configurationService, _instantiationService) {
31
+ constructor(_textModel, _versionId, _debounceValue, _languageConfigurationService, _logService, _configurationService, _instantiationService) {
38
32
  super();
39
33
  this._textModel = _textModel;
40
34
  this._versionId = _versionId;
41
35
  this._debounceValue = _debounceValue;
42
- this._languageFeaturesService = _languageFeaturesService;
43
36
  this._languageConfigurationService = _languageConfigurationService;
44
37
  this._logService = _logService;
45
38
  this._configurationService = _configurationService;
46
39
  this._instantiationService = _instantiationService;
47
40
  this._updateOperation = this._register(( new MutableDisposable()));
48
- this.inlineCompletions = this._register(disposableObservableValue('inlineCompletions', undefined));
49
- this.suggestWidgetInlineCompletions = this._register(disposableObservableValue('suggestWidgetInlineCompletions', undefined));
50
41
  this._loggingEnabled = observableConfigValue('editor.inlineSuggest.logFetch', false, this._configurationService).recomputeInitiallyAndOnChange(this._store);
51
42
  this._structuredFetchLogger = this._register(this._instantiationService.createInstance(StructuredLogger.cast(), 'editor.inlineSuggest.logFetch.commandId'));
43
+ this._state = observableReducerSettable(this, {
44
+ initial: () => ({
45
+ inlineCompletions: InlineCompletionsState.createEmpty(),
46
+ suggestWidgetInlineCompletions: InlineCompletionsState.createEmpty(),
47
+ }),
48
+ disposeFinal: (values) => {
49
+ values.inlineCompletions.dispose();
50
+ values.suggestWidgetInlineCompletions.dispose();
51
+ },
52
+ changeTracker: recordChanges({ versionId: this._versionId }),
53
+ update: (reader, previousValue, changes) => {
54
+ const edit = OffsetEdit.join(( changes.changes.map(
55
+ c => c.change ? OffsetEdits.fromContentChanges(c.change.changes) : OffsetEdit.empty
56
+ )).filter(isDefined));
57
+ if (edit.isEmpty) {
58
+ return previousValue;
59
+ }
60
+ try {
61
+ return {
62
+ inlineCompletions: previousValue.inlineCompletions.createStateWithAppliedEdit(edit, this._textModel),
63
+ suggestWidgetInlineCompletions: previousValue.suggestWidgetInlineCompletions.createStateWithAppliedEdit(edit, this._textModel),
64
+ };
65
+ }
66
+ finally {
67
+ previousValue.inlineCompletions.dispose();
68
+ previousValue.suggestWidgetInlineCompletions.dispose();
69
+ }
70
+ }
71
+ });
72
+ this.inlineCompletions = ( this._state.map(this, v => v.inlineCompletions));
73
+ this.suggestWidgetInlineCompletions = ( this._state.map(this, v => v.suggestWidgetInlineCompletions));
52
74
  this.clearOperationOnTextModelChange = derived(this, reader => {
53
75
  this._versionId.read(reader);
54
76
  this._updateOperation.clear();
@@ -64,13 +86,13 @@ let InlineCompletionsSource = class InlineCompletionsSource extends Disposable {
64
86
  }
65
87
  this._structuredFetchLogger.log(entry);
66
88
  }
67
- fetch(position, context, activeInlineCompletion, withDebounce, userJumpedToActiveCompletion) {
89
+ fetch(providers, position, context, activeInlineCompletion, withDebounce, userJumpedToActiveCompletion, providerhasChangedCompletion) {
68
90
  const request = ( new UpdateRequest(position, context, this._textModel.getVersionId()));
69
- const target = context.selectedSuggestionInfo ? this.suggestWidgetInlineCompletions : this.inlineCompletions;
70
- if (this._updateOperation.value?.request.satisfies(request)) {
91
+ const target = context.selectedSuggestionInfo ? this.suggestWidgetInlineCompletions.get() : this.inlineCompletions.get();
92
+ if (!providerhasChangedCompletion && this._updateOperation.value?.request.satisfies(request)) {
71
93
  return this._updateOperation.value.promise;
72
94
  }
73
- else if (target.get()?.request.satisfies(request)) {
95
+ else if (target?.request?.satisfies(request)) {
74
96
  return Promise.resolve(true);
75
97
  }
76
98
  const updateOngoing = !!this._updateOperation.value;
@@ -80,7 +102,7 @@ let InlineCompletionsSource = class InlineCompletionsSource extends Disposable {
80
102
  this._loadingCount.set(this._loadingCount.get() + 1, undefined);
81
103
  try {
82
104
  const recommendedDebounceValue = this._debounceValue.get(this._textModel);
83
- const debounceValue = findLastMax(( this._languageFeaturesService.inlineCompletionsProvider.all(this._textModel).map(p => p.debounceDelayMs)), compareUndefinedSmallest(numberComparator)) ?? recommendedDebounceValue;
105
+ const debounceValue = findLastMax(( providers.map(p => p.debounceDelayMs)), compareUndefinedSmallest(numberComparator)) ?? recommendedDebounceValue;
84
106
  const shouldDebounce = updateOngoing || (withDebounce && context.triggerKind === InlineCompletionTriggerKind.Automatic);
85
107
  if (shouldDebounce) {
86
108
  await wait(debounceValue, source.token);
@@ -93,10 +115,10 @@ let InlineCompletionsSource = class InlineCompletionsSource extends Disposable {
93
115
  this._log({ sourceId: 'InlineCompletions.fetch', kind: 'start', requestId, modelUri: ( this._textModel.uri.toString()), modelVersion: this._textModel.getVersionId(), context: { triggerKind: context.triggerKind }, time: Date.now() });
94
116
  }
95
117
  const startTime = ( new Date());
96
- let updatedCompletions = undefined;
118
+ let providerResult = undefined;
97
119
  let error = undefined;
98
120
  try {
99
- updatedCompletions = await provideInlineCompletions(this._languageFeaturesService.inlineCompletionsProvider, position, this._textModel, context, source.token, this._languageConfigurationService);
121
+ providerResult = await provideInlineCompletions(providers, position, this._textModel, context, source.token, this._languageConfigurationService);
100
122
  }
101
123
  catch (e) {
102
124
  error = e;
@@ -107,7 +129,7 @@ let InlineCompletionsSource = class InlineCompletionsSource extends Disposable {
107
129
  if (source.token.isCancellationRequested || this._store.isDisposed || this._textModel.getVersionId() !== request.versionId) {
108
130
  error = 'canceled';
109
131
  }
110
- const result = updatedCompletions?.completions.map(c => ({
132
+ const result = providerResult?.completions.map(c => ({
111
133
  range: ( c.range.toString()),
112
134
  text: c.insertText,
113
135
  isInlineEdit: !!c.isInlineEdit,
@@ -117,27 +139,29 @@ let InlineCompletionsSource = class InlineCompletionsSource extends Disposable {
117
139
  }
118
140
  }
119
141
  if (source.token.isCancellationRequested || this._store.isDisposed || this._textModel.getVersionId() !== request.versionId || userJumpedToActiveCompletion.get() ) {
120
- updatedCompletions.dispose();
121
- return false;
122
- }
123
- if (activeInlineCompletion && activeInlineCompletion.isInlineEdit && activeInlineCompletion.updatedEditModelVersion === this._textModel.getVersionId() && ((activeInlineCompletion.canBeReused(this._textModel, position)
124
- || ( updatedCompletions.has(activeInlineCompletion.inlineCompletion)) || updatedCompletions.isEmpty()) )) {
125
- activeInlineCompletion.reuse();
126
- updatedCompletions.dispose();
142
+ providerResult.dispose();
127
143
  return false;
128
144
  }
129
145
  const endTime = ( new Date());
130
146
  this._debounceValue.update(this._textModel, endTime.getTime() - startTime.getTime());
131
- const completions = ( new UpToDateInlineCompletions(updatedCompletions, request, this._textModel, this._versionId));
132
- if (activeInlineCompletion && !activeInlineCompletion.isInlineEdit && activeInlineCompletion.canBeReused(this._textModel, position)) {
133
- const asInlineCompletion = activeInlineCompletion.toInlineCompletion(undefined);
134
- if (!( updatedCompletions.has(asInlineCompletion))) {
135
- completions.prepend(activeInlineCompletion.inlineCompletion, asInlineCompletion.range, true);
136
- }
137
- }
138
147
  this._updateOperation.clear();
139
148
  transaction(tx => {
140
- target.set(completions, tx);
149
+ const v = this._state.get();
150
+ if (context.selectedSuggestionInfo) {
151
+ this._state.set({
152
+ inlineCompletions: InlineCompletionsState.createEmpty(),
153
+ suggestWidgetInlineCompletions: v.suggestWidgetInlineCompletions.createStateWithAppliedResults(providerResult, request, this._textModel, activeInlineCompletion),
154
+ }, tx);
155
+ }
156
+ else {
157
+ this._state.set({
158
+ inlineCompletions: v.inlineCompletions.createStateWithAppliedResults(providerResult, request, this._textModel, activeInlineCompletion),
159
+ suggestWidgetInlineCompletions: InlineCompletionsState.createEmpty(),
160
+ }, tx);
161
+ }
162
+ providerResult.dispose();
163
+ v.inlineCompletions.dispose();
164
+ v.suggestWidgetInlineCompletions.dispose();
141
165
  });
142
166
  }
143
167
  finally {
@@ -151,46 +175,49 @@ let InlineCompletionsSource = class InlineCompletionsSource extends Disposable {
151
175
  }
152
176
  clear(tx) {
153
177
  this._updateOperation.clear();
154
- this.inlineCompletions.set(undefined, tx);
155
- this.suggestWidgetInlineCompletions.set(undefined, tx);
178
+ const v = this._state.get();
179
+ this._state.set({
180
+ inlineCompletions: InlineCompletionsState.createEmpty(),
181
+ suggestWidgetInlineCompletions: InlineCompletionsState.createEmpty()
182
+ }, tx);
183
+ v.inlineCompletions.dispose();
184
+ v.suggestWidgetInlineCompletions.dispose();
185
+ }
186
+ seedInlineCompletionsWithSuggestWidget() {
187
+ const inlineCompletions = this.inlineCompletions.get();
188
+ const suggestWidgetInlineCompletions = this.suggestWidgetInlineCompletions.get();
189
+ if (!suggestWidgetInlineCompletions) {
190
+ return;
191
+ }
192
+ transaction(tx => {
193
+ if (!inlineCompletions || (suggestWidgetInlineCompletions.request?.versionId ?? -1) > (inlineCompletions.request?.versionId ?? -1)) {
194
+ inlineCompletions?.dispose();
195
+ const s = this._state.get();
196
+ this._state.set({
197
+ inlineCompletions: suggestWidgetInlineCompletions.clone(),
198
+ suggestWidgetInlineCompletions: InlineCompletionsState.createEmpty(),
199
+ }, tx);
200
+ s.inlineCompletions.dispose();
201
+ s.suggestWidgetInlineCompletions.dispose();
202
+ }
203
+ this.clearSuggestWidgetInlineCompletions(tx);
204
+ });
156
205
  }
157
206
  clearSuggestWidgetInlineCompletions(tx) {
158
207
  if (this._updateOperation.value?.request.context.selectedSuggestionInfo) {
159
208
  this._updateOperation.clear();
160
209
  }
161
- this.suggestWidgetInlineCompletions.set(undefined, tx);
162
210
  }
163
211
  cancelUpdate() {
164
212
  this._updateOperation.clear();
165
213
  }
166
214
  };
167
215
  InlineCompletionsSource = InlineCompletionsSource_1 = ( __decorate([
168
- ( __param(3, ILanguageFeaturesService)),
169
- ( __param(4, ILanguageConfigurationService)),
170
- ( __param(5, ILogService)),
171
- ( __param(6, IConfigurationService)),
172
- ( __param(7, IInstantiationService))
216
+ ( __param(3, ILanguageConfigurationService)),
217
+ ( __param(4, ILogService)),
218
+ ( __param(5, IConfigurationService)),
219
+ ( __param(6, IInstantiationService))
173
220
  ], InlineCompletionsSource));
174
- function wait(ms, cancellationToken) {
175
- return ( new Promise(resolve => {
176
- let d = undefined;
177
- const handle = setTimeout(() => {
178
- if (d) {
179
- d.dispose();
180
- }
181
- resolve();
182
- }, ms);
183
- if (cancellationToken) {
184
- d = cancellationToken.onCancellationRequested(() => {
185
- clearTimeout(handle);
186
- if (d) {
187
- d.dispose();
188
- }
189
- resolve();
190
- });
191
- }
192
- }));
193
- }
194
221
  class UpdateRequest {
195
222
  constructor(position, context, versionId) {
196
223
  this.position = position;
@@ -218,382 +245,59 @@ class UpdateOperation {
218
245
  this.cancellationTokenSource.cancel();
219
246
  }
220
247
  }
221
- class UpToDateInlineCompletions {
222
- get inlineCompletions() { return this._inlineCompletions; }
223
- constructor(inlineCompletionProviderResult, request, _textModel, _versionId) {
224
- this.inlineCompletionProviderResult = inlineCompletionProviderResult;
225
- this.request = request;
226
- this._textModel = _textModel;
227
- this._versionId = _versionId;
228
- this._refCount = 1;
229
- this._prependedInlineCompletionItems = [];
230
- this._inlineCompletions = ( inlineCompletionProviderResult.completions.map(completion => ( new InlineCompletionWithUpdatedRange(completion, undefined, this._textModel, this._versionId, this.request))));
231
- }
232
- clone() {
233
- this._refCount++;
234
- return this;
235
- }
236
- dispose() {
237
- this._refCount--;
238
- if (this._refCount === 0) {
239
- this.inlineCompletionProviderResult.dispose();
240
- for (const i of this._prependedInlineCompletionItems) {
241
- i.source.removeRef();
242
- }
243
- this._inlineCompletions.forEach(i => i.dispose());
244
- }
248
+ class InlineCompletionsState extends Disposable {
249
+ static createEmpty() {
250
+ return ( new InlineCompletionsState([], undefined));
245
251
  }
246
- prepend(inlineCompletion, range, addRefToSource) {
247
- if (addRefToSource) {
248
- inlineCompletion.source.addRef();
252
+ constructor(inlineCompletions, request) {
253
+ for (const inlineCompletion of inlineCompletions) {
254
+ inlineCompletion.addRef();
249
255
  }
250
- this._inlineCompletions.unshift(( new InlineCompletionWithUpdatedRange(inlineCompletion, range, this._textModel, this._versionId, this.request)));
251
- this._prependedInlineCompletionItems.push(inlineCompletion);
252
- }
253
- }
254
- class InlineCompletionWithUpdatedRange extends Disposable {
255
- get forwardStable() {
256
- return this.source.inlineCompletions.enableForwardStability ?? false;
257
- }
258
- get updatedEdit() { return this._updatedEditObj.offsetEdit; }
259
- get updatedEditModelVersion() { return this._updatedEditObj.modelVersion; }
260
- get source() { return this.inlineCompletion.source; }
261
- get sourceInlineCompletion() { return this.inlineCompletion.sourceInlineCompletion; }
262
- get isInlineEdit() { return this.inlineCompletion.isInlineEdit; }
263
- constructor(inlineCompletion, updatedRange, _textModel, _modelVersion, request) {
264
256
  super();
265
- this.inlineCompletion = inlineCompletion;
266
- this._textModel = _textModel;
267
- this._modelVersion = _modelVersion;
257
+ this.inlineCompletions = inlineCompletions;
268
258
  this.request = request;
269
- this.semanticId = JSON.stringify([
270
- this.inlineCompletion.filterText,
271
- this.inlineCompletion.insertText,
272
- ( this.inlineCompletion.range.getStartPosition().toString())
273
- ]);
274
- this._updatedRange = derived(reader => {
275
- const edit = this.updatedEdit.read(reader);
276
- if (!edit || edit.edits.length === 0) {
277
- return undefined;
278
- }
279
- return Range.fromPositions(this._textModel.getPositionAt(edit.edits[0].replaceRange.start), this._textModel.getPositionAt(edit.edits[edit.edits.length - 1].replaceRange.endExclusive));
280
- });
281
- this._updatedEditObj = this._register(this._toUpdatedEdit(updatedRange ?? this.inlineCompletion.range, this.inlineCompletion.insertText));
282
- }
283
- toInlineCompletion(reader) {
284
- const singleTextEdit = this.toSingleTextEdit(reader);
285
- return this.inlineCompletion.withRangeInsertTextAndFilterText(singleTextEdit.range, singleTextEdit.text, singleTextEdit.text);
286
- }
287
- toSingleTextEdit(reader) {
288
- this._modelVersion.read(reader);
289
- const offsetEdit = this.updatedEdit.read(reader);
290
- if (!offsetEdit) {
291
- return ( new SingleTextEdit(
292
- this._updatedRange.read(reader) ?? emptyRange,
293
- this.inlineCompletion.insertText
294
- ));
295
- }
296
- const startOffset = offsetEdit.edits[0].replaceRange.start;
297
- const endOffset = offsetEdit.edits[offsetEdit.edits.length - 1].replaceRange.endExclusive;
298
- const overallOffsetRange = ( new OffsetRange(startOffset, endOffset));
299
- const overallLnColRange = Range.fromPositions(this._textModel.getPositionAt(overallOffsetRange.start), this._textModel.getPositionAt(overallOffsetRange.endExclusive));
300
- let text = this._textModel.getValueInRange(overallLnColRange);
301
- for (let i = offsetEdit.edits.length - 1; i >= 0; i--) {
302
- const edit = offsetEdit.edits[i];
303
- const relativeStartOffset = edit.replaceRange.start - startOffset;
304
- const relativeEndOffset = edit.replaceRange.endExclusive - startOffset;
305
- text = text.substring(0, relativeStartOffset) + edit.newText + text.substring(relativeEndOffset);
306
- }
307
- return ( new SingleTextEdit(overallLnColRange, text));
308
- }
309
- isVisible(model, cursorPosition, reader) {
310
- const minimizedReplacement = singleTextRemoveCommonPrefix(this.toSingleTextEdit(reader), model);
311
- const updatedRange = this._updatedRange.read(reader);
312
- if (!updatedRange
313
- || !this.inlineCompletion.range.getStartPosition().equals(updatedRange.getStartPosition())
314
- || cursorPosition.lineNumber !== minimizedReplacement.range.startLineNumber
315
- || minimizedReplacement.isEmpty
316
- ) {
317
- return false;
318
- }
319
- const originalValue = model.getValueInRange(minimizedReplacement.range, EndOfLinePreference.LF);
320
- const filterText = minimizedReplacement.text;
321
- const cursorPosIndex = Math.max(0, cursorPosition.column - minimizedReplacement.range.startColumn);
322
- let filterTextBefore = filterText.substring(0, cursorPosIndex);
323
- let filterTextAfter = filterText.substring(cursorPosIndex);
324
- let originalValueBefore = originalValue.substring(0, cursorPosIndex);
325
- let originalValueAfter = originalValue.substring(cursorPosIndex);
326
- const originalValueIndent = model.getLineIndentColumn(minimizedReplacement.range.startLineNumber);
327
- if (minimizedReplacement.range.startColumn <= originalValueIndent) {
328
- originalValueBefore = originalValueBefore.trimStart();
329
- if (originalValueBefore.length === 0) {
330
- originalValueAfter = originalValueAfter.trimStart();
331
- }
332
- filterTextBefore = filterTextBefore.trimStart();
333
- if (filterTextBefore.length === 0) {
334
- filterTextAfter = filterTextAfter.trimStart();
335
- }
336
- }
337
- return filterTextBefore.startsWith(originalValueBefore)
338
- && !!matchesSubString(originalValueAfter, filterTextAfter);
339
- }
340
- reuse() {
341
- this._updatedEditObj.reuse();
342
- }
343
- canBeReused(model, position) {
344
- if (!this.updatedEdit.get()) {
345
- return false;
346
- }
347
- if (this.sourceInlineCompletion.isInlineEdit) {
348
- return this._updatedEditObj.lastChangePartOfInlineEdit;
349
- }
350
- const updatedRange = this._updatedRange.read(undefined);
351
- const result = !!updatedRange
352
- && updatedRange.containsPosition(position)
353
- && this.isVisible(model, position, undefined)
354
- && TextLength.ofRange(updatedRange).isGreaterThanOrEqualTo(TextLength.ofRange(this.inlineCompletion.range));
355
- return result;
356
- }
357
- _toUpdatedEdit(editRange, replaceText) {
358
- return this.isInlineEdit
359
- ? this._toInlineEditEdit(editRange, replaceText)
360
- : this._toInlineCompletionEdit(editRange, replaceText);
361
- }
362
- _toInlineCompletionEdit(editRange, replaceText) {
363
- const startOffset = this._textModel.getOffsetAt(editRange.getStartPosition());
364
- const endOffset = this._textModel.getOffsetAt(editRange.getEndPosition());
365
- const originalRange = OffsetRange.ofStartAndLength(startOffset, endOffset - startOffset);
366
- const offsetEdit = ( new OffsetEdit([( new SingleOffsetEdit(originalRange, replaceText))]));
367
- return ( new UpdatedEdit(offsetEdit, this._textModel, this._modelVersion, false));
368
- }
369
- _toInlineEditEdit(editRange, replaceText) {
370
- const eol = this._textModel.getEOL();
371
- const editOriginalText = this._textModel.getValueInRange(editRange);
372
- const editReplaceText = replaceText.replace(/\r\n|\r|\n/g, eol);
373
- const diffAlgorithm = linesDiffComputers.getDefault();
374
- const lineDiffs = diffAlgorithm.computeDiff(splitLines(editOriginalText), splitLines(editReplaceText), {
375
- ignoreTrimWhitespace: false,
376
- computeMoves: false,
377
- extendToSubwords: true,
378
- maxComputationTimeMs: 500,
379
- });
380
- const innerChanges = lineDiffs.changes.flatMap(c => c.innerChanges ?? []);
381
- function addRangeToPos(pos, range) {
382
- const start = TextLength.fromPosition(range.getStartPosition());
383
- return TextLength.ofRange(range).createRange(start.addToPosition(pos));
384
- }
385
- const modifiedText = ( new StringText(editReplaceText));
386
- const offsetEdit = ( new OffsetEdit(( innerChanges.map(c => {
387
- const range = addRangeToPos(editRange.getStartPosition(), c.originalRange);
388
- const startOffset = this._textModel.getOffsetAt(range.getStartPosition());
389
- const endOffset = this._textModel.getOffsetAt(range.getEndPosition());
390
- const originalRange = OffsetRange.ofStartAndLength(startOffset, endOffset - startOffset);
391
- const replaceText = modifiedText.getValueOfRange(c.modifiedRange);
392
- const originalText = this._textModel.getValueInRange(range);
393
- const edit = ( new SingleOffsetEdit(originalRange, replaceText));
394
- return reshapeEdit(edit, originalText, innerChanges.length, this._textModel);
395
- }))));
396
- return ( new UpdatedEdit(offsetEdit, this._textModel, this._modelVersion, true));
397
- }
398
- }
399
- class UpdatedEdit extends Disposable {
400
- get modelVersion() { return this._inlineEditModelVersion; }
401
- get lastChangePartOfInlineEdit() { return this._lastChangePartOfInlineEdit; }
402
- get offsetEdit() { return ( this._updatedEdit.map(e => e ?? undefined)); }
403
- constructor(offsetEdit, _textModel, _modelVersion, isInlineEdit) {
404
- super();
405
- this._textModel = _textModel;
406
- this._modelVersion = _modelVersion;
407
- this._lastChangePartOfInlineEdit = false;
408
- this._updatedEdit = derivedHandleChanges({
409
- owner: this,
410
- equalityComparer: equalsIfDefined((a, b) => a?.equals(b)),
411
- createEmptyChangeSummary: () => [],
412
- handleChange: (context, changeSummary) => {
413
- if (context.didChange(this._modelVersion) && context.change) {
414
- changeSummary.push(OffsetEdits.fromContentChanges(context.change.changes));
259
+ this._register({
260
+ dispose: () => {
261
+ for (const inlineCompletion of this.inlineCompletions) {
262
+ inlineCompletion.removeRef();
415
263
  }
416
- return true;
417
264
  }
418
- }, (reader, changeSummary) => {
419
- this._modelVersion.read(reader);
420
- for (const change of changeSummary) {
421
- this._innerEdits = this._applyTextModelChanges(change, this._innerEdits);
422
- }
423
- if (this._innerEdits.length === 0) {
424
- return undefined;
425
- }
426
- if (( this._innerEdits.some(e => e.edit === undefined))) {
427
- throw ( new BugIndicatingError('UpdatedEdit: Invalid state'));
428
- }
429
- return ( new OffsetEdit(( this._innerEdits.map(edit => edit.edit))));
430
265
  });
431
- this._inlineEditModelVersion = this._modelVersion.get() ?? -1;
432
- this._innerEdits = ( offsetEdit.edits.map(edit => {
433
- if (isInlineEdit) {
434
- const replacedRange = Range.fromPositions(this._textModel.getPositionAt(edit.replaceRange.start), this._textModel.getPositionAt(edit.replaceRange.endExclusive));
435
- const replacedText = this._textModel.getValueInRange(replacedRange);
436
- return ( new SingleUpdatedNextEdit(edit, replacedText));
437
- }
438
- return ( new SingleUpdatedCompletion(edit));
439
- }));
440
- this._updatedEdit.recomputeInitiallyAndOnChange(this._store);
441
266
  }
442
- _applyTextModelChanges(textModelChanges, edits) {
443
- for (const innerEdit of edits) {
444
- innerEdit.applyTextModelChanges(textModelChanges);
445
- }
446
- if (( edits.some(edit => edit.edit === undefined))) {
447
- return [];
448
- }
449
- const currentModelVersion = this._modelVersion.get();
450
- this._lastChangePartOfInlineEdit = ( edits.some(edit => edit.lastChangeUpdatedEdit));
451
- if (this._lastChangePartOfInlineEdit) {
452
- this._inlineEditModelVersion = currentModelVersion ?? -1;
453
- }
454
- if (currentModelVersion === null || this._inlineEditModelVersion + 20 < currentModelVersion) {
455
- return [];
456
- }
457
- edits = edits.filter(innerEdit => !innerEdit.edit.isEmpty);
458
- if (edits.length === 0) {
459
- return [];
460
- }
461
- return edits;
267
+ _findById(id) {
268
+ return this.inlineCompletions.find(i => i.identity === id);
462
269
  }
463
- reuse() {
464
- this._inlineEditModelVersion = this._modelVersion.get() ?? -1;
270
+ _findByHash(hash) {
271
+ return this.inlineCompletions.find(i => i.hash === hash);
465
272
  }
466
- }
467
- class SingleUpdatedEdit {
468
- get edit() { return this._edit; }
469
- get lastChangeUpdatedEdit() { return this._lastChangeUpdatedEdit; }
470
- constructor(edit) {
471
- this._lastChangeUpdatedEdit = false;
472
- this._edit = edit;
273
+ createStateWithAppliedEdit(edit, textModel) {
274
+ const newInlineCompletions = ( this.inlineCompletions.map(i => i.withEdit(edit, textModel))).filter(isDefined);
275
+ return ( new InlineCompletionsState(newInlineCompletions, this.request));
473
276
  }
474
- applyTextModelChanges(textModelChanges) {
475
- this._lastChangeUpdatedEdit = false;
476
- if (!this._edit) {
477
- throw ( new BugIndicatingError('UpdatedInnerEdits: No edit to apply changes to'));
478
- }
479
- const result = this.applyChanges(this._edit, textModelChanges);
480
- if (!result) {
481
- this._edit = undefined;
482
- return;
483
- }
484
- this._edit = result.edit;
485
- this._lastChangeUpdatedEdit = result.editHasChanged;
486
- }
487
- }
488
- class SingleUpdatedCompletion extends SingleUpdatedEdit {
489
- constructor(edit) {
490
- super(edit);
491
- }
492
- applyChanges(edit, textModelChanges) {
493
- const newEditRange = applyEditsToRanges([edit.replaceRange], textModelChanges)[0];
494
- return { edit: ( new SingleOffsetEdit(newEditRange, edit.newText)), editHasChanged: !newEditRange.equals(edit.replaceRange) };
495
- }
496
- }
497
- class SingleUpdatedNextEdit extends SingleUpdatedEdit {
498
- constructor(edit, replacedText) {
499
- super(edit);
500
- this._prefixLength = commonPrefixLength(edit.newText, replacedText);
501
- this._suffixLength = commonSuffixLength(edit.newText, replacedText);
502
- this._trimmedNewText = edit.newText.substring(this._prefixLength, edit.newText.length - this._suffixLength);
503
- }
504
- applyChanges(edit, textModelChanges) {
505
- let editStart = edit.replaceRange.start;
506
- let editEnd = edit.replaceRange.endExclusive;
507
- let editReplaceText = edit.newText;
508
- let editHasChanged = false;
509
- const shouldPreserveEditShape = this._prefixLength > 0 || this._suffixLength > 0;
510
- for (let i = textModelChanges.edits.length - 1; i >= 0; i--) {
511
- const change = textModelChanges.edits[i];
512
- const isInsertion = change.newText.length > 0 && change.replaceRange.isEmpty;
513
- if (isInsertion && !shouldPreserveEditShape && change.replaceRange.start === editStart && editReplaceText.startsWith(change.newText)) {
514
- editStart += change.newText.length;
515
- editReplaceText = editReplaceText.substring(change.newText.length);
516
- editEnd = Math.max(editStart, editEnd);
517
- editHasChanged = true;
518
- continue;
519
- }
520
- if (isInsertion && shouldPreserveEditShape && change.replaceRange.start === editStart + this._prefixLength && this._trimmedNewText.startsWith(change.newText)) {
521
- editEnd += change.newText.length;
522
- editHasChanged = true;
523
- this._prefixLength += change.newText.length;
524
- this._trimmedNewText = this._trimmedNewText.substring(change.newText.length);
525
- continue;
526
- }
527
- const isDeletion = change.newText.length === 0 && change.replaceRange.length > 0;
528
- if (isDeletion && change.replaceRange.start >= editStart + this._prefixLength && change.replaceRange.endExclusive <= editEnd - this._suffixLength) {
529
- editEnd -= change.replaceRange.length;
530
- editHasChanged = true;
531
- continue;
277
+ createStateWithAppliedResults(update, request, textModel, itemToPreserve) {
278
+ const items = [];
279
+ for (const item of update.completions) {
280
+ const i = InlineSuggestionItem.create(item, textModel);
281
+ const oldItem = this._findByHash(i.hash);
282
+ if (oldItem) {
283
+ items.push(i.withIdentity(oldItem.identity));
284
+ oldItem.setEndOfLifeReason({ kind: InlineCompletionEndOfLifeReasonKind.Ignored, userTypingDisagreed: false, supersededBy: i.getSourceCompletion() });
532
285
  }
533
- if (change.equals(edit)) {
534
- editHasChanged = true;
535
- editStart = change.replaceRange.endExclusive;
536
- editReplaceText = '';
537
- continue;
286
+ else {
287
+ items.push(i);
538
288
  }
539
- if (change.replaceRange.start > editEnd) {
540
- continue;
541
- }
542
- if (change.replaceRange.endExclusive < editStart) {
543
- editStart += change.newText.length - change.replaceRange.length;
544
- editEnd += change.newText.length - change.replaceRange.length;
545
- continue;
546
- }
547
- return undefined;
548
289
  }
549
- if (this._trimmedNewText.length === 0 && editStart + this._prefixLength === editEnd - this._suffixLength) {
550
- return { edit: ( new SingleOffsetEdit(( new OffsetRange(editStart + this._prefixLength, editStart + this._prefixLength)), '')), editHasChanged: true };
551
- }
552
- return { edit: ( new SingleOffsetEdit(( new OffsetRange(editStart, editEnd)), editReplaceText)), editHasChanged };
553
- }
554
- }
555
- const emptyRange = ( new Range(1, 1, 1, 1));
556
- function reshapeEdit(edit, originalText, totalInnerEdits, textModel) {
557
- const eol = textModel.getEOL();
558
- if (edit.newText.endsWith(eol) && originalText.endsWith(eol)) {
559
- edit = ( new SingleOffsetEdit(
560
- edit.replaceRange.deltaEnd(-eol.length),
561
- edit.newText.slice(0, -eol.length)
562
- ));
563
- }
564
- if (totalInnerEdits === 1 && edit.replaceRange.isEmpty && edit.newText.includes(eol)) {
565
- edit = reshapeMultiLineInsertion(edit, textModel);
566
- }
567
- if (totalInnerEdits === 1) {
568
- const prefixLength = commonPrefixLength(originalText, edit.newText);
569
- const suffixLength = commonSuffixLength(originalText.slice(prefixLength), edit.newText.slice(prefixLength));
570
- if (prefixLength + suffixLength === originalText.length) {
571
- return ( new SingleOffsetEdit(
572
- edit.replaceRange.deltaStart(prefixLength).deltaEnd(-suffixLength),
573
- edit.newText.substring(prefixLength, edit.newText.length - suffixLength)
574
- ));
575
- }
576
- if (prefixLength + suffixLength === edit.newText.length) {
577
- return ( new SingleOffsetEdit(edit.replaceRange.deltaStart(prefixLength).deltaEnd(-suffixLength), ''));
290
+ if (itemToPreserve) {
291
+ const item = this._findById(itemToPreserve);
292
+ if (item && !( update.has(item.getSingleTextEdit())) && item.canBeReused(textModel, request.position)) {
293
+ items.unshift(item);
294
+ }
578
295
  }
296
+ return ( new InlineCompletionsState(items, request));
579
297
  }
580
- return edit;
581
- }
582
- function reshapeMultiLineInsertion(edit, textModel) {
583
- if (!edit.replaceRange.isEmpty) {
584
- throw ( new BugIndicatingError('Unexpected original range'));
585
- }
586
- if (edit.replaceRange.start === 0) {
587
- return edit;
588
- }
589
- const eol = textModel.getEOL();
590
- const startPosition = textModel.getPositionAt(edit.replaceRange.start);
591
- const startColumn = startPosition.column;
592
- const startLineNumber = startPosition.lineNumber;
593
- if (startColumn === 1 && startLineNumber > 1 && textModel.getLineLength(startLineNumber) !== 0 && edit.newText.endsWith(eol) && !edit.newText.startsWith(eol)) {
594
- return ( new SingleOffsetEdit(edit.replaceRange.delta(-1), eol + edit.newText.slice(0, -eol.length)));
298
+ clone() {
299
+ return ( new InlineCompletionsState(this.inlineCompletions, this.request));
595
300
  }
596
- return edit;
597
301
  }
598
302
 
599
- export { InlineCompletionWithUpdatedRange, InlineCompletionsSource, UpToDateInlineCompletions };
303
+ export { InlineCompletionsSource };