@codingame/monaco-vscode-api 19.1.4 → 20.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 (687) hide show
  1. package/missing-services.js +141 -54
  2. package/package.json +8 -8
  3. package/services.d.ts +5 -5
  4. package/services.js +3 -3
  5. package/vscode/src/vs/base/browser/dom.d.ts +7 -5
  6. package/vscode/src/vs/base/browser/dom.js +21 -132
  7. package/vscode/src/vs/base/browser/domSanitize.d.ts +28 -0
  8. package/vscode/src/vs/base/browser/domSanitize.js +175 -0
  9. package/vscode/src/vs/base/browser/formattedTextRenderer.d.ts +2 -5
  10. package/vscode/src/vs/base/browser/formattedTextRenderer.js +13 -20
  11. package/vscode/src/vs/base/browser/markdownRenderer.d.ts +23 -13
  12. package/vscode/src/vs/base/browser/markdownRenderer.js +155 -126
  13. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +2 -0
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +9 -11
  15. package/vscode/src/vs/base/browser/ui/button/button.d.ts +2 -0
  16. package/vscode/src/vs/base/browser/ui/button/button.js +24 -15
  17. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  18. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +5 -10
  19. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css +9 -0
  20. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +3 -21
  21. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +7 -7
  22. package/vscode/src/vs/base/browser/ui/list/listPaging.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +2 -0
  24. package/vscode/src/vs/base/browser/ui/list/listWidget.js +3 -0
  25. package/vscode/src/vs/base/browser/ui/scrollbar/abstractScrollbar.js +9 -5
  26. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.d.ts +3 -0
  27. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +48 -1
  28. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.d.ts +2 -0
  29. package/vscode/src/vs/base/browser/ui/toggle/toggle.css +0 -3
  30. package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +22 -12
  31. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +93 -33
  32. package/vscode/src/vs/base/browser/ui/tree/abstractTree.d.ts +3 -0
  33. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +3 -0
  34. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.d.ts +3 -1
  35. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +19 -17
  36. package/vscode/src/vs/base/browser/webWorkerFactory.d.ts +1 -1
  37. package/vscode/src/vs/base/browser/webWorkerFactory.js +3 -2
  38. package/vscode/src/vs/base/common/arrays.js +4 -1
  39. package/vscode/src/vs/base/common/arraysFind.d.ts +1 -0
  40. package/vscode/src/vs/base/common/async.d.ts +26 -0
  41. package/vscode/src/vs/base/common/async.js +103 -1
  42. package/vscode/src/vs/base/common/codicons.d.ts +1 -0
  43. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +1 -0
  44. package/vscode/src/vs/base/common/codiconsLibrary.js +1 -0
  45. package/vscode/src/vs/base/common/lifecycle.js +4 -0
  46. package/vscode/src/vs/base/common/marshallingIds.d.ts +3 -1
  47. package/vscode/src/vs/base/common/marshallingIds.js +2 -0
  48. package/vscode/src/vs/base/common/network.d.ts +2 -1
  49. package/vscode/src/vs/base/common/network.js +2 -1
  50. package/vscode/src/vs/base/common/oauth.d.ts +2 -8
  51. package/vscode/src/vs/base/common/oauth.js +6 -27
  52. package/vscode/src/vs/base/common/observableInternal/changeTracker.d.ts +10 -0
  53. package/vscode/src/vs/base/common/observableInternal/changeTracker.js +33 -1
  54. package/vscode/src/vs/base/common/observableInternal/index.d.ts +2 -2
  55. package/vscode/src/vs/base/common/observableInternal/logging/debugger/devToolsLogger.js +22 -1
  56. package/vscode/src/vs/base/common/observableInternal/map.d.ts +24 -0
  57. package/vscode/src/vs/base/common/observableInternal/map.js +63 -0
  58. package/vscode/src/vs/base/common/observableInternal/observables/derivedImpl.d.ts +1 -0
  59. package/vscode/src/vs/base/common/observableInternal/observables/derivedImpl.js +8 -0
  60. package/vscode/src/vs/base/common/platform.js +1 -1
  61. package/vscode/src/vs/base/common/product.d.ts +19 -7
  62. package/vscode/src/vs/base/common/strings.d.ts +1 -0
  63. package/vscode/src/vs/base/common/strings.js +16 -1
  64. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +4 -4
  65. package/vscode/src/vs/editor/browser/config/migrateOptions.js +1 -0
  66. package/vscode/src/vs/editor/browser/controller/dragScrolling.d.ts +48 -0
  67. package/vscode/src/vs/editor/browser/controller/dragScrolling.js +182 -0
  68. package/vscode/src/vs/editor/browser/controller/editContext/clipboardUtils.d.ts +1 -0
  69. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +3 -5
  70. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +30 -73
  71. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentRich.d.ts +35 -0
  72. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentRich.js +329 -0
  73. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentSimple.d.ts +31 -0
  74. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderContentSimple.js +176 -0
  75. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.d.ts +12 -12
  76. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +50 -88
  77. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderUtils.d.ts +11 -0
  78. package/vscode/src/vs/editor/browser/controller/editContext/screenReaderUtils.d.ts +9 -12
  79. package/vscode/src/vs/editor/browser/controller/editContext/screenReaderUtils.js +22 -11
  80. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +5 -21
  81. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +23 -2
  82. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextState.d.ts +2 -2
  83. package/vscode/src/vs/editor/browser/controller/mouseHandler.d.ts +1 -0
  84. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +31 -114
  85. package/vscode/src/vs/editor/browser/controller/mouseTarget.d.ts +1 -0
  86. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +26 -7
  87. package/vscode/src/vs/editor/browser/coreCommands.d.ts +3 -3
  88. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +1 -1
  89. package/vscode/src/vs/editor/browser/editorExtensions.d.ts +2 -2
  90. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.js +1 -1
  91. package/vscode/src/vs/editor/browser/gpu/taskQueue.d.ts +5 -2
  92. package/vscode/src/vs/editor/browser/gpu/taskQueue.js +11 -4
  93. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +1 -1
  94. package/vscode/src/vs/editor/browser/services/bulkEditService.d.ts +2 -2
  95. package/vscode/src/vs/editor/browser/services/editorWorkerService.d.ts +1 -1
  96. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +1 -1
  97. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +33 -1
  98. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.d.ts +1 -0
  99. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +6 -0
  100. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.d.ts +4 -1
  101. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.js +13 -2
  102. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.d.ts +1 -1
  103. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
  104. package/vscode/src/vs/editor/browser/view/renderingContext.d.ts +2 -1
  105. package/vscode/src/vs/editor/browser/view/viewUserInputEvents.d.ts +1 -1
  106. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +4 -3
  107. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +2 -0
  108. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.css +8 -2
  109. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.d.ts +3 -2
  110. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +44 -13
  111. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.d.ts +1 -0
  112. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +7 -2
  113. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.d.ts +1 -0
  114. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +9 -4
  115. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.d.ts +1 -0
  116. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +43 -35
  117. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLineOptions.d.ts +1 -0
  118. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLineOptions.js +2 -0
  119. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.css +1 -0
  120. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.d.ts +1 -0
  121. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +21 -4
  122. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +3 -3
  123. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +3 -3
  124. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +4 -1
  125. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +1 -1
  126. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.d.ts +3 -2
  127. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +9 -3
  128. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.d.ts +2 -2
  129. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js +4 -4
  130. package/vscode/src/vs/editor/common/commands/surroundSelectionCommand.js +1 -1
  131. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +21 -6
  132. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +178 -162
  133. package/vscode/src/vs/editor/common/config/editorOptions.js +592 -495
  134. package/vscode/src/vs/editor/common/coordinatesConverter.d.ts +30 -0
  135. package/vscode/src/vs/editor/common/coordinatesConverter.js +56 -0
  136. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
  137. package/vscode/src/vs/editor/common/core/edits/edit.d.ts +3 -3
  138. package/vscode/src/vs/editor/common/core/edits/lineEdit.d.ts +2 -2
  139. package/vscode/src/vs/editor/common/core/edits/lineEdit.js +14 -14
  140. package/vscode/src/vs/editor/common/core/edits/stringEdit.d.ts +11 -4
  141. package/vscode/src/vs/editor/common/core/edits/stringEdit.js +36 -12
  142. package/vscode/src/vs/editor/common/core/edits/textEdit.d.ts +3 -0
  143. package/vscode/src/vs/editor/common/core/edits/textEdit.js +20 -0
  144. package/vscode/src/vs/editor/common/core/text/abstractText.d.ts +2 -0
  145. package/vscode/src/vs/editor/common/core/text/abstractText.js +3 -0
  146. package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.d.ts +1 -1
  147. package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.js +2 -2
  148. package/vscode/src/vs/editor/common/cursor/cursor.d.ts +4 -4
  149. package/vscode/src/vs/editor/common/cursor/cursor.js +9 -9
  150. package/vscode/src/vs/editor/common/cursor/cursorContext.d.ts +1 -1
  151. package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.d.ts +2 -1
  152. package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.js +28 -13
  153. package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +15 -6
  154. package/vscode/src/vs/editor/common/cursorCommon.d.ts +1 -0
  155. package/vscode/src/vs/editor/common/cursorCommon.js +2 -0
  156. package/vscode/src/vs/editor/common/editorContextKeys.js +46 -46
  157. package/vscode/src/vs/editor/common/languages/defaultDocumentColorsComputer.js +3 -3
  158. package/vscode/src/vs/editor/common/languages/linkComputer.js +1 -4
  159. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  160. package/vscode/src/vs/editor/common/languages.d.ts +19 -0
  161. package/vscode/src/vs/editor/common/languages.js +83 -57
  162. package/vscode/src/vs/editor/common/model/editStack.d.ts +2 -2
  163. package/vscode/src/vs/editor/common/model/editStack.js +3 -3
  164. package/vscode/src/vs/editor/common/model/textModel.d.ts +7 -6
  165. package/vscode/src/vs/editor/common/model/textModel.js +5 -4
  166. package/vscode/src/vs/editor/common/model.d.ts +6 -1
  167. package/vscode/src/vs/editor/common/model.js +6 -1
  168. package/vscode/src/vs/editor/common/modelLineProjectionData.d.ts +1 -1
  169. package/vscode/src/vs/editor/common/services/editorWebWorker.d.ts +1 -1
  170. package/vscode/src/vs/editor/common/services/model.service.d.ts +2 -2
  171. package/vscode/src/vs/editor/common/services/modelService.d.ts +2 -2
  172. package/vscode/src/vs/editor/common/services/modelService.js +2 -2
  173. package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +172 -160
  174. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +174 -161
  175. package/vscode/src/vs/editor/common/standaloneStrings.js +47 -47
  176. package/vscode/src/vs/editor/common/textModelEditSource.d.ts +151 -0
  177. package/vscode/src/vs/editor/common/{textModelEditReason.js → textModelEditSource.js} +44 -23
  178. package/vscode/src/vs/editor/common/textModelEvents.d.ts +2 -2
  179. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +1 -1
  180. package/vscode/src/vs/editor/common/viewLayout/lineDecorations.d.ts +1 -1
  181. package/vscode/src/vs/editor/common/viewLayout/lineDecorations.js +1 -1
  182. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.d.ts +8 -5
  183. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +29 -29
  184. package/vscode/src/vs/editor/common/viewLayout/viewLinesViewportData.d.ts +2 -1
  185. package/vscode/src/vs/editor/common/viewModel/inlineDecorations.d.ts +21 -0
  186. package/vscode/src/vs/editor/common/viewModel/inlineDecorations.js +30 -0
  187. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +2 -1
  188. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.d.ts +1 -1
  189. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +11 -3
  190. package/vscode/src/vs/editor/common/viewModel/screenReaderSimpleModel.d.ts +10 -0
  191. package/vscode/src/vs/editor/common/viewModel/viewModelDecoration.d.ts +11 -0
  192. package/vscode/src/vs/editor/common/viewModel/viewModelDecoration.js +49 -0
  193. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.d.ts +7 -11
  194. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +5 -43
  195. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +7 -4
  196. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +32 -9
  197. package/vscode/src/vs/editor/common/viewModel/viewModelLines.d.ts +4 -2
  198. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +5 -55
  199. package/vscode/src/vs/editor/common/viewModel.d.ts +8 -34
  200. package/vscode/src/vs/editor/common/viewModel.js +3 -35
  201. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  202. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  203. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  204. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  205. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +44 -17
  206. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +8 -7
  207. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  208. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  209. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  210. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  211. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +5 -1
  212. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  213. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  214. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  215. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  216. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.d.ts +0 -1
  217. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.js +0 -3
  218. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.d.ts +1 -0
  219. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +4 -1
  220. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  221. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  222. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -19
  223. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  224. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  225. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.d.ts +3 -1
  226. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +54 -29
  227. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  228. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  229. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  230. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  231. package/vscode/src/vs/editor/contrib/find/browser/findController.d.ts +4 -4
  232. package/vscode/src/vs/editor/contrib/find/browser/findController.js +16 -16
  233. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +26 -26
  234. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -20
  235. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  236. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  237. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  238. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  239. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  240. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  241. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  242. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  243. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  244. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  245. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  246. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  247. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  248. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.d.ts +3 -1
  249. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +31 -3
  250. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  251. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.d.ts +3 -1
  252. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +6 -3
  253. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidgetWrapper.js +7 -2
  254. package/vscode/src/vs/editor/contrib/hover/browser/getHover.d.ts +1 -2
  255. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +6 -2
  256. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  257. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  258. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  259. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.d.ts +4 -4
  260. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.d.ts +1 -2
  261. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +18 -19
  262. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  263. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  264. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  265. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +17 -15
  266. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.d.ts +8 -8
  267. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -20
  268. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.d.ts +1 -0
  269. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -11
  270. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +22 -1
  271. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  272. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  273. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.d.ts +1 -1
  274. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +5 -2
  275. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +107 -83
  276. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +1 -1
  277. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +31 -8
  278. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +4 -2
  279. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +27 -16
  280. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +6 -1
  281. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +11 -0
  282. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/typingSpeed.d.ts +32 -0
  283. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/typingSpeed.js +145 -0
  284. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +2 -21
  285. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +14 -9
  286. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +5 -5
  287. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
  288. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +3 -2
  289. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.d.ts +1 -0
  290. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +42 -20
  291. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +1 -1
  292. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +1 -1
  293. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  294. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  295. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  296. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.d.ts +5 -0
  297. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +105 -33
  298. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  299. package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
  300. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  301. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.d.ts +2 -0
  302. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +34 -28
  303. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  304. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  305. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  306. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  307. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  308. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +13 -13
  309. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  310. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  311. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.d.ts +2 -2
  312. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  313. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.d.ts +2 -2
  314. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
  315. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  316. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  317. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +5 -1
  318. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  319. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +13 -13
  320. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  321. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  322. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  323. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  324. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  325. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  326. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  327. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  328. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.d.ts +6 -6
  329. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +30 -30
  330. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  331. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  332. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +9 -6
  333. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  334. package/vscode/src/vs/editor/editor.worker.start.d.ts +1 -1
  335. package/vscode/src/vs/editor/editor.worker.start.js +26 -18
  336. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.d.ts +2 -1
  337. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -0
  338. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +1 -0
  339. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
  340. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  341. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  342. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +3 -1
  343. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +45 -8
  344. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +20 -1
  345. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  346. package/vscode/src/vs/platform/actions/browser/actionViewItemService.service.d.ts +5 -5
  347. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  348. package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +1 -0
  349. package/vscode/src/vs/platform/actions/browser/toolbar.js +6 -3
  350. package/vscode/src/vs/platform/actions/common/actions.d.ts +4 -3
  351. package/vscode/src/vs/platform/actions/common/actions.js +4 -3
  352. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  353. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  354. package/vscode/src/vs/platform/clipboard/browser/clipboardService.d.ts +1 -1
  355. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +12 -2
  356. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +5 -1
  357. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +20 -10
  358. package/vscode/src/vs/platform/configuration/common/configurations.js +2 -2
  359. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  360. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  361. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  362. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  363. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +1 -1
  364. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
  365. package/vscode/src/vs/platform/dnd/browser/dnd.d.ts +1 -0
  366. package/vscode/src/vs/platform/dnd/browser/dnd.js +2 -1
  367. package/vscode/src/vs/platform/environment/common/argv.d.ts +2 -0
  368. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +1 -0
  369. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.d.ts +62 -0
  370. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.js +55 -0
  371. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryManifest.service.d.ts +3 -2
  372. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +2 -2
  373. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +19 -19
  374. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +1 -1
  375. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  376. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
  377. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
  378. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +21 -0
  379. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +21 -0
  380. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  381. package/vscode/src/vs/platform/files/common/files.js +6 -6
  382. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  383. package/vscode/src/vs/platform/imageResize/common/imageResizeService.service.d.ts +5 -0
  384. package/vscode/src/vs/platform/imageResize/common/imageResizeService.service.js +6 -0
  385. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  386. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
  387. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  388. package/vscode/src/vs/platform/log/common/log.js +6 -6
  389. package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
  390. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  391. package/vscode/src/vs/platform/mcp/common/mcpManagement.service.d.ts +8 -0
  392. package/vscode/src/vs/platform/mcp/common/mcpManagement.service.js +2 -1
  393. package/vscode/src/vs/platform/notification/common/notification.js +3 -3
  394. package/vscode/src/vs/platform/observable/common/platformObservableUtils.d.ts +1 -0
  395. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +20 -9
  396. package/vscode/src/vs/platform/opener/browser/link.js +1 -4
  397. package/vscode/src/vs/platform/policy/common/policy.d.ts +2 -2
  398. package/vscode/src/vs/platform/policy/common/policy.service.d.ts +1 -1
  399. package/vscode/src/vs/platform/product/common/product.js +3 -3
  400. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +81 -14
  401. package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +10 -7
  402. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +19 -14
  403. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  404. package/vscode/src/vs/platform/quickinput/browser/quickInputController.d.ts +2 -1
  405. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +38 -11
  406. package/vscode/src/vs/platform/quickinput/browser/{quickInputTree.d.ts → quickInputList.d.ts} +1 -1
  407. package/vscode/src/vs/platform/quickinput/browser/{quickInputTree.js → quickInputList.js} +9 -9
  408. package/vscode/src/vs/platform/quickinput/browser/quickInputService.d.ts +2 -1
  409. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +3 -0
  410. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  411. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputDelegate.d.ts +6 -0
  412. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputDelegate.js +13 -0
  413. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTree.d.ts +9 -0
  414. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTree.js +35 -0
  415. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.d.ts +13 -0
  416. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +33 -0
  417. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.d.ts +42 -0
  418. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.js +296 -0
  419. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeFilter.d.ts +10 -0
  420. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeFilter.js +39 -0
  421. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.d.ts +33 -0
  422. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +148 -0
  423. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.d.ts +53 -0
  424. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +189 -0
  425. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +46 -2
  426. package/vscode/src/vs/platform/quickinput/common/quickInput.js +1 -0
  427. package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +2 -1
  428. package/vscode/src/vs/platform/request/common/request.js +18 -18
  429. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  430. package/vscode/src/vs/platform/terminal/common/environmentVariableShared.d.ts +1 -1
  431. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -5
  432. package/vscode/src/vs/platform/terminal/common/terminal.service.d.ts +2 -4
  433. package/vscode/src/vs/platform/terminal/common/terminalProcess.d.ts +1 -1
  434. package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -1
  435. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  436. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  437. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  438. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
  439. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +47 -47
  440. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  441. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  442. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  443. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
  444. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  445. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  446. package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
  447. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  448. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  449. package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +12 -2
  450. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +14 -6
  451. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +2 -1
  452. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  453. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +64 -9
  454. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
  455. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +102 -41
  456. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +6 -0
  457. package/vscode/src/vs/workbench/api/common/extHostAuthentication.d.ts +4 -2
  458. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +98 -27
  459. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +22 -4
  460. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +24 -5
  461. package/vscode/src/vs/workbench/api/common/extHostChatOutputRenderer.d.ts +14 -0
  462. package/vscode/src/vs/workbench/api/common/extHostChatOutputRenderer.js +32 -0
  463. package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +35 -0
  464. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +222 -0
  465. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
  466. package/vscode/src/vs/workbench/api/common/extHostDataChannels.d.ts +15 -0
  467. package/vscode/src/vs/workbench/api/common/extHostDataChannels.js +44 -0
  468. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  469. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  470. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +3 -2
  471. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +32 -34
  472. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +12 -15
  473. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +127 -120
  474. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  475. package/vscode/src/vs/workbench/api/common/extHostMcp.js +40 -25
  476. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  477. package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -2
  478. package/vscode/src/vs/workbench/api/common/extHostSCM.js +28 -10
  479. package/vscode/src/vs/workbench/api/common/extHostSecretState.d.ts +1 -0
  480. package/vscode/src/vs/workbench/api/common/extHostSecretState.js +3 -0
  481. package/vscode/src/vs/workbench/api/common/extHostSecrets.d.ts +2 -0
  482. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +6 -0
  483. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  484. package/vscode/src/vs/workbench/api/common/extHostTask.d.ts +3 -0
  485. package/vscode/src/vs/workbench/api/common/extHostTask.js +12 -1
  486. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  487. package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +1 -1
  488. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +1 -1
  489. package/vscode/src/vs/workbench/api/common/extHostTreeViews.d.ts +8 -8
  490. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +203 -198
  491. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  492. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +19 -8
  493. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +211 -33
  494. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +77 -13
  495. package/vscode/src/vs/workbench/api/common/extHostTypes.js +69 -11
  496. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
  497. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  498. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  499. package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
  500. package/vscode/src/vs/workbench/browser/actions/textInputActions.d.ts +4 -2
  501. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +24 -10
  502. package/vscode/src/vs/workbench/browser/contextkeys.js +10 -5
  503. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.d.ts +1 -1
  504. package/vscode/src/vs/workbench/common/configuration.js +9 -9
  505. package/vscode/src/vs/workbench/common/contextkeys.js +87 -78
  506. package/vscode/src/vs/workbench/common/editor/diffEditorInput.d.ts +32 -0
  507. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +180 -0
  508. package/vscode/src/vs/workbench/common/editor/diffEditorModel.d.ts +12 -0
  509. package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +26 -0
  510. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  511. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +10 -0
  512. package/vscode/src/vs/workbench/common/editor/editorModel.js +27 -0
  513. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.d.ts +51 -0
  514. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +303 -0
  515. package/vscode/src/vs/workbench/common/editor/textDiffEditorModel.d.ts +18 -0
  516. package/vscode/src/vs/workbench/common/editor/textDiffEditorModel.js +45 -0
  517. package/vscode/src/vs/workbench/common/editor/textEditorModel.d.ts +47 -0
  518. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +181 -0
  519. package/vscode/src/vs/workbench/common/editor.d.ts +1 -1
  520. package/vscode/src/vs/workbench/common/editor.js +4 -4
  521. package/vscode/src/vs/workbench/common/theme.d.ts +2 -2
  522. package/vscode/src/vs/workbench/common/theme.js +161 -161
  523. package/vscode/src/vs/workbench/common/views.js +4 -4
  524. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +164 -156
  525. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  526. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +4 -2
  527. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service.d.ts +3 -1
  528. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +8 -8
  529. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service.d.ts +1 -1
  530. package/vscode/src/vs/workbench/contrib/chat/browser/chatContextPickService.service.d.ts +1 -1
  531. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +5 -5
  532. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service.d.ts +9 -0
  533. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.service.js +6 -0
  534. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +2 -1
  535. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +5 -2
  536. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +59 -48
  537. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +2 -2
  538. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +2 -2
  539. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.service.d.ts +1 -1
  540. package/vscode/src/vs/workbench/contrib/chat/common/chatEntitlementService.service.d.ts +1 -1
  541. package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +81 -11
  542. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +7 -1
  543. package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +6 -3
  544. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +48 -0
  545. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +22 -0
  546. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.js +6 -0
  547. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.service.d.ts +6 -0
  548. package/vscode/src/vs/workbench/contrib/chat/common/chatTodoListService.service.js +6 -0
  549. package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.js +2 -2
  550. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +1 -1
  551. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service.d.ts +1 -1
  552. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +4 -1
  553. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +3 -0
  554. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +32 -11
  555. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +8 -5
  556. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.d.ts +1 -0
  557. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +47 -17
  558. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +147 -65
  559. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +9 -7
  560. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.d.ts +4 -0
  561. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +6 -0
  562. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +1 -1
  563. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +1 -1
  564. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +1 -1
  565. package/vscode/src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.d.ts +17 -0
  566. package/vscode/src/vs/workbench/contrib/chat/common/tools/manageTodoListTool.js +203 -0
  567. package/vscode/src/vs/workbench/contrib/chat/common/tools/tools.js +4 -0
  568. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
  569. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  570. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  571. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  572. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  573. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  574. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  575. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  576. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  577. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  578. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  579. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -1
  580. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  581. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  582. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  583. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +65 -65
  584. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +1 -0
  585. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -2
  586. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +1 -1
  587. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +5 -5
  588. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  589. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  590. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  591. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  592. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  593. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  594. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +2 -2
  595. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +1 -1
  596. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  597. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  598. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.d.ts +7 -2
  599. package/vscode/src/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service.d.ts +5 -4
  600. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +33 -9
  601. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +28 -10
  602. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +11 -3
  603. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
  604. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +1 -1
  605. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +2 -2
  606. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +1 -1
  607. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.service.d.ts +1 -1
  608. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +1 -1
  609. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  610. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  611. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  612. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  613. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  614. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  615. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.service.d.ts +3 -1
  616. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +4 -4
  617. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +9 -7
  618. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +1 -1
  619. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.d.ts +2 -2
  620. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariable.service.d.ts +1 -1
  621. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.service.d.ts +1 -1
  622. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.service.d.ts +1 -1
  623. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service.d.ts +3 -1
  624. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  625. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  626. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
  627. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
  628. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.d.ts +2 -0
  629. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +8 -10
  630. package/vscode/src/vs/workbench/services/activity/common/activity.service.d.ts +1 -1
  631. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.service.d.ts +1 -1
  632. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.service.js +1 -1
  633. package/vscode/src/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.service.d.ts +5 -2
  634. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  635. package/vscode/src/vs/workbench/services/coreExperimentation/common/coreExperimentationService.service.d.ts +1 -1
  636. package/vscode/src/vs/workbench/services/dataChannel/common/dataChannel.d.ts +7 -0
  637. package/vscode/src/vs/workbench/services/dataChannel/common/dataChannel.service.d.ts +8 -0
  638. package/vscode/src/vs/workbench/services/dataChannel/common/dataChannel.service.js +6 -0
  639. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -1
  640. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  641. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
  642. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +10 -13
  643. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +1 -1
  644. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +2 -5
  645. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +100 -84
  646. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.d.ts +1 -1
  647. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -1
  648. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  649. package/vscode/src/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.d.ts +61 -0
  650. package/vscode/src/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +7 -0
  651. package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
  652. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  653. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.d.ts +11 -8
  654. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.js +3 -2
  655. package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
  656. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
  657. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  658. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  659. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  660. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +1 -0
  661. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
  662. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  663. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  664. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  665. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.d.ts +1 -1
  666. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.service.d.ts +1 -2
  667. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.service.d.ts +1 -1
  668. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +1 -1
  669. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.d.ts +1 -1
  670. package/vscode-dts/vscode.d.ts +5 -5
  671. package/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts +86 -0
  672. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +142 -5
  673. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +25 -19
  674. package/vscode-dts/vscode.proposed.chatProvider.d.ts +2 -103
  675. package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +129 -0
  676. package/vscode-dts/vscode.proposed.d.ts +7 -0
  677. package/vscode-dts/vscode.proposed.dataChannels.d.ts +19 -0
  678. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +2 -0
  679. package/vscode-dts/vscode.proposed.languageModelToolResultAudience.d.ts +25 -0
  680. package/vscode-dts/vscode.proposed.scmProviderOptions.d.ts +39 -0
  681. package/vscode-dts/vscode.proposed.secretStorageKeys.d.ts +16 -0
  682. package/vscode-dts/vscode.proposed.taskExecutionTerminal.d.ts +15 -0
  683. package/workbench.d.ts +1 -1
  684. package/workers/editor.worker.js +17 -16
  685. package/vscode/src/vs/base/common/policy.d.ts +0 -8
  686. package/vscode/src/vs/editor/common/textModelEditReason.d.ts +0 -98
  687. package/vscode/src/vs/platform/assignment/common/assignment.d.ts +0 -33
