@codingame/monaco-vscode-api 18.4.0 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/missing-services.js +1217 -2932
  2. package/monaco.js +0 -3
  3. package/package.json +8 -8
  4. package/services.d.ts +12 -8
  5. package/services.js +12 -7
  6. package/vscode/product.json.js +1 -1
  7. package/vscode/src/vs/base/browser/dom.d.ts +83 -2
  8. package/vscode/src/vs/base/browser/dom.js +280 -3
  9. package/vscode/src/vs/base/browser/domStylesheets.d.ts +2 -0
  10. package/vscode/src/vs/base/browser/domStylesheets.js +11 -1
  11. package/vscode/src/vs/base/browser/markdownRenderer.d.ts +1 -0
  12. package/vscode/src/vs/base/browser/markdownRenderer.js +34 -18
  13. package/vscode/src/vs/base/browser/ui/button/button.js +4 -1
  14. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  15. package/vscode/src/vs/base/browser/ui/list/list.d.ts +1 -0
  16. package/vscode/src/vs/base/browser/ui/list/listView.d.ts +1 -1
  17. package/vscode/src/vs/base/browser/ui/list/listView.js +5 -5
  18. package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +1 -1
  19. package/vscode/src/vs/base/browser/ui/list/listWidget.js +5 -1
  20. package/vscode/src/vs/base/browser/ui/toggle/toggle.d.ts +3 -1
  21. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +21 -4
  22. package/vscode/src/vs/base/common/arrays.d.ts +0 -1
  23. package/vscode/src/vs/base/common/arrays.js +1 -6
  24. package/vscode/src/vs/base/common/async.d.ts +1 -0
  25. package/vscode/src/vs/base/common/async.js +2 -1
  26. package/vscode/src/vs/base/common/buffer.d.ts +1 -0
  27. package/vscode/src/vs/base/common/buffer.js +3 -0
  28. package/vscode/src/vs/base/common/codicons.d.ts +7 -0
  29. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +7 -0
  30. package/vscode/src/vs/base/common/codiconsLibrary.js +7 -0
  31. package/vscode/src/vs/base/common/collections.d.ts +1 -0
  32. package/vscode/src/vs/base/common/collections.js +14 -1
  33. package/vscode/src/vs/base/common/color.js +2 -2
  34. package/vscode/src/vs/base/common/dataTransfer.d.ts +1 -1
  35. package/vscode/src/vs/base/common/decorators.d.ts +1 -1
  36. package/vscode/src/vs/base/common/event.d.ts +1 -1
  37. package/vscode/src/vs/base/common/glob.d.ts +1 -1
  38. package/vscode/src/vs/base/common/glob.js +2 -2
  39. package/vscode/src/vs/base/common/hotReloadHelpers.js +1 -1
  40. package/vscode/src/vs/base/common/iterator.d.ts +1 -1
  41. package/vscode/src/vs/base/common/network.d.ts +1 -0
  42. package/vscode/src/vs/base/common/network.js +1 -0
  43. package/vscode/src/vs/base/common/oauth.d.ts +34 -4
  44. package/vscode/src/vs/base/common/oauth.js +77 -6
  45. package/vscode/src/vs/base/common/observableInternal/index.d.ts +2 -2
  46. package/vscode/src/vs/base/common/observableInternal/logging/debugger/utils.js +8 -1
  47. package/vscode/src/vs/base/common/observableInternal/set.js +0 -1
  48. package/vscode/src/vs/base/common/performance.js +1 -1
  49. package/vscode/src/vs/base/common/product.d.ts +2 -1
  50. package/vscode/src/vs/base/common/types.d.ts +4 -8
  51. package/vscode/src/vs/base/common/types.js +3 -3
  52. package/vscode/src/vs/base/common/worker/webWorker.js +1 -1
  53. package/vscode/src/vs/editor/browser/config/migrateOptions.js +8 -0
  54. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +2 -0
  55. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +18 -14
  56. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +5 -3
  57. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +3 -1
  58. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.d.ts +3 -1
  59. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.js +5 -4
  60. package/vscode/src/vs/editor/browser/gpu/raster/glyphRasterizer.d.ts +3 -1
  61. package/vscode/src/vs/editor/browser/gpu/raster/glyphRasterizer.js +3 -3
  62. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +2 -3
  63. package/vscode/src/vs/editor/browser/observableCodeEditor.d.ts +6 -0
  64. package/vscode/src/vs/editor/browser/observableCodeEditor.js +38 -1
  65. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +9 -1
  66. package/vscode/src/vs/editor/browser/services/bulkEditService.d.ts +2 -0
  67. package/vscode/src/vs/editor/browser/services/editorWorkerService.d.ts +4 -0
  68. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +18 -2
  69. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.d.ts +32 -0
  70. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.js +141 -0
  71. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.service.d.ts +11 -0
  72. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.service.js +6 -0
  73. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +2 -2
  74. package/vscode/src/vs/editor/browser/view/viewController.js +5 -1
  75. package/vscode/src/vs/editor/browser/view.d.ts +1 -1
  76. package/vscode/src/vs/editor/browser/view.js +5 -5
  77. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.d.ts +1 -1
  78. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +3 -3
  79. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +14 -6
  80. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLineOptions.d.ts +1 -0
  81. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLineOptions.js +3 -7
  82. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +12 -2
  83. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +4 -2
  84. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +8 -2
  85. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +39 -9
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +12 -12
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css +52 -49
  88. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +15 -15
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +3 -1
  90. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +2 -2
  91. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +7 -7
  92. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +5 -5
  93. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
  94. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +7 -1
  95. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  96. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +7 -7
  97. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +5 -5
  98. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
  99. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  100. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +54 -54
  101. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +173 -160
  102. package/vscode/src/vs/editor/common/config/editorOptions.js +645 -570
  103. package/vscode/src/vs/editor/common/config/fontInfo.js +1 -1
  104. package/vscode/src/vs/editor/common/core/2d/point.d.ts +5 -0
  105. package/vscode/src/vs/editor/common/core/2d/point.js +23 -0
  106. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
  107. package/vscode/src/vs/editor/common/core/edits/edit.d.ts +6 -0
  108. package/vscode/src/vs/editor/common/core/edits/edit.js +41 -0
  109. package/vscode/src/vs/editor/common/core/edits/lineEdit.d.ts +17 -11
  110. package/vscode/src/vs/editor/common/core/edits/lineEdit.js +36 -9
  111. package/vscode/src/vs/editor/common/core/edits/stringEdit.d.ts +63 -16
  112. package/vscode/src/vs/editor/common/core/edits/stringEdit.js +205 -48
  113. package/vscode/src/vs/editor/common/core/edits/textEdit.d.ts +5 -1
  114. package/vscode/src/vs/editor/common/core/edits/textEdit.js +18 -2
  115. package/vscode/src/vs/editor/common/core/text/abstractText.d.ts +3 -1
  116. package/vscode/src/vs/editor/common/core/text/abstractText.js +10 -1
  117. package/vscode/src/vs/editor/common/core/text/getPositionOffsetTransformerFromTextModel.js +2 -1
  118. package/vscode/src/vs/editor/common/core/text/positionToOffset.d.ts +2 -28
  119. package/vscode/src/vs/editor/common/core/text/positionToOffset.js +11 -92
  120. package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.d.ts +37 -0
  121. package/vscode/src/vs/editor/common/core/text/positionToOffsetImpl.js +104 -0
  122. package/vscode/src/vs/editor/common/cursor/cursor.d.ts +3 -2
  123. package/vscode/src/vs/editor/common/cursor/cursor.js +24 -16
  124. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +3 -1
  125. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +1 -0
  126. package/vscode/src/vs/editor/common/diff/rangeMapping.js +11 -1
  127. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  128. package/vscode/src/vs/editor/common/editorContextKeys.js +46 -46
  129. package/vscode/src/vs/editor/common/languages/defaultDocumentColorsComputer.js +1 -1
  130. package/vscode/src/vs/editor/common/languages/languageConfiguration.d.ts +5 -1
  131. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.d.ts +1 -0
  132. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +7 -1
  133. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  134. package/vscode/src/vs/editor/common/languages.d.ts +31 -27
  135. package/vscode/src/vs/editor/common/languages.js +57 -62
  136. package/vscode/src/vs/editor/common/model/editStack.d.ts +2 -1
  137. package/vscode/src/vs/editor/common/model/editStack.js +4 -3
  138. package/vscode/src/vs/editor/common/model/intervalTree.d.ts +2 -2
  139. package/vscode/src/vs/editor/common/model/intervalTree.js +24 -7
  140. package/vscode/src/vs/editor/common/model/textModel.d.ts +24 -10
  141. package/vscode/src/vs/editor/common/model/textModel.js +114 -53
  142. package/vscode/src/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +1 -1
  143. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.d.ts +0 -3
  144. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterSyntaxTokenBackend.js +1 -13
  145. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.d.ts +2 -0
  146. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.js +13 -2
  147. package/vscode/src/vs/editor/common/model.d.ts +8 -2
  148. package/vscode/src/vs/editor/common/services/editorWebWorker.d.ts +4 -0
  149. package/vscode/src/vs/editor/common/services/editorWebWorker.js +14 -0
  150. package/vscode/src/vs/editor/common/services/editorWorker.service.d.ts +4 -0
  151. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +7 -0
  152. package/vscode/src/vs/editor/common/services/languageFeatures.service.d.ts +1 -2
  153. package/vscode/src/vs/editor/common/services/languageFeaturesService.d.ts +1 -2
  154. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +0 -1
  155. package/vscode/src/vs/editor/common/services/model.service.d.ts +2 -1
  156. package/vscode/src/vs/editor/common/services/modelService.d.ts +2 -1
  157. package/vscode/src/vs/editor/common/services/modelService.js +3 -2
  158. package/vscode/src/vs/editor/common/services/textResourceConfiguration.service.d.ts +1 -1
  159. package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +159 -157
  160. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +160 -159
  161. package/vscode/src/vs/editor/common/standaloneStrings.js +50 -49
  162. package/vscode/src/vs/editor/common/textModelEditReason.d.ts +94 -12
  163. package/vscode/src/vs/editor/common/textModelEditReason.js +86 -20
  164. package/vscode/src/vs/editor/common/textModelEvents.d.ts +24 -0
  165. package/vscode/src/vs/editor/common/textModelEvents.js +33 -1
  166. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +22 -1
  167. package/vscode/src/vs/editor/common/tokens/lineTokens.js +79 -2
  168. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  169. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.d.ts +5 -1
  170. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +10 -4
  171. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +3 -1
  172. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +39 -12
  173. package/vscode/src/vs/editor/common/viewModel/viewModelLines.d.ts +3 -3
  174. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +6 -6
  175. package/vscode/src/vs/editor/common/viewModel.d.ts +3 -1
  176. package/vscode/src/vs/editor/common/viewModel.js +2 -1
  177. package/vscode/src/vs/editor/common/viewModelEventDispatcher.d.ts +11 -3
  178. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +14 -1
  179. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  180. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  181. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  182. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  183. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +20 -20
  184. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -1
  185. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  186. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  187. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  188. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  189. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  190. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  191. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.css +2 -7
  192. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  193. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  194. package/vscode/src/vs/editor/contrib/colorPicker/browser/defaultDocumentColorProvider.js +3 -3
  195. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  196. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  197. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  198. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.d.ts +1 -1
  199. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +9 -5
  200. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  201. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  202. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  203. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  204. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  205. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  206. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  207. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  208. package/vscode/src/vs/editor/contrib/find/browser/findController.js +16 -16
  209. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +29 -29
  210. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -20
  211. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  212. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  213. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  214. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  215. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  216. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  217. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  218. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  219. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  220. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  221. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  222. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  223. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +10 -5
  224. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  225. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  226. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  227. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  228. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  229. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +10 -6
  230. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  231. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.d.ts +0 -1
  232. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +22 -47
  233. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  234. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +19 -19
  235. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -11
  236. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
  237. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  238. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.d.ts +2 -2
  239. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +11 -12
  240. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +3 -2
  241. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/animation.d.ts +7 -0
  242. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/animation.js +5 -5
  243. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.d.ts +3 -1
  244. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/changeRecorder.js +35 -30
  245. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/ghostText.js +2 -0
  246. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/graph.d.ts +9 -0
  247. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/graph.js +66 -0
  248. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +12 -4
  249. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +144 -100
  250. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +7 -5
  251. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +100 -49
  252. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.d.ts +3 -3
  253. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +4 -1
  254. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +37 -29
  255. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +39 -13
  256. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +150 -162
  257. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/structuredLogger.d.ts +0 -1
  258. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +2 -1
  259. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.d.ts +2 -0
  260. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +12 -0
  261. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +9 -5
  262. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +13 -10
  263. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +2 -3
  264. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +5 -5
  265. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +2 -2
  266. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.d.ts +5 -4
  267. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +5 -3
  268. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +0 -1
  269. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +103 -62
  270. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.d.ts +25 -3
  271. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js +13 -1
  272. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +1 -2
  273. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +4 -6
  274. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.d.ts +1 -0
  275. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +7 -4
  276. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.d.ts +1 -0
  277. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +16 -12
  278. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.d.ts +3 -4
  279. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +34 -34
  280. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.d.ts +1 -0
  281. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +13 -8
  282. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +6 -7
  283. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.d.ts +2 -1
  284. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +20 -2
  285. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  286. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +4 -11
  287. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css +10 -7
  288. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  289. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  290. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
  291. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  292. package/vscode/src/vs/editor/contrib/links/browser/links.js +10 -10
  293. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  294. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScroll.contribution.d.ts +1 -0
  295. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScroll.contribution.js +5 -0
  296. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScroll.css +20 -0
  297. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.d.ts +9 -0
  298. package/vscode/src/vs/editor/contrib/middleScroll/browser/middleScrollController.js +132 -0
  299. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  300. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  301. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +9 -9
  302. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.d.ts +1 -0
  303. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +21 -17
  304. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  305. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css +0 -1
  306. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  307. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +14 -12
  308. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  309. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  310. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.d.ts +2 -0
  311. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +5 -5
  312. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.d.ts +2 -1
  313. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +3 -2
  314. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  315. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css +24 -24
  316. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  317. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +13 -13
  318. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +18 -10
  319. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.d.ts +4 -3
  320. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +34 -39
  321. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.d.ts +5 -6
  322. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +65 -70
  323. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  324. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +13 -11
  325. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.d.ts +1 -1
  326. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +1 -1
  327. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.d.ts +1 -0
  328. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +18 -18
  329. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  330. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +4 -2
  331. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +1 -1
  332. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  333. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  334. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  335. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  336. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  337. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  338. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  339. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  340. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  341. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  342. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +1 -1
  343. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +5 -2
  344. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +1 -1
  345. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +79 -69
  346. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  347. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +4 -4
  348. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  349. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  350. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  351. package/vscode/src/vs/platform/actions/common/actions.d.ts +0 -1
  352. package/vscode/src/vs/platform/actions/common/actions.js +0 -1
  353. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  354. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  355. package/vscode/src/vs/platform/configuration/common/configuration.js +4 -1
  356. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +11 -11
  357. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  358. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  359. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  360. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  361. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
  362. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  363. package/vscode/src/vs/platform/environment/common/argv.d.ts +11 -0
  364. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +0 -1
  365. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  366. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +19 -19
  367. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +1 -1
  368. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +1 -1
  369. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  370. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
  371. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
  372. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +9 -3
  373. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +9 -3
  374. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  375. package/vscode/src/vs/platform/files/common/files.d.ts +6 -1
  376. package/vscode/src/vs/platform/files/common/files.js +11 -7
  377. package/vscode/src/vs/platform/files/common/files.service.d.ts +1 -0
  378. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  379. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.d.ts +2 -2
  380. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  381. package/vscode/src/vs/platform/keybinding/common/keybinding.service.d.ts +2 -1
  382. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
  383. package/vscode/src/vs/platform/list/browser/listService.d.ts +1 -7
  384. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  385. package/vscode/src/vs/platform/log/common/log.d.ts +4 -0
  386. package/vscode/src/vs/platform/log/common/log.js +15 -7
  387. package/vscode/src/vs/platform/markers/common/markerService.js +4 -3
  388. package/vscode/src/vs/platform/markers/common/markers.d.ts +2 -0
  389. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  390. package/vscode/src/vs/platform/mcp/common/mcpManagement.service.d.ts +9 -4
  391. package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.service.d.ts +10 -0
  392. package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.service.js +6 -0
  393. package/vscode/src/vs/platform/notification/common/notification.d.ts +1 -0
  394. package/vscode/src/vs/platform/notification/common/notification.js +12 -2
  395. package/vscode/src/vs/platform/product/common/product.js +3 -3
  396. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
  397. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
  398. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +7 -6
  399. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +7 -12
  400. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  401. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +2 -1
  402. package/vscode/src/vs/platform/remote/common/remoteAgentEnvironment.d.ts +1 -0
  403. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.d.ts +2 -2
  404. package/vscode/src/vs/platform/request/common/request.d.ts +1 -1
  405. package/vscode/src/vs/platform/request/common/request.js +18 -18
  406. package/vscode/src/vs/platform/request/common/request.service.d.ts +1 -1
  407. package/vscode/src/vs/platform/telemetry/common/commonProperties.d.ts +1 -1
  408. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +2 -0
  409. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  410. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +2 -1
  411. package/vscode/src/vs/platform/terminal/common/terminal.service.d.ts +2 -1
  412. package/vscode/src/vs/platform/theme/browser/defaultStyles.d.ts +1 -1
  413. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  414. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  415. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  416. package/vscode/src/vs/platform/theme/common/colors/editorColors.d.ts +1 -0
  417. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -94
  418. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +47 -47
  419. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  420. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  421. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  422. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
  423. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  424. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  425. package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
  426. package/vscode/src/vs/platform/theme/common/themeService.d.ts +1 -1
  427. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  428. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +3 -1
  429. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +6 -2
  430. package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +2 -1
  431. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +7 -6
  432. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +1 -1
  433. package/vscode/src/vs/platform/window/common/window.d.ts +1 -0
  434. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  435. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +5 -7
  436. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +25 -24
  437. package/vscode/src/vs/workbench/api/common/extHostAuthentication.d.ts +10 -4
  438. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +109 -77
  439. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +2 -1
  440. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +22 -0
  441. package/vscode/src/vs/workbench/api/common/extHostCommands.js +3 -0
  442. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.d.ts +1 -1
  443. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  444. package/vscode/src/vs/workbench/api/common/extHostDocuments.d.ts +4 -2
  445. package/vscode/src/vs/workbench/api/common/extHostDocuments.js +35 -5
  446. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +3 -3
  447. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -4
  448. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +1 -5
  449. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +34 -182
  450. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +2 -2
  451. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +7 -2
  452. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +2 -3
  453. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  454. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +3 -1
  455. package/vscode/src/vs/workbench/api/common/extHostMcp.js +71 -20
  456. package/vscode/src/vs/workbench/api/common/extHostNotebook.d.ts +1 -1
  457. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +7 -5
  458. package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +1 -1
  459. package/vscode/src/vs/workbench/api/common/extHostSCM.d.ts +1 -1
  460. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  461. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +2 -1
  462. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -3
  463. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.d.ts +4 -3
  464. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +5 -2
  465. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +3 -0
  466. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
  467. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  468. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +16 -7
  469. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +20 -8
  470. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +16 -13
  471. package/vscode/src/vs/workbench/api/common/extHostTypes.js +11 -12
  472. package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.d.ts +2 -2
  473. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.d.ts +1 -1
  474. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  475. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  476. package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
  477. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  478. package/vscode/src/vs/workbench/browser/contextkeys.d.ts +1 -0
  479. package/vscode/src/vs/workbench/browser/contextkeys.js +6 -1
  480. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.service.d.ts +1 -1
  481. package/vscode/src/vs/workbench/common/configuration.js +9 -9
  482. package/vscode/src/vs/workbench/common/contextkeys.d.ts +1 -0
  483. package/vscode/src/vs/workbench/common/contextkeys.js +73 -72
  484. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  485. package/vscode/src/vs/workbench/common/editor.d.ts +2 -1
  486. package/vscode/src/vs/workbench/common/editor.js +6 -6
  487. package/vscode/src/vs/workbench/common/theme.js +160 -160
  488. package/vscode/src/vs/workbench/common/views.js +4 -4
  489. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +157 -160
  490. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  491. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +2 -2
  492. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service.d.ts +18 -0
  493. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentResolveService.service.js +6 -0
  494. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +2 -2
  495. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +6 -6
  496. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +4 -3
  497. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +9 -3
  498. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +62 -41
  499. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +24 -5
  500. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +2 -2
  501. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.service.d.ts +1 -1
  502. package/vscode/src/vs/workbench/contrib/chat/common/chatEntitlementService.service.d.ts +1 -1
  503. package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +29 -9
  504. package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +2 -2
  505. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.service.d.ts +2 -2
  506. package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.d.ts +152 -0
  507. package/vscode/src/vs/workbench/contrib/chat/common/chatVariableEntries.js +160 -0
  508. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +2 -1
  509. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service.d.ts +1 -1
  510. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +5 -5
  511. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +11 -24
  512. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +8 -1
  513. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.js +4 -4
  514. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.d.ts +4 -2
  515. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +5 -1
  516. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +22 -7
  517. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/frontMatterCodec/tokens/index.d.ts +5 -0
  518. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/codecs/base/simpleCodec/tokens/tokens.d.ts +20 -0
  519. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +6 -4
  520. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +2 -17
  521. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{types.d.ts → promptsService.d.ts} +14 -7
  522. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{types.service.d.ts → promptsService.service.d.ts} +6 -7
  523. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.d.ts +2 -2
  524. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +1 -1
  525. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +15 -15
  526. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +6 -6
  527. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  528. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  529. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  530. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  531. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  532. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  533. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  534. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  535. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  536. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -1
  537. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  538. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -11
  539. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  540. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +1 -0
  541. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +73 -65
  542. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +7 -0
  543. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  544. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +1 -1
  545. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +4 -4
  546. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  547. package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +3 -3
  548. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  549. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  550. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  551. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  552. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  553. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +2 -2
  554. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +1 -1
  555. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  556. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  557. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +55 -9
  558. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +29 -13
  559. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +16 -6
  560. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.js +2 -1
  561. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.d.ts +119 -31
  562. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.js +1 -1
  563. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +1 -1
  564. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +4 -4
  565. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +2 -2
  566. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.service.d.ts +1 -1
  567. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.service.d.ts +8 -0
  568. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.service.js +6 -0
  569. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  570. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  571. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  572. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  573. package/vscode/src/vs/workbench/contrib/tasks/common/constants.d.ts +3 -0
  574. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +10 -0
  575. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  576. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +4 -3
  577. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +13 -4
  578. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +6 -2
  579. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +1 -1
  580. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service.d.ts +2 -2
  581. package/vscode/src/vs/workbench/contrib/testing/common/constants.d.ts +2 -0
  582. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +13 -11
  583. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  584. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
  585. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
  586. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.d.ts +1 -0
  587. package/vscode/src/vs/workbench/services/accounts/common/defaultAccount.js +6 -4
  588. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +4 -0
  589. package/vscode/src/vs/workbench/services/authentication/common/authentication.service.d.ts +1 -0
  590. package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.d.ts +132 -0
  591. package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.service.d.ts +20 -0
  592. package/vscode/src/vs/workbench/services/authentication/common/authenticationQuery.service.js +6 -0
  593. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.service.d.ts +2 -2
  594. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  595. package/vscode/src/vs/workbench/services/coreExperimentation/common/coreExperimentationService.service.d.ts +6 -0
  596. package/vscode/src/vs/workbench/services/coreExperimentation/common/coreExperimentationService.service.js +6 -0
  597. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -1
  598. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  599. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +1 -1
  600. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +2 -2
  601. package/vscode/src/vs/workbench/services/environment/common/environmentService.service.d.ts +1 -0
  602. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +1 -0
  603. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +84 -84
  604. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.d.ts +1 -1
  605. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -1
  606. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  607. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -2
  608. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +17 -17
  609. package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +5 -1
  610. package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
  611. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  612. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.d.ts +16 -0
  613. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.js +6 -0
  614. package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
  615. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
  616. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  617. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  618. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +3 -3
  619. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
  620. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  621. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  622. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -12
  623. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.d.ts +1 -1
  624. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.service.d.ts +1 -1
  625. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.service.d.ts +1 -1
  626. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -2
  627. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.d.ts +1 -1
  628. package/vscode-dts/vscode.proposed.authProviderSpecific.d.ts +30 -0
  629. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +10 -0
  630. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +10 -0
  631. package/vscode-dts/vscode.proposed.chatProvider.d.ts +139 -10
  632. package/vscode-dts/vscode.proposed.d.ts +3 -1
  633. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +5 -0
  634. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +21 -4
  635. package/vscode-dts/vscode.proposed.languageModelDataPart.d.ts +1 -0
  636. package/vscode-dts/vscode.proposed.remoteCodingAgents.d.ts +8 -0
  637. package/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts +2 -0
  638. package/vscode-dts/vscode.proposed.textDocumentChangeReason.d.ts +30 -0
  639. package/workbench.d.ts +1 -1
  640. package/vscode/src/vs/base/browser/domImpl/domObservable.d.ts +0 -3
  641. package/vscode/src/vs/base/browser/domImpl/domObservable.js +0 -16
  642. package/vscode/src/vs/base/browser/domImpl/n.d.ts +0 -83
  643. package/vscode/src/vs/base/browser/domImpl/n.js +0 -283
  644. package/vscode/src/vs/editor/common/codecs/frontMatterCodec/tokens/index.d.ts +0 -5
  645. package/vscode/src/vs/editor/common/codecs/simpleCodec/tokens/index.d.ts +0 -20
  646. package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +0 -25
  647. package/vscode/src/vs/editor/common/tokens/tokenArray.js +0 -84
  648. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEditsAdapter.d.ts +0 -16
  649. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEditsAdapter.js +0 -94
  650. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +0 -243
  651. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +0 -426
  652. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +0 -601
  653. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +0 -1185
  654. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +0 -130
  655. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +0 -235
  656. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.d.ts +0 -4
  657. package/vscode/src/vs/workbench/contrib/chat/common/modelPicker/modelPickerWidget.js +0 -6
  658. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/promptHeader/metadata/index.d.ts +0 -3
  659. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfigPathsService.service.d.ts +0 -7
  660. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfigPathsService.service.js +0 -6
  661. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExpService.service.d.ts +0 -6
  662. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExpService.service.js +0 -6
  663. package/vscode-dts/vscode.proposed.inlineEdit.d.ts +0 -103
  664. /package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/{types.service.js → promptsService.service.js} +0 -0
