@codingame/monaco-vscode-api 16.1.1 → 17.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (604) hide show
  1. package/missing-services.js +105 -0
  2. package/monaco.d.ts +2 -2
  3. package/package.json +10 -9
  4. package/services.d.ts +4 -4
  5. package/services.js +3 -3
  6. package/vscode/product.json.js +3 -0
  7. package/vscode/src/vs/base/browser/dom.d.ts +1 -0
  8. package/vscode/src/vs/base/browser/dom.js +6 -1
  9. package/vscode/src/vs/base/browser/mouseEvent.d.ts +2 -0
  10. package/vscode/src/vs/base/browser/mouseEvent.js +1 -0
  11. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  12. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.d.ts +2 -3
  13. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  14. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +1 -0
  15. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +6 -1
  16. package/vscode/src/vs/base/browser/ui/list/listPaging.d.ts +2 -1
  17. package/vscode/src/vs/base/browser/ui/severityIcon/media/severityIcon.css +1 -3
  18. package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +5 -1
  19. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +17 -4
  20. package/vscode/src/vs/base/common/arrays.d.ts +1 -0
  21. package/vscode/src/vs/base/common/arrays.js +5 -2
  22. package/vscode/src/vs/base/common/async.js +9 -2
  23. package/vscode/src/vs/base/common/codicons.d.ts +5 -0
  24. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +5 -0
  25. package/vscode/src/vs/base/common/codiconsLibrary.js +5 -0
  26. package/vscode/src/vs/base/common/color.d.ts +1 -0
  27. package/vscode/src/vs/base/common/color.js +10 -0
  28. package/vscode/src/vs/base/common/comparers.d.ts +2 -2
  29. package/vscode/src/vs/base/common/decorators.d.ts +1 -1
  30. package/vscode/src/vs/base/common/glob.d.ts +3 -0
  31. package/vscode/src/vs/base/common/glob.js +10 -1
  32. package/vscode/src/vs/base/common/marshallingIds.d.ts +2 -1
  33. package/vscode/src/vs/base/common/marshallingIds.js +1 -0
  34. package/vscode/src/vs/base/common/observableInternal/autorun.d.ts +6 -8
  35. package/vscode/src/vs/base/common/observableInternal/autorun.js +15 -11
  36. package/vscode/src/vs/base/common/observableInternal/base.d.ts +0 -10
  37. package/vscode/src/vs/base/common/observableInternal/changeTracker.d.ts +23 -0
  38. package/vscode/src/vs/base/common/observableInternal/changeTracker.js +30 -0
  39. package/vscode/src/vs/base/common/observableInternal/derived.d.ts +18 -13
  40. package/vscode/src/vs/base/common/observableInternal/derived.js +47 -18
  41. package/vscode/src/vs/base/common/observableInternal/index.d.ts +6 -5
  42. package/vscode/src/vs/base/common/observableInternal/index.js +2 -2
  43. package/vscode/src/vs/base/common/observableInternal/logging/logging.d.ts +2 -2
  44. package/vscode/src/vs/base/common/observableInternal/promise.d.ts +28 -0
  45. package/vscode/src/vs/base/common/observableInternal/promise.js +65 -0
  46. package/vscode/src/vs/base/common/observableInternal/reducer.d.ts +16 -0
  47. package/vscode/src/vs/base/common/observableInternal/reducer.js +36 -0
  48. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +2 -0
  49. package/vscode/src/vs/base/common/observableInternal/utils.js +19 -11
  50. package/vscode/src/vs/base/common/product.d.ts +5 -0
  51. package/vscode/src/vs/base/common/sseParser.d.ts +26 -0
  52. package/vscode/src/vs/base/common/sseParser.js +134 -0
  53. package/vscode/src/vs/base/common/stopwatch.js +2 -2
  54. package/vscode/src/vs/base/common/strings.d.ts +1 -0
  55. package/vscode/src/vs/base/common/strings.js +8 -19
  56. package/vscode/src/vs/base/common/ternarySearchTree.d.ts +1 -0
  57. package/vscode/src/vs/base/common/ternarySearchTree.js +55 -13
  58. package/vscode/src/vs/editor/browser/config/editorConfiguration.d.ts +1 -0
  59. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -1
  60. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.css +1 -1
  61. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +6 -3
  62. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +86 -54
  63. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.d.ts +0 -1
  64. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +12 -8
  65. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.d.ts +0 -1
  66. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +9 -6
  67. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +3 -3
  68. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +2 -2
  69. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +1 -1
  70. package/vscode/src/vs/editor/browser/gpu/objectCollectionBuffer.d.ts +1 -1
  71. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +2 -0
  72. package/vscode/src/vs/editor/browser/services/hoverService/hover.css +8 -0
  73. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.d.ts +1 -0
  74. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +6 -1
  75. package/vscode/src/vs/editor/browser/view/renderingContext.d.ts +1 -0
  76. package/vscode/src/vs/editor/browser/view/renderingContext.js +3 -0
  77. package/vscode/src/vs/editor/browser/view/viewLayer.d.ts +3 -1
  78. package/vscode/src/vs/editor/browser/view/viewLayer.js +13 -6
  79. package/vscode/src/vs/editor/browser/view/viewOverlays.js +4 -1
  80. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +4 -5
  81. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -2
  82. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.d.ts +0 -1
  83. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +6 -6
  84. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +3 -0
  85. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +2 -2
  86. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +1 -1
  87. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +1 -1
  88. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +5 -2
  89. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -1
  90. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
  91. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.d.ts +1 -1
  92. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +10 -8
  93. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +19 -15
  94. package/vscode/src/vs/editor/common/codecs/frontMatterCodec/tokens/index.d.ts +5 -0
  95. package/vscode/src/vs/editor/common/codecs/simpleCodec/tokens/index.d.ts +20 -0
  96. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +24 -23
  97. package/vscode/src/vs/editor/common/config/editorOptions.js +1 -2
  98. package/vscode/src/vs/editor/common/core/columnRange.d.ts +11 -0
  99. package/vscode/src/vs/editor/common/core/columnRange.js +32 -0
  100. package/vscode/src/vs/editor/common/core/offsetEdit.d.ts +1 -0
  101. package/vscode/src/vs/editor/common/core/offsetEdit.js +10 -0
  102. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +1 -0
  103. package/vscode/src/vs/editor/common/core/offsetRange.js +3 -0
  104. package/vscode/src/vs/editor/common/core/positionToOffset.d.ts +15 -3
  105. package/vscode/src/vs/editor/common/core/positionToOffset.js +45 -11
  106. package/vscode/src/vs/editor/common/core/rangeSingleLine.d.ts +9 -0
  107. package/vscode/src/vs/editor/common/core/rangeSingleLine.js +27 -0
  108. package/vscode/src/vs/editor/common/core/textEdit.d.ts +1 -0
  109. package/vscode/src/vs/editor/common/core/textEdit.js +41 -0
  110. package/vscode/src/vs/editor/common/editorCommon.d.ts +1 -0
  111. package/vscode/src/vs/editor/common/languages/modesRegistry.d.ts +2 -2
  112. package/vscode/src/vs/editor/common/languages/modesRegistry.js +4 -2
  113. package/vscode/src/vs/editor/common/languages.d.ts +22 -1
  114. package/vscode/src/vs/editor/common/languages.js +7 -1
  115. package/vscode/src/vs/editor/common/model/textModel.d.ts +5 -1
  116. package/vscode/src/vs/editor/common/model/textModel.js +80 -18
  117. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +1 -1
  118. package/vscode/src/vs/editor/common/model.d.ts +2 -1
  119. package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +5 -0
  120. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +7 -1
  121. package/vscode/src/vs/editor/common/textModelEvents.d.ts +11 -0
  122. package/vscode/src/vs/editor/common/textModelEvents.js +14 -1
  123. package/vscode/src/vs/editor/common/tokens/common.d.ts +7 -0
  124. package/vscode/src/vs/editor/common/tokens/common.js +18 -0
  125. package/vscode/src/vs/editor/common/tokens/contiguousTokensEditing.d.ts +1 -1
  126. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +1 -0
  127. package/vscode/src/vs/editor/common/tokens/lineTokens.js +3 -0
  128. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.d.ts +2 -0
  129. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +20 -0
  130. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.d.ts +2 -1
  131. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +9 -4
  132. package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +1 -0
  133. package/vscode/src/vs/editor/common/tokens/tokenArray.js +4 -0
  134. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.d.ts +25 -0
  135. package/vscode/src/vs/editor/common/tokens/tokenWithTextArray.js +73 -0
  136. package/vscode/src/vs/editor/common/viewLayout/lineHeights.d.ts +35 -0
  137. package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +339 -0
  138. package/vscode/src/vs/editor/common/viewLayout/linesLayout.d.ts +8 -6
  139. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +42 -49
  140. package/vscode/src/vs/editor/common/viewLayout/viewLayout.d.ts +6 -3
  141. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +16 -5
  142. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +1 -0
  143. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +44 -7
  144. package/vscode/src/vs/editor/common/viewModel.d.ts +5 -0
  145. package/vscode/src/vs/editor/common/viewModelEventDispatcher.d.ts +11 -3
  146. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +14 -1
  147. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +20 -14
  148. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -1
  149. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -1
  150. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.d.ts +1 -1
  151. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +4 -3
  152. package/vscode/src/vs/editor/contrib/find/browser/findController.d.ts +1 -3
  153. package/vscode/src/vs/editor/contrib/find/browser/findController.js +5 -11
  154. package/vscode/src/vs/editor/contrib/find/browser/findWidget.d.ts +1 -7
  155. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -15
  156. package/vscode/src/vs/editor/contrib/folding/browser/folding.d.ts +1 -1
  157. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +24 -23
  158. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  159. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  160. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  161. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  162. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  163. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  164. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  165. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  166. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  167. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  168. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  169. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +5 -5
  170. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  171. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  172. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  173. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  174. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  175. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +14 -12
  176. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  177. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  178. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +21 -21
  179. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  180. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.d.ts +0 -4
  181. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +29 -41
  182. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
  183. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.d.ts +1 -0
  184. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +11 -6
  185. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  186. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -6
  187. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +1 -2
  188. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.d.ts +4 -4
  189. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +1 -2
  190. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.d.ts +10 -0
  191. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +31 -2
  192. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.d.ts +1 -1
  193. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +16 -16
  194. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +156 -202
  195. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +21 -49
  196. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +135 -431
  197. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.d.ts +3 -3
  198. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +98 -0
  199. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +487 -0
  200. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +34 -32
  201. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +141 -132
  202. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.d.ts +1 -1
  203. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +2 -2
  204. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.d.ts +26 -0
  205. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.d.ts +2 -7
  206. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +21 -20
  207. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +19 -7
  208. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +1 -1
  209. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +17 -9
  210. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.d.ts +5 -13
  211. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +139 -188
  212. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +8 -6
  213. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +9 -3
  214. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.d.ts +4 -4
  215. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +6 -6
  216. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.d.ts +23 -0
  217. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +157 -0
  218. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +2 -0
  219. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +37 -20
  220. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.d.ts +3 -2
  221. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +3 -4
  222. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.d.ts +6 -1
  223. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +28 -5
  224. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.d.ts +21 -0
  225. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +215 -0
  226. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +0 -1
  227. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +0 -1
  228. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +2 -2
  229. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.d.ts +1 -3
  230. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +3 -4
  231. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +22 -21
  232. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  233. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  234. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
  235. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  236. package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
  237. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  238. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  239. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  240. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  241. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +17 -17
  242. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  243. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  244. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +23 -49
  245. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  246. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  247. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  248. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  249. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  250. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +8 -0
  251. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +1 -1
  252. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  253. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.d.ts +1 -0
  254. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +24 -14
  255. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  256. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  257. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +19 -18
  258. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  259. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  260. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  261. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  262. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  263. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  264. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +5 -10
  265. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  266. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  267. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  268. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  269. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  270. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +1 -1
  271. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +2 -2
  272. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +2 -2
  273. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
  274. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +3 -0
  275. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +23 -14
  276. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +2 -0
  277. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +17 -3
  278. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +6 -1
  279. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.d.ts +2 -1
  280. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.service.d.ts +2 -1
  281. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  282. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  283. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -1
  284. package/vscode/src/vs/platform/actions/common/actions.js +2 -0
  285. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  286. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  287. package/vscode/src/vs/platform/clipboard/browser/clipboardService.d.ts +1 -0
  288. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +3 -0
  289. package/vscode/src/vs/platform/clipboard/common/clipboardService.service.d.ts +1 -0
  290. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +15 -13
  291. package/vscode/src/vs/platform/configuration/common/configurations.js +1 -1
  292. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  293. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  294. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  295. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  296. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
  297. package/vscode/src/vs/platform/dnd/browser/dnd.d.ts +5 -0
  298. package/vscode/src/vs/platform/dnd/browser/dnd.js +6 -2
  299. package/vscode/src/vs/platform/editor/common/editor.d.ts +1 -0
  300. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +8 -2
  301. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +94 -4
  302. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -2
  303. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.d.ts +3 -2
  304. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +10 -7
  305. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  306. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +1 -1
  307. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.d.ts +0 -1
  308. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +10 -11
  309. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
  310. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -0
  311. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +7 -6
  312. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +9 -8
  313. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  314. package/vscode/src/vs/platform/files/common/files.js +6 -6
  315. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  316. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +5 -4
  317. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  318. package/vscode/src/vs/platform/label/common/label.service.d.ts +1 -1
  319. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
  320. package/vscode/src/vs/platform/list/browser/listService.d.ts +1 -1
  321. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  322. package/vscode/src/vs/platform/log/common/log.js +6 -6
  323. package/vscode/src/vs/platform/markers/common/markerService.d.ts +2 -7
  324. package/vscode/src/vs/platform/markers/common/markerService.js +5 -5
  325. package/vscode/src/vs/platform/markers/common/markers.d.ts +7 -0
  326. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  327. package/vscode/src/vs/platform/markers/common/markers.service.d.ts +2 -7
  328. package/vscode/src/vs/platform/native/common/native.d.ts +168 -0
  329. package/vscode/src/vs/platform/notification/common/notification.d.ts +6 -2
  330. package/vscode/src/vs/platform/notification/common/notification.js +3 -2
  331. package/vscode/src/vs/platform/notification/common/notification.service.d.ts +2 -3
  332. package/vscode/src/vs/platform/product/common/product.js +7 -90
  333. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +4 -19
  334. package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +6 -3
  335. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +33 -10
  336. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
  337. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.d.ts +2 -0
  338. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +6 -0
  339. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +25 -18
  340. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.d.ts +5 -5
  341. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +58 -43
  342. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  343. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +1 -1
  344. package/vscode/src/vs/platform/registry/common/platform.js +9 -1
  345. package/vscode/src/vs/platform/request/common/request.d.ts +1 -1
  346. package/vscode/src/vs/platform/request/common/request.js +18 -18
  347. package/vscode/src/vs/platform/request/common/request.service.d.ts +1 -1
  348. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  349. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +14 -1
  350. package/vscode/src/vs/platform/terminal/common/terminal.js +14 -1
  351. package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -2
  352. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +4 -2
  353. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +7 -1
  354. package/vscode/src/vs/platform/theme/common/colorUtils.js +12 -4
  355. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  356. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  357. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +94 -94
  358. package/vscode/src/vs/platform/theme/common/colors/inputColors.d.ts +2 -0
  359. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +49 -47
  360. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  361. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  362. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  363. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
  364. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  365. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  366. package/vscode/src/vs/platform/theme/common/iconRegistry.js +10 -8
  367. package/vscode/src/vs/platform/theme/common/themeService.d.ts +0 -8
  368. package/vscode/src/vs/platform/theme/common/themeService.js +4 -3
  369. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  370. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  371. package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +1 -1
  372. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  373. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +2 -2
  374. package/vscode/src/vs/platform/window/common/window.d.ts +4 -0
  375. package/vscode/src/vs/platform/window/common/window.js +2 -1
  376. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  377. package/vscode/src/vs/platform/workspaces/common/workspaces.service.d.ts +2 -2
  378. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +27 -20
  379. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +54 -19
  380. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  381. package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.d.ts +14 -0
  382. package/vscode/src/vs/workbench/api/common/extHostAiSettingsSearch.js +38 -0
  383. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +1 -0
  384. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +2 -1
  385. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +30 -17
  386. package/vscode/src/vs/workbench/api/common/extHostCodeMapper.js +2 -0
  387. package/vscode/src/vs/workbench/api/common/extHostCommands.d.ts +0 -1
  388. package/vscode/src/vs/workbench/api/common/extHostCommands.js +4 -2
  389. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
  390. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  391. package/vscode/src/vs/workbench/api/common/extHostExtensionService.d.ts +2 -0
  392. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +15 -4
  393. package/vscode/src/vs/workbench/api/common/extHostLabelService.d.ts +1 -1
  394. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +4 -0
  395. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +31 -6
  396. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +2 -3
  397. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +60 -14
  398. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +1 -1
  399. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +15 -9
  400. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  401. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +4 -3
  402. package/vscode/src/vs/workbench/api/common/extHostMcp.js +279 -82
  403. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  404. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +3 -0
  405. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.d.ts +2 -1
  406. package/vscode/src/vs/workbench/api/common/extHostQuickDiff.js +4 -2
  407. package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.d.ts +1 -1
  408. package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -0
  409. package/vscode/src/vs/workbench/api/common/extHostSCM.js +21 -0
  410. package/vscode/src/vs/workbench/api/common/extHostSearch.js +1 -1
  411. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  412. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  413. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
  414. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
  415. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  416. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +27 -9
  417. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +201 -29
  418. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +67 -27
  419. package/vscode/src/vs/workbench/api/common/extHostTypes.js +79 -28
  420. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
  421. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +7 -4
  422. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +34 -9
  423. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  424. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +1 -0
  425. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.js +3 -0
  426. package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
  427. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  428. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.d.ts +1 -1
  429. package/vscode/src/vs/workbench/common/configuration.js +10 -16
  430. package/vscode/src/vs/workbench/common/contextkeys.d.ts +3 -0
  431. package/vscode/src/vs/workbench/common/contextkeys.js +73 -71
  432. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  433. package/vscode/src/vs/workbench/common/editor.d.ts +13 -9
  434. package/vscode/src/vs/workbench/common/editor.js +4 -4
  435. package/vscode/src/vs/workbench/common/theme.js +160 -160
  436. package/vscode/src/vs/workbench/common/views.js +4 -4
  437. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +164 -147
  438. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  439. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +2 -2
  440. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +2 -2
  441. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service.d.ts +1 -1
  442. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +15 -14
  443. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +245 -0
  444. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +435 -0
  445. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +1 -1
  446. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +6 -9
  447. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +51 -49
  448. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +19 -26
  449. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +16 -23
  450. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.service.d.ts +1 -1
  451. package/vscode/src/vs/workbench/contrib/chat/common/chatEntitlementService.service.d.ts +2 -2
  452. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +585 -0
  453. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +1179 -0
  454. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +116 -0
  455. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +211 -0
  456. package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +19 -6
  457. package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +4 -4
  458. package/vscode/src/vs/workbench/contrib/chat/common/chatTransferService.service.d.ts +3 -1
  459. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +1 -2
  460. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.service.d.ts +2 -7
  461. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service.d.ts +1 -1
  462. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +2 -3
  463. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +12 -4
  464. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +33 -5
  465. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +14 -3
  466. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +18 -3
  467. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +6 -6
  468. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.d.ts +4 -0
  469. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +6 -0
  470. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +3 -1
  471. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/index.d.ts +3 -0
  472. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +14 -4
  473. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.d.ts +28 -1
  474. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/types.service.d.ts +10 -4
  475. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.d.ts +8 -25
  476. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +11 -97
  477. package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.d.ts +0 -3
  478. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
  479. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  480. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  481. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  482. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  483. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.d.ts +1 -1
  484. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  485. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  486. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  487. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  488. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  489. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  490. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -1
  491. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  492. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  493. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  494. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +1 -1
  495. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +64 -64
  496. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +171 -0
  497. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +85 -0
  498. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +2 -3
  499. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.d.ts +10 -0
  500. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +127 -0
  501. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  502. package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +3 -3
  503. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  504. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  505. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  506. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  507. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  508. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +2 -2
  509. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +3 -1
  510. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  511. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  512. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service.d.ts +1 -0
  513. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +19 -8
  514. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +12 -10
  515. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
  516. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +2 -2
  517. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +8 -4
  518. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -1
  519. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.d.ts +1 -1
  520. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.service.d.ts +1 -1
  521. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.d.ts +1 -1
  522. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +2 -2
  523. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.d.ts +4 -1
  524. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +11 -3
  525. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +77 -16
  526. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  527. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  528. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  529. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  530. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  531. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  532. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +3 -2
  533. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  534. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  535. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
  536. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
  537. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +1 -1
  538. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformation.service.d.ts +1 -1
  539. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.d.ts +17 -0
  540. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.js +10 -0
  541. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.d.ts +13 -0
  542. package/vscode/src/vs/workbench/services/aiSettingsSearch/common/aiSettingsSearch.service.js +6 -0
  543. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.d.ts +2 -0
  544. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverExpression.js +61 -12
  545. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.d.ts +3 -2
  546. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +25 -29
  547. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +4 -1
  548. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +1 -0
  549. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  550. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
  551. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +2 -2
  552. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
  553. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.d.ts +1 -1
  554. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +1 -1
  555. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +3 -2
  556. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +84 -84
  557. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +4 -1
  558. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  559. package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +2 -4
  560. package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
  561. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  562. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.d.ts +1 -0
  563. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +2 -0
  564. package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
  565. package/vscode/src/vs/workbench/services/output/common/output.js +6 -4
  566. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
  567. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  568. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  569. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  570. package/vscode/src/vs/workbench/services/search/common/search.d.ts +2 -1
  571. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.d.ts +5 -0
  572. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +6 -1
  573. package/vscode/src/vs/workbench/services/search/common/textSearchManager.d.ts +2 -2
  574. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +31 -23
  575. package/vscode/src/vs/workbench/services/textfile/common/encoding.d.ts +64 -0
  576. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +560 -0
  577. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +165 -0
  578. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +74 -0
  579. package/vscode/src/vs/workbench/services/textfile/common/textfiles.service.d.ts +12 -2
  580. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  581. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  582. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +12 -12
  583. package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.d.ts +1 -1
  584. package/vscode-dts/vscode.d.ts +204 -9
  585. package/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts +30 -0
  586. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +18 -16
  587. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +84 -5
  588. package/vscode-dts/vscode.proposed.chatProvider.d.ts +18 -16
  589. package/vscode-dts/vscode.proposed.chatStatusItem.d.ts +1 -1
  590. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +1 -1
  591. package/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts +1 -1
  592. package/vscode-dts/vscode.proposed.d.ts +2 -2
  593. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
  594. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +46 -8
  595. package/vscode-dts/vscode.proposed.languageModelDataPart.d.ts +106 -16
  596. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +2 -0
  597. package/vscode-dts/vscode.proposed.mcpConfigurationProvider.d.ts +115 -21
  598. package/vscode-dts/vscode.proposed.quickDiffProvider.d.ts +7 -3
  599. package/vscode-dts/vscode.proposed.textSearchProvider2.d.ts +23 -1
  600. package/vscode-dts/vscode.proposed.toolProgress.d.ts +25 -0
  601. package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +1 -1
  602. package/workbench.d.ts +1 -1
  603. package/vscode-dts/vscode.proposed.languageModelToolsForAgent.d.ts +0 -8
  604. package/vscode-dts/vscode.proposed.textDocumentEncoding.d.ts +0 -170
