@codingame/monaco-vscode-api 18.4.0 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/missing-services.js +1217 -2932
  2. package/monaco.js +0 -3
  3. package/package.json +8 -8
  4. package/services.d.ts +12 -8
  5. package/services.js +12 -7
  6. package/vscode/product.json.js +1 -1
  7. package/vscode/src/vs/base/browser/dom.d.ts +83 -2
  8. package/vscode/src/vs/base/browser/dom.js +280 -3
  9. package/vscode/src/vs/base/browser/domStylesheets.d.ts +2 -0
  10. package/vscode/src/vs/base/browser/domStylesheets.js +11 -1
  11. package/vscode/src/vs/base/browser/markdownRenderer.d.ts +1 -0
  12. package/vscode/src/vs/base/browser/markdownRenderer.js +34 -18
  13. package/vscode/src/vs/base/browser/ui/button/button.js +4 -1
  14. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  15. package/vscode/src/vs/base/browser/ui/list/list.d.ts +1 -0
  16. package/vscode/src/vs/base/browser/ui/list/listView.d.ts +1 -1
  17. package/vscode/src/vs/base/browser/ui/list/listView.js +5 -5
  18. package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +1 -1
  19. package/vscode/src/vs/base/browser/ui/list/listWidget.js +5 -1
  20. package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +3 -1
  21. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +21 -4
  22. package/vscode/src/vs/base/common/arrays.d.ts +0 -1
  23. package/vscode/src/vs/base/common/arrays.js +1 -6
  24. package/vscode/src/vs/base/common/async.d.ts +1 -0
  25. package/vscode/src/vs/base/common/async.js +2 -1
  26. package/vscode/src/vs/base/common/buffer.d.ts +1 -0
  27. package/vscode/src/vs/base/common/buffer.js +3 -0
  28. package/vscode/src/vs/base/common/codicons.d.ts +7 -0
  29. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +7 -0
  30. package/vscode/src/vs/base/common/codiconsLibrary.js +7 -0
  31. package/vscode/src/vs/base/common/collections.d.ts +1 -0
  32. package/vscode/src/vs/base/common/collections.js +14 -1
  33. package/vscode/src/vs/base/common/color.js +2 -2
  34. package/vscode/src/vs/base/common/dataTransfer.d.ts +1 -1
  35. package/vscode/src/vs/base/common/decorators.d.ts +1 -1
  36. package/vscode/src/vs/base/common/event.d.ts +1 -1
  37. package/vscode/src/vs/base/common/glob.d.ts +1 -1
  38. package/vscode/src/vs/base/common/glob.js +2 -2
  39. package/vscode/src/vs/base/common/hotReloadHelpers.js +1 -1
  40. package/vscode/src/vs/base/common/iterator.d.ts +1 -1
  41. package/vscode/src/vs/base/common/network.d.ts +1 -0
  42. package/vscode/src/vs/base/common/network.js +1 -0
  43. package/vscode/src/vs/base/common/oauth.d.ts +34 -4
  44. package/vscode/src/vs/base/common/oauth.js +77 -6
  45. package/vscode/src/vs/base/common/observableInternal/index.d.ts +2 -2
  46. package/vscode/src/vs/base/common/observableInternal/logging/debugger/utils.js +8 -1
  47. package/vscode/src/vs/base/common/observableInternal/set.js +0 -1
  48. package/vscode/src/vs/base/common/performance.js +1 -1
  49. package/vscode/src/vs/base/common/product.d.ts +2 -1
  50. package/vscode/src/vs/base/common/types.d.ts +4 -8
  51. package/vscode/src/vs/base/common/types.js +3 -3
  52. package/vscode/src/vs/base/common/worker/webWorker.js +1 -1
  53. package/vscode/src/vs/editor/browser/config/migrateOptions.js +8 -0
  54. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +2 -0
  55. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +18 -14
  56. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +5 -3
  57. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +3 -1
  58. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.d.ts +3 -1
  59. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.js +5 -4
  60. package/vscode/src/vs/editor/browser/gpu/raster/glyphRasterizer.d.ts +3 -1
  61. package/vscode/src/vs/editor/browser/gpu/raster/glyphRasterizer.js +3 -3
  62. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +2 -3
  63. package/vscode/src/vs/editor/browser/observableCodeEditor.d.ts +6 -0
  64. package/vscode/src/vs/editor/browser/observableCodeEditor.js +38 -1
  65. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +9 -1
  66. package/vscode/src/vs/editor/browser/services/bulkEditService.d.ts +2 -0
  67. package/vscode/src/vs/editor/browser/services/editorWorkerService.d.ts +4 -0
  68. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +18 -2
  69. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.d.ts +32 -0
  70. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.js +141 -0
  71. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.service.d.ts +11 -0
  72. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.service.js +6 -0
  73. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +2 -2
  74. package/vscode/src/vs/editor/browser/view/viewController.js +5 -1
  75. package/vscode/src/vs/editor/browser/view.d.ts +1 -1
  76. package/vscode/src/vs/editor/browser/view.js +5 -5
  77. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.d.ts +1 -1
  78. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +3 -3
  79. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +14 -6
  80. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLineOptions.d.ts +1 -0
  81. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLineOptions.js +3 -7
  82. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +12 -2
  83. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +4 -2
  84. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +8 -2
  85. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +39 -9
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +12 -12
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css +52 -49
  88. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +15 -15
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +3 -1
  90. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +2 -2
  91. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +7 -7
  92. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +5 -5
  93. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
  94. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +7 -1
  95. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  96. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +7 -7
  97. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +5 -5
  98. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
  99. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  100. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +54 -54
  101. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +173 -160
  102. package/vscode/src/vs/editor/common/config/editorOptions.js +645 -570
  103. package/vscode/src/vs/editor/common/config/fontInfo.js +1 -1
  104. package/vscode/src/vs/editor/common/core/2d/point.d.ts +5 -0
  105. package/vscode/src/vs/editor/common/core/2d/point.js +23 -0
  106. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
  107. package/vscode/src/vs/editor/common/core/edits/edit.d.ts +6 -0
  108. package/vscode/src/vs/editor/common/core/edits/edit.js +41 -0
  109. package/vscode/src/vs/editor/common/core/edits/lineEdit.d.ts +17 -11
  110. package/vscode/src/vs/editor/common/core/edits/lineEdit.js +36 -9
  111. package/vscode/src/vs/editor/common/core/edits/stringEdit.d.ts +63 -16
  112. package/vscode/src/vs/editor/common/core/edits/stringEdit.js +205 -48
  113. package/vscode/src/vs/editor/common/core/edits/textEdit.d.ts +5 -1
  114. package/vscode/src/vs/editor/common/core/edits/textEdit.js +18 -2
  115. package/vscode/src/vs/editor/common/core/text/abstractText.d.ts +3 -1
  116. package/vscode/src/vs/editor/common/core/text/abstractText.js +10 -1
  117. package/vscode/src/vs/editor/common/core/text/getPositionOffsetTransformerFromTextModel.js +2 -1
  118. package/vscode/src/vs/editor/common/core/text/positionToOffset.d.ts +2 -28
  119. package/vscode/src/vs/editor/common/core/text/positionToOffset.js +11 -92
  120. package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.d.ts +37 -0
  121. package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.js +104 -0
  122. package/vscode/src/vs/editor/common/cursor/cursor.d.ts +3 -2
  123. package/vscode/src/vs/editor/common/cursor/cursor.js +24 -16
  124. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +3 -1
  125. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +1 -0
  126. package/vscode/src/vs/editor/common/diff/rangeMapping.js +11 -1
  127. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  128. package/vscode/src/vs/editor/common/editorContextKeys.js +46 -46
  129. package/vscode/src/vs/editor/common/languages/defaultDocumentColorsComputer.js +1 -1
  130. package/vscode/src/vs/editor/common/languages/languageConfiguration.d.ts +5 -1
  131. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.d.ts +1 -0
  132. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +7 -1
  133. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  134. package/vscode/src/vs/editor/common/languages.d.ts +31 -27
  135. package/vscode/src/vs/editor/common/languages.js +57 -62
  136. package/vscode/src/vs/editor/common/model/editStack.d.ts +2 -1
  137. package/vscode/src/vs/editor/common/model/editStack.js +4 -3
  138. package/vscode/src/vs/editor/common/model/intervalTree.d.ts +2 -2
  139. package/vscode/src/vs/editor/common/model/intervalTree.js +24 -7
  140. package/vscode/src/vs/editor/common/model/textModel.d.ts +24 -10
  141. package/vscode/src/vs/editor/common/model/textModel.js +114 -53
  142. package/vscode/src/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +1 -1
  143. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.d.ts +0 -3
  144. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.js +1 -13
  145. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.d.ts +2 -0
  146. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.js +13 -2
  147. package/vscode/src/vs/editor/common/model.d.ts +8 -2
  148. package/vscode/src/vs/editor/common/services/editorWebWorker.d.ts +4 -0
  149. package/vscode/src/vs/editor/common/services/editorWebWorker.js +14 -0
  150. package/vscode/src/vs/editor/common/services/editorWorker.service.d.ts +4 -0
  151. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +7 -0
  152. package/vscode/src/vs/editor/common/services/languageFeatures.service.d.ts +1 -2
  153. package/vscode/src/vs/editor/common/services/languageFeaturesService.d.ts +1 -2
  154. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +0 -1
  155. package/vscode/src/vs/editor/common/services/model.service.d.ts +2 -1
  156. package/vscode/src/vs/editor/common/services/modelService.d.ts +2 -1
  157. package/vscode/src/vs/editor/common/services/modelService.js +3 -2
  158. package/vscode/src/vs/editor/common/services/textResourceConfiguration.service.d.ts +1 -1
  159. package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +159 -157
  160. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +160 -159
  161. package/vscode/src/vs/editor/common/standaloneStrings.js +50 -49
  162. package/vscode/src/vs/editor/common/textModelEditReason.d.ts +94 -12
  163. package/vscode/src/vs/editor/common/textModelEditReason.js +86 -20
  164. package/vscode/src/vs/editor/common/textModelEvents.d.ts +24 -0
  165. package/vscode/src/vs/editor/common/textModelEvents.js +33 -1
  166. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +22 -1
  167. package/vscode/src/vs/editor/common/tokens/lineTokens.js +79 -2
  168. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  169. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.d.ts +5 -1
  170. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +10 -4
  171. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +3 -1
  172. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +39 -12
  173. package/vscode/src/vs/editor/common/viewModel/viewModelLines.d.ts +3 -3
  174. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +6 -6
  175. package/vscode/src/vs/editor/common/viewModel.d.ts +3 -1
  176. package/vscode/src/vs/editor/common/viewModel.js +2 -1
  177. package/vscode/src/vs/editor/common/viewModelEventDispatcher.d.ts +11 -3
  178. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +14 -1
  179. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  180. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  181. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  182. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  183. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +20 -20
  184. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -1
  185. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  186. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  187. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  188. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  189. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  190. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  191. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.css +2 -7
  192. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  193. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  194. package/vscode/src/vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider.js +3 -3
  195. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  196. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  197. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  198. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.d.ts +1 -1
  199. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +9 -5
  200. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  201. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  202. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  203. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  204. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  205. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  206. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  207. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  208. package/vscode/src/vs/editor/contrib/find/browser/findController.js +16 -16
  209. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +29 -29
  210. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -20
  211. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  212. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  213. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  214. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  215. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  216. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  217. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  218. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  219. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  220. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  221. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  222. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  223. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +10 -5
  224. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  225. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  226. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  227. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  228. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  229. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +10 -6
  230. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  231. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.d.ts +0 -1
  232. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +22 -47
  233. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  234. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +19 -19
  235. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
  236. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
  237. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  238. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.d.ts +2 -2
  239. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +11 -12
  240. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +3 -2
  241. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/animation.d.ts +7 -0
  242. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/animation.js +5 -5
  243. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.d.ts +3 -1
  244. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +35 -30
  245. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.js +2 -0
  246. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/graph.d.ts +9 -0
  247. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/graph.js +66 -0
  248. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +12 -4
  249. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +144 -100
  250. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +7 -5
  251. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +100 -49
  252. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.d.ts +3 -3
  253. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +4 -1
  254. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +37 -29
  255. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +39 -13
  256. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +150 -162
  257. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.d.ts +0 -1
  258. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +2 -1
  259. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.d.ts +2 -0
  260. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +12 -0
  261. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +9 -5
  262. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +13 -10
  263. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +2 -3
  264. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +5 -5
  265. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +2 -2
  266. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.d.ts +5 -4
  267. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +5 -3
  268. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +0 -1
  269. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +103 -62
  270. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.d.ts +25 -3
  271. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js +13 -1
  272. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +1 -2
  273. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +4 -6
  274. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.d.ts +1 -0
  275. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +7 -4
  276. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.d.ts +1 -0
  277. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +16 -12
  278. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.d.ts +3 -4
  279. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +34 -34
  280. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.d.ts +1 -0
  281. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +13 -8
  282. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +6 -7
  283. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.d.ts +2 -1
  284. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +20 -2
  285. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  286. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +4 -11
  287. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css +10 -7
  288. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  289. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  290. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
  291. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  292. package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
  293. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  294. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScroll.contribution.d.ts +1 -0
  295. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScroll.contribution.js +5 -0
  296. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScroll.css +20 -0
  297. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.d.ts +9 -0
  298. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.js +132 -0
  299. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  300. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  301. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +9 -9
  302. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.d.ts +1 -0
  303. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +21 -17
  304. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  305. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css +0 -1
  306. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  307. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +14 -12
  308. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  309. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  310. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.d.ts +2 -0
  311. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +5 -5
  312. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.d.ts +2 -1
  313. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +3 -2
  314. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  315. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css +24 -24
  316. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  317. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +13 -13
  318. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +18 -10
  319. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.d.ts +4 -3
  320. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +34 -39
  321. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.d.ts +5 -6
  322. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +65 -70
  323. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  324. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +13 -11
  325. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.d.ts +1 -1
  326. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +1 -1
  327. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.d.ts +1 -0
  328. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +18 -18
  329. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  330. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +4 -2
  331. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +1 -1
  332. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  333. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  334. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  335. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  336. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  337. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  338. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  339. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  340. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  341. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  342. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +1 -1
  343. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +5 -2
  344. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
  345. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +79 -69
  346. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  347. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +4 -4
  348. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  349. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  350. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  351. package/vscode/src/vs/platform/actions/common/actions.d.ts +0 -1
  352. package/vscode/src/vs/platform/actions/common/actions.js +0 -1
  353. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  354. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  355. package/vscode/src/vs/platform/configuration/common/configuration.js +4 -1
  356. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +11 -11
  357. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  358. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  359. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  360. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  361. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
  362. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  363. package/vscode/src/vs/platform/environment/common/argv.d.ts +11 -0
  364. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +0 -1
  365. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  366. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +19 -19
  367. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +1 -1
  368. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +1 -1
  369. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  370. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
  371. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
  372. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +9 -3
  373. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +9 -3
  374. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  375. package/vscode/src/vs/platform/files/common/files.d.ts +6 -1
  376. package/vscode/src/vs/platform/files/common/files.js +11 -7
  377. package/vscode/src/vs/platform/files/common/files.service.d.ts +1 -0
  378. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  379. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.d.ts +2 -2
  380. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  381. package/vscode/src/vs/platform/keybinding/common/keybinding.service.d.ts +2 -1
  382. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
  383. package/vscode/src/vs/platform/list/browser/listService.d.ts +1 -7
  384. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  385. package/vscode/src/vs/platform/log/common/log.d.ts +4 -0
  386. package/vscode/src/vs/platform/log/common/log.js +15 -7
  387. package/vscode/src/vs/platform/markers/common/markerService.js +4 -3
  388. package/vscode/src/vs/platform/markers/common/markers.d.ts +2 -0
  389. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  390. package/vscode/src/vs/platform/mcp/common/mcpManagement.service.d.ts +9 -4
  391. package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.service.d.ts +10 -0
  392. package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.service.js +6 -0
  393. package/vscode/src/vs/platform/notification/common/notification.d.ts +1 -0
  394. package/vscode/src/vs/platform/notification/common/notification.js +12 -2
  395. package/vscode/src/vs/platform/product/common/product.js +3 -3
  396. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
  397. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
  398. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +7 -6
  399. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +7 -12
  400. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  401. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +2 -1
  402. package/vscode/src/vs/platform/remote/common/remoteAgentEnvironment.d.ts +1 -0
  403. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.d.ts +2 -2
  404. package/vscode/src/vs/platform/request/common/request.d.ts +1 -1
  405. package/vscode/src/vs/platform/request/common/request.js +18 -18
  406. package/vscode/src/vs/platform/request/common/request.service.d.ts +1 -1
  407. package/vscode/src/vs/platform/telemetry/common/commonProperties.d.ts +1 -1
  408. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +2 -0
  409. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  410. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +2 -1
  411. package/vscode/src/vs/platform/terminal/common/terminal.service.d.ts +2 -1
  412. package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -1
  413. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  414. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  415. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  416. package/vscode/src/vs/platform/theme/common/colors/editorColors.d.ts +1 -0
  417. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -94
  418. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +47 -47
  419. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  420. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  421. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  422. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
  423. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  424. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  425. package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
  426. package/vscode/src/vs/platform/theme/common/themeService.d.ts +1 -1
  427. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  428. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +3 -1
  429. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +6 -2
  430. package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +2 -1
  431. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +7 -6
  432. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +1 -1
  433. package/vscode/src/vs/platform/window/common/window.d.ts +1 -0
  434. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  435. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +5 -7
  436. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +25 -24
  437. package/vscode/src/vs/workbench/api/common/extHostAuthentication.d.ts +10 -4
  438. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +109 -77
  439. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +2 -1
  440. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +22 -0
  441. package/vscode/src/vs/workbench/api/common/extHostCommands.js +3 -0
  442. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
  443. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  444. package/vscode/src/vs/workbench/api/common/extHostDocuments.d.ts +4 -2
  445. package/vscode/src/vs/workbench/api/common/extHostDocuments.js +35 -5
  446. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +3 -3
  447. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -4
  448. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +1 -5
  449. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +34 -182
  450. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +2 -2
  451. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +7 -2
  452. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +2 -3
  453. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  454. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +3 -1
  455. package/vscode/src/vs/workbench/api/common/extHostMcp.js +71 -20
  456. package/vscode/src/vs/workbench/api/common/extHostNotebook.d.ts +1 -1
  457. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +7 -5
  458. package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +1 -1
  459. package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -1
  460. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  461. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +2 -1
  462. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -3
  463. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.d.ts +4 -3
  464. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +5 -2
  465. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +3 -0
  466. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
  467. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  468. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +16 -7
  469. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +20 -8
  470. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +16 -13
  471. package/vscode/src/vs/workbench/api/common/extHostTypes.js +11 -12
  472. package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.d.ts +2 -2
  473. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
  474. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  475. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  476. package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
  477. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  478. package/vscode/src/vs/workbench/browser/contextkeys.d.ts +1 -0
  479. package/vscode/src/vs/workbench/browser/contextkeys.js +6 -1
  480. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.d.ts +1 -1
  481. package/vscode/src/vs/workbench/common/configuration.js +9 -9
  482. package/vscode/src/vs/workbench/common/contextkeys.d.ts +1 -0
  483. package/vscode/src/vs/workbench/common/contextkeys.js +73 -72
  484. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  485. package/vscode/src/vs/workbench/common/editor.d.ts +2 -1
  486. package/vscode/src/vs/workbench/common/editor.js +6 -6
  487. package/vscode/src/vs/workbench/common/theme.js +160 -160
  488. package/vscode/src/vs/workbench/common/views.js +4 -4
  489. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +157 -160
  490. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  491. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +2 -2
  492. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service.d.ts +18 -0
  493. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service.js +6 -0
  494. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +2 -2
  495. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +6 -6
  496. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +4 -3
  497. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +9 -3
  498. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +62 -41
  499. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +24 -5
  500. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +2 -2
  501. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.service.d.ts +1 -1
  502. package/vscode/src/vs/workbench/contrib/chat/common/chatEntitlementService.service.d.ts +1 -1
  503. package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +29 -9
  504. package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +2 -2
  505. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.service.d.ts +2 -2
  506. package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.d.ts +152 -0
  507. package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.js +160 -0
  508. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +2 -1
  509. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service.d.ts +1 -1
  510. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +5 -5
  511. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +11 -24
  512. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +8 -1
  513. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +4 -4
  514. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.d.ts +4 -2
  515. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +5 -1
  516. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +22 -7
  517. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index.d.ts +5 -0
  518. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tokens.d.ts +20 -0
  519. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +6 -4
  520. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +2 -17
  521. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{types.d.ts → promptsService.d.ts} +14 -7
  522. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{types.service.d.ts → promptsService.service.d.ts} +6 -7
  523. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.d.ts +2 -2
  524. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +1 -1
  525. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +15 -15
  526. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +6 -6
  527. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  528. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  529. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  530. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  531. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  532. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  533. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  534. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  535. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  536. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -1
  537. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  538. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  539. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  540. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +1 -0
  541. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +73 -65
  542. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +7 -0
  543. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  544. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +1 -1
  545. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +4 -4
  546. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  547. package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +3 -3
  548. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  549. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  550. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  551. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  552. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  553. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +2 -2
  554. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +1 -1
  555. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  556. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  557. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +55 -9
  558. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +29 -13
  559. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +16 -6
  560. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.js +2 -1
  561. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.d.ts +119 -31
  562. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.js +1 -1
  563. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +1 -1
  564. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +4 -4
  565. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +2 -2
  566. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.service.d.ts +1 -1
  567. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.service.d.ts +8 -0
  568. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.service.js +6 -0
  569. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  570. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  571. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  572. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  573. package/vscode/src/vs/workbench/contrib/tasks/common/constants.d.ts +3 -0
  574. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +10 -0
  575. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  576. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +4 -3
  577. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +13 -4
  578. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +6 -2
  579. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +1 -1
  580. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service.d.ts +2 -2
  581. package/vscode/src/vs/workbench/contrib/testing/common/constants.d.ts +2 -0
  582. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +13 -11
  583. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  584. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
  585. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
  586. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.d.ts +1 -0
  587. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +6 -4
  588. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +4 -0
  589. package/vscode/src/vs/workbench/services/authentication/common/authentication.service.d.ts +1 -0
  590. package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.d.ts +132 -0
  591. package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.service.d.ts +20 -0
  592. package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.service.js +6 -0
  593. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.service.d.ts +2 -2
  594. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  595. package/vscode/src/vs/workbench/services/coreExperimentation/common/coreExperimentationService.service.d.ts +6 -0
  596. package/vscode/src/vs/workbench/services/coreExperimentation/common/coreExperimentationService.service.js +6 -0
  597. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -1
  598. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  599. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
  600. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +2 -2
  601. package/vscode/src/vs/workbench/services/environment/common/environmentService.service.d.ts +1 -0
  602. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +1 -0
  603. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +84 -84
  604. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.d.ts +1 -1
  605. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -1
  606. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  607. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -2
  608. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +17 -17
  609. package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +5 -1
  610. package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
  611. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  612. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.d.ts +16 -0
  613. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.js +6 -0
  614. package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
  615. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
  616. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  617. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  618. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +3 -3
  619. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
  620. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  621. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  622. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -12
  623. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.d.ts +1 -1
  624. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.service.d.ts +1 -1
  625. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.service.d.ts +1 -1
  626. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -2
  627. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.d.ts +1 -1
  628. package/vscode-dts/vscode.proposed.authProviderSpecific.d.ts +30 -0
  629. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +10 -0
  630. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +10 -0
  631. package/vscode-dts/vscode.proposed.chatProvider.d.ts +139 -10
  632. package/vscode-dts/vscode.proposed.d.ts +3 -1
  633. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +5 -0
  634. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +21 -4
  635. package/vscode-dts/vscode.proposed.languageModelDataPart.d.ts +1 -0
  636. package/vscode-dts/vscode.proposed.remoteCodingAgents.d.ts +8 -0
  637. package/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts +2 -0
  638. package/vscode-dts/vscode.proposed.textDocumentChangeReason.d.ts +30 -0
  639. package/workbench.d.ts +1 -1
  640. package/vscode/src/vs/base/browser/domImpl/domObservable.d.ts +0 -3
  641. package/vscode/src/vs/base/browser/domImpl/domObservable.js +0 -16
  642. package/vscode/src/vs/base/browser/domImpl/n.d.ts +0 -83
  643. package/vscode/src/vs/base/browser/domImpl/n.js +0 -283
  644. package/vscode/src/vs/editor/common/codecs/frontMatterCodec/tokens/index.d.ts +0 -5
  645. package/vscode/src/vs/editor/common/codecs/simpleCodec/tokens/index.d.ts +0 -20
  646. package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +0 -25
  647. package/vscode/src/vs/editor/common/tokens/tokenArray.js +0 -84
  648. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEditsAdapter.d.ts +0 -16
  649. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEditsAdapter.js +0 -94
  650. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +0 -243
  651. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +0 -426
  652. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +0 -601
  653. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +0 -1185
  654. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +0 -130
  655. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +0 -235
  656. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.d.ts +0 -4
  657. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +0 -6
  658. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/index.d.ts +0 -3
  659. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfigPathsService.service.d.ts +0 -7
  660. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfigPathsService.service.js +0 -6
  661. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExpService.service.d.ts +0 -6
  662. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExpService.service.js +0 -6
  663. package/vscode-dts/vscode.proposed.inlineEdit.d.ts +0 -103
  664. /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{types.service.js → promptsService.service.js} +0 -0