@@ -23,6 +23,8 @@ export type InlineSuggestRequestInfo = {
23
23
  editorType: InlineCompletionEditorType;
24
24
  languageId: string;
25
25
  reason: string;
26
+ typingInterval: number;
27
+ typingIntervalCharacterCount: number;
26
28
  };
27
29
  export type InlineSuggestViewData = {
28
30
  editorType: InlineCompletionEditorType;
@@ -50,6 +52,7 @@ export declare class InlineSuggestData {
50
52
  private _viewData;
51
53
  private _didReportEndOfLife;
52
54
  private _lastSetEndOfLifeReason;
55
+ private _isPreceeded;
53
56
  private _partiallyAcceptedCount;
54
57
  constructor(range: Range, insertText: string, snippetInfo: SnippetInfo | undefined, displayLocation: IDisplayLocation | undefined, additionalTextEdits: readonly ISingleEditOperation[], sourceInlineCompletion: InlineCompletion, source: InlineSuggestionList, context: InlineCompletionContext, isInlineEdit: boolean, _requestInfo: InlineSuggestRequestInfo);
55
58
  get showInlineEditMenu(): boolean;
@@ -58,6 +61,7 @@ export declare class InlineSuggestData {
58
61
  reportPartialAccept(acceptedCharacters: number, info: PartialAcceptInfo): void;
59
62
  reportEndOfLife(reason?: InlineCompletionEndOfLifeReason): void;
60
63
  reportInlineEditError(message: string): void;
64
+ setIsPreceeded(): void;
61
65
  setEndOfLifeReason(reason: InlineCompletionEndOfLifeReason): void;
62
66
  private updateShownDuration;
63
67
  private reportInlineEditHidden;
@@ -72,7 +76,8 @@ export interface IDisplayLocation {
72
76
  }
73
77
  export declare enum InlineCompletionEditorType {
74
78
  TextEditor = "textEditor",
75
- DiffEditor = "diffEditor"
79
+ DiffEditor = "diffEditor",
80
+ Notebook = "notebook"
76
81
  }
77
82
  export declare class InlineSuggestionList {
78
83
  readonly inlineSuggestions: InlineCompletions;
@@ -74,6 +74,9 @@ function provideInlineCompletions(providers, position, model, context, requestIn
74
74
  runWhenCancelled(cancellationTokenSource.token, () => {
75
75
  return list.removeRef(cancelReason);
76
76
  });
77
+ if (cancellationTokenSource.token.isCancellationRequested) {
78
+ return undefined;
79
+ }
77
80
  for (const item of result.items) {
78
81
  data.push(toInlineSuggestData(item, list, defaultReplaceRange, model, languageConfigurationService, contextWithUuid, requestInfo));
79
82
  }
@@ -196,6 +199,7 @@ class InlineSuggestData {
196
199
  this._showUncollapsedDuration = 0;
197
200
  this._didReportEndOfLife = false;
198
201
  this._lastSetEndOfLifeReason = undefined;
202
+ this._isPreceeded = false;
199
203
  this._partiallyAcceptedCount = 0;
200
204
  this._viewData = { editorType: _requestInfo.editorType };
201
205
  }
@@ -240,12 +244,15 @@ class InlineSuggestData {
240
244
  shown: this._didShow,
241
245
  shownDuration: this._shownDuration,
242
246
  shownDurationUncollapsed: this._showUncollapsedDuration,
247
+ preceeded: this._isPreceeded,
243
248
  timeUntilShown: this._timeUntilShown,
244
249
  editorType: this._viewData.editorType,
245
250
  languageId: this._requestInfo.languageId,
246
251
  requestReason: this._requestInfo.reason,
247
252
  viewKind: this._viewData.viewKind,
248
253
  error: this._viewData.error,
254
+ typingInterval: this._requestInfo.typingInterval,
255
+ typingIntervalCharacterCount: this._requestInfo.typingIntervalCharacterCount,
249
256
  ...this._viewData.renderData,
250
257
  };
251
258
  this.source.provider.handleEndOfLifetime(this.source.inlineSuggestions, this.sourceInlineCompletion, reason, summary);
@@ -259,6 +266,9 @@ class InlineSuggestData {
259
266
  this._viewData.error = message;
260
267
  }
261
268
  }
269
+ setIsPreceeded() {
270
+ this._isPreceeded = true;
271
+ }
262
272
  setEndOfLifeReason(reason) {
263
273
  this.reportInlineEditHidden();
264
274
  this._lastSetEndOfLifeReason = reason;
@@ -294,6 +304,7 @@ var InlineCompletionEditorType;
294
304
  (function (InlineCompletionEditorType) {
295
305
  InlineCompletionEditorType["TextEditor"] = "textEditor";
296
306
  InlineCompletionEditorType["DiffEditor"] = "diffEditor";
307
+ InlineCompletionEditorType["Notebook"] = "notebook";
297
308
  })(InlineCompletionEditorType || (InlineCompletionEditorType = {}));
298
309
  class InlineSuggestionList {
299
310
  constructor(inlineSuggestions, inlineSuggestionsData, provider) {
@@ -0,0 +1,32 @@
1
+ import { Disposable } from "../../../../../base/common/lifecycle.js";
2
+ import { ITextModel } from "../../../../common/model.js";
3
+ interface TypingIntervalResult {
4
+ averageInterval: number;
5
+ characterCount: number;
6
+ }
7
+ export declare class TypingInterval extends Disposable {
8
+ private readonly _textModel;
9
+ private readonly _typingSessions;
10
+ private _currentSession;
11
+ private _lastChangeTime;
12
+ private _cachedTypingIntervalResult;
13
+ private _cacheInvalidated;
14
+ private static readonly MAX_SESSION_GAP_MS;
15
+ private static readonly MIN_SESSION_DURATION_MS;
16
+ private static readonly SESSION_HISTORY_LIMIT;
17
+ private static readonly TYPING_SPEED_WINDOW_MS;
18
+ private static readonly MIN_CHARS_FOR_RELIABLE_SPEED;
19
+ getTypingInterval(): TypingIntervalResult;
20
+ constructor(_textModel: ITextModel);
21
+ private _updateTypingSpeed;
22
+ private _calculateEffectiveCharacterCount;
23
+ private _getActualCharacterCount;
24
+ private _isUserTyping;
25
+ private _isUserTypingReason;
26
+ private _finalizeCurrentSession;
27
+ private _calculateTypingInterval;
28
+ private _calculateSpeedFromSessions;
29
+ reset(): void;
30
+ dispose(): void;
31
+ }
32
+ export {};
@@ -0,0 +1,145 @@
1
+
2
+ import { sum } from '../../../../../base/common/arrays.js';
3
+ import { Disposable } from '../../../../../base/common/lifecycle.js';
4
+
5
+ class TypingInterval extends Disposable {
6
+ static { this.MAX_SESSION_GAP_MS = 3_000; }
7
+ static { this.MIN_SESSION_DURATION_MS = 1_000; }
8
+ static { this.SESSION_HISTORY_LIMIT = 50; }
9
+ static { this.TYPING_SPEED_WINDOW_MS = 300_000; }
10
+ static { this.MIN_CHARS_FOR_RELIABLE_SPEED = 20; }
11
+ getTypingInterval() {
12
+ if (this._cacheInvalidated || this._cachedTypingIntervalResult === null) {
13
+ this._cachedTypingIntervalResult = this._calculateTypingInterval();
14
+ this._cacheInvalidated = false;
15
+ }
16
+ return this._cachedTypingIntervalResult;
17
+ }
18
+ constructor(_textModel) {
19
+ super();
20
+ this._textModel = _textModel;
21
+ this._typingSessions = [];
22
+ this._currentSession = null;
23
+ this._lastChangeTime = 0;
24
+ this._cachedTypingIntervalResult = null;
25
+ this._cacheInvalidated = true;
26
+ this._register(this._textModel.onDidChangeContent(e => this._updateTypingSpeed(e)));
27
+ }
28
+ _updateTypingSpeed(change) {
29
+ const now = Date.now();
30
+ const characterCount = this._calculateEffectiveCharacterCount(change);
31
+ if (this._currentSession && (now - this._lastChangeTime) > TypingInterval.MAX_SESSION_GAP_MS) {
32
+ this._finalizeCurrentSession();
33
+ }
34
+ if (!this._currentSession) {
35
+ this._currentSession = {
36
+ startTime: now,
37
+ endTime: now,
38
+ characterCount: 0
39
+ };
40
+ }
41
+ this._currentSession.endTime = now;
42
+ this._currentSession.characterCount += characterCount;
43
+ this._lastChangeTime = now;
44
+ this._cacheInvalidated = true;
45
+ }
46
+ _calculateEffectiveCharacterCount(change) {
47
+ const actualCharCount = this._getActualCharacterCount(change);
48
+ if (this._isUserTyping(change)) {
49
+ return actualCharCount;
50
+ }
51
+ return actualCharCount > 0 ? 1 : 0;
52
+ }
53
+ _getActualCharacterCount(change) {
54
+ let totalChars = 0;
55
+ for (const c of change.changes) {
56
+ totalChars += Math.max(c.text.length, c.rangeLength);
57
+ }
58
+ return totalChars;
59
+ }
60
+ _isUserTyping(change) {
61
+ if (!change.detailedReasons || change.detailedReasons.length === 0) {
62
+ return true;
63
+ }
64
+ for (const reason of change.detailedReasons) {
65
+ if (this._isUserTypingReason(reason)) {
66
+ return true;
67
+ }
68
+ }
69
+ return false;
70
+ }
71
+ _isUserTypingReason(reason) {
72
+ if (reason.metadata.isUndoing || reason.metadata.isRedoing) {
73
+ return false;
74
+ }
75
+ switch (reason.metadata.source) {
76
+ case 'cursor': {
77
+ const kind = reason.metadata.kind;
78
+ return kind === 'type' || kind === 'compositionType' || kind === 'compositionEnd';
79
+ }
80
+ default:
81
+ return false;
82
+ }
83
+ }
84
+ _finalizeCurrentSession() {
85
+ if (!this._currentSession) {
86
+ return;
87
+ }
88
+ const sessionDuration = this._currentSession.endTime - this._currentSession.startTime;
89
+ if (sessionDuration >= TypingInterval.MIN_SESSION_DURATION_MS && this._currentSession.characterCount > 0) {
90
+ this._typingSessions.push(this._currentSession);
91
+ if (this._typingSessions.length > TypingInterval.SESSION_HISTORY_LIMIT) {
92
+ this._typingSessions.shift();
93
+ }
94
+ }
95
+ this._currentSession = null;
96
+ }
97
+ _calculateTypingInterval() {
98
+ if (this._currentSession) {
99
+ const tempSession = { ...this._currentSession };
100
+ const sessionDuration = tempSession.endTime - tempSession.startTime;
101
+ if (sessionDuration >= TypingInterval.MIN_SESSION_DURATION_MS && tempSession.characterCount > 0) {
102
+ const allSessions = [...this._typingSessions, tempSession];
103
+ return this._calculateSpeedFromSessions(allSessions);
104
+ }
105
+ }
106
+ return this._calculateSpeedFromSessions(this._typingSessions);
107
+ }
108
+ _calculateSpeedFromSessions(sessions) {
109
+ if (sessions.length === 0) {
110
+ return { averageInterval: 0, characterCount: 0 };
111
+ }
112
+ const sortedSessions = [...sessions].sort((a, b) => b.endTime - a.endTime);
113
+ const cutoffTime = Date.now() - TypingInterval.TYPING_SPEED_WINDOW_MS;
114
+ const recentSessions = sortedSessions.filter(session => session.endTime > cutoffTime);
115
+ const olderSessions = sortedSessions.splice(recentSessions.length);
116
+ let totalChars = sum(( recentSessions.map(session => session.characterCount)));
117
+ for (let i = 0; i < olderSessions.length && totalChars < TypingInterval.MIN_CHARS_FOR_RELIABLE_SPEED; i++) {
118
+ recentSessions.push(olderSessions[i]);
119
+ totalChars += olderSessions[i].characterCount;
120
+ }
121
+ const totalTime = sum(( recentSessions.map(session => session.endTime - session.startTime)));
122
+ if (totalTime === 0 || totalChars <= 1) {
123
+ return { averageInterval: 0, characterCount: totalChars };
124
+ }
125
+ const keystrokeIntervals = Math.max(1, totalChars - 1);
126
+ const avgMsBetweenKeystrokes = totalTime / keystrokeIntervals;
127
+ return {
128
+ averageInterval: Math.round(avgMsBetweenKeystrokes),
129
+ characterCount: totalChars
130
+ };
131
+ }
132
+ reset() {
133
+ this._typingSessions.length = 0;
134
+ this._currentSession = null;
135
+ this._lastChangeTime = 0;
136
+ this._cachedTypingIntervalResult = null;
137
+ this._cacheInvalidated = true;
138
+ }
139
+ dispose() {
140
+ this._finalizeCurrentSession();
141
+ super.dispose();
142
+ }
143
+ }
144
+
145
+ export { TypingInterval };
@@ -2,12 +2,10 @@
2
2
  import { Permutation, compareBy } from '../../../../base/common/arrays.js';
3
3
  import '../../../../base/common/observableInternal/index.js';
4
4
  import { bindContextKey } from '../../../../platform/observable/common/platformObservableUtils.js';
5
- import { Position } from '../../../common/core/position.js';
6
5
  import '../../../common/core/text/positionToOffset.js';
7
6
  import { Range } from '../../../common/core/range.js';
8
7
  import { TextEdit } from '../../../common/core/edits/textEdit.js';
9
8
  import { getPositionOffsetTransformerFromTextModel } from '../../../common/core/text/getPositionOffsetTransformerFromTextModel.js';
10
- import { PositionOffsetTransformer } from '../../../common/core/text/positionToOffsetImpl.js';
11
9
  import { observableValue } from '../../../../base/common/observableInternal/observables/observableValue.js';
12
10
  import { autorun } from '../../../../base/common/observableInternal/reactions/autorun.js';
13
11
  import { transaction } from '../../../../base/common/observableInternal/transaction.js';
@@ -16,23 +14,6 @@ const array = [];
16
14
  function getReadonlyEmptyArray() {
17
15
  return array;
18
16
  }
19
- function addPositions(pos1, pos2) {
20
- return ( new Position(
21
- pos1.lineNumber + pos2.lineNumber - 1,
22
- pos2.lineNumber === 1 ? pos1.column + pos2.column - 1 : pos2.column
23
- ));
24
- }
25
- function subtractPositions(pos1, pos2) {
26
- return ( new Position(
27
- pos1.lineNumber - pos2.lineNumber + 1,
28
- pos1.lineNumber - pos2.lineNumber === 0 ? pos1.column - pos2.column + 1 : pos1.column
29
- ));
30
- }
31
- function substringPos(text, pos) {
32
- const transformer = ( new PositionOffsetTransformer(text));
33
- const offset = transformer.getOffset(pos);
34
- return text.substring(offset);
35
- }
36
17
  function getEndPositionsAfterApplying(edits) {
37
18
  const newRanges = getModifiedRangesAfterApplying(edits);
38
19
  return ( newRanges.map(range => range.getEndPosition()));
@@ -48,7 +29,7 @@ function removeTextReplacementCommonSuffixPrefix(edits, textModel) {
48
29
  const text = textModel.getValue();
49
30
  const stringReplacements = ( edits.map(edit => transformer.getStringReplacement(edit)));
50
31
  const minimalStringReplacements = ( stringReplacements.map(replacement => replacement.removeCommonSuffixPrefix(text)));
51
- return ( minimalStringReplacements.map(replacement => transformer.getSingleTextEdit(replacement)));
32
+ return ( minimalStringReplacements.map(replacement => transformer.getTextReplacement(replacement)));
52
33
  }
53
34
  function convertItemsToStableObservables(items, store) {
54
35
  const result = observableValue('result', []);
@@ -99,4 +80,4 @@ function wait(ms, cancellationToken) {
99
80
  }));
100
81
  }
101
82
 
102
- export { ObservableContextKeyService, addPositions, convertItemsToStableObservables, getEndPositionsAfterApplying, getModifiedRangesAfterApplying, getReadonlyEmptyArray, removeTextReplacementCommonSuffixPrefix, substringPos, subtractPositions, wait };
83
+ export { ObservableContextKeyService, convertItemsToStableObservables, getEndPositionsAfterApplying, getModifiedRangesAfterApplying, getReadonlyEmptyArray, removeTextReplacementCommonSuffixPrefix, wait };
@@ -23,7 +23,6 @@ import { InjectedTextCursorStops, PositionAffinity } from '../../../../../common
23
23
  import { LineTokens } from '../../../../../common/tokens/lineTokens.js';
24
24
  import { LineDecoration } from '../../../../../common/viewLayout/lineDecorations.js';
25
25
  import { renderViewLine, RenderLineInput } from '../../../../../common/viewLayout/viewLineRenderer.js';
26
- import { InlineDecorationType } from '../../../../../common/viewModel.js';
27
26
  import { GhostTextReplacement } from '../../model/ghostText.js';
28
27
  import { RangeSingleLine } from '../../../../../common/core/ranges/rangeSingleLine.js';
29
28
  import { ColumnRange } from '../../../../../common/core/ranges/columnRange.js';
@@ -31,6 +30,8 @@ import * as ghostTextView from './ghostTextView.css';
31
30
  import { StandardMouseEvent } from '../../../../../../base/browser/mouseEvent.js';
32
31
  import { CodeEditorWidget } from '../../../../../browser/widget/codeEditor/codeEditorWidget.js';
33
32
  import { TokenWithTextArray } from '../../../../../common/tokens/tokenWithTextArray.js';
33
+ import { InlineDecorationType } from '../../../../../common/viewModel/inlineDecorations.js';
34
+ import { sum } from '../../../../../../base/common/arrays.js';
34
35
  import { observableValue } from '../../../../../../base/common/observableInternal/observables/observableValue.js';
35
36
  import { derived } from '../../../../../../base/common/observableInternal/observables/derived.js';
36
37
  import { autorunWithStore, autorun } from '../../../../../../base/common/observableInternal/reactions/autorun.js';
@@ -113,15 +114,17 @@ let GhostTextView = class GhostTextView extends Disposable {
113
114
  };
114
115
  }));
115
116
  const cursorColumn = this._editor.getSelection()?.getStartPosition().column;
117
+ const disjointInlineTexts = inlineTextsWithTokens.filter(inline => inline.text !== '');
118
+ const hasInsertionOnCurrentLine = disjointInlineTexts.length !== 0;
116
119
  const renderData = {
117
- cursorColumnDistance: cursorColumn !== undefined ? Math.abs((inlineTextsWithTokens.length > 0 ? inlineTextsWithTokens[0].column : 1) - cursorColumn) : -1,
118
- cursorLineDistance: inlineTextsWithTokens.length > 0 ? 0 : additionalLines.findIndex(line => line.content !== ''),
119
- lineCountOriginal: inlineTextsWithTokens.length > 0 ? 1 : 0,
120
- lineCountModified: additionalLines.length + (inlineTextsWithTokens.length > 0 ? 1 : 0),
120
+ cursorColumnDistance: (hasInsertionOnCurrentLine ? disjointInlineTexts[0].column : 1) - cursorColumn,
121
+ cursorLineDistance: hasInsertionOnCurrentLine ? 0 : (additionalLines.findIndex(line => line.content !== '') + 1),
122
+ lineCountOriginal: hasInsertionOnCurrentLine ? 1 : 0,
123
+ lineCountModified: additionalLines.length + (hasInsertionOnCurrentLine ? 1 : 0),
121
124
  characterCountOriginal: 0,
122
- characterCountModified: inlineTextsWithTokens.reduce((acc, inline) => acc + inline.text.length, 0) + tokenizedAdditionalLines.reduce((acc, line) => acc + line.content.getTextLength(), 0),
123
- disjointReplacements: inlineTextsWithTokens.length + (additionalLines.length > 0 ? 1 : 0),
124
- sameShapeReplacements: inlineTextsWithTokens.length > 1 && inlineTextsWithTokens.length === 0 ? inlineTextsWithTokens.every(inline => inline.text.length === inlineTextsWithTokens[0].text.length) : undefined,
125
+ characterCountModified: sum(( disjointInlineTexts.map(inline => inline.text.length))) + sum(( tokenizedAdditionalLines.map(line => line.content.getTextLength()))),
126
+ disjointReplacements: disjointInlineTexts.length + (additionalLines.length > 0 ? 1 : 0),
127
+ sameShapeReplacements: disjointInlineTexts.length > 1 && tokenizedAdditionalLines.length === 0 ? disjointInlineTexts.every(inline => inline.text === disjointInlineTexts[0].text) : undefined,
125
128
  };
126
129
  this._model.handleInlineCompletionShown.read(reader)?.(renderData);
127
130
  return {
@@ -449,7 +452,9 @@ function renderLines(domNode, tabSize, lines, opts, isClickable) {
449
452
  renderWhitespace,
450
453
  renderControlCharacters,
451
454
  fontLigatures !== EditorFontLigatures.OFF,
452
- null
455
+ null,
456
+ null,
457
+ 0
453
458
  )), sb);
454
459
  sb.appendString('</div>');
455
460
  }
@@ -64,13 +64,13 @@ let GutterIndicatorMenuContent = class GutterIndicatorMenuContent {
64
64
  const title = header(this._model.displayName);
65
65
  const gotoAndAccept = option(createOptionArgs({
66
66
  id: 'gotoAndAccept',
67
- title: `${( localize(1285, "Go To"))} / ${( localize(1286, "Accept"))}`,
67
+ title: `${( localize(1296, "Go To"))} / ${( localize(1297, "Accept"))}`,
68
68
  icon: Codicon.check,
69
69
  commandId: inlineSuggestCommitId
70
70
  }));
71
71
  const reject = option(createOptionArgs({
72
72
  id: 'reject',
73
- title: ( localize(1287, "Reject")),
73
+ title: ( localize(1298, "Reject")),
74
74
  icon: Codicon.close,
75
75
  commandId: hideInlineCompletionId
76
76
  }));
@@ -84,19 +84,19 @@ let GutterIndicatorMenuContent = class GutterIndicatorMenuContent {
84
84
  const toggleCollapsedMode = ( this._inlineEditsShowCollapsed.map(showCollapsed => showCollapsed ?
85
85
  option(createOptionArgs({
86
86
  id: 'showExpanded',
87
- title: ( localize(1288, "Show Expanded")),
87
+ title: ( localize(1299, "Show Expanded")),
88
88
  icon: Codicon.expandAll,
89
89
  commandId: toggleShowCollapsedId
90
90
  }))
91
91
  : option(createOptionArgs({
92
92
  id: 'showCollapsed',
93
- title: ( localize(1289, "Show Collapsed")),
93
+ title: ( localize(1300, "Show Collapsed")),
94
94
  icon: Codicon.collapseAll,
95
95
  commandId: toggleShowCollapsedId
96
96
  }))));
97
97
  const settings = option(createOptionArgs({
98
98
  id: 'settings',
99
- title: ( localize(1290, "Settings")),
99
+ title: ( localize(1301, "Settings")),
100
100
  icon: Codicon.gear,
101
101
  commandId: 'workbench.action.openSettings',
102
102
  commandArgs: ['@tag:nextEditSuggestions']
@@ -14,7 +14,7 @@ class InlineEditModel {
14
14
  this.inlineEdit = inlineEdit;
15
15
  this.tabAction = tabAction;
16
16
  this.action = this.inlineEdit.inlineCompletion.action;
17
- this.displayName = this.inlineEdit.inlineCompletion.source.provider.displayName ?? ( localize(1291, "Inline Edit"));
17
+ this.displayName = this.inlineEdit.inlineCompletion.source.provider.displayName ?? ( localize(1302, "Inline Edit"));
18
18
  this.extensionCommands = this.inlineEdit.inlineCompletion.source.inlineSuggestions.commands ?? [];
19
19
  this.isInDiffEditor = this._model.isInDiffEditor;
20
20
  this.displayLocation = this.inlineEdit.inlineCompletion.displayLocation;
@@ -289,15 +289,16 @@ let InlineEditsView = class InlineEditsView extends Disposable {
289
289
  modified: newText.getValueOfRange(m.modifiedRange)
290
290
  })));
291
291
  const cursorPosition = inlineEdit.cursorPosition;
292
+ const startsWithEOL = stringChanges[0].modified.startsWith(textModel.getEOL());
292
293
  const viewData = {
293
294
  cursorColumnDistance: inlineEdit.edit.replacements[0].range.getStartPosition().column - cursorPosition.column,
294
- cursorLineDistance: inlineEdit.lineEdit.lineRange.startLineNumber - cursorPosition.lineNumber,
295
+ cursorLineDistance: inlineEdit.lineEdit.lineRange.startLineNumber - cursorPosition.lineNumber + (startsWithEOL && inlineEdit.lineEdit.lineRange.startLineNumber >= cursorPosition.lineNumber ? 1 : 0),
295
296
  lineCountOriginal: inlineEdit.lineEdit.lineRange.length,
296
297
  lineCountModified: inlineEdit.lineEdit.newLines.length,
297
298
  characterCountOriginal: stringChanges.reduce((acc, r) => acc + r.original.length, 0),
298
299
  characterCountModified: stringChanges.reduce((acc, r) => acc + r.modified.length, 0),
299
300
  disjointReplacements: stringChanges.length,
300
- sameShapeReplacements: stringChanges.length > 1 ? stringChanges.every(r => r.original === stringChanges[0].original && r.modified === stringChanges[0].modified) : undefined,
301
+ sameShapeReplacements: stringChanges.every(r => r.original === stringChanges[0].original && r.modified === stringChanges[0].modified),
301
302
  };
302
303
  switch (view) {
303
304
  case InlineCompletionViewKind.InsertionInline: return { kind: InlineCompletionViewKind.InsertionInline, viewData };
@@ -16,6 +16,7 @@ export declare class InlineEditsCustomView extends Disposable implements IInline
16
16
  private readonly _viewRef;
17
17
  private readonly _editorObs;
18
18
  constructor(_editor: ICodeEditor, displayLocation: IObservable<InlineCompletionDisplayLocation | undefined>, tabAction: IObservable<InlineEditTabAction>, themeService: IThemeService, _languageService: ILanguageService);
19
+ private fitsInsideViewport;
19
20
  private getState;
20
21
  private getRendering;
21
22
  }
@@ -26,12 +26,18 @@ import { ILanguageService } from '../../../../../../common/languages/language.se
26
26
  import { TokenArray, LineTokens } from '../../../../../../common/tokens/lineTokens.js';
27
27
  import { InlineEditTabAction } from '../inlineEditsViewInterface.js';
28
28
  import { inlineEditIndicatorsuccessfulBackground, inlineEditIndicatorPrimaryBackground, inlineEditIndicatorSecondaryBackground, getEditorBlendedColor } from '../theme.js';
29
- import { maxContentWidthInRange, rectToProps } from '../utils/utils.js';
29
+ import { maxContentWidthInRange, getContentRenderWidth, rectToProps } from '../utils/utils.js';
30
30
  import { observableValue } from '../../../../../../../base/common/observableInternal/observables/observableValue.js';
31
+ import { derivedObservableWithCache } from '../../../../../../../base/common/observableInternal/utils/utils.js';
31
32
  import { constObservable } from '../../../../../../../base/common/observableInternal/observables/constObservable.js';
32
33
  import { autorun } from '../../../../../../../base/common/observableInternal/reactions/autorun.js';
33
34
  import { derived } from '../../../../../../../base/common/observableInternal/observables/derived.js';
34
35
 
36
+ const MIN_END_OF_LINE_PADDING = 14;
37
+ const PADDING_VERTICALLY = 0;
38
+ const PADDING_HORIZONTALLY = 4;
39
+ const HORIZONTAL_OFFSET_WHEN_ABOVE_BELOW = 4;
40
+ const VERTICAL_OFFSET_WHEN_ABOVE_BELOW = 2;
35
41
  let InlineEditsCustomView = class InlineEditsCustomView extends Disposable {
36
42
  constructor(_editor, displayLocation, tabAction, themeService, _languageService) {
37
43
  super();
@@ -77,7 +83,17 @@ let InlineEditsCustomView = class InlineEditsCustomView extends Disposable {
77
83
  domNode: overlay.element,
78
84
  position: constObservable(null),
79
85
  allowEditorOverflow: false,
80
- minContentWidthInPx: constObservable(0),
86
+ minContentWidthInPx: derivedObservableWithCache(this, (reader, prev) => {
87
+ const s = state.read(reader);
88
+ if (!s) {
89
+ return prev ?? 0;
90
+ }
91
+ const current = ( s.rect.map(rect => rect.right)).read(reader)
92
+ + this._editorObs.layoutInfoVerticalScrollbarWidth.read(reader)
93
+ + PADDING_HORIZONTALLY
94
+ - this._editorObs.layoutInfoContentLeft.read(reader);
95
+ return Math.max(prev ?? 0, current);
96
+ }).recomputeInitiallyAndOnChange(this._store),
81
97
  }));
82
98
  this._register(autorun((reader) => {
83
99
  const v = view.read(reader);
@@ -88,6 +104,16 @@ let InlineEditsCustomView = class InlineEditsCustomView extends Disposable {
88
104
  this._isHovered.set(overlay.isHovered.read(reader), undefined);
89
105
  }));
90
106
  }
107
+ fitsInsideViewport(range, displayLabel, reader) {
108
+ const editorWidth = this._editorObs.layoutInfoWidth.read(reader);
109
+ const editorContentLeft = this._editorObs.layoutInfoContentLeft.read(reader);
110
+ const editorVerticalScrollbar = this._editor.getLayoutInfo().verticalScrollbarWidth;
111
+ const minimapWidth = this._editorObs.layoutInfoMinimap.read(reader).minimapLeft !== 0 ? this._editorObs.layoutInfoMinimap.read(reader).minimapWidth : 0;
112
+ const maxOriginalContent = maxContentWidthInRange(this._editorObs, range, undefined);
113
+ const maxModifiedContent = getContentRenderWidth(displayLabel, this._editor, this._editor.getModel());
114
+ const padding = PADDING_HORIZONTALLY + MIN_END_OF_LINE_PADDING;
115
+ return maxOriginalContent + maxModifiedContent + padding < editorWidth - editorContentLeft - editorVerticalScrollbar - minimapWidth;
116
+ }
91
117
  getState(displayLocation) {
92
118
  const contentState = derived((reader) => {
93
119
  const startLineNumber = displayLocation.range.startLineNumber;
@@ -108,28 +134,24 @@ let InlineEditsCustomView = class InlineEditsCustomView extends Disposable {
108
134
  endContentLeftOffset
109
135
  };
110
136
  });
111
- const minEndOfLinePadding = 14;
112
- const paddingVertically = 0;
113
- const paddingHorizontally = 4;
114
- const horizontalOffsetWhenAboveBelow = 4;
115
- const verticalOffsetWhenAboveBelow = 2;
137
+ const startLineNumber = displayLocation.range.startLineNumber;
138
+ const endLineNumber = displayLocation.range.endLineNumber;
139
+ const fitsInsideViewport = this.fitsInsideViewport(( new LineRange(startLineNumber, endLineNumber + 1)), displayLocation.label, undefined);
116
140
  const rect = derived((reader) => {
117
141
  const w = this._editorObs.getOption(EditorOption.fontInfo).read(reader).typicalHalfwidthCharacterWidth;
118
- const startLineNumber = displayLocation.range.startLineNumber;
119
- const endLineNumber = displayLocation.range.endLineNumber;
120
142
  const { lineWidth, lineWidthBelow, lineWidthAbove, startContentLeftOffset, endContentLeftOffset } = contentState.read(reader);
121
143
  const contentLeft = this._editorObs.layoutInfoContentLeft.read(reader);
122
- const lineHeight = this._editorObs.observeLineHeightForLine(startLineNumber).read(reader);
144
+ const lineHeight = this._editorObs.observeLineHeightForLine(startLineNumber).recomputeInitiallyAndOnChange(reader.store).read(reader);
123
145
  const scrollTop = this._editorObs.scrollTop.read(reader);
124
146
  const scrollLeft = this._editorObs.scrollLeft.read(reader);
125
147
  let position;
126
- if (startLineNumber === endLineNumber && endContentLeftOffset + 5 * w >= lineWidth) {
148
+ if (startLineNumber === endLineNumber && endContentLeftOffset + 5 * w >= lineWidth && fitsInsideViewport) {
127
149
  position = 'end';
128
150
  }
129
- else if (lineWidthBelow !== undefined && lineWidthBelow + minEndOfLinePadding - horizontalOffsetWhenAboveBelow - paddingHorizontally < startContentLeftOffset) {
151
+ else if (lineWidthBelow !== undefined && lineWidthBelow + MIN_END_OF_LINE_PADDING - HORIZONTAL_OFFSET_WHEN_ABOVE_BELOW - PADDING_HORIZONTALLY < startContentLeftOffset) {
130
152
  position = 'below';
131
153
  }
132
- else if (lineWidthAbove !== undefined && lineWidthAbove + minEndOfLinePadding - horizontalOffsetWhenAboveBelow - paddingHorizontally < startContentLeftOffset) {
154
+ else if (lineWidthAbove !== undefined && lineWidthAbove + MIN_END_OF_LINE_PADDING - HORIZONTAL_OFFSET_WHEN_ABOVE_BELOW - PADDING_HORIZONTALLY < startContentLeftOffset) {
133
155
  position = 'above';
134
156
  }
135
157
  else {
@@ -143,26 +165,26 @@ let InlineEditsCustomView = class InlineEditsCustomView extends Disposable {
143
165
  case 'end': {
144
166
  topOfLine = this._editorObs.editor.getTopForLineNumber(startLineNumber);
145
167
  contentStartOffset = lineWidth;
146
- deltaX = paddingHorizontally + minEndOfLinePadding;
168
+ deltaX = PADDING_HORIZONTALLY + MIN_END_OF_LINE_PADDING;
147
169
  break;
148
170
  }
149
171
  case 'below': {
150
172
  topOfLine = this._editorObs.editor.getTopForLineNumber(startLineNumber + 1);
151
173
  contentStartOffset = startContentLeftOffset;
152
- deltaX = paddingHorizontally + horizontalOffsetWhenAboveBelow;
153
- deltaY = paddingVertically + verticalOffsetWhenAboveBelow;
174
+ deltaX = PADDING_HORIZONTALLY + HORIZONTAL_OFFSET_WHEN_ABOVE_BELOW;
175
+ deltaY = PADDING_VERTICALLY + VERTICAL_OFFSET_WHEN_ABOVE_BELOW;
154
176
  break;
155
177
  }
156
178
  case 'above': {
157
179
  topOfLine = this._editorObs.editor.getTopForLineNumber(startLineNumber - 1);
158
180
  contentStartOffset = startContentLeftOffset;
159
- deltaX = paddingHorizontally + horizontalOffsetWhenAboveBelow;
160
- deltaY = -paddingVertically + verticalOffsetWhenAboveBelow;
181
+ deltaX = PADDING_HORIZONTALLY + HORIZONTAL_OFFSET_WHEN_ABOVE_BELOW;
182
+ deltaY = -PADDING_VERTICALLY + VERTICAL_OFFSET_WHEN_ABOVE_BELOW;
161
183
  break;
162
184
  }
163
185
  }
164
186
  const textRect = Rect.fromLeftTopWidthHeight(contentLeft + contentStartOffset - scrollLeft, topOfLine - scrollTop, w * displayLocation.label.length, lineHeight);
165
- return textRect.withMargin(paddingVertically, paddingHorizontally).translateX(deltaX).translateY(deltaY);
187
+ return textRect.withMargin(PADDING_VERTICALLY, PADDING_HORIZONTALLY).translateX(deltaX).translateY(deltaY);
166
188
  });
167
189
  return {
168
190
  rect,
@@ -181,7 +203,7 @@ let InlineEditsCustomView = class InlineEditsCustomView extends Disposable {
181
203
  }
182
204
  const result = renderLines(( new LineSource([tokens])), RenderOptions.fromEditor(this._editor).withSetWidth(false).withScrollBeyondLastColumn(0), [], line, true);
183
205
  line.style.width = `${result.minWidthInPx}px`;
184
- const rect = ( state.rect.map(r => r.withMargin(0, 4)));
206
+ const rect = ( state.rect.map(r => r.withMargin(0, PADDING_HORIZONTALLY)));
185
207
  return n.div({
186
208
  class: 'collapsedView',
187
209
  ref: this._viewRef,
@@ -25,7 +25,7 @@ import { LineRange } from '../../../../../../common/core/ranges/lineRange.js';
25
25
  import { OffsetRange } from '../../../../../../common/core/ranges/offsetRange.js';
26
26
  import { ILanguageService } from '../../../../../../common/languages/language.service.js';
27
27
  import { TokenArray, LineTokens } from '../../../../../../common/tokens/lineTokens.js';
28
- import { InlineDecoration, InlineDecorationType } from '../../../../../../common/viewModel.js';
28
+ import { InlineDecoration, InlineDecorationType } from '../../../../../../common/viewModel/inlineDecorations.js';
29
29
  import { GhostText, GhostTextPart } from '../../../model/ghostText.js';
30
30
  import { GhostTextView } from '../../ghostText/ghostTextView.js';
31
31
  import { modifiedBackgroundColor, getModifiedBorderColor } from '../theme.js';
@@ -26,7 +26,7 @@ import { Range } from '../../../../../../common/core/range.js';
26
26
  import { OffsetRange } from '../../../../../../common/core/ranges/offsetRange.js';
27
27
  import { ILanguageService } from '../../../../../../common/languages/language.service.js';
28
28
  import { TokenArray, LineTokens } from '../../../../../../common/tokens/lineTokens.js';
29
- import { InlineDecoration, InlineDecorationType } from '../../../../../../common/viewModel.js';
29
+ import { InlineDecoration, InlineDecorationType } from '../../../../../../common/viewModel/inlineDecorations.js';
30
30
  import { getModifiedBorderColor, getOriginalBorderColor, originalBackgroundColor, getEditorBlendedColor, modifiedChangedLineBackgroundColor } from '../theme.js';
31
31
  import { getPrefixTrim, mapOutFalsy, rectToProps, getEditorValidOverlayRect } from '../utils/utils.js';
32
32
  import { autorunDelta } from '../../../../../../../base/common/observableInternal/reactions/autorun.js';