@@ -1,56 +1,58 @@
1
1
  import { CancellationToken } from "../../../../../base/common/cancellation.js";
2
2
  import { IDisposable } from "../../../../../base/common/lifecycle.js";
3
+ import { ICommandService } from "../../../../../platform/commands/common/commands.service.js";
3
4
  import { ISingleEditOperation } from "../../../../common/core/editOperation.js";
4
5
  import { Position } from "../../../../common/core/position.js";
5
6
  import { Range } from "../../../../common/core/range.js";
6
7
  import { SingleTextEdit } from "../../../../common/core/textEdit.js";
7
- import { LanguageFeatureRegistry } from "../../../../common/languageFeatureRegistry.js";
8
- import { Command, InlineCompletion, InlineCompletionContext, InlineCompletions, InlineCompletionsProvider } from "../../../../common/languages.js";
8
+ import { InlineCompletionEndOfLifeReason, InlineCompletion, InlineCompletionContext, InlineCompletions, InlineCompletionsProvider, PartialAcceptInfo } from "../../../../common/languages.js";
9
9
  import { ILanguageConfigurationService } from "../../../../common/languages/languageConfigurationRegistry.service.js";
10
10
  import { ITextModel } from "../../../../common/model.js";
11
- export declare function provideInlineCompletions(registry: LanguageFeatureRegistry<InlineCompletionsProvider>, positionOrRange: Position | Range, model: ITextModel, context: InlineCompletionContext, baseToken?: CancellationToken, languageConfigurationService?: ILanguageConfigurationService): Promise<InlineCompletionProviderResult>;
11
+ export declare function provideInlineCompletions(providers: InlineCompletionsProvider[], positionOrRange: Position | Range, model: ITextModel, context: InlineCompletionContext, baseToken?: CancellationToken, languageConfigurationService?: ILanguageConfigurationService): Promise<InlineCompletionProviderResult>;
12
12
  export declare class InlineCompletionProviderResult implements IDisposable {
13
- readonly completions: readonly InlineCompletionItem[];
13
+ readonly completions: readonly InlineSuggestData[];
14
14
  private readonly hashs;
15
15
  private readonly providerResults;
16
- constructor(completions: readonly InlineCompletionItem[], hashs: Set<string>, providerResults: readonly InlineCompletionList[]);
17
- has(item: InlineCompletionItem): boolean;
16
+ constructor(completions: readonly InlineSuggestData[], hashs: Set<string>, providerResults: readonly InlineSuggestionList[]);
17
+ has(edit: SingleTextEdit): boolean;
18
18
  isEmpty(): boolean;
19
19
  dispose(): void;
20
20
  }