@@ -1,6 +1,37 @@
1
1
  import { OffsetRange } from "../ranges/offsetRange.js";
2
+ import { StringText } from "../text/abstractText.js";
2
3
  import { BaseEdit, BaseReplacement } from "./edit.js";
3
- export declare class StringEdit extends BaseEdit<StringReplacement, StringEdit> {
4
+ export declare abstract class BaseStringEdit<T extends BaseStringReplacement<T> = BaseStringReplacement<any>, TEdit extends BaseStringEdit<T, TEdit> = BaseStringEdit<any, any>> extends BaseEdit<T, TEdit> {
5
+ get TReplacement(): T;
6
+ static composeOrUndefined<T extends BaseStringEdit>(edits: readonly T[]): T | undefined;
7
+ apply(base: string): string;
8
+ inverse(baseStr: string): StringEdit;
9
+ tryRebase(base: StringEdit): StringEdit;
10
+ tryRebase(base: StringEdit, noOverlap: true): StringEdit | undefined;
11
+ toJson(): ISerializedStringEdit;
12
+ isNeutralOn(text: string): boolean;
13
+ removeCommonSuffixPrefix(originalText: string): StringEdit;
14
+ normalizeEOL(eol: "\r\n" | "\n"): StringEdit;
15
+ normalizeOnSource(source: string): StringEdit;
16
+ removeCommonSuffixAndPrefix(source: string): TEdit;
17
+ applyOnText(docContents: StringText): StringText;
18
+ mapData<TData extends IEditData<TData>>(f: (replacement: T) => TData): AnnotatedStringEdit<TData>;
19
+ }
20
+ export declare abstract class BaseStringReplacement<T extends BaseStringReplacement<T> = BaseStringReplacement<any>> extends BaseReplacement<T> {
21
+ readonly newText: string;
22
+ constructor(range: OffsetRange, newText: string);
23
+ getNewLength(): number;
24
+ toString(): string;
25
+ replace(str: string): string;
26
+ isNeutralOn(text: string): boolean;
27
+ removeCommonSuffixPrefix(originalText: string): StringReplacement;
28
+ normalizeEOL(eol: "\r\n" | "\n"): StringReplacement;
29
+ removeCommonSuffixAndPrefix(source: string): T;
30
+ removeCommonPrefix(source: string): T;
31
+ removeCommonSuffix(source: string): T;
32
+ toEdit(): StringEdit;
33
+ }
34
+ export declare class StringEdit extends BaseStringEdit<StringReplacement, StringEdit> {
4
35
  static readonly empty: StringEdit;
5
36
  static create(replacements: readonly StringReplacement[]): StringEdit;
6
37
  static single(replacement: StringReplacement): StringEdit;
@@ -9,15 +40,9 @@ export declare class StringEdit extends BaseEdit<StringReplacement, StringEdit>
9
40
  static delete(range: OffsetRange): StringEdit;
10
41
  static fromJson(data: ISerializedStringEdit): StringEdit;
11
42
  static compose(edits: readonly StringEdit[]): StringEdit;
43
+ static composeSequentialReplacements(replacements: readonly StringReplacement[]): StringEdit;
12
44
  constructor(replacements: readonly StringReplacement[]);
13
45
  protected _createNew(replacements: readonly StringReplacement[]): StringEdit;
14
- apply(base: string): string;
15
- inverse(baseStr: string): StringEdit;
16
- tryRebase(base: StringEdit): StringEdit;
17
- tryRebase(base: StringEdit, noOverlap: true): StringEdit | undefined;
18
- toJson(): ISerializedStringEdit;
19
- isNeutralOn(text: string): boolean;
20
- removeCommonSuffixPrefix(originalText: string): StringEdit;
21
46
  }
22
47
  export type ISerializedStringEdit = ISerializedStringReplacement[];
23
48
  export interface ISerializedStringReplacement {
@@ -25,19 +50,41 @@ export interface ISerializedStringReplacement {
25
50
  pos: number;
26
51
  len: number;
27
52
  }
28
- export declare class StringReplacement extends BaseReplacement<StringReplacement> {
29
- readonly newText: string;
53
+ export declare class StringReplacement extends BaseStringReplacement<StringReplacement> {
30
54
  static insert(offset: number, text: string): StringReplacement;
31
55
  static replace(range: OffsetRange, text: string): StringReplacement;
56
+ static delete(range: OffsetRange): StringReplacement;
32
57
  static fromJson(data: ISerializedStringReplacement): StringReplacement;
33
- constructor(range: OffsetRange, newText: string);
34
58
  equals(other: StringReplacement): boolean;
35
- getNewLength(): number;
36
59
  tryJoinTouching(other: StringReplacement): StringReplacement | undefined;
37
60
  slice(range: OffsetRange, rangeInReplacement: OffsetRange): StringReplacement;
38
- toString(): string;
39
- replace(str: string): string;
40
- isNeutralOn(text: string): boolean;
41
- removeCommonSuffixPrefix(originalText: string): StringReplacement;
42
61
  }
43
62
  export declare function applyEditsToRanges(sortedRanges: OffsetRange[], edit: StringEdit): OffsetRange[];
63
+ export interface IEditData<T> {
64
+ join(other: T): T | undefined;
65
+ }
66
+ export declare class VoidEditData implements IEditData<VoidEditData> {
67
+ join(other: VoidEditData): VoidEditData | undefined;
68
+ }
69
+ export declare class AnnotatedStringEdit<T extends IEditData<T>> extends BaseStringEdit<AnnotatedStringReplacement<T>, AnnotatedStringEdit<T>> {
70
+ static readonly empty: AnnotatedStringEdit<never>;
71
+ static create<T extends IEditData<T>>(replacements: readonly AnnotatedStringReplacement<T>[]): AnnotatedStringEdit<T>;
72
+ static single<T extends IEditData<T>>(replacement: AnnotatedStringReplacement<T>): AnnotatedStringEdit<T>;
73
+ static replace<T extends IEditData<T>>(range: OffsetRange, replacement: string, data: T): AnnotatedStringEdit<T>;
74
+ static insert<T extends IEditData<T>>(offset: number, replacement: string, data: T): AnnotatedStringEdit<T>;
75
+ static delete<T extends IEditData<T>>(range: OffsetRange, data: T): AnnotatedStringEdit<T>;
76
+ static compose<T extends IEditData<T>>(edits: readonly AnnotatedStringEdit<T>[]): AnnotatedStringEdit<T>;
77
+ constructor(replacements: readonly AnnotatedStringReplacement<T>[]);
78
+ protected _createNew(replacements: readonly AnnotatedStringReplacement<T>[]): AnnotatedStringEdit<T>;
79
+ toStringEdit(): StringEdit;
80
+ }
81
+ export declare class AnnotatedStringReplacement<T extends IEditData<T>> extends BaseStringReplacement<AnnotatedStringReplacement<T>> {
82
+ readonly data: T;
83
+ static insert<T extends IEditData<T>>(offset: number, text: string, data: T): AnnotatedStringReplacement<T>;
84
+ static replace<T extends IEditData<T>>(range: OffsetRange, text: string, data: T): AnnotatedStringReplacement<T>;
85
+ static delete<T extends IEditData<T>>(range: OffsetRange, data: T): AnnotatedStringReplacement<T>;
86
+ constructor(range: OffsetRange, newText: string, data: T);
87
+ equals(other: AnnotatedStringReplacement<T>): boolean;
88
+ tryJoinTouching(other: AnnotatedStringReplacement<T>): AnnotatedStringReplacement<T> | undefined;
89
+ slice(range: OffsetRange, rangeInReplacement?: OffsetRange): AnnotatedStringReplacement<T>;
90
+ }
@@ -1,31 +1,16 @@
1
1
 
2
2
  import { commonPrefixLength, commonSuffixLength } from '../../../../base/common/strings.js';
3
3
  import { OffsetRange } from '../ranges/offsetRange.js';
4
+ import { StringText } from '../text/abstractText.js';
4
5
  import { BaseEdit, BaseReplacement } from './edit.js';
5
6
 
6
- class StringEdit extends BaseEdit {
7
- static { this.empty = ( new StringEdit([])); }
8
- static create(replacements) {
9
- return ( new StringEdit(replacements));
10
- }
11
- static single(replacement) {
12
- return ( new StringEdit([replacement]));
7
+ class BaseStringEdit extends BaseEdit {
8
+ get TReplacement() {
9
+ throw ( new Error('TReplacement is not defined for BaseStringEdit'));
13
10
  }
14
- static replace(range, replacement) {
15
- return ( new StringEdit([( new StringReplacement(range, replacement))]));
16
- }
17
- static insert(offset, replacement) {
18
- return ( new StringEdit([( new StringReplacement(OffsetRange.emptyAt(offset), replacement))]));
19
- }
20
- static delete(range) {
21
- return ( new StringEdit([( new StringReplacement(range, ''))]));
22
- }
23
- static fromJson(data) {
24
- return ( new StringEdit(( data.map(StringReplacement.fromJson))));
25
- }
26
- static compose(edits) {
11
+ static composeOrUndefined(edits) {
27
12
  if (edits.length === 0) {
28
- return StringEdit.empty;
13
+ return undefined;
29
14
  }
30
15
  let result = edits[0];
31
16
  for (let i = 1; i < edits.length; i++) {
@@ -33,12 +18,6 @@ class StringEdit extends BaseEdit {
33
18
  }
34
19
  return result;
35
20
  }
36
- constructor(replacements) {
37
- super(replacements);
38
- }
39
- _createNew(replacements) {
40
- return ( new StringEdit(replacements));
41
- }
42
21
  apply(base) {
43
22
  const resultText = [];
44
23
  let pos = 0;
@@ -114,34 +93,34 @@ class StringEdit extends BaseEdit {
114
93
  }
115
94
  return ( new StringEdit(edits));
116
95
  }
117
- }
118
- class StringReplacement extends BaseReplacement {
119
- static insert(offset, text) {
120
- return ( new StringReplacement(OffsetRange.emptyAt(offset), text));
96
+ normalizeEOL(eol) {
97
+ return ( new StringEdit(( this.replacements.map(edit => edit.normalizeEOL(eol)))));
121
98
  }
122
- static replace(range, text) {
123
- return ( new StringReplacement(range, text));
99
+ normalizeOnSource(source) {
100
+ const result = this.apply(source);
101
+ const edit = StringReplacement.replace(OffsetRange.ofLength(source.length), result);
102
+ const e = edit.removeCommonSuffixAndPrefix(source);
103
+ if (e.isEmpty) {
104
+ return StringEdit.empty;
105
+ }
106
+ return e.toEdit();
124
107
  }
125
- static fromJson(data) {
126
- return ( new StringReplacement(OffsetRange.ofStartAndLength(data.pos, data.len), data.txt));
108
+ removeCommonSuffixAndPrefix(source) {
109
+ return this._createNew(( this.replacements.map(e => e.removeCommonSuffixAndPrefix(source)))).normalize();
110
+ }
111
+ applyOnText(docContents) {
112
+ return ( new StringText(this.apply(docContents.value)));
127
113
  }
114
+ mapData(f) {
115
+ return ( new AnnotatedStringEdit(( this.replacements.map(e => ( new AnnotatedStringReplacement(e.replaceRange, e.newText, f(e)))))));
116
+ }
117
+ }
118
+ class BaseStringReplacement extends BaseReplacement {
128
119
  constructor(range, newText) {
129
120
  super(range);
130
121
  this.newText = newText;
131
122
  }
132
- equals(other) {
133
- return this.replaceRange.equals(other.replaceRange) && this.newText === other.newText;
134
- }
135
123
  getNewLength() { return this.newText.length; }
136
- tryJoinTouching(other) {
137
- return ( new StringReplacement(
138
- this.replaceRange.joinRightTouching(other.replaceRange),
139
- this.newText + other.newText
140
- ));
141
- }
142
- slice(range, rangeInReplacement) {
143
- return ( new StringReplacement(range, rangeInReplacement.substring(this.newText)));
144
- }
145
124
  toString() {
146
125
  return `${this.replaceRange} -> "${this.newText}"`;
147
126
  }
@@ -162,6 +141,111 @@ class StringReplacement extends BaseReplacement {
162
141
  const newText = this.newText.substring(prefixLen, this.newText.length - suffixLen);
163
142
  return ( new StringReplacement(replaceRange, newText));
164
143
  }
144
+ normalizeEOL(eol) {
145
+ const newText = this.newText.replace(/\r\n|\n/g, eol);
146
+ return ( new StringReplacement(this.replaceRange, newText));
147
+ }
148
+ removeCommonSuffixAndPrefix(source) {
149
+ return this.removeCommonSuffix(source).removeCommonPrefix(source);
150
+ }
151
+ removeCommonPrefix(source) {
152
+ const oldText = this.replaceRange.substring(source);
153
+ const prefixLen = commonPrefixLength(oldText, this.newText);
154
+ if (prefixLen === 0) {
155
+ return this;
156
+ }
157
+ return this.slice(this.replaceRange.deltaStart(prefixLen), ( new OffsetRange(prefixLen, this.newText.length)));
158
+ }
159
+ removeCommonSuffix(source) {
160
+ const oldText = this.replaceRange.substring(source);
161
+ const suffixLen = commonSuffixLength(oldText, this.newText);
162
+ if (suffixLen === 0) {
163
+ return this;
164
+ }
165
+ return this.slice(this.replaceRange.deltaEnd(-suffixLen), ( new OffsetRange(0, this.newText.length - suffixLen)));
166
+ }
167
+ toEdit() {
168
+ return ( new StringEdit([this]));
169
+ }
170
+ }
171
+ class StringEdit extends BaseStringEdit {
172
+ static { this.empty = ( new StringEdit([])); }
173
+ static create(replacements) {
174
+ return ( new StringEdit(replacements));
175
+ }
176
+ static single(replacement) {
177
+ return ( new StringEdit([replacement]));
178
+ }
179
+ static replace(range, replacement) {
180
+ return ( new StringEdit([( new StringReplacement(range, replacement))]));
181
+ }
182
+ static insert(offset, replacement) {
183
+ return ( new StringEdit([( new StringReplacement(OffsetRange.emptyAt(offset), replacement))]));
184
+ }
185
+ static delete(range) {
186
+ return ( new StringEdit([( new StringReplacement(range, ''))]));
187
+ }
188
+ static fromJson(data) {
189
+ return ( new StringEdit(( data.map(StringReplacement.fromJson))));
190
+ }
191
+ static compose(edits) {
192
+ if (edits.length === 0) {
193
+ return StringEdit.empty;
194
+ }
195
+ let result = edits[0];
196
+ for (let i = 1; i < edits.length; i++) {
197
+ result = result.compose(edits[i]);
198
+ }
199
+ return result;
200
+ }
201
+ static composeSequentialReplacements(replacements) {
202
+ let edit = StringEdit.empty;
203
+ let curEditReplacements = [];
204
+ for (const r of replacements) {
205
+ const last = curEditReplacements.at(-1);
206
+ if (!last || r.replaceRange.isBefore(last.replaceRange)) {
207
+ curEditReplacements.push(r);
208
+ }
209
+ else {
210
+ edit = edit.compose(StringEdit.create(curEditReplacements.reverse()));
211
+ curEditReplacements = [r];
212
+ }
213
+ }
214
+ edit = edit.compose(StringEdit.create(curEditReplacements.reverse()));
215
+ return edit;
216
+ }
217
+ constructor(replacements) {
218
+ super(replacements);
219
+ }
220
+ _createNew(replacements) {
221
+ return ( new StringEdit(replacements));
222
+ }
223
+ }
224
+ class StringReplacement extends BaseStringReplacement {
225
+ static insert(offset, text) {
226
+ return ( new StringReplacement(OffsetRange.emptyAt(offset), text));
227
+ }
228
+ static replace(range, text) {
229
+ return ( new StringReplacement(range, text));
230
+ }
231
+ static delete(range) {
232
+ return ( new StringReplacement(range, ''));
233
+ }
234
+ static fromJson(data) {
235
+ return ( new StringReplacement(OffsetRange.ofStartAndLength(data.pos, data.len), data.txt));
236
+ }
237
+ equals(other) {
238
+ return this.replaceRange.equals(other.replaceRange) && this.newText === other.newText;
239
+ }
240
+ tryJoinTouching(other) {
241
+ return ( new StringReplacement(
242
+ this.replaceRange.joinRightTouching(other.replaceRange),
243
+ this.newText + other.newText
244
+ ));
245
+ }
246
+ slice(range, rangeInReplacement) {
247
+ return ( new StringReplacement(range, rangeInReplacement.substring(this.newText)));
248
+ }
165
249
  }
166
250
  function applyEditsToRanges(sortedRanges, edit) {
167
251
  sortedRanges = sortedRanges.slice();
@@ -211,5 +295,78 @@ function applyEditsToRanges(sortedRanges, edit) {
211
295
  }
212
296
  return result;
213
297
  }
298
+ class AnnotatedStringEdit extends BaseStringEdit {
299
+ static { this.empty = ( new AnnotatedStringEdit([])); }
300
+ static create(replacements) {
301
+ return ( new AnnotatedStringEdit(replacements));
302
+ }
303
+ static single(replacement) {
304
+ return ( new AnnotatedStringEdit([replacement]));
305
+ }
306
+ static replace(range, replacement, data) {
307
+ return ( new AnnotatedStringEdit([( new AnnotatedStringReplacement(range, replacement, data))]));
308
+ }
309
+ static insert(offset, replacement, data) {
310
+ return ( new AnnotatedStringEdit([( new AnnotatedStringReplacement(OffsetRange.emptyAt(offset), replacement, data))]));
311
+ }
312
+ static delete(range, data) {
313
+ return ( new AnnotatedStringEdit([( new AnnotatedStringReplacement(range, '', data))]));
314
+ }
315
+ static compose(edits) {
316
+ if (edits.length === 0) {
317
+ return AnnotatedStringEdit.empty;
318
+ }
319
+ let result = edits[0];
320
+ for (let i = 1; i < edits.length; i++) {
321
+ result = result.compose(edits[i]);
322
+ }
323
+ return result;
324
+ }
325
+ constructor(replacements) {
326
+ super(replacements);
327
+ }
328
+ _createNew(replacements) {
329
+ return ( new AnnotatedStringEdit(replacements));
330
+ }
331
+ toStringEdit() {
332
+ return ( new StringEdit(( this.replacements.map(e => ( new StringReplacement(e.replaceRange, e.newText))))));
333
+ }
334
+ }
335
+ class AnnotatedStringReplacement extends BaseStringReplacement {
336
+ static insert(offset, text, data) {
337
+ return ( new AnnotatedStringReplacement(OffsetRange.emptyAt(offset), text, data));
338
+ }
339
+ static replace(range, text, data) {
340
+ return ( new AnnotatedStringReplacement(range, text, data));
341
+ }
342
+ static delete(range, data) {
343
+ return ( new AnnotatedStringReplacement(range, '', data));
344
+ }
345
+ constructor(range, newText, data) {
346
+ super(range, newText);
347
+ this.data = data;
348
+ }
349
+ equals(other) {
350
+ return this.replaceRange.equals(other.replaceRange) && this.newText === other.newText && this.data === other.data;
351
+ }
352
+ tryJoinTouching(other) {
353
+ const joined = this.data.join(other.data);
354
+ if (joined === undefined) {
355
+ return undefined;
356
+ }
357
+ return ( new AnnotatedStringReplacement(
358
+ this.replaceRange.joinRightTouching(other.replaceRange),
359
+ this.newText + other.newText,
360
+ joined
361
+ ));
362
+ }
363
+ slice(range, rangeInReplacement) {
364
+ return ( new AnnotatedStringReplacement(
365
+ range,
366
+ rangeInReplacement ? rangeInReplacement.substring(this.newText) : this.newText,
367
+ this.data
368
+ ));
369
+ }
370
+ }
214
371
 
215
- export { StringEdit, StringReplacement, applyEditsToRanges };
372
+ export { AnnotatedStringEdit, AnnotatedStringReplacement, BaseStringEdit, BaseStringReplacement, StringEdit, StringReplacement, applyEditsToRanges };
@@ -1,5 +1,5 @@
1
1
  import { ISingleEditOperation } from "../editOperation.js";
2
- import { StringEdit } from "./stringEdit.js";
2
+ import { StringEdit, StringReplacement } from "./stringEdit.js";
3
3
  import { Position } from "../position.js";
4
4
  import { Range } from "../range.js";
5
5
  import { AbstractText } from "../text/abstractText.js";
@@ -7,7 +7,9 @@ export declare class TextEdit {
7
7
  readonly replacements: readonly TextReplacement[];
8
8
  static fromStringEdit(edit: StringEdit, initialState: AbstractText): TextEdit;
9
9
  static replace(originalRange: Range, newText: string): TextEdit;
10
+ static delete(range: Range): TextEdit;
10
11
  static insert(position: Position, newText: string): TextEdit;
12
+ static fromParallelReplacementsUnsorted(replacements: readonly TextReplacement[]): TextEdit;
11
13
  constructor(replacements: readonly TextReplacement[]);
12
14
  normalize(): TextEdit;
13
15
  mapPosition(position: Position): Position | Range;
@@ -26,6 +28,8 @@ export declare class TextReplacement {
26
28
  readonly range: Range;
27
29
  readonly text: string;
28
30
  static joinReplacements(replacements: TextReplacement[], initialValue: AbstractText): TextReplacement;
31
+ static fromStringReplacement(replacement: StringReplacement, initialState: AbstractText): TextReplacement;
32
+ static delete(range: Range): TextReplacement;
29
33
  constructor(range: Range, text: string);
30
34
  get isEmpty(): boolean;
31
35
  static equals(first: TextReplacement, second: TextReplacement): boolean;
@@ -1,5 +1,5 @@
1
1
 
2
- import { equals } from '../../../../base/common/arrays.js';
2
+ import { compareBy, equals } from '../../../../base/common/arrays.js';
3
3
  import { assertFn, checkAdjacentItems } from '../../../../base/common/assert.js';
4
4
  import { BugIndicatingError } from '../../../../base/common/errors.js';
5
5
  import { commonPrefixLength, commonSuffixLength } from '../../../../base/common/strings.js';
@@ -10,15 +10,22 @@ import { StringText } from '../text/abstractText.js';
10
10
 
11
11
  class TextEdit {
12
12
  static fromStringEdit(edit, initialState) {
13
- const edits = ( edit.replacements.map(e => ( new TextReplacement(initialState.getTransformer().getRange(e.replaceRange), e.newText))));
13
+ const edits = ( edit.replacements.map(e => TextReplacement.fromStringReplacement(e, initialState)));
14
14
  return ( new TextEdit(edits));
15
15
  }
16
16
  static replace(originalRange, newText) {
17
17
  return ( new TextEdit([( new TextReplacement(originalRange, newText))]));
18
18
  }
19
+ static delete(range) {
20
+ return ( new TextEdit([( new TextReplacement(range, ''))]));
21
+ }
19
22
  static insert(position, newText) {
20
23
  return ( new TextEdit([( new TextReplacement(Range.fromPositions(position, position), newText))]));
21
24
  }
25
+ static fromParallelReplacementsUnsorted(replacements) {
26
+ const r = replacements.slice().sort(compareBy(i => i.range, Range.compareRangesUsingStarts));
27
+ return ( new TextEdit(r));
28
+ }
22
29
  constructor(replacements) {
23
30
  this.replacements = replacements;
24
31
  assertFn(() => checkAdjacentItems(replacements, (a, b) => a.range.getEndPosition().isBeforeOrEqual(b.range.getStartPosition())));
@@ -233,6 +240,15 @@ class TextReplacement {
233
240
  }
234
241
  return ( new TextReplacement(Range.fromPositions(startPos, endPos), newText));
235
242
  }
243
+ static fromStringReplacement(replacement, initialState) {
244
+ return ( new TextReplacement(
245
+ initialState.getTransformer().getRange(replacement.replaceRange),
246
+ replacement.newText
247
+ ));
248
+ }
249
+ static delete(range) {
250
+ return ( new TextReplacement(range, ''));
251
+ }
236
252
  constructor(range, text) {
237
253
  this.range = range;
238
254
  this.text = text;
@@ -1,5 +1,5 @@
1
1
  import { Position } from "../position.js";
2
- import { PositionOffsetTransformer } from "./positionToOffset.js";
2
+ import { PositionOffsetTransformer } from "./positionToOffsetImpl.js";
3
3
  import { Range } from "../range.js";
4
4
  import { LineRange } from "../ranges/lineRange.js";
5
5
  import { TextLength } from "./textLength.js";
@@ -14,6 +14,8 @@ export declare abstract class AbstractText {
14
14
  getTransformer(): PositionOffsetTransformer;
15
15
  getLineAt(lineNumber: number): string;
16
16
  getLines(): string[];
17
+ getLinesOfRange(range: LineRange): string[];
18
+ equals(other: AbstractText): boolean;
17
19
  }
18
20
  export declare class LineBasedText extends AbstractText {
19
21
  private readonly _getLineContent;
@@ -2,7 +2,7 @@
2
2
  import { assert } from '../../../../base/common/assert.js';
3
3
  import { splitLines } from '../../../../base/common/strings.js';
4
4
  import { Position } from '../position.js';
5
- import { PositionOffsetTransformer } from './positionToOffset.js';
5
+ import { PositionOffsetTransformer } from './positionToOffsetImpl.js';
6
6
  import { Range } from '../range.js';
7
7
  import { TextLength } from './textLength.js';
8
8
 
@@ -35,6 +35,15 @@ class AbstractText {
35
35
  const value = this.getValue();
36
36
  return splitLines(value);
37
37
  }
38
+ getLinesOfRange(range) {
39
+ return range.mapToLineArray(lineNumber => this.getLineAt(lineNumber));
40
+ }
41
+ equals(other) {
42
+ if (this === other) {
43
+ return true;
44
+ }
45
+ return this.getValue() === other.getValue();
46
+ }
38
47
  }
39
48
  class LineBasedText extends AbstractText {
40
49
  constructor(_getLineContent, _lineCount) {
@@ -1,5 +1,6 @@
1
1
 
2
- import { PositionOffsetTransformerBase } from './positionToOffset.js';
2
+ import './positionToOffset.js';
3
+ import { PositionOffsetTransformerBase } from './positionToOffsetImpl.js';
3
4
 
4
5
  function getPositionOffsetTransformerFromTextModel(textModel) {
5
6
  return ( new PositionOffsetTransformerWithTextModel(textModel));
@@ -1,28 +1,2 @@
1
- import { StringEdit, StringReplacement } from "../edits/stringEdit.js";
2
- import { OffsetRange } from "../ranges/offsetRange.js";
3
- import { Position } from "../position.js";
4
- import { Range } from "../range.js";
5
- import { TextReplacement, TextEdit } from "../edits/textEdit.js";
6
- import { TextLength } from "./textLength.js";
7
- export declare abstract class PositionOffsetTransformerBase {
8
- abstract getOffset(position: Position): number;
9
- getOffsetRange(range: Range): OffsetRange;
10
- abstract getPosition(offset: number): Position;
11
- getRange(offsetRange: OffsetRange): Range;
12
- getStringEdit(edit: TextEdit): StringEdit;
13
- getStringReplacement(edit: TextReplacement): StringReplacement;
14
- getSingleTextEdit(edit: StringReplacement): TextReplacement;
15
- getTextEdit(edit: StringEdit): TextEdit;
16
- }
17
- export declare class PositionOffsetTransformer extends PositionOffsetTransformerBase {
18
- readonly text: string;
19
- private readonly lineStartOffsetByLineIdx;
20
- private readonly lineEndOffsetByLineIdx;
21
- constructor(text: string);
22
- getOffset(position: Position): number;
23
- private _validatePosition;
24
- getPosition(offset: number): Position;
25
- getTextLength(offsetRange: OffsetRange): TextLength;
26
- get textLength(): TextLength;
27
- getLineLength(lineNumber: number): number;
28
- }
1
+ export { PositionOffsetTransformerBase, PositionOffsetTransformer } from "./positionToOffsetImpl.js";
2
+ export declare function ensureDependenciesAreSet(): void;
@@ -1,95 +1,14 @@
1
1
 
2
- import { findLastIdxMonotonous } from '../../../../base/common/arraysFind.js';
3
- import { StringEdit, StringReplacement } from '../edits/stringEdit.js';
4
- import { OffsetRange } from '../ranges/offsetRange.js';
5
- import { Position } from '../position.js';
6
- import { Range } from '../range.js';
7
- import { TextReplacement, TextEdit } from '../edits/textEdit.js';
2
+ import { StringReplacement, StringEdit } from '../edits/stringEdit.js';
3
+ import { TextEdit, TextReplacement } from '../edits/textEdit.js';
4
+ import { _setPositionOffsetTransformerDependencies } from './positionToOffsetImpl.js';
5
+ export { PositionOffsetTransformer, PositionOffsetTransformerBase } from './positionToOffsetImpl.js';
8
6
  import { TextLength } from './textLength.js';
9
7
 
10
- class PositionOffsetTransformerBase {
11
- getOffsetRange(range) {
12
- return ( new OffsetRange(
13
- this.getOffset(range.getStartPosition()),
14
- this.getOffset(range.getEndPosition())
15
- ));
16
- }
17
- getRange(offsetRange) {
18
- return Range.fromPositions(this.getPosition(offsetRange.start), this.getPosition(offsetRange.endExclusive));
19
- }
20
- getStringEdit(edit) {
21
- const edits = ( edit.replacements.map(e => this.getStringReplacement(e)));
22
- return ( new StringEdit(edits));
23
- }
24
- getStringReplacement(edit) {
25
- return ( new StringReplacement(this.getOffsetRange(edit.range), edit.text));
26
- }
27
- getSingleTextEdit(edit) {
28
- return ( new TextReplacement(this.getRange(edit.replaceRange), edit.newText));
29
- }
30
- getTextEdit(edit) {
31
- const edits = ( edit.replacements.map(e => this.getSingleTextEdit(e)));
32
- return ( new TextEdit(edits));
33
- }
34
- }
35
- class PositionOffsetTransformer extends PositionOffsetTransformerBase {
36
- constructor(text) {
37
- super();
38
- this.text = text;
39
- this.lineStartOffsetByLineIdx = [];
40
- this.lineEndOffsetByLineIdx = [];
41
- this.lineStartOffsetByLineIdx.push(0);
42
- for (let i = 0; i < text.length; i++) {
43
- if (text.charAt(i) === '\n') {
44
- this.lineStartOffsetByLineIdx.push(i + 1);
45
- if (i > 0 && text.charAt(i - 1) === '\r') {
46
- this.lineEndOffsetByLineIdx.push(i - 1);
47
- }
48
- else {
49
- this.lineEndOffsetByLineIdx.push(i);
50
- }
51
- }
52
- }
53
- this.lineEndOffsetByLineIdx.push(text.length);
54
- }
55
- getOffset(position) {
56
- const valPos = this._validatePosition(position);
57
- return this.lineStartOffsetByLineIdx[valPos.lineNumber - 1] + valPos.column - 1;
58
- }
59
- _validatePosition(position) {
60
- if (position.lineNumber < 1) {
61
- return ( new Position(1, 1));
62
- }
63
- const lineCount = this.textLength.lineCount + 1;
64
- if (position.lineNumber > lineCount) {
65
- const lineLength = this.getLineLength(lineCount);
66
- return ( new Position(lineCount, lineLength + 1));
67
- }
68
- if (position.column < 1) {
69
- return ( new Position(position.lineNumber, 1));
70
- }
71
- const lineLength = this.getLineLength(position.lineNumber);
72
- if (position.column - 1 > lineLength) {
73
- return ( new Position(position.lineNumber, lineLength + 1));
74
- }
75
- return position;
76
- }
77
- getPosition(offset) {
78
- const idx = findLastIdxMonotonous(this.lineStartOffsetByLineIdx, i => i <= offset);
79
- const lineNumber = idx + 1;
80
- const column = offset - this.lineStartOffsetByLineIdx[idx] + 1;
81
- return ( new Position(lineNumber, column));
82
- }
83
- getTextLength(offsetRange) {
84
- return TextLength.ofRange(this.getRange(offsetRange));
85
- }
86
- get textLength() {
87
- const lineIdx = this.lineStartOffsetByLineIdx.length - 1;
88
- return ( new TextLength(lineIdx, this.text.length - this.lineStartOffsetByLineIdx[lineIdx]));
89
- }
90
- getLineLength(lineNumber) {
91
- return this.lineEndOffsetByLineIdx[lineNumber - 1] - this.lineStartOffsetByLineIdx[lineNumber - 1];
92
- }
93
- }
94
-
95
- export { PositionOffsetTransformer, PositionOffsetTransformerBase };
8
+ _setPositionOffsetTransformerDependencies({
9
+ StringEdit: StringEdit,
10
+ StringReplacement: StringReplacement,
11
+ TextReplacement: TextReplacement,
12
+ TextEdit: TextEdit,
13
+ TextLength: TextLength,
14
+ });