@codingame/monaco-vscode-api 19.1.3 → 20.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -18,7 +18,7 @@ class DOMLineBreaksComputerFactory {
18
18
  constructor(targetWindow) {
19
19
  this.targetWindow = targetWindow;
20
20
  }
21
- createLineBreaksComputer(fontInfo, tabSize, wrappingColumn, wrappingIndent, wordBreak) {
21
+ createLineBreaksComputer(fontInfo, tabSize, wrappingColumn, wrappingIndent, wordBreak, wrapOnEscapedLineFeeds) {
22
22
  const requests = [];
23
23
  const injectedTexts = [];
24
24
  return {
@@ -1,7 +1,8 @@
1
1
  import { Position } from "../../common/core/position.js";
2
2
  import { Range } from "../../common/core/range.js";
3
3
  import { ViewportData } from "../../common/viewLayout/viewLinesViewportData.js";
4
- import { IViewLayout, ViewModelDecoration } from "../../common/viewModel.js";
4
+ import { IViewLayout } from "../../common/viewModel.js";
5
+ import { ViewModelDecoration } from "../../common/viewModel/viewModelDecoration.js";
5
6
  export interface IViewLines {
6
7
  linesVisibleRangesForRange(range: Range, includeNewLines: boolean): LineVisibleRanges[] | null;
7
8
  visibleRangeForPosition(position: Position): HorizontalPosition | null;
@@ -1,7 +1,7 @@
1
1
  import { IKeyboardEvent } from "../../../base/browser/keyboardEvent.js";
2
2
  import { IEditorMouseEvent, IMouseTarget, IPartialEditorMouseEvent } from "../editorBrowser.js";
3
- import { ICoordinatesConverter } from "../../common/viewModel.js";
4
3
  import { IMouseWheelEvent } from "../../../base/browser/mouseEvent.js";
4
+ import { ICoordinatesConverter } from "../../common/coordinatesConverter.js";
5
5
  export interface EventCallback<T> {
6
6
  (event: T): void;
7
7
  }
@@ -124,12 +124,13 @@ class Widget {
124
124
  this._context = context;
125
125
  this._viewDomNode = viewDomNode;
126
126
  this._actual = actual;
127
+ const options = this._context.configuration.options;
128
+ const layoutInfo = options.get(EditorOption.layoutInfo);
129
+ const allowOverflow = options.get(EditorOption.allowOverflow);
127
130
  this.domNode = createFastDomNode(this._actual.getDomNode());
128
131
  this.id = this._actual.getId();
129
- this.allowEditorOverflow = this._actual.allowEditorOverflow || false;
132
+ this.allowEditorOverflow = (this._actual.allowEditorOverflow || false) && allowOverflow;
130
133
  this.suppressMouseDown = this._actual.suppressMouseDown || false;
131
- const options = this._context.configuration.options;
132
- const layoutInfo = options.get(EditorOption.layoutInfo);
133
134
  this._fixedOverflowWidgets = options.get(EditorOption.fixedOverflowWidgets);
134
135
  this._contentWidth = layoutInfo.contentWidth;
135
136
  this._contentLeft = layoutInfo.contentLeft;
@@ -15,6 +15,7 @@ class EditorScrollbar extends ViewPart {
15
15
  const mouseWheelScrollSensitivity = options.get(EditorOption.mouseWheelScrollSensitivity);
16
16
  const fastScrollSensitivity = options.get(EditorOption.fastScrollSensitivity);
17
17
  const scrollPredominantAxis = options.get(EditorOption.scrollPredominantAxis);
18
+ const inertialScroll = options.get(EditorOption.inertialScroll);
18
19
  const scrollbarOptions = {
19
20
  listenOnDomNode: viewDomNode.domNode,
20
21
  className: 'editor-scrollable' + ' ' + getThemeTypeSelector(context.theme.type),
@@ -35,6 +36,7 @@ class EditorScrollbar extends ViewPart {
35
36
  fastScrollSensitivity: fastScrollSensitivity,
36
37
  scrollPredominantAxis: scrollPredominantAxis,
37
38
  scrollByPage: scrollbar.scrollByPage,
39
+ inertialScroll: inertialScroll,
38
40
  };
39
41
  this.scrollbar = this._register(( new SmoothScrollableElement(
40
42
  linesContent.domNode,
@@ -34,12 +34,18 @@
34
34
  left: -1px;
35
35
  width: 1px;
36
36
  }
37
- .minimap.autohide {
37
+ .minimap.minimap-autohide-mouseover,
38
+ .minimap.minimap-autohide-scroll {
38
39
  opacity: 0;
39
40
  transition: opacity 0.5s;
40
41
  }
41
- .minimap.autohide:hover {
42
+ .minimap.minimap-autohide-scroll{
43
+ pointer-events: none;
44
+ }
45
+ .minimap.minimap-autohide-mouseover:hover,
46
+ .minimap.minimap-autohide-scroll.active {
42
47
  opacity: 1;
48
+ pointer-events: auto;
43
49
  }
44
50
  .monaco-editor .minimap {
45
51
  z-index: 5;
@@ -9,9 +9,10 @@ import { RenderingContext, RestrictedRenderingContext } from "../../view/renderi
9
9
  import { ViewContext } from "../../../common/viewModel/viewContext.js";
10
10
  import { EditorTheme } from "../../../common/editorTheme.js";
11
11
  import * as viewEvents from "../../../common/viewEvents.js";
12
- import { ViewLineData, ViewModelDecoration } from "../../../common/viewModel.js";
12
+ import { ViewLineData } from "../../../common/viewModel.js";
13
13
  import { Selection } from "../../../common/core/selection.js";
14
14
  import { TextModelResolvedOptions } from "../../../common/model.js";
15
+ import { ViewModelDecoration } from "../../../common/viewModel/viewModelDecoration.js";
15
16
  declare class MinimapOptions {
16
17
  readonly renderMinimap: RenderMinimap;
17
18
  readonly size: "proportional" | "fill" | "fit";
@@ -20,7 +21,7 @@ declare class MinimapOptions {
20
21
  readonly paddingTop: number;
21
22
  readonly paddingBottom: number;
22
23
  readonly showSlider: "always" | "mouseover";
23
- readonly autohide: boolean;
24
+ readonly autohide: "none" | "mouseover" | "scroll";
24
25
  readonly pixelRatio: number;
25
26
  readonly typicalHalfwidthCharacterWidth: number;
26
27
  readonly lineHeight: number;
@@ -18,7 +18,6 @@ import { ColorId } from '../../../common/encodedTokenAttributes.js';
18
18
  import { Constants } from './minimapCharSheet.js';
19
19
  import { MinimapTokensColorTracker } from '../../../common/viewModel/minimapTokensColorTracker.js';
20
20
  import { VerticalRevealType } from '../../../common/viewEvents.js';
21
- import { ViewModelDecoration } from '../../../common/viewModel.js';
22
21
  import '../../../../platform/theme/common/colorUtils.js';
23
22
  import '../../../../platform/theme/common/colors/baseColors.js';
24
23
  import '../../../../platform/theme/common/colors/chartsColors.js';
@@ -37,6 +36,8 @@ import { MinimapPosition, MinimapSectionHeaderStyle } from '../../../common/mode
37
36
  import { createSingleCallFunction } from '../../../../base/common/functional.js';
38
37
  import { LRUCache } from '../../../../base/common/map.js';
39
38
  import { DEFAULT_FONT_FAMILY } from '../../../../base/browser/fonts.js';
39
+ import { ViewModelDecoration } from '../../../common/viewModel/viewModelDecoration.js';
40
+ import { RunOnceScheduler } from '../../../../base/common/async.js';
40
41
 
41
42
  registerCss(minimap);
42
43
  const POINTER_DRAG_RESET_DISTANCE = 140;
@@ -653,7 +654,7 @@ class Minimap extends ViewPart {
653
654
  }
654
655
  }
655
656
  onScrollChanged(e) {
656
- return this._actual.onScrollChanged();
657
+ return this._actual.onScrollChanged(e);
657
658
  }
658
659
  onThemeChanged(e) {
659
660
  this._actual.onThemeChanged();
@@ -875,6 +876,7 @@ class InnerMinimap extends Disposable {
875
876
  super();
876
877
  this._renderDecorations = false;
877
878
  this._gestureInProgress = false;
879
+ this._isMouseOverMinimap = false;
878
880
  this._theme = theme;
879
881
  this._model = model;
880
882
  this._lastRenderData = null;
@@ -909,8 +911,17 @@ class InnerMinimap extends Disposable {
909
911
  this._sliderHorizontal.setClassName('minimap-slider-horizontal');
910
912
  this._slider.appendChild(this._sliderHorizontal);
911
913
  this._applyLayout();
914
+ this._hideDelayedScheduler = this._register(( new RunOnceScheduler(() => this._hideImmediatelyIfMouseIsOutside(), 500)));
915
+ this._register(addStandardDisposableListener(this._domNode.domNode, EventType.MOUSE_OVER, () => {
916
+ this._isMouseOverMinimap = true;
917
+ }));
918
+ this._register(addStandardDisposableListener(this._domNode.domNode, EventType.MOUSE_LEAVE, () => {
919
+ this._isMouseOverMinimap = false;
920
+ }));
912
921
  this._pointerDownListener = addStandardDisposableListener(this._domNode.domNode, EventType.POINTER_DOWN, (e) => {
913
922
  e.preventDefault();
923
+ const isMouse = (e.pointerType === 'mouse');
924
+ const isLeftClick = (e.button === 0);
914
925
  const renderMinimap = this._model.options.renderMinimap;
915
926
  if (renderMinimap === RenderMinimap.None) {
916
927
  return;
@@ -919,19 +930,21 @@ class InnerMinimap extends Disposable {
919
930
  return;
920
931
  }
921
932
  if (this._model.options.size !== 'proportional') {
922
- if (e.button === 0 && this._lastRenderData) {
933
+ if (isLeftClick && this._lastRenderData) {
923
934
  const position = getDomNodePagePosition(this._slider.domNode);
924
935
  const initialPosY = position.top + position.height / 2;
925
936
  this._startSliderDragging(e, initialPosY, this._lastRenderData.renderedLayout);
926
937
  }
927
938
  return;
928
939
  }
929
- const minimapLineHeight = this._model.options.minimapLineHeight;
930
- const internalOffsetY = (this._model.options.canvasInnerHeight / this._model.options.canvasOuterHeight) * e.offsetY;
931
- const lineIndex = Math.floor(internalOffsetY / minimapLineHeight);
932
- let lineNumber = lineIndex + this._lastRenderData.renderedLayout.startLineNumber - this._lastRenderData.renderedLayout.topPaddingLineCount;
933
- lineNumber = Math.min(lineNumber, this._model.getLineCount());
934
- this._model.revealLineNumber(lineNumber);
940
+ if (isLeftClick || !isMouse) {
941
+ const minimapLineHeight = this._model.options.minimapLineHeight;
942
+ const internalOffsetY = (this._model.options.canvasInnerHeight / this._model.options.canvasOuterHeight) * e.offsetY;
943
+ const lineIndex = Math.floor(internalOffsetY / minimapLineHeight);
944
+ let lineNumber = lineIndex + this._lastRenderData.renderedLayout.startLineNumber - this._lastRenderData.renderedLayout.topPaddingLineCount;
945
+ lineNumber = Math.min(lineNumber, this._model.getLineCount());
946
+ this._model.revealLineNumber(lineNumber);
947
+ }
935
948
  });
936
949
  this._sliderPointerMoveMonitor = ( new GlobalPointerMoveMonitor());
937
950
  this._sliderPointerDownListener = addStandardDisposableListener(this._slider.domNode, EventType.POINTER_DOWN, (e) => {
@@ -965,6 +978,17 @@ class InnerMinimap extends Disposable {
965
978
  this._slider.toggleClassName('active', false);
966
979
  });
967
980
  }
981
+ _hideSoon() {
982
+ this._hideDelayedScheduler.cancel();
983
+ this._hideDelayedScheduler.schedule();
984
+ }
985
+ _hideImmediatelyIfMouseIsOutside() {
986
+ if (this._isMouseOverMinimap) {
987
+ this._hideSoon();
988
+ return;
989
+ }
990
+ this._domNode.toggleClassName('active', false);
991
+ }
968
992
  _startSliderDragging(e, initialPosY, initialSliderState) {
969
993
  if (!e.target || !isElement(e.target)) {
970
994
  return;
@@ -1011,8 +1035,11 @@ class InnerMinimap extends Disposable {
1011
1035
  else {
1012
1036
  class_.push('slider-mouseover');
1013
1037
  }
1014
- if (this._model.options.autohide) {
1015
- class_.push('autohide');
1038
+ if (this._model.options.autohide === 'mouseover') {
1039
+ class_.push('minimap-autohide-mouseover');
1040
+ }
1041
+ else if (this._model.options.autohide === 'scroll') {
1042
+ class_.push('minimap-autohide-scroll');
1016
1043
  }
1017
1044
  return class_.join(' ');
1018
1045
  }
@@ -1079,7 +1106,11 @@ class InnerMinimap extends Disposable {
1079
1106
  this._lastRenderData?.onLinesInserted(insertFromLineNumber, insertToLineNumber);
1080
1107
  return true;
1081
1108
  }
1082
- onScrollChanged() {
1109
+ onScrollChanged(e) {
1110
+ if (this._model.options.autohide === 'scroll' && (e.scrollTopChanged || e.scrollHeightChanged)) {
1111
+ this._domNode.toggleClassName('active', true);
1112
+ this._hideSoon();
1113
+ }
1083
1114
  this._renderDecorations = true;
1084
1115
  return true;
1085
1116
  }
@@ -1327,7 +1358,7 @@ class InnerMinimap extends Disposable {
1327
1358
  canvasContext.letterSpacing = sectionHeaderLetterSpacing + 'px';
1328
1359
  canvasContext.font = '500 ' + sectionHeaderFontSize + 'px ' + this._model.options.sectionHeaderFontFamily;
1329
1360
  canvasContext.strokeStyle = separatorStroke;
1330
- canvasContext.lineWidth = 0.2;
1361
+ canvasContext.lineWidth = 0.4;
1331
1362
  const decorations = this._model.getSectionHeaderDecorationsInViewport(layout.startLineNumber, layout.endLineNumber);
1332
1363
  decorations.sort((a, b) => a.range.startLineNumber - b.range.startLineNumber);
1333
1364
  const fitWidth = InnerMinimap._fitSectionHeader.bind(null, canvasContext, canvasInnerWidth - MINIMAP_GUTTER_WIDTH);
@@ -19,6 +19,7 @@ export declare class ViewOverlayWidgets extends ViewPart {
19
19
  dispose(): void;
20
20
  getDomNode(): FastDomNode<HTMLElement>;
21
21
  onConfigurationChanged(e: viewEvents.ViewConfigurationChangedEvent): boolean;
22
+ private _widgetCanOverflow;
22
23
  addWidget(widget: IOverlayWidget): void;
23
24
  setWidgetPosition(widget: IOverlayWidget, position: IOverlayWidgetPosition | null): boolean;
24
25
  removeWidget(widget: IOverlayWidget): void;
@@ -45,6 +45,11 @@ class ViewOverlayWidgets extends ViewPart {
45
45
  this._editorWidth = layoutInfo.width;
46
46
  return true;
47
47
  }
48
+ _widgetCanOverflow(widget) {
49
+ const options = this._context.configuration.options;
50
+ const allowOverflow = options.get(EditorOption.allowOverflow);
51
+ return (widget.allowEditorOverflow || false) && allowOverflow;
52
+ }
48
53
  addWidget(widget) {
49
54
  const domNode = createFastDomNode(widget.getDomNode());
50
55
  this._widgets[widget.getId()] = {
@@ -54,7 +59,7 @@ class ViewOverlayWidgets extends ViewPart {
54
59
  };
55
60
  domNode.setPosition('absolute');
56
61
  domNode.setAttribute('widgetId', widget.getId());
57
- if (widget.allowEditorOverflow) {
62
+ if (this._widgetCanOverflow(widget)) {
58
63
  this.overflowingOverlayWidgetsDomNode.appendChild(domNode);
59
64
  }
60
65
  else {
@@ -137,7 +142,7 @@ class ViewOverlayWidgets extends ViewPart {
137
142
  else {
138
143
  const { top, left } = widgetData.preference;
139
144
  const fixedOverflowWidgets = this._context.configuration.options.get(EditorOption.fixedOverflowWidgets);
140
- if (fixedOverflowWidgets && widgetData.widget.allowEditorOverflow) {
145
+ if (fixedOverflowWidgets && this._widgetCanOverflow(widgetData.widget)) {
141
146
  const editorBoundingBox = this._viewDomNodeRect;
142
147
  domNode.setTop(top + editorBoundingBox.top);
143
148
  domNode.setLeft(left + editorBoundingBox.left);
@@ -20,6 +20,7 @@ export declare class ViewCursor {
20
20
  private readonly _domNode;
21
21
  private _cursorStyle;
22
22
  private _lineCursorWidth;
23
+ private _lineCursorHeight;
23
24
  private _typicalHalfwidthCharacterWidth;
24
25
  private _isVisible;
25
26
  private _position;
@@ -33,6 +33,7 @@ class ViewCursor {
33
33
  this._cursorStyle = options.get(EditorOption.effectiveCursorStyle);
34
34
  this._typicalHalfwidthCharacterWidth = fontInfo.typicalHalfwidthCharacterWidth;
35
35
  this._lineCursorWidth = Math.min(options.get(EditorOption.cursorWidth), this._typicalHalfwidthCharacterWidth);
36
+ this._lineCursorHeight = options.get(EditorOption.cursorHeight);
36
37
  this._isVisible = true;
37
38
  this._domNode = createFastDomNode(createElement('div'));
38
39
  this._domNode.setClassName(`cursor ${MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`);
@@ -85,6 +86,7 @@ class ViewCursor {
85
86
  this._cursorStyle = options.get(EditorOption.effectiveCursorStyle);
86
87
  this._typicalHalfwidthCharacterWidth = fontInfo.typicalHalfwidthCharacterWidth;
87
88
  this._lineCursorWidth = Math.min(options.get(EditorOption.cursorWidth), this._typicalHalfwidthCharacterWidth);
89
+ this._lineCursorHeight = options.get(EditorOption.cursorHeight);
88
90
  applyFontInfo(this._domNode, fontInfo);
89
91
  return true;
90
92
  }
@@ -108,6 +110,11 @@ class ViewCursor {
108
110
  let textContent = '';
109
111
  let textContentClassName = '';
110
112
  const [position, nextGrapheme] = this._getGraphemeAwarePosition();
113
+ const lineHeight = this._context.viewLayout.getLineHeightForLineNumber(position.lineNumber);
114
+ const lineCursorHeight = (this._lineCursorHeight === 0
115
+ ? lineHeight
116
+ : Math.min(lineHeight, this._lineCursorHeight));
117
+ const lineHeightAdjustment = (lineHeight - lineCursorHeight) / 2;
111
118
  if (this._cursorStyle === TextEditorCursorStyle.Line || this._cursorStyle === TextEditorCursorStyle.LineThin) {
112
119
  const visibleRange = ctx.visibleRangeForPosition(position);
113
120
  if (!visibleRange || visibleRange.outsideRenderedLine) {
@@ -131,14 +138,13 @@ class ViewCursor {
131
138
  paddingLeft = 1;
132
139
  left -= paddingLeft;
133
140
  }
134
- const top = ctx.getVerticalOffsetForLineNumber(position.lineNumber) - ctx.bigNumbersDelta;
135
- const lineHeight = this._context.viewLayout.getLineHeightForLineNumber(position.lineNumber);
141
+ const top = ctx.getVerticalOffsetForLineNumber(position.lineNumber) - ctx.bigNumbersDelta + lineHeightAdjustment;
136
142
  return ( new ViewCursorRenderData(
137
143
  top,
138
144
  left,
139
145
  paddingLeft,
140
146
  width,
141
- lineHeight,
147
+ lineCursorHeight,
142
148
  textContent,
143
149
  textContentClassName
144
150
  ));
@@ -167,7 +173,6 @@ class ViewCursor {
167
173
  textContentClassName = this._getTokenClassName(position);
168
174
  }
169
175
  let top = ctx.getVerticalOffsetForLineNumber(position.lineNumber) - ctx.bigNumbersDelta;
170
- const lineHeight = this._context.viewLayout.getLineHeightForLineNumber(position.lineNumber);
171
176
  let height = lineHeight;
172
177
  if (this._cursorStyle === TextEditorCursorStyle.Underline || this._cursorStyle === TextEditorCursorStyle.UnderlineThin) {
173
178
  top += lineHeight - 2;
@@ -22,6 +22,7 @@ export declare class ViewLine implements IVisibleLine {
22
22
  onSelectionChanged(): boolean;
23
23
  renderLine(lineNumber: number, deltaTop: number, lineHeight: number, viewportData: ViewportData, sb: StringBuilder): boolean;
24
24
  layoutLine(lineNumber: number, deltaTop: number, lineHeight: number): void;
25
+ isRenderedRTL(): boolean;
25
26
  getWidth(context: DomReadingContext | null): number;
26
27
  getWidthIsFast(): boolean;
27
28
  needsMonospaceFontCheck(): boolean;
@@ -6,10 +6,11 @@ import { RangeUtil } from './rangeUtil.js';
6
6
  import { VisibleRanges, FloatHorizontalRange } from '../../view/renderingContext.js';
7
7
  import { LineDecoration } from '../../../common/viewLayout/lineDecorations.js';
8
8
  import { RenderWhitespace, RenderLineInput, renderViewLine, ForeignElementType, DomPosition } from '../../../common/viewLayout/viewLineRenderer.js';
9
- import { InlineDecorationType } from '../../../common/viewModel.js';
10
9
  import { isHighContrast } from '../../../../platform/theme/common/theme.js';
11
10
  import { EditorFontLigatures } from '../../../common/config/editorOptions.js';
12
11
  import { OffsetRange } from '../../../common/core/ranges/offsetRange.js';
12
+ import { InlineDecorationType } from '../../../common/viewModel/inlineDecorations.js';
13
+ import { TextDirection } from '../../../common/model.js';
13
14
 
14
15
  const canUseFastRenderedViewLine = (function () {
15
16
  if (isNative) {
@@ -57,7 +58,7 @@ class ViewLine {
57
58
  this._options = newOptions;
58
59
  }
59
60
  onSelectionChanged() {
60
- if (isHighContrast(this._options.themeType) || this._renderedViewLine?.getRenderWhitespace() === RenderWhitespace.Selection) {
61
+ if (isHighContrast(this._options.themeType) || this._renderedViewLine?.input.renderWhitespace === RenderWhitespace.Selection) {
61
62
  this._isMaybeInvalid = true;
62
63
  return true;
63
64
  }
@@ -124,24 +125,43 @@ class ViewLine {
124
125
  renderWhitespace,
125
126
  options.renderControlCharacters,
126
127
  options.fontLigatures !== EditorFontLigatures.OFF,
127
- selectionsOnLine
128
+ selectionsOnLine,
129
+ lineData.textDirection,
130
+ options.verticalScrollbarSize
128
131
  ));
129
132
  if (this._renderedViewLine && this._renderedViewLine.input.equals(renderLineInput)) {
130
133
  return false;
131
134
  }
132
- sb.appendString('<div style="top:');
135
+ sb.appendString('<div ');
136
+ if (lineData.textDirection === TextDirection.RTL) {
137
+ sb.appendString('dir="rtl" ');
138
+ }
139
+ else if (lineData.containsRTL) {
140
+ sb.appendString('dir="ltr" ');
141
+ }
142
+ sb.appendString('style="top:');
133
143
  sb.appendString(String(deltaTop));
134
144
  sb.appendString('px;height:');
135
145
  sb.appendString(String(lineHeight));
136
146
  sb.appendString('px;line-height:');
137
147
  sb.appendString(String(lineHeight));
148
+ if (lineData.textDirection === TextDirection.RTL) {
149
+ sb.appendString('px;padding-right:');
150
+ sb.appendString(String(options.verticalScrollbarSize));
151
+ }
138
152
  sb.appendString('px;" class="');
139
153
  sb.appendString(ViewLine.CLASS_NAME);
140
154
  sb.appendString('">');
141
155
  const output = renderViewLine(renderLineInput, sb);
142
156
  sb.appendString('</div>');
143
157
  let renderedViewLine = null;
144
- if (allowFastRendering && monospaceAssumptionsAreValid && canUseFastRenderedViewLine && lineData.isBasicASCII && options.useMonospaceOptimizations && output.containsForeignElements === ForeignElementType.None) {
158
+ if (allowFastRendering
159
+ && monospaceAssumptionsAreValid
160
+ && canUseFastRenderedViewLine
161
+ && lineData.isBasicASCII
162
+ && renderLineInput.isLTR
163
+ && options.useMonospaceOptimizations
164
+ && output.containsForeignElements === ForeignElementType.None) {
145
165
  renderedViewLine = ( new FastRenderedViewLine(
146
166
  this._renderedViewLine ? this._renderedViewLine.domNode : null,
147
167
  renderLineInput,
@@ -149,7 +169,7 @@ class ViewLine {
149
169
  ));
150
170
  }
151
171
  if (!renderedViewLine) {
152
- renderedViewLine = createRenderedLine(this._renderedViewLine ? this._renderedViewLine.domNode : null, renderLineInput, output.characterMapping, output.containsRTL, output.containsForeignElements);
172
+ renderedViewLine = createRenderedLine(this._renderedViewLine ? this._renderedViewLine.domNode : null, renderLineInput, output.characterMapping, output.containsForeignElements);
153
173
  }
154
174
  this._renderedViewLine = renderedViewLine;
155
175
  return true;
@@ -161,6 +181,12 @@ class ViewLine {
161
181
  this._renderedViewLine.domNode.setLineHeight(lineHeight);
162
182
  }
163
183
  }
184
+ isRenderedRTL() {
185
+ if (!this._renderedViewLine) {
186
+ return false;
187
+ }
188
+ return this._renderedViewLine.input.textDirection === TextDirection.RTL;
189
+ }
164
190
  getWidth(context) {
165
191
  if (!this._renderedViewLine) {
166
192
  return 0;
@@ -244,9 +270,6 @@ class FastRenderedViewLine {
244
270
  this._characterMapping = characterMapping;
245
271
  this._charWidth = renderLineInput.spaceWidth;
246
272
  }
247
- getRenderWhitespace() {
248
- return this.input.renderWhitespace;
249
- }
250
273
  getWidth(context) {
251
274
  if (!this.domNode || this.input.lineContent.length < Constants.MaxMonospaceDistance) {
252
275
  const horizontalOffset = this._characterMapping.getHorizontalOffset(this._characterMapping.length);
@@ -276,7 +299,7 @@ class FastRenderedViewLine {
276
299
  return monospaceAssumptionsAreValid;
277
300
  }
278
301
  toSlowRenderedLine() {
279
- return createRenderedLine(this.domNode, this.input, this._characterMapping, false, ForeignElementType.None);
302
+ return createRenderedLine(this.domNode, this.input, this._characterMapping, ForeignElementType.None);
280
303
  }
281
304
  getVisibleRangesForRange(lineNumber, startColumn, endColumn, context) {
282
305
  const startPosition = this._getColumnPixelOffset(lineNumber, startColumn, context);
@@ -325,7 +348,7 @@ class FastRenderedViewLine {
325
348
  }
326
349
  }
327
350
  class RenderedViewLine {
328
- constructor(domNode, renderLineInput, characterMapping, containsRTL, containsForeignElements) {
351
+ constructor(domNode, renderLineInput, characterMapping, containsForeignElements) {
329
352
  this.domNode = domNode;
330
353
  this.input = renderLineInput;
331
354
  this._characterMapping = characterMapping;
@@ -333,7 +356,7 @@ class RenderedViewLine {
333
356
  this._containsForeignElements = containsForeignElements;
334
357
  this._cachedWidth = -1;
335
358
  this._pixelOffsetCache = null;
336
- if (!containsRTL || this._characterMapping.length === 0 ) {
359
+ if (renderLineInput.isLTR) {
337
360
  this._pixelOffsetCache = ( new Float32Array(Math.max(2, this._characterMapping.length + 1)));
338
361
  for (let column = 0, len = this._characterMapping.length; column <= len; column++) {
339
362
  this._pixelOffsetCache[column] = -1;
@@ -343,9 +366,6 @@ class RenderedViewLine {
343
366
  _getReadingTarget(myDomNode) {
344
367
  return myDomNode.domNode.firstChild;
345
368
  }
346
- getRenderWhitespace() {
347
- return this.input.renderWhitespace;
348
- }
349
369
  getWidth(context) {
350
370
  if (!this.domNode) {
351
371
  return 0;
@@ -394,7 +414,7 @@ class RenderedViewLine {
394
414
  }
395
415
  }
396
416
  _readPixelOffset(domNode, lineNumber, column, context) {
397
- if (this._characterMapping.length === 0) {
417
+ if (this.input.isLTR && this._characterMapping.length === 0) {
398
418
  if (this._containsForeignElements === ForeignElementType.None) {
399
419
  return 0;
400
420
  }
@@ -432,7 +452,7 @@ class RenderedViewLine {
432
452
  }
433
453
  return r[0].left;
434
454
  }
435
- if (column === this._characterMapping.length && this._isWhitespaceOnly && this._containsForeignElements === ForeignElementType.None) {
455
+ if (this.input.isLTR && column === this._characterMapping.length && this._isWhitespaceOnly && this._containsForeignElements === ForeignElementType.None) {
436
456
  return this.getWidth(context);
437
457
  }
438
458
  const domPosition = this._characterMapping.getDomPosition(column);
@@ -451,7 +471,7 @@ class RenderedViewLine {
451
471
  return result;
452
472
  }
453
473
  _readRawVisibleRangesForRange(domNode, startColumn, endColumn, context) {
454
- if (startColumn === 1 && endColumn === this._characterMapping.length) {
474
+ if (this.input.isLTR && startColumn === 1 && endColumn === this._characterMapping.length) {
455
475
  return [( new FloatHorizontalRange(0, this.getWidth(context)))];
456
476
  }
457
477
  const startDomPosition = this._characterMapping.getDomPosition(startColumn);
@@ -468,7 +488,7 @@ class WebKitRenderedViewLine extends RenderedViewLine {
468
488
  if (!output || output.length === 0 || startColumn === endColumn || (startColumn === 1 && endColumn === this._characterMapping.length)) {
469
489
  return output;
470
490
  }
471
- if (!this.input.containsRTL) {
491
+ if (this.input.isLTR) {
472
492
  const endPixelOffset = this._readPixelOffset(domNode, lineNumber, endColumn, context);
473
493
  if (endPixelOffset !== -1) {
474
494
  const lastRange = output[output.length - 1];
@@ -486,23 +506,11 @@ const createRenderedLine = (function () {
486
506
  }
487
507
  return createNormalRenderedLine;
488
508
  })();
489
- function createWebKitRenderedLine(domNode, renderLineInput, characterMapping, containsRTL, containsForeignElements) {
490
- return ( new WebKitRenderedViewLine(
491
- domNode,
492
- renderLineInput,
493
- characterMapping,
494
- containsRTL,
495
- containsForeignElements
496
- ));
509
+ function createWebKitRenderedLine(domNode, renderLineInput, characterMapping, containsForeignElements) {
510
+ return ( new WebKitRenderedViewLine(domNode, renderLineInput, characterMapping, containsForeignElements));
497
511
  }
498
- function createNormalRenderedLine(domNode, renderLineInput, characterMapping, containsRTL, containsForeignElements) {
499
- return ( new RenderedViewLine(
500
- domNode,
501
- renderLineInput,
502
- characterMapping,
503
- containsRTL,
504
- containsForeignElements
505
- ));
512
+ function createNormalRenderedLine(domNode, renderLineInput, characterMapping, containsForeignElements) {
513
+ return ( new RenderedViewLine(domNode, renderLineInput, characterMapping, containsForeignElements));
506
514
  }
507
515
  function getColumnOfNodeOffset(characterMapping, spanNode, offset) {
508
516
  const spanNodeTextContentLength = spanNode.textContent.length;
@@ -13,6 +13,7 @@ export declare class ViewLineOptions {
13
13
  readonly lineHeight: number;
14
14
  readonly stopRenderingLineAfter: number;
15
15
  readonly fontLigatures: string;
16
+ readonly verticalScrollbarSize: number;
16
17
  readonly useGpu: boolean;
17
18
  constructor(config: IEditorConfiguration, themeType: ColorScheme);
18
19
  equals(other: ViewLineOptions): boolean;
@@ -18,6 +18,7 @@ class ViewLineOptions {
18
18
  this.lineHeight = options.get(EditorOption.lineHeight);
19
19
  this.stopRenderingLineAfter = options.get(EditorOption.stopRenderingLineAfter);
20
20
  this.fontLigatures = options.get(EditorOption.fontLigatures);
21
+ this.verticalScrollbarSize = options.get(EditorOption.scrollbar).verticalScrollbarSize;
21
22
  this.useGpu = options.get(EditorOption.experimentalGpuAcceleration) === 'on';
22
23
  }
23
24
  equals(other) {
@@ -33,6 +34,7 @@ class ViewLineOptions {
33
34
  && this.lineHeight === other.lineHeight
34
35
  && this.stopRenderingLineAfter === other.stopRenderingLineAfter
35
36
  && this.fontLigatures === other.fontLigatures
37
+ && this.verticalScrollbarSize === other.verticalScrollbarSize
36
38
  && this.useGpu === other.useGpu);
37
39
  }
38
40
  }
@@ -36,6 +36,7 @@
36
36
  white-space: nowrap;
37
37
  }
38
38
  .monaco-editor .view-line {
39
+ box-sizing: border-box;
39
40
  position: absolute;
40
41
  width: 100%;
41
42
  }
@@ -50,6 +50,7 @@ export declare class ViewLines extends ViewPart implements IViewLines {
50
50
  getLineWidth(lineNumber: number): number;
51
51
  linesVisibleRangesForRange(_range: Range, includeNewLines: boolean): LineVisibleRanges[] | null;
52
52
  private _visibleRangesForLineRange;
53
+ private _lineIsRenderedRTL;
53
54
  visibleRangeForPosition(position: Position): HorizontalPosition | null;
54
55
  updateLineWidths(): void;
55
56
  private _updateLineWidthsFast;