@@ -214,10 +214,10 @@ class TimeBasedVariableResolver {
214
214
  constructor() {
215
215
  this._date = ( new Date());
216
216
  }
217
- static { this.dayNames = [( localize(1456, "Sunday")), ( localize(1457, "Monday")), ( localize(1458, "Tuesday")), ( localize(1459, "Wednesday")), ( localize(1460, "Thursday")), ( localize(1461, "Friday")), ( localize(1462, "Saturday"))]; }
218
- static { this.dayNamesShort = [( localize(1463, "Sun")), ( localize(1464, "Mon")), ( localize(1465, "Tue")), ( localize(1466, "Wed")), ( localize(1467, "Thu")), ( localize(1468, "Fri")), ( localize(1469, "Sat"))]; }
219
- static { this.monthNames = [( localize(1470, "January")), ( localize(1471, "February")), ( localize(1472, "March")), ( localize(1473, "April")), ( localize(1474, "May")), ( localize(1475, "June")), ( localize(1476, "July")), ( localize(1477, "August")), ( localize(1478, "September")), ( localize(1479, "October")), ( localize(1480, "November")), ( localize(1481, "December"))]; }
220
- static { this.monthNamesShort = [( localize(1482, "Jan")), ( localize(1483, "Feb")), ( localize(1484, "Mar")), ( localize(1485, "Apr")), ( localize(1486, "May")), ( localize(1487, "Jun")), ( localize(1488, "Jul")), ( localize(1489, "Aug")), ( localize(1490, "Sep")), ( localize(1491, "Oct")), ( localize(1492, "Nov")), ( localize(1493, "Dec"))]; }
217
+ static { this.dayNames = [( localize(1468, "Sunday")), ( localize(1469, "Monday")), ( localize(1470, "Tuesday")), ( localize(1471, "Wednesday")), ( localize(1472, "Thursday")), ( localize(1473, "Friday")), ( localize(1474, "Saturday"))]; }
218
+ static { this.dayNamesShort = [( localize(1475, "Sun")), ( localize(1476, "Mon")), ( localize(1477, "Tue")), ( localize(1478, "Wed")), ( localize(1479, "Thu")), ( localize(1480, "Fri")), ( localize(1481, "Sat"))]; }
219
+ static { this.monthNames = [( localize(1482, "January")), ( localize(1483, "February")), ( localize(1484, "March")), ( localize(1485, "April")), ( localize(1486, "May")), ( localize(1487, "June")), ( localize(1488, "July")), ( localize(1489, "August")), ( localize(1490, "September")), ( localize(1491, "October")), ( localize(1492, "November")), ( localize(1493, "December"))]; }
220
+ static { this.monthNamesShort = [( localize(1494, "Jan")), ( localize(1495, "Feb")), ( localize(1496, "Mar")), ( localize(1497, "Apr")), ( localize(1498, "May")), ( localize(1499, "Jun")), ( localize(1500, "Jul")), ( localize(1501, "Aug")), ( localize(1502, "Sep")), ( localize(1503, "Oct")), ( localize(1504, "Nov")), ( localize(1505, "Dec"))]; }
221
221
  resolve(variable) {
222
222
  const { name } = variable;
223
223
  if (name === 'CURRENT_YEAR') {
@@ -1,58 +1,58 @@
1
1
  .monaco-editor .sticky-widget {
2
2
  overflow: hidden;
3
+ border-bottom: 1px solid var(--vscode-editorStickyScroll-border);
4
+ width: 100%;
5
+ box-shadow: var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;
6
+ z-index: 4;
7
+ right: initial !important;
8
+ margin-left: '0px';
3
9
  }
4
- .monaco-editor .sticky-widget-line-numbers {
10
+ .monaco-editor .sticky-widget .sticky-widget-line-numbers {
5
11
  float: left;
6
- background-color: inherit;
12
+ background-color: var(--vscode-editorStickyScrollGutter-background);
7
13
  }
8
- .monaco-editor .sticky-widget-lines-scrollable {
14
+ .monaco-editor .sticky-widget.peek .sticky-widget-line-numbers {
15
+ background-color: var(--vscode-peekViewEditorStickyScrollGutter-background);
16
+ }
17
+ .monaco-editor .sticky-widget .sticky-widget-lines-scrollable {
9
18
  display: inline-block;
10
19
  position: absolute;
11
20
  overflow: hidden;
12
21
  width: var(--vscode-editorStickyScroll-scrollableWidth);
13
- background-color: inherit;
22
+ background-color: var(--vscode-editorStickyScroll-background);
14
23
  }
15
- .monaco-editor .sticky-widget-lines {
24
+ .monaco-editor .sticky-widget.peek .sticky-widget-lines-scrollable {
25
+ background-color: var(--vscode-peekViewEditorStickyScroll-background);
26
+ }
27
+ .monaco-editor .sticky-widget .sticky-widget-lines {
16
28
  position: absolute;
17
29
  background-color: inherit;
18
30
  }
19
- .monaco-editor .sticky-line-number, .monaco-editor .sticky-line-content {
31
+ .monaco-editor .sticky-widget .sticky-line-number,
32
+ .monaco-editor .sticky-widget .sticky-line-content {
20
33
  color: var(--vscode-editorLineNumber-foreground);
21
34
  white-space: nowrap;
22
35
  display: inline-block;
23
36
  position: absolute;
24
37
  background-color: inherit;
25
38
  }
26
- .monaco-editor .sticky-line-number .codicon-folding-expanded,
27
- .monaco-editor .sticky-line-number .codicon-folding-collapsed {
39
+ .monaco-editor .sticky-widget .sticky-line-number .codicon-folding-expanded,
40
+ .monaco-editor .sticky-widget .sticky-line-number .codicon-folding-collapsed {
28
41
  float: right;
29
42
  transition: var(--vscode-editorStickyScroll-foldingOpacityTransition);
30
43
  position: absolute;
31
44
  margin-left: 2px;
32
45
  }
33
- .monaco-editor .sticky-line-content {
46
+ .monaco-editor .sticky-widget .sticky-line-content {
34
47
  width: var(--vscode-editorStickyScroll-scrollableWidth);
35
48
  background-color: inherit;
36
49
  white-space: nowrap;
37
50
  }
38
- .monaco-editor .sticky-line-number-inner {
51
+ .monaco-editor .sticky-widget .sticky-line-number-inner {
39
52
  display: inline-block;
40
53
  text-align: right;
41
54
  }
42
- .monaco-editor .sticky-widget {
43
- border-bottom: 1px solid var(--vscode-editorStickyScroll-border);
44
- }
45
- .monaco-editor .sticky-line-content:hover {
55
+ .monaco-editor .sticky-widget .sticky-line-content:hover {
46
56
  background-color: var(--vscode-editorStickyScrollHover-background);
47
57
  cursor: pointer;
48
58
  }
49
- .monaco-editor .sticky-widget {
50
- width: 100%;
51
- box-shadow: var(--vscode-editorStickyScroll-shadow) 0 4px 2px -2px;
52
- z-index: 4;
53
- background-color: var(--vscode-editorStickyScroll-background);
54
- right: initial !important;
55
- }
56
- .monaco-editor .sticky-widget.peek {
57
- background-color: var(--vscode-peekViewEditorStickyScroll-background);
58
- }
@@ -15,20 +15,20 @@ class ToggleStickyScroll extends EditorAction2 {
15
15
  super({
16
16
  id: 'editor.action.toggleStickyScroll',
17
17
  title: {
18
- ...( localize2(1494, "Toggle Editor Sticky Scroll")),
19
- mnemonicTitle: ( localize(1495, "&&Toggle Editor Sticky Scroll")),
18
+ ...( localize2(1506, "Toggle Editor Sticky Scroll")),
19
+ mnemonicTitle: ( localize(1507, "&&Toggle Editor Sticky Scroll")),
20
20
  },
21
21
  metadata: {
22
22
  description: ( localize2(
23
- 1496,
23
+ 1508,
24
24
  "Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport"
25
25
  )),
26
26
  },
27
27
  category: Categories.View,
28
28
  toggled: {
29
29
  condition: ( ContextKeyExpr.equals('config.editor.stickyScroll.enabled', true)),
30
- title: ( localize(1497, "Sticky Scroll")),
31
- mnemonicTitle: ( localize(1498, "&&Sticky Scroll")),
30
+ title: ( localize(1509, "Sticky Scroll")),
31
+ mnemonicTitle: ( localize(1510, "&&Sticky Scroll")),
32
32
  },
33
33
  menu: [
34
34
  { id: MenuId.CommandPalette },
@@ -53,8 +53,8 @@ class FocusStickyScroll extends EditorAction2 {
53
53
  super({
54
54
  id: 'editor.action.focusStickyScroll',
55
55
  title: {
56
- ...( localize2(1499, "Focus Editor Sticky Scroll")),
57
- mnemonicTitle: ( localize(1500, "&&Focus Editor Sticky Scroll")),
56
+ ...( localize2(1511, "Focus Editor Sticky Scroll")),
57
+ mnemonicTitle: ( localize(1512, "&&Focus Editor Sticky Scroll")),
58
58
  },
59
59
  precondition: ( ContextKeyExpr.and(( ContextKeyExpr.has('config.editor.stickyScroll.enabled')), EditorContextKeys.stickyScrollVisible)),
60
60
  menu: [
@@ -70,7 +70,7 @@ class SelectNextStickyScrollLine extends EditorAction2 {
70
70
  constructor() {
71
71
  super({
72
72
  id: 'editor.action.selectNextStickyScrollLine',
73
- title: ( localize2(1501, "Select the next editor sticky scroll line")),
73
+ title: ( localize2(1513, "Select the next editor sticky scroll line")),
74
74
  precondition: ( EditorContextKeys.stickyScrollFocused.isEqualTo(true)),
75
75
  keybinding: {
76
76
  weight,
@@ -86,7 +86,7 @@ class SelectPreviousStickyScrollLine extends EditorAction2 {
86
86
  constructor() {
87
87
  super({
88
88
  id: 'editor.action.selectPreviousStickyScrollLine',
89
- title: ( localize2(1502, "Select the previous sticky scroll line")),
89
+ title: ( localize2(1514, "Select the previous sticky scroll line")),
90
90
  precondition: ( EditorContextKeys.stickyScrollFocused.isEqualTo(true)),
91
91
  keybinding: {
92
92
  weight,
@@ -102,7 +102,7 @@ class GoToStickyScrollLine extends EditorAction2 {
102
102
  constructor() {
103
103
  super({
104
104
  id: 'editor.action.goToFocusedStickyScrollLine',
105
- title: ( localize2(1503, "Go to the focused sticky scroll line")),
105
+ title: ( localize2(1515, "Go to the focused sticky scroll line")),
106
106
  precondition: ( EditorContextKeys.stickyScrollFocused.isEqualTo(true)),
107
107
  keybinding: {
108
108
  weight,
@@ -118,7 +118,7 @@ class SelectEditor extends EditorAction2 {
118
118
  constructor() {
119
119
  super({
120
120
  id: 'editor.action.selectEditor',
121
- title: ( localize2(1504, "Select Editor")),
121
+ title: ( localize2(1516, "Select Editor")),
122
122
  precondition: ( EditorContextKeys.stickyScrollFocused.isEqualTo(true)),
123
123
  keybinding: {
124
124
  weight,
@@ -65,6 +65,14 @@ let StickyScrollController = class StickyScrollController extends Disposable {
65
65
  }
66
66
  });
67
67
  }));
68
+ this._register(this._editor.onDidChangeFont((e) => {
69
+ e.changes.forEach((change) => {
70
+ const lineNumber = change.lineNumber;
71
+ if (this._widgetState.startLineNumbers.includes(lineNumber)) {
72
+ this._renderStickyScroll(lineNumber);
73
+ }
74
+ });
75
+ }));
68
76
  this._register(this._editor.onDidChangeConfiguration(e => {
69
77
  this._readConfigurationChange(e);
70
78
  }));
@@ -241,26 +249,18 @@ let StickyScrollController = class StickyScrollController extends Disposable {
241
249
  }
242
250
  this._revealPosition(position);
243
251
  }));
244
- const mouseMoveListener = (mouseEvent) => {
252
+ this._register(addDisposableListener(mainWindow, EventType.MOUSE_MOVE, mouseEvent => {
245
253
  this._mouseTarget = mouseEvent.target;
246
254
  this._onMouseMoveOrKeyDown(mouseEvent);
247
- };
248
- const keyDownListener = (mouseEvent) => {
255
+ }));
256
+ this._register(addDisposableListener(mainWindow, EventType.KEY_DOWN, mouseEvent => {
249
257
  this._onMouseMoveOrKeyDown(mouseEvent);
250
- };
251
- const keyUpListener = (e) => {
258
+ }));
259
+ this._register(addDisposableListener(mainWindow, EventType.KEY_UP, () => {
252
260
  if (this._showEndForLine !== undefined) {
253
261
  this._showEndForLine = undefined;
254
262
  this._renderStickyScroll();
255
263
  }
256
- };
257
- mainWindow.addEventListener(EventType.MOUSE_MOVE, mouseMoveListener);
258
- mainWindow.addEventListener(EventType.KEY_DOWN, keyDownListener);
259
- mainWindow.addEventListener(EventType.KEY_UP, keyUpListener);
260
- this._register(toDisposable(() => {
261
- mainWindow.removeEventListener(EventType.MOUSE_MOVE, mouseMoveListener);
262
- mainWindow.removeEventListener(EventType.KEY_DOWN, keyDownListener);
263
- mainWindow.removeEventListener(EventType.KEY_UP, keyUpListener);
264
264
  }));
265
265
  this._register(gesture.onMouseMoveOrRelevantKeyDown(([mouseEvent, _keyboardEvent]) => {
266
266
  const mouseTarget = getMouseEventTarget(mouseEvent);
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
3
- import { Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';
3
+ import { Disposable, DisposableStore, MutableDisposable } from '../../../../base/common/lifecycle.js';
4
4
  import { ILanguageFeaturesService } from '../../../common/services/languageFeatures.service.js';
5
5
  import { OutlineModel, OutlineGroup, OutlineElement } from '../../documentSymbols/browser/outlineModel.js';
6
6
  import { Delayer, createCancelablePromise } from '../../../../base/common/async.js';
@@ -293,22 +293,30 @@ let StickyModelFromCandidateSyntaxFoldingProvider = class StickyModelFromCandida
293
293
  constructor(editor, onProviderUpdate, _languageFeaturesService) {
294
294
  super(editor);
295
295
  this._languageFeaturesService = _languageFeaturesService;
296
+ this.provider = this._register(( new MutableDisposable()));
297
+ this._register(this._languageFeaturesService.foldingRangeProvider.onDidChange(() => {
298
+ this._updateProvider(editor, onProviderUpdate);
299
+ }));
300
+ this._updateProvider(editor, onProviderUpdate);
301
+ }
302
+ _updateProvider(editor, onProviderUpdate) {
296
303
  const selectedProviders = FoldingController.getFoldingRangeProviders(this._languageFeaturesService, editor.getModel());
297
- if (selectedProviders.length > 0) {
298
- this.provider = this._register(( new SyntaxRangeProvider(
299
- editor.getModel(),
300
- selectedProviders,
301
- onProviderUpdate,
302
- this._foldingLimitReporter,
303
- undefined
304
- )));
304
+ if (selectedProviders.length === 0) {
305
+ return;
305
306
  }
307
+ this.provider.value = ( new SyntaxRangeProvider(
308
+ editor.getModel(),
309
+ selectedProviders,
310
+ onProviderUpdate,
311
+ this._foldingLimitReporter,
312
+ undefined
313
+ ));
306
314
  }
307
315
  isProviderValid() {
308
316
  return this.provider !== undefined;
309
317
  }
310
318
  async createModelFromProvider(token) {
311
- return this.provider?.compute(token) ?? null;
319
+ return this.provider.value?.compute(token) ?? null;
312
320
  }
313
321
  };
314
322
  StickyModelFromCandidateSyntaxFoldingProvider = ( __decorate([
@@ -3,7 +3,7 @@ import { ICodeEditor } from "../../../browser/editorBrowser.js";
3
3
  import { ILanguageFeaturesService } from "../../../common/services/languageFeatures.service.js";
4
4
  import { Event } from "../../../../base/common/event.js";
5
5
  import { ILanguageConfigurationService } from "../../../common/languages/languageConfigurationRegistry.service.js";
6
- import { StickyElement, StickyRange } from "./stickyScrollElement.js";
6
+ import { StickyRange } from "./stickyScrollElement.js";
7
7
  export declare class StickyLineCandidate {
8
8
  readonly startLineNumber: number;
9
9
  readonly endLineNumber: number;
@@ -36,7 +36,8 @@ export declare class StickyLineCandidateProvider extends Disposable implements I
36
36
  private updateStickyModelProvider;
37
37
  update(): Promise<void>;
38
38
  private updateStickyModel;
39
- private updateIndex;
40
- getCandidateStickyLinesIntersectingFromStickyModel(range: StickyRange, outlineModel: StickyElement, result: StickyLineCandidate[], depth: number, top: number, lastStartLineNumber: number): void;
41
39
  getCandidateStickyLinesIntersecting(range: StickyRange): StickyLineCandidate[];
40
+ private getCandidateStickyLinesIntersectingFromStickyModel;
41
+ private filterHiddenRanges;
42
+ private updateIndex;
42
43
  }
@@ -68,10 +68,9 @@ let StickyLineCandidateProvider = class StickyLineCandidateProvider extends Disp
68
68
  updateStickyModelProvider() {
69
69
  this._stickyModelProvider?.dispose();
70
70
  this._stickyModelProvider = null;
71
- const editor = this._editor;
72
- if (editor.hasModel()) {
71
+ if (this._editor.hasModel()) {
73
72
  this._stickyModelProvider = ( new StickyModelProvider(
74
- editor,
73
+ this._editor,
75
74
  () => this._updateSoon.schedule(),
76
75
  this._languageConfigurationService,
77
76
  this._languageFeaturesService
@@ -90,19 +89,17 @@ let StickyLineCandidateProvider = class StickyLineCandidateProvider extends Disp
90
89
  return;
91
90
  }
92
91
  const model = await this._stickyModelProvider.update(token);
93
- if (token.isCancellationRequested) {
94
- return;
92
+ if (!token.isCancellationRequested) {
93
+ this._model = model;
95
94
  }
96
- this._model = model;
97
95
  }
98
- updateIndex(index) {
99
- if (index === -1) {
100
- index = 0;
101
- }
102
- else if (index < 0) {
103
- index = -index - 2;
96
+ getCandidateStickyLinesIntersecting(range) {
97
+ if (!this._model?.element) {
98
+ return [];
104
99
  }
105
- return index;
100
+ const stickyLineCandidates = [];
101
+ this.getCandidateStickyLinesIntersectingFromStickyModel(range, this._model.element, stickyLineCandidates, 0, 0, -1);
102
+ return this.filterHiddenRanges(stickyLineCandidates);
106
103
  }
107
104
  getCandidateStickyLinesIntersectingFromStickyModel(range, outlineModel, result, depth, top, lastStartLineNumber) {
108
105
  if (outlineModel.children.length === 0) {
@@ -120,38 +117,36 @@ let StickyLineCandidateProvider = class StickyLineCandidateProvider extends Disp
120
117
  const upperBound = this.updateIndex(binarySearch(childrenStartLines, range.endLineNumber, (a, b) => { return a - b; }));
121
118
  for (let i = lowerBound; i <= upperBound; i++) {
122
119
  const child = outlineModel.children[i];
123
- if (!child) {
124
- return;
125
- }
126
- const childRange = child.range;
127
- if (childRange) {
128
- const childStartLine = childRange.startLineNumber;
129
- const childEndLine = childRange.endLineNumber;
130
- if (range.startLineNumber <= childEndLine + 1 && childStartLine - 1 <= range.endLineNumber && childStartLine !== lastLine) {
131
- lastLine = childStartLine;
132
- const lineHeight = this._editor.getLineHeightForPosition(( new Position(childStartLine, 1)));
133
- result.push(( new StickyLineCandidate(childStartLine, childEndLine - 1, top, lineHeight)));
134
- this.getCandidateStickyLinesIntersectingFromStickyModel(range, child, result, depth + 1, top + lineHeight, childStartLine);
135
- }
120
+ if (!child || !child.range) {
121
+ continue;
136
122
  }
137
- else {
138
- this.getCandidateStickyLinesIntersectingFromStickyModel(range, child, result, depth, top, lastStartLineNumber);
123
+ const { startLineNumber, endLineNumber } = child.range;
124
+ if (range.startLineNumber <= endLineNumber + 1 && startLineNumber - 1 <= range.endLineNumber && startLineNumber !== lastLine) {
125
+ lastLine = startLineNumber;
126
+ const lineHeight = this._editor.getLineHeightForPosition(( new Position(startLineNumber, 1)));
127
+ result.push(( new StickyLineCandidate(startLineNumber, endLineNumber - 1, top, lineHeight)));
128
+ this.getCandidateStickyLinesIntersectingFromStickyModel(range, child, result, depth + 1, top + lineHeight, startLineNumber);
139
129
  }
140
130
  }
141
131
  }
142
- getCandidateStickyLinesIntersecting(range) {
143
- if (!this._model?.element) {
144
- return [];
145
- }
146
- let stickyLineCandidates = [];
147
- this.getCandidateStickyLinesIntersectingFromStickyModel(range, this._model.element, stickyLineCandidates, 0, 0, -1);
132
+ filterHiddenRanges(stickyLineCandidates) {
148
133
  const hiddenRanges = this._editor._getViewModel()?.getHiddenAreas();
149
- if (hiddenRanges) {
150
- for (const hiddenRange of hiddenRanges) {
151
- stickyLineCandidates = stickyLineCandidates.filter(stickyLine => !(stickyLine.startLineNumber >= hiddenRange.startLineNumber && stickyLine.endLineNumber <= hiddenRange.endLineNumber + 1));
152
- }
134
+ if (!hiddenRanges) {
135
+ return stickyLineCandidates;
136
+ }
137
+ return stickyLineCandidates.filter(candidate => {
138
+ return !( hiddenRanges.some(hiddenRange => candidate.startLineNumber >= hiddenRange.startLineNumber &&
139
+ candidate.endLineNumber <= hiddenRange.endLineNumber + 1));
140
+ });
141
+ }
142
+ updateIndex(index) {
143
+ if (index === -1) {
144
+ return 0;
153
145
  }
154
- return stickyLineCandidates;
146
+ else if (index < 0) {
147
+ return -index - 2;
148
+ }
149
+ return index;
155
150
  }
156
151
  };
157
152
  StickyLineCandidateProvider = ( __decorate([
@@ -19,7 +19,7 @@ export declare class StickyScrollWidget extends Disposable implements IOverlayWi
19
19
  private readonly _linesDomNodeScrollable;
20
20
  private readonly _linesDomNode;
21
21
  private readonly _editor;
22
- private _previousState;
22
+ private _state;
23
23
  private _lineHeight;
24
24
  private _renderedStickyLines;
25
25
  private _lineNumbers;
@@ -37,15 +37,14 @@ export declare class StickyScrollWidget extends Disposable implements IOverlayWi
37
37
  get lineNumberCount(): number;
38
38
  getRenderedStickyLine(lineNumber: number): RenderedStickyLine | undefined;
39
39
  getCurrentLines(): readonly number[];
40
- setState(_state: StickyScrollWidgetState | undefined, foldingModel: FoldingModel | undefined, _rebuildFromLine?: number): void;
41
- private _isWidgetHeightZero;
42
- private _findLineToRebuildWidgetFrom;
40
+ setState(state: StickyScrollWidgetState | undefined, foldingModel: FoldingModel | undefined, rebuildFromIndexCandidate?: number): void;
41
+ private _findRenderingData;
42
+ private _findIndexToRebuildFrom;
43
43
  private _updateWidgetWidth;
44
- private _clearStickyLinesFromLine;
45
44
  private _useFoldingOpacityTransition;
46
45
  private _setFoldingIconsVisibility;
47
46
  private _renderRootNode;
48
- private _getHeightOfLines;
47
+ private _clearWidget;
49
48
  private _setHeight;
50
49
  private _setFoldingHoverListeners;
51
50
  private _renderChildNode;
@@ -113,46 +113,46 @@ class StickyScrollWidget extends Disposable {
113
113
  getCurrentLines() {
114
114
  return this._lineNumbers;
115
115
  }
116
- setState(_state, foldingModel, _rebuildFromLine) {
117
- if (_rebuildFromLine === undefined &&
118
- ((!this._previousState && !_state) || (this._previousState && this._previousState.equals(_state)))) {
116
+ setState(state, foldingModel, rebuildFromIndexCandidate) {
117
+ const currentStateAndPreviousStateUndefined = !this._state && !state;
118
+ const currentStateDefinedAndEqualsPreviousState = this._state && this._state.equals(state);
119
+ if (rebuildFromIndexCandidate === undefined && (currentStateAndPreviousStateUndefined || currentStateDefinedAndEqualsPreviousState)) {
119
120
  return;
120
121
  }
121
- const isWidgetHeightZero = this._isWidgetHeightZero(_state);
122
- const state = isWidgetHeightZero ? undefined : _state;
123
- const rebuildFromLine = isWidgetHeightZero ? 0 : this._findLineToRebuildWidgetFrom(_state, _rebuildFromLine);
124
- this._renderRootNode(state, foldingModel, rebuildFromLine);
125
- this._previousState = _state;
122
+ const data = this._findRenderingData(state);
123
+ const previousLineNumbers = this._lineNumbers;
124
+ this._lineNumbers = data.lineNumbers;
125
+ this._lastLineRelativePosition = data.lastLineRelativePosition;
126
+ const rebuildFromIndex = this._findIndexToRebuildFrom(previousLineNumbers, this._lineNumbers, rebuildFromIndexCandidate);
127
+ this._renderRootNode(this._lineNumbers, this._lastLineRelativePosition, foldingModel, rebuildFromIndex);
128
+ this._state = state;
126
129
  }
127
- _isWidgetHeightZero(state) {
130
+ _findRenderingData(state) {
128
131
  if (!state) {
129
- return true;
130
- }
131
- const futureWidgetHeight = this._getHeightOfLines(state.startLineNumbers, state.lastLineRelativePosition);
132
- if (futureWidgetHeight > 0) {
133
- this._lastLineRelativePosition = state.lastLineRelativePosition;
134
- const lineNumbers = [...state.startLineNumbers];
135
- if (state.showEndForLine !== null) {
136
- lineNumbers[state.showEndForLine] = state.endLineNumbers[state.showEndForLine];
137
- }
138
- this._lineNumbers = lineNumbers;
132
+ return { lineNumbers: [], lastLineRelativePosition: 0 };
139
133
  }
140
- else {
141
- this._lastLineRelativePosition = 0;
142
- this._lineNumbers = [];
134
+ const candidateLineNumbers = [...state.startLineNumbers];
135
+ if (state.showEndForLine !== null) {
136
+ candidateLineNumbers[state.showEndForLine] = state.endLineNumbers[state.showEndForLine];
137
+ }
138
+ let totalHeight = 0;
139
+ for (let i = 0; i < candidateLineNumbers.length; i++) {
140
+ totalHeight += this._editor.getLineHeightForPosition(( new Position(candidateLineNumbers[i], 1)));
143
141
  }
144
- return futureWidgetHeight === 0;
142
+ if (totalHeight === 0) {
143
+ return { lineNumbers: [], lastLineRelativePosition: 0 };
144
+ }
145
+ return { lineNumbers: candidateLineNumbers, lastLineRelativePosition: state.lastLineRelativePosition };
145
146
  }
146
- _findLineToRebuildWidgetFrom(state, _rebuildFromLine) {
147
- if (!state || !this._previousState) {
147
+ _findIndexToRebuildFrom(previousLineNumbers, newLineNumbers, rebuildFromIndexCandidate) {
148
+ if (newLineNumbers.length === 0) {
148
149
  return 0;
149
150
  }
150
- if (_rebuildFromLine !== undefined) {
151
- return _rebuildFromLine;
151
+ if (rebuildFromIndexCandidate !== undefined) {
152
+ return rebuildFromIndexCandidate;
152
153
  }
153
- const previousState = this._previousState;
154
- const indexOfLinesAlreadyRendered = state.startLineNumbers.findIndex(startLineNumber => !previousState.startLineNumbers.includes(startLineNumber));
155
- return (indexOfLinesAlreadyRendered === -1) ? 0 : indexOfLinesAlreadyRendered;
154
+ const validIndex = newLineNumbers.findIndex(startLineNumber => !previousLineNumbers.includes(startLineNumber));
155
+ return validIndex === -1 ? 0 : validIndex;
156
156
  }
157
157
  _updateWidgetWidth() {
158
158
  const layoutInfo = this._editor.getLayoutInfo();
@@ -161,15 +161,6 @@ class StickyScrollWidget extends Disposable {
161
161
  this._linesDomNodeScrollable.style.setProperty('--vscode-editorStickyScroll-scrollableWidth', `${this._editor.getScrollWidth() - layoutInfo.verticalScrollbarWidth}px`);
162
162
  this._rootDomNode.style.width = `${layoutInfo.width - layoutInfo.verticalScrollbarWidth}px`;
163
163
  }
164
- _clearStickyLinesFromLine(clearFromLine) {
165
- this._foldingIconStore.clear();
166
- for (let i = clearFromLine; i < this._renderedStickyLines.length; i++) {
167
- const stickyLine = this._renderedStickyLines[i];
168
- stickyLine.lineNumberDomNode.remove();
169
- stickyLine.lineDomNode.remove();
170
- }
171
- this._renderedStickyLines = this._renderedStickyLines.slice(0, clearFromLine);
172
- }
173
164
  _useFoldingOpacityTransition(requireTransitions) {
174
165
  this._lineNumbersDomNode.style.setProperty('--vscode-editorStickyScroll-foldingOpacityTransition', `opacity ${requireTransitions ? 0.5 : 0}s`);
175
166
  }
@@ -182,45 +173,55 @@ class StickyScrollWidget extends Disposable {
182
173
  foldingIcon.setVisible(allVisible ? true : foldingIcon.isCollapsed);
183
174
  }
184
175
  }
185
- async _renderRootNode(state, foldingModel, rebuildFromLine) {
186
- this._clearStickyLinesFromLine(rebuildFromLine);
187
- if (!state) {
188
- this._setHeight(0);
176
+ async _renderRootNode(lineNumbers, lastLineRelativePosition, foldingModel, rebuildFromIndex) {
177
+ const viewModel = this._editor._getViewModel();
178
+ if (!viewModel) {
179
+ this._clearWidget();
180
+ return;
181
+ }
182
+ if (lineNumbers.length === 0) {
183
+ this._clearWidget();
189
184
  return;
190
185
  }
186
+ const renderedStickyLines = [];
187
+ const lastLineNumber = lineNumbers[lineNumbers.length - 1];
191
188
  let top = 0;
192
- for (const stickyLine of this._renderedStickyLines) {
193
- this._updatePosition(stickyLine, top);
194
- top += stickyLine.height;
189
+ for (let i = 0; i < this._renderedStickyLines.length; i++) {
190
+ if (i < rebuildFromIndex) {
191
+ const renderedLine = this._renderedStickyLines[i];
192
+ renderedStickyLines.push(this._updatePosition(renderedLine, top, renderedLine.lineNumber === lastLineNumber));
193
+ top += renderedLine.height;
194
+ }
195
+ else {
196
+ const renderedLine = this._renderedStickyLines[i];
197
+ renderedLine.lineNumberDomNode.remove();
198
+ renderedLine.lineDomNode.remove();
199
+ }
195
200
  }
196
201
  const layoutInfo = this._editor.getLayoutInfo();
197
- const linesToRender = this._lineNumbers.slice(rebuildFromLine);
198
- for (const [index, line] of linesToRender.entries()) {
199
- const stickyLine = this._renderChildNode(index + rebuildFromLine, line, top, foldingModel, layoutInfo);
200
- if (!stickyLine) {
201
- continue;
202
- }
202
+ for (let i = rebuildFromIndex; i < lineNumbers.length; i++) {
203
+ const stickyLine = this._renderChildNode(viewModel, i, lineNumbers[i], top, lastLineNumber === lineNumbers[i], foldingModel, layoutInfo);
203
204
  top += stickyLine.height;
204
205
  this._linesDomNode.appendChild(stickyLine.lineDomNode);
205
206
  this._lineNumbersDomNode.appendChild(stickyLine.lineNumberDomNode);
206
- this._renderedStickyLines.push(stickyLine);
207
+ renderedStickyLines.push(stickyLine);
207
208
  }
208
209
  if (foldingModel) {
209
210
  this._setFoldingHoverListeners();
210
211
  this._useFoldingOpacityTransition(!this._isOnGlyphMargin);
211
212
  }
212
- const widgetHeight = top + this._lastLineRelativePosition;
213
- this._setHeight(widgetHeight);
214
- this._rootDomNode.style.marginLeft = '0px';
215
213
  this._minContentWidthInPx = Math.max(...( this._renderedStickyLines.map(l => l.scrollWidth))) + layoutInfo.verticalScrollbarWidth;
214
+ this._renderedStickyLines = renderedStickyLines;
215
+ this._setHeight(top + lastLineRelativePosition);
216
216
  this._editor.layoutOverlayWidget(this);
217
217
  }
218
- _getHeightOfLines(lineNumbers, lastLineRelativePosition) {
219
- let totalHeight = 0;
220
- for (let i = 0; i < lineNumbers.length; i++) {
221
- totalHeight += this._editor.getLineHeightForPosition(( new Position(lineNumbers[i], 1)));
218
+ _clearWidget() {
219
+ for (let i = 0; i < this._renderedStickyLines.length; i++) {
220
+ const stickyLine = this._renderedStickyLines[i];
221
+ stickyLine.lineNumberDomNode.remove();
222
+ stickyLine.lineDomNode.remove();
222
223
  }
223
- return totalHeight + lastLineRelativePosition;
224
+ this._setHeight(0);
224
225
  }
225
226
  _setHeight(height) {
226
227
  if (this._height === height) {
@@ -253,11 +254,7 @@ class StickyScrollWidget extends Disposable {
253
254
  this._setFoldingIconsVisibility(false);
254
255
  }));
255
256
  }
256
- _renderChildNode(index, line, top, foldingModel, layoutInfo) {
257
- const viewModel = this._editor._getViewModel();
258
- if (!viewModel) {
259
- return;
260
- }
257
+ _renderChildNode(viewModel, index, line, top, isLastLine, foldingModel, layoutInfo) {
261
258
  const viewLineNumber = viewModel.coordinatesConverter.convertModelPositionToViewPosition(( new Position(line, 1))).lineNumber;
262
259
  const lineRenderingData = viewModel.getViewLineRenderingData(viewLineNumber);
263
260
  const lineNumberOption = this._editor.getOption(EditorOption.lineNumbers);
@@ -348,13 +345,11 @@ class StickyScrollWidget extends Disposable {
348
345
  lineHTMLNode.scrollWidth,
349
346
  lineHeight
350
347
  ));
351
- return this._updatePosition(renderedLine, top);
348
+ return this._updatePosition(renderedLine, top, isLastLine);
352
349
  }
353
- _updatePosition(stickyLine, top) {
354
- const index = stickyLine.index;
350
+ _updatePosition(stickyLine, top, isLastLine) {
355
351
  const lineHTMLNode = stickyLine.lineDomNode;
356
352
  const lineNumberHTMLNode = stickyLine.lineNumberDomNode;
357
- const isLastLine = index === this._lineNumbers.length - 1;
358
353
  if (isLastLine) {
359
354
  const zIndex = '0';
360
355
  lineHTMLNode.style.zIndex = zIndex;