21
- export declare class InlineCompletionList {
22
- readonly inlineCompletions: InlineCompletions;
23
- readonly provider: InlineCompletionsProvider;
24
- private refCount;
25
- constructor(inlineCompletions: InlineCompletions, provider: InlineCompletionsProvider);
26
- addRef(): void;
27
- removeRef(): void;
28
- }
29
- export declare class InlineCompletionItem {
30
- readonly filterText: string;
31
- readonly command: Command | undefined;
32
- readonly shownCommand: Command | undefined;
33
- readonly action: Command | undefined;
21
+ export declare class InlineSuggestData {
34
22
  readonly range: Range;
35
23
  readonly insertText: string;
36
24
  readonly snippetInfo: SnippetInfo | undefined;
37
- readonly cursorShowRange: Range | undefined;
25
+ readonly displayLocation: IDisplayLocation | undefined;
38
26
  readonly additionalTextEdits: readonly ISingleEditOperation[];
39
27
  readonly sourceInlineCompletion: InlineCompletion;
40
- readonly source: InlineCompletionList;
41
- readonly id: string;
42
- static from(inlineCompletion: InlineCompletion, source: InlineCompletionList, defaultReplaceRange: Range, textModel: ITextModel, languageConfigurationService: ILanguageConfigurationService | undefined): InlineCompletionItem;
43
- static ID: number;
44
- private _didCallShow;
45
- constructor(filterText: string, command: Command | undefined, shownCommand: Command | undefined, action: Command | undefined, range: Range, insertText: string, snippetInfo: SnippetInfo | undefined, cursorShowRange: Range | undefined, additionalTextEdits: readonly ISingleEditOperation[], sourceInlineCompletion: InlineCompletion, source: InlineCompletionList, id?: string);
46
- get isInlineEdit(): boolean;
47
- get didShow(): boolean;
48
- markAsShown(): void;
49
- withRangeInsertTextAndFilterText(updatedRange: Range, updatedInsertText: string, updatedFilterText: string): InlineCompletionItem;
50
- hash(): string;
51
- toSingleTextEdit(): SingleTextEdit;
28
+ readonly source: InlineSuggestionList;
29
+ readonly context: InlineCompletionContext;
30
+ readonly isInlineEdit: boolean;
31
+ private _didShow;
32
+ private _didReportEndOfLife;
33
+ private _lastSetEndOfLifeReason;
34
+ constructor(range: Range, insertText: string, snippetInfo: SnippetInfo | undefined, displayLocation: IDisplayLocation | undefined, additionalTextEdits: readonly ISingleEditOperation[], sourceInlineCompletion: InlineCompletion, source: InlineSuggestionList, context: InlineCompletionContext, isInlineEdit: boolean);
35
+ get showInlineEditMenu(): boolean;
36
+ getSingleTextEdit(): SingleTextEdit;
37
+ reportInlineEditShown(commandService: ICommandService, updatedInsertText: string): Promise<void>;
38
+ reportPartialAccept(acceptedCharacters: number, info: PartialAcceptInfo): void;
39
+ reportEndOfLife(reason?: InlineCompletionEndOfLifeReason): void;
40
+ setEndOfLifeReason(reason: InlineCompletionEndOfLifeReason): void;
52
41
  }
53
42
  export interface SnippetInfo {
54
43
  snippet: string;
55
44
  range: Range;
56
45
  }
46
+ export interface IDisplayLocation {
47
+ range: Range;
48
+ label: string;
49
+ }
50
+ export declare class InlineSuggestionList {
51
+ readonly inlineSuggestions: InlineCompletions;
52
+ readonly inlineSuggestionsData: readonly InlineSuggestData[];
53
+ readonly provider: InlineCompletionsProvider;
54
+ private refCount;
55
+ constructor(inlineSuggestions: InlineCompletions, inlineSuggestionsData: readonly InlineSuggestData[], provider: InlineCompletionsProvider);
56
+ addRef(): void;
57
+ removeRef(): void;
58
+ }
@@ -11,19 +11,18 @@ import { OffsetRange } from '../../../../common/core/offsetRange.js';
11
11
  import { Position } from '../../../../common/core/position.js';
12
12
  import { Range } from '../../../../common/core/range.js';
13
13
  import { SingleTextEdit } from '../../../../common/core/textEdit.js';
14
- import { InlineCompletionTriggerKind } from '../../../../common/languages.js';
14
+ import { InlineCompletionTriggerKind, InlineCompletionEndOfLifeReasonKind } from '../../../../common/languages.js';
15
15
  import { fixBracketsInLine } from '../../../../common/model/bracketPairsTextModelPart/fixBrackets.js';
16
16
  import { TextModelText } from '../../../../common/model/textModelText.js';
17
17
  import { SnippetParser, Text } from '../../../snippet/browser/snippetParser.js';
18
18
  import { getReadonlyEmptyArray } from '../utils.js';
19
19
 
20
- async function provideInlineCompletions(registry, positionOrRange, model, context, baseToken = CancellationToken.None, languageConfigurationService) {
20
+ async function provideInlineCompletions(providers, positionOrRange, model, context, baseToken = CancellationToken.None, languageConfigurationService) {
21
21
  const requestUuid = generateUuid();
22
22
  const tokenSource = ( new CancellationTokenSource(baseToken));
23
23
  const token = tokenSource.token;
24
24
  const contextWithUuid = { ...context, requestUuid: requestUuid };
25
25
  const defaultReplaceRange = positionOrRange instanceof Position ? getDefaultRange(positionOrRange, model) : positionOrRange;
26
- const providers = registry.all(model);
27
26
  const multiMap = ( new SetMap());
28
27
  for (const provider of providers) {
29
28
  if (provider.groupId) {
@@ -43,9 +42,7 @@ async function provideInlineCompletions(registry, positionOrRange, model, contex
43
42
  }
44
43
  return result;
45
44
  }
46
- const states = ( new Map());
47
- const seen = ( new Set());
48
- function findPreferredProviderCircle(provider, stack) {
45
+ function findPreferredProviderCircle(provider, stack, seen) {
49
46
  stack = [...stack, provider];
50
47
  if (( seen.has(provider))) {
51
48
  return stack;
@@ -54,7 +51,7 @@ async function provideInlineCompletions(registry, positionOrRange, model, contex
54
51
  try {
55
52
  const preferred = getPreferredProviders(provider);
56
53
  for (const p of preferred) {
57
- const c = findPreferredProviderCircle(p, stack);
54
+ const c = findPreferredProviderCircle(p, stack, seen);
58
55
  if (c) {
59
56
  return c;
60
57
  }
@@ -65,12 +62,12 @@ async function provideInlineCompletions(registry, positionOrRange, model, contex
65
62
  }
66
63
  return undefined;
67
64
  }
68
- function queryProviderOrPreferredProvider(provider) {
65
+ function queryProviderOrPreferredProvider(provider, states) {
69
66
  const state = states.get(provider);
70
67
  if (state) {
71
68
  return state;
72
69
  }
73
- const circle = findPreferredProviderCircle(provider, []);
70
+ const circle = findPreferredProviderCircle(provider, [], ( new Set()));
74
71
  if (circle) {
75
72
  onUnexpectedExternalError(( new Error(`Inline completions: cyclic yield-to dependency detected.`
76
73
  + ` Path: ${( circle.map(s => s.toString ? ( s.toString()) : ('' + s))).join(' -> ')}`)));
@@ -81,8 +78,8 @@ async function provideInlineCompletions(registry, positionOrRange, model, contex
81
78
  if (!circle) {
82
79
  const preferred = getPreferredProviders(provider);
83
80
  for (const p of preferred) {
84
- const result = await queryProviderOrPreferredProvider(p);
85
- if (result && result.inlineCompletions.items.length > 0) {
81
+ const result = await queryProviderOrPreferredProvider(p, states);
82
+ if (result && result.inlineSuggestions.items.length > 0) {
86
83
  return undefined;
87
84
  }
88
85
  }
@@ -108,16 +105,21 @@ async function provideInlineCompletions(registry, positionOrRange, model, contex
108
105
  if (!result) {
109
106
  return undefined;
110
107
  }
111
- const list = ( new InlineCompletionList(result, provider));
108
+ const data = [];
109
+ const list = ( new InlineSuggestionList(result, data, provider));
110
+ for (const item of result.items) {
111
+ data.push(createInlineCompletionItem(item, list, defaultReplaceRange, model, languageConfigurationService, contextWithUuid));
112
+ }
112
113
  runWhenCancelled(token, () => list.removeRef());
113
114
  return list;
114
115
  }
115
- const inlineCompletionLists = AsyncIterableObject.fromPromisesResolveOrder(( providers.map(queryProviderOrPreferredProvider)));
116
+ const states = ( new Map());
117
+ const inlineCompletionLists = AsyncIterableObject.fromPromisesResolveOrder(( providers.map(p => queryProviderOrPreferredProvider(p, states))));
116
118
  if (token.isCancellationRequested) {
117
119
  tokenSource.dispose(true);
118
120
  return ( new InlineCompletionProviderResult([], ( new Set()), []));
119
121
  }
120
- const result = await addRefAndCreateResult(contextWithUuid, inlineCompletionLists, defaultReplaceRange, model, languageConfigurationService);
122
+ const result = await addRefAndCreateResult(contextWithUuid, inlineCompletionLists, model);
121
123
  tokenSource.dispose(true);
122
124
  return result;
123
125
  }
@@ -134,7 +136,7 @@ function runWhenCancelled(token, callback) {
134
136
  return { dispose: () => listener.dispose() };
135
137
  }
136
138
  }
137
- async function addRefAndCreateResult(context, inlineCompletionLists, defaultReplaceRange, model, languageConfigurationService) {
139
+ async function addRefAndCreateResult(context, inlineCompletionLists, model) {
138
140
  const itemsByHash = ( new Map());
139
141
  let shouldStop = false;
140
142
  const lists = [];
@@ -144,17 +146,16 @@ async function addRefAndCreateResult(context, inlineCompletionLists, defaultRepl
144
146
  }
145
147
  completions.addRef();
146
148
  lists.push(completions);
147
- for (const item of completions.inlineCompletions.items) {
149
+ for (const item of completions.inlineSuggestionsData) {
148
150
  if (!context.includeInlineEdits && (item.isInlineEdit || item.showInlineEditMenu)) {
149
151
  continue;
150
152
  }
151
153
  if (!context.includeInlineCompletions && !(item.isInlineEdit || item.showInlineEditMenu)) {
152
154
  continue;
153
155
  }
154
- const inlineCompletionItem = InlineCompletionItem.from(item, completions, defaultReplaceRange, model, languageConfigurationService);
155
- itemsByHash.set(inlineCompletionItem.hash(), inlineCompletionItem);
156
+ itemsByHash.set(createHashFromSingleTextEdit(item.getSingleTextEdit()), item);
156
157
  if (!(item.isInlineEdit || item.showInlineEditMenu) && context.triggerKind === InlineCompletionTriggerKind.Automatic) {
157
- const minifiedEdit = inlineCompletionItem.toSingleTextEdit().removeCommonPrefix(( new TextModelText(model)));
158
+ const minifiedEdit = item.getSingleTextEdit().removeCommonPrefix(( new TextModelText(model)));
158
159
  if (!minifiedEdit.isEmpty) {
159
160
  shouldStop = true;
160
161
  }
@@ -173,8 +174,8 @@ class InlineCompletionProviderResult {
173
174
  this.hashs = hashs;
174
175
  this.providerResults = providerResults;
175
176
  }
176
- has(item) {
177
- return ( this.hashs.has(item.hash()));
177
+ has(edit) {
178
+ return ( this.hashs.has(createHashFromSingleTextEdit(edit)));
178
179
  }
179
180
  isEmpty() {
180
181
  return this.completions.length === 0
@@ -186,136 +187,144 @@ class InlineCompletionProviderResult {
186
187
  }
187
188
  }
188
189
  }
189
- class InlineCompletionList {
190
- constructor(inlineCompletions, provider) {
191
- this.inlineCompletions = inlineCompletions;
192
- this.provider = provider;
193
- this.refCount = 1;
194
- }
195
- addRef() {
196
- this.refCount++;
197
- }
198
- removeRef() {
199
- this.refCount--;
200
- if (this.refCount === 0) {
201
- this.provider.freeInlineCompletions(this.inlineCompletions);
202
- }
203
- }
190
+ function createHashFromSingleTextEdit(edit) {
191
+ return JSON.stringify([edit.text, ( edit.range.getStartPosition().toString())]);
204
192
  }
205
- class InlineCompletionItem {
206
- static from(inlineCompletion, source, defaultReplaceRange, textModel, languageConfigurationService) {
207
- let insertText;
208
- let snippetInfo;
209
- let range = inlineCompletion.range ? Range.lift(inlineCompletion.range) : defaultReplaceRange;
210
- if (typeof inlineCompletion.insertText === 'string') {
211
- insertText = inlineCompletion.insertText;
212
- if (languageConfigurationService && inlineCompletion.completeBracketPairs) {
213
- insertText = closeBrackets(insertText, range.getStartPosition(), textModel, languageConfigurationService);
214
- const diff = insertText.length - inlineCompletion.insertText.length;
215
- if (diff !== 0) {
216
- range = ( new Range(
217
- range.startLineNumber,
218
- range.startColumn,
219
- range.endLineNumber,
220
- range.endColumn + diff
221
- ));
222
- }
193
+ function createInlineCompletionItem(inlineCompletion, source, defaultReplaceRange, textModel, languageConfigurationService, context) {
194
+ let insertText;
195
+ let snippetInfo;
196
+ let range = inlineCompletion.range ? Range.lift(inlineCompletion.range) : defaultReplaceRange;
197
+ if (typeof inlineCompletion.insertText === 'string') {
198
+ insertText = inlineCompletion.insertText;
199
+ if (languageConfigurationService && inlineCompletion.completeBracketPairs) {
200
+ insertText = closeBrackets(insertText, range.getStartPosition(), textModel, languageConfigurationService);
201
+ const diff = insertText.length - inlineCompletion.insertText.length;
202
+ if (diff !== 0) {
203
+ range = ( new Range(
204
+ range.startLineNumber,
205
+ range.startColumn,
206
+ range.endLineNumber,
207
+ range.endColumn + diff
208
+ ));
223
209
  }
224
- snippetInfo = undefined;
225
210
  }
226
- else if ('snippet' in inlineCompletion.insertText) {
227
- const preBracketCompletionLength = inlineCompletion.insertText.snippet.length;
228
- if (languageConfigurationService && inlineCompletion.completeBracketPairs) {
229
- inlineCompletion.insertText.snippet = closeBrackets(inlineCompletion.insertText.snippet, range.getStartPosition(), textModel, languageConfigurationService);
230
- const diff = inlineCompletion.insertText.snippet.length - preBracketCompletionLength;
231
- if (diff !== 0) {
232
- range = ( new Range(
233
- range.startLineNumber,
234
- range.startColumn,
235
- range.endLineNumber,
236
- range.endColumn + diff
237
- ));
238
- }
239
- }
240
- const snippet = ( new SnippetParser()).parse(inlineCompletion.insertText.snippet);
241
- if (snippet.children.length === 1 && snippet.children[0] instanceof Text) {
242
- insertText = snippet.children[0].value;
243
- snippetInfo = undefined;
244
- }
245
- else {
246
- insertText = ( snippet.toString());
247
- snippetInfo = {
248
- snippet: inlineCompletion.insertText.snippet,
249
- range: range
250
- };
211
+ snippetInfo = undefined;
212
+ }
213
+ else if ('snippet' in inlineCompletion.insertText) {
214
+ const preBracketCompletionLength = inlineCompletion.insertText.snippet.length;
215
+ if (languageConfigurationService && inlineCompletion.completeBracketPairs) {
216
+ inlineCompletion.insertText.snippet = closeBrackets(inlineCompletion.insertText.snippet, range.getStartPosition(), textModel, languageConfigurationService);
217
+ const diff = inlineCompletion.insertText.snippet.length - preBracketCompletionLength;
218
+ if (diff !== 0) {
219
+ range = ( new Range(
220
+ range.startLineNumber,
221
+ range.startColumn,
222
+ range.endLineNumber,
223
+ range.endColumn + diff
224
+ ));
251
225
  }
252
226
  }
227
+ const snippet = ( new SnippetParser()).parse(inlineCompletion.insertText.snippet);
228
+ if (snippet.children.length === 1 && snippet.children[0] instanceof Text) {
229
+ insertText = snippet.children[0].value;
230
+ snippetInfo = undefined;
231
+ }
253
232
  else {
254
- assertNever();
233
+ insertText = ( snippet.toString());
234
+ snippetInfo = {
235
+ snippet: inlineCompletion.insertText.snippet,
236
+ range: range
237
+ };
255
238
  }
256
- return ( new InlineCompletionItem(
257
- insertText,
258
- inlineCompletion.command,
259
- inlineCompletion.shownCommand,
260
- inlineCompletion.action,
261
- range,
262
- insertText,
263
- snippetInfo,
264
- Range.lift(inlineCompletion.showRange) ?? undefined,
265
- inlineCompletion.additionalTextEdits || getReadonlyEmptyArray(),
266
- inlineCompletion,
267
- source
268
- ));
269
239
  }
270
- static { this.ID = 1; }
271
- constructor(filterText, command,
272
- shownCommand, action, range, insertText, snippetInfo, cursorShowRange, additionalTextEdits,
273
- sourceInlineCompletion,
274
- source, id = `InlineCompletion:${InlineCompletionItem.ID++}`) {
275
- this.filterText = filterText;
276
- this.command = command;
277
- this.shownCommand = shownCommand;
278
- this.action = action;
240
+ else {
241
+ assertNever();
242
+ }
243
+ const displayLocation = inlineCompletion.displayLocation ? {
244
+ range: Range.lift(inlineCompletion.displayLocation.range),
245
+ label: inlineCompletion.displayLocation.label
246
+ } : undefined;
247
+ return ( new InlineSuggestData(
248
+ range,
249
+ insertText,
250
+ snippetInfo,
251
+ displayLocation,
252
+ inlineCompletion.additionalTextEdits || getReadonlyEmptyArray(),
253
+ inlineCompletion,
254
+ source,
255
+ context,
256
+ inlineCompletion.isInlineEdit ?? false
257
+ ));
258
+ }
259
+ class InlineSuggestData {
260
+ constructor(range, insertText, snippetInfo, displayLocation, additionalTextEdits, sourceInlineCompletion, source, context, isInlineEdit) {
279
261
  this.range = range;
280
262
  this.insertText = insertText;
281
263
  this.snippetInfo = snippetInfo;
282
- this.cursorShowRange = cursorShowRange;
264
+ this.displayLocation = displayLocation;
283
265
  this.additionalTextEdits = additionalTextEdits;
284
266
  this.sourceInlineCompletion = sourceInlineCompletion;
285
267
  this.source = source;
286
- this.id = id;
287
- this._didCallShow = false;
268
+ this.context = context;
269
+ this.isInlineEdit = isInlineEdit;
270
+ this._didShow = false;
271
+ this._didReportEndOfLife = false;
272
+ this._lastSetEndOfLifeReason = undefined;
288
273
  }
289
- get isInlineEdit() {
290
- return this.sourceInlineCompletion.isInlineEdit;
274
+ get showInlineEditMenu() { return this.sourceInlineCompletion.showInlineEditMenu ?? false; }
275
+ getSingleTextEdit() {
276
+ return ( new SingleTextEdit(this.range, this.insertText));
291
277
  }
292
- get didShow() {
293
- return this._didCallShow;
278
+ async reportInlineEditShown(commandService, updatedInsertText) {
279
+ if (this._didShow) {
280
+ return;
281
+ }
282
+ this._didShow = true;
283
+ this.source.provider.handleItemDidShow?.(this.source.inlineSuggestions, this.sourceInlineCompletion, updatedInsertText);
284
+ if (this.sourceInlineCompletion.shownCommand) {
285
+ await commandService.executeCommand(this.sourceInlineCompletion.shownCommand.id, ...(this.sourceInlineCompletion.shownCommand.arguments || []));
286
+ }
294
287
  }
295
- markAsShown() {
296
- this._didCallShow = true;
288
+ reportPartialAccept(acceptedCharacters, info) {
289
+ this.source.provider.handlePartialAccept?.(this.source.inlineSuggestions, this.sourceInlineCompletion, acceptedCharacters, info);
297
290
  }
298
- withRangeInsertTextAndFilterText(updatedRange, updatedInsertText, updatedFilterText) {
299
- return ( new InlineCompletionItem(
300
- updatedFilterText,
301
- this.command,
302
- this.shownCommand,
303
- this.action,
304
- updatedRange,
305
- updatedInsertText,
306
- this.snippetInfo,
307
- this.cursorShowRange,
308
- this.additionalTextEdits,
309
- this.sourceInlineCompletion,
310
- this.source,
311
- this.id
312
- ));
291
+ reportEndOfLife(reason) {
292
+ if (this._didReportEndOfLife) {
293
+ return;
294
+ }
295
+ this._didReportEndOfLife = true;
296
+ if (!reason) {
297
+ reason = this._lastSetEndOfLifeReason ?? { kind: InlineCompletionEndOfLifeReasonKind.Ignored, userTypingDisagreed: false, supersededBy: undefined };
298
+ }
299
+ if (reason.kind === InlineCompletionEndOfLifeReasonKind.Rejected && this.source.provider.handleRejection) {
300
+ this.source.provider.handleRejection(this.source.inlineSuggestions, this.sourceInlineCompletion);
301
+ }
302
+ if (this.source.provider.handleEndOfLifetime) {
303
+ this.source.provider.handleEndOfLifetime(this.source.inlineSuggestions, this.sourceInlineCompletion, reason);
304
+ }
313
305
  }
314
- hash() {
315
- return JSON.stringify({ insertText: this.insertText, range: ( this.range.toString()) });
306
+ setEndOfLifeReason(reason) {
307
+ this._lastSetEndOfLifeReason = reason;
316
308
  }
317
- toSingleTextEdit() {
318
- return ( new SingleTextEdit(this.range, this.insertText));
309
+ }
310
+ class InlineSuggestionList {
311
+ constructor(inlineSuggestions, inlineSuggestionsData, provider) {
312
+ this.inlineSuggestions = inlineSuggestions;
313
+ this.inlineSuggestionsData = inlineSuggestionsData;
314
+ this.provider = provider;
315
+ this.refCount = 1;
316
+ }
317
+ addRef() {
318
+ this.refCount++;
319
+ }
320
+ removeRef() {
321
+ this.refCount--;
322
+ if (this.refCount === 0) {
323
+ for (const item of this.inlineSuggestionsData) {
324
+ item.reportEndOfLife();
325
+ }
326
+ this.provider.freeInlineCompletions(this.inlineSuggestions);
327
+ }
319
328
  }
320
329
  }
321
330
  function getDefaultRange(position, model) {
@@ -337,4 +346,4 @@ function closeBrackets(text, position, model, languageConfigurationService) {
337
346
  return fixedText;
338
347
  }
339
348
 
340
- export { InlineCompletionItem, InlineCompletionList, InlineCompletionProviderResult, provideInlineCompletions };
349
+ export { InlineCompletionProviderResult, InlineSuggestData, InlineSuggestionList, provideInlineCompletions };
@@ -35,7 +35,7 @@ export declare class SuggestItemInfo {
35
35
  private constructor();
36
36
  equals(other: SuggestItemInfo): boolean;
37
37
  toSelectedSuggestionInfo(): SelectedSuggestionInfo;
38
- toSingleTextEdit(): SingleTextEdit;
38
+ getSingleTextEdit(): SingleTextEdit;
39
39
  }
40
40
  export declare class ObservableSuggestWidgetAdapter extends Disposable {
41
41
  private readonly _editorObs;
@@ -59,7 +59,7 @@ class SuggestWidgetAdaptor extends Disposable {
59
59
  const candidates = ( suggestItems
60
60
  .map((suggestItem, index) => {
61
61
  const suggestItemInfo = SuggestItemInfo.fromSuggestion(suggestController, textModel, position, suggestItem, this.isShiftKeyPressed);
62
- const suggestItemTextEdit = singleTextRemoveCommonPrefix(suggestItemInfo.toSingleTextEdit(), textModel);
62
+ const suggestItemTextEdit = singleTextRemoveCommonPrefix(suggestItemInfo.getSingleTextEdit(), textModel);
63
63
  const valid = singleTextEditAugments(itemToPreselect, suggestItemTextEdit);
64
64
  return { index, valid, prefixLength: suggestItemTextEdit.text.length, suggestItem };
65
65
  }))
@@ -167,7 +167,7 @@ class SuggestItemInfo {
167
167
  toSelectedSuggestionInfo() {
168
168
  return ( new SelectedSuggestionInfo(this.range, this.insertText, this.completionItemKind, this.isSnippetText));
169
169
  }
170
- toSingleTextEdit() {
170
+ getSingleTextEdit() {
171
171
  return ( new SingleTextEdit(this.range, this.insertText));
172
172
  }
173
173
  }
@@ -10,6 +10,31 @@ export interface IRecordableEditorLogEntry extends IRecordableLogEntry {
10
10
  modelUri: string;
11
11
  modelVersion: number;
12
12
  }
13
+ export type EditorLogEntryData = IDocumentEventDataSetChangeReason | IDocumentEventFetchStart;
14
+ export type LogEntryData = IEventFetchEnd;
15
+ export interface IDocumentEventDataSetChangeReason {
16
+ sourceId: "TextModel.setChangeReason";
17
+ source: "inlineSuggestion.accept" | "snippet" | string;
18
+ detailedSource?: string;
19
+ }
20
+ interface IDocumentEventFetchStart {
21
+ sourceId: "InlineCompletions.fetch";
22
+ kind: "start";
23
+ requestId: number;
24
+ }
25
+ export interface IEventFetchEnd {
26
+ sourceId: "InlineCompletions.fetch";
27
+ kind: "end";
28
+ requestId: number;
29
+ error: string | undefined;
30
+ result: IFetchResult[];
31
+ }
32
+ interface IFetchResult {
33
+ range: string;
34
+ text: string;
35
+ isInlineEdit: boolean;
36
+ source: string;
37
+ }
13
38
  export declare function formatRecordableLogEntry<T extends IRecordableLogEntry>(entry: T): string;
14
39
  export declare class StructuredLogger<T extends IRecordableLogEntry> extends Disposable {
15
40
  private readonly _contextKey;
@@ -21,3 +46,4 @@ export declare class StructuredLogger<T extends IRecordableLogEntry> extends Dis
21
46
  constructor(_contextKey: string, _contextKeyService: IContextKeyService, _commandService: ICommandService);
22
47
  log(data: T): boolean;
23
48
  }
49
+ export {};
@@ -1,3 +1,4 @@
1
+ import { CancellationToken } from "../../../../base/common/cancellation.js";
1
2
  import { DisposableStore, IDisposable } from "../../../../base/common/lifecycle.js";
2
3
  import { IObservable, IReader } from "../../../../base/common/observable.js";
3
4
  import { ContextKeyValue, RawContextKey } from "../../../../platform/contextkey/common/contextkey.js";
@@ -6,13 +7,6 @@ import { Position } from "../../../common/core/position.js";
6
7
  import { Range } from "../../../common/core/range.js";
7
8
  import { SingleTextEdit } from "../../../common/core/textEdit.js";
8
9
  export declare function getReadonlyEmptyArray<T>(): readonly T[];
9
- export declare class ColumnRange {
10
- readonly startColumn: number;
11
- readonly endColumnExclusive: number;
12
- constructor(startColumn: number, endColumnExclusive: number);
13
- toRange(lineNumber: number): Range;
14
- equals(other: ColumnRange): boolean;
15
- }
16
10
  export declare function addPositions(pos1: Position, pos2: Position): Position;
17
11
  export declare function subtractPositions(pos1: Position, pos2: Position): Position;
18
12
  export declare function substringPos(text: string, pos: Position): string;
@@ -25,3 +19,4 @@ export declare class ObservableContextKeyService {
25
19
  bind<T extends ContextKeyValue>(key: RawContextKey<T>, obs: IObservable<T>): IDisposable;
26
20
  bind<T extends ContextKeyValue>(key: RawContextKey<T>, fn: (reader: IReader) => T): IDisposable;
27
21
  }
22
+ export declare function wait(ms: number, cancellationToken?: CancellationToken): Promise<void>;
@@ -1,6 +1,5 @@
1
1
 
2
2
  import { Permutation, compareBy } from '../../../../base/common/arrays.js';
3
- import { BugIndicatingError } from '../../../../base/common/errors.js';
4
3
  import '../../../../base/common/observableInternal/index.js';
5
4
  import { bindContextKey } from '../../../../platform/observable/common/platformObservableUtils.js';
6
5
  import { Position } from '../../../common/core/position.js';
@@ -14,24 +13,6 @@ const array = [];
14
13
  function getReadonlyEmptyArray() {
15
14
  return array;
16
15
  }
17
- class ColumnRange {
18
- constructor(startColumn, endColumnExclusive) {
19
- this.startColumn = startColumn;
20
- this.endColumnExclusive = endColumnExclusive;
21
- if (startColumn > endColumnExclusive) {
22
- throw ( new BugIndicatingError(
23
- `startColumn ${startColumn} cannot be after endColumnExclusive ${endColumnExclusive}`
24
- ));
25
- }
26
- }
27
- toRange(lineNumber) {
28
- return ( new Range(lineNumber, this.startColumn, lineNumber, this.endColumnExclusive));
29
- }
30
- equals(other) {
31
- return this.startColumn === other.startColumn
32
- && this.endColumnExclusive === other.endColumnExclusive;
33
- }
34
- }
35
16
  function addPositions(pos1, pos2) {
36
17
  return ( new Position(
37
18
  pos1.lineNumber + pos2.lineNumber - 1,
@@ -87,5 +68,25 @@ class ObservableContextKeyService {
87
68
  return bindContextKey(key, this._contextKeyService, obs instanceof Function ? obs : reader => obs.read(reader));
88
69
  }
89
70
  }
71
+ function wait(ms, cancellationToken) {
72
+ return ( new Promise(resolve => {
73
+ let d = undefined;
74
+ const handle = setTimeout(() => {
75
+ if (d) {
76
+ d.dispose();
77
+ }
78
+ resolve();
79
+ }, ms);
80
+ if (cancellationToken) {
81
+ d = cancellationToken.onCancellationRequested(() => {
82
+ clearTimeout(handle);
83
+ if (d) {
84
+ d.dispose();
85
+ }
86
+ resolve();
87
+ });
88
+ }
89
+ }));
90
+ }
90
91
 
91
- export { ColumnRange, ObservableContextKeyService, addPositions, convertItemsToStableObservables, getEndPositionsAfterApplying, getModifiedRangesAfterApplying, getReadonlyEmptyArray, substringPos, subtractPositions };
92
+ export { ObservableContextKeyService, addPositions, convertItemsToStableObservables, getEndPositionsAfterApplying, getModifiedRangesAfterApplying, getReadonlyEmptyArray, substringPos, subtractPositions, wait };