@codingame/monaco-vscode-api 13.1.6 → 14.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 (794) hide show
  1. package/extensions.d.ts +3 -2
  2. package/missing-services.js +177 -63
  3. package/monaco.d.ts +1 -1
  4. package/package.json +8 -8
  5. package/services.d.ts +2 -2
  6. package/services.js +2 -3
  7. package/vscode/src/vs/base/browser/cssValue.js +1 -1
  8. package/vscode/src/vs/base/browser/dom.js +4 -1
  9. package/vscode/src/vs/base/browser/markdownRenderer.js +12 -0
  10. package/vscode/src/vs/base/browser/touch.js +2 -1
  11. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css.js +1 -1
  12. package/vscode/src/vs/base/browser/ui/button/button.d.ts +2 -1
  13. package/vscode/src/vs/base/browser/ui/button/button.js +10 -6
  14. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  15. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.d.ts +2 -1
  16. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +2 -2
  17. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  18. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
  19. package/vscode/src/vs/base/browser/ui/list/listView.d.ts +10 -0
  20. package/vscode/src/vs/base/browser/ui/list/listView.js +102 -6
  21. package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +1 -0
  22. package/vscode/src/vs/base/browser/ui/menu/menu.js +4 -1
  23. package/vscode/src/vs/base/browser/ui/tree/abstractTree.d.ts +1 -1
  24. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +6 -6
  25. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.d.ts +1 -2
  26. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +18 -8
  27. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +2 -2
  28. package/vscode/src/vs/base/common/actions.d.ts +1 -1
  29. package/vscode/src/vs/base/common/arrays.d.ts +1 -2
  30. package/vscode/src/vs/base/common/arrays.js +2 -2
  31. package/vscode/src/vs/base/common/assert.d.ts +1 -1
  32. package/vscode/src/vs/base/common/assert.js +5 -2
  33. package/vscode/src/vs/base/common/async.js +16 -2
  34. package/vscode/src/vs/base/common/codicons.d.ts +1 -0
  35. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +1 -0
  36. package/vscode/src/vs/base/common/codiconsLibrary.js +1 -0
  37. package/vscode/src/vs/base/common/color.d.ts +2 -2
  38. package/vscode/src/vs/base/common/color.js +4 -4
  39. package/vscode/src/vs/base/common/decorators.d.ts +1 -0
  40. package/vscode/src/vs/base/common/decorators.js +2 -0
  41. package/vscode/src/vs/base/common/errors.d.ts +2 -0
  42. package/vscode/src/vs/base/common/errors.js +10 -2
  43. package/vscode/src/vs/base/common/event.d.ts +3 -3
  44. package/vscode/src/vs/base/common/event.js +3 -3
  45. package/vscode/src/vs/base/common/filters.js +1 -1
  46. package/vscode/src/vs/base/common/iterator.d.ts +1 -1
  47. package/vscode/src/vs/base/common/iterator.js +8 -2
  48. package/vscode/src/vs/base/common/lifecycle.d.ts +7 -0
  49. package/vscode/src/vs/base/common/map.d.ts +8 -16
  50. package/vscode/src/vs/base/common/map.js +43 -30
  51. package/vscode/src/vs/base/common/network.d.ts +2 -2
  52. package/vscode/src/vs/base/common/network.js +4 -4
  53. package/vscode/src/vs/base/common/numbers.d.ts +1 -0
  54. package/vscode/src/vs/base/common/observableInternal/autorun.d.ts +2 -2
  55. package/vscode/src/vs/base/common/observableInternal/autorun.js +14 -1
  56. package/vscode/src/vs/base/common/observableInternal/base.d.ts +13 -9
  57. package/vscode/src/vs/base/common/observableInternal/base.js +7 -1
  58. package/vscode/src/vs/base/common/observableInternal/derived.d.ts +5 -3
  59. package/vscode/src/vs/base/common/observableInternal/derived.js +31 -4
  60. package/vscode/src/vs/base/common/observableInternal/index.d.ts +2 -2
  61. package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +5 -2
  62. package/vscode/src/vs/base/common/observableInternal/logging.d.ts +10 -4
  63. package/vscode/src/vs/base/common/observableInternal/logging.js +310 -1
  64. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +9 -9
  65. package/vscode/src/vs/base/common/observableInternal/utils.js +13 -4
  66. package/vscode/src/vs/base/common/path.js +1 -2
  67. package/vscode/src/vs/base/common/product.d.ts +5 -0
  68. package/vscode/src/vs/base/common/stream.d.ts +1 -1
  69. package/vscode/src/vs/base/common/stream.js +13 -5
  70. package/vscode/src/vs/base/common/strings.d.ts +1 -0
  71. package/vscode/src/vs/base/common/strings.js +19 -9
  72. package/vscode/src/vs/base/common/types.d.ts +2 -1
  73. package/vscode/src/vs/base/common/types.js +9 -4
  74. package/vscode/src/vs/base/common/uuid.js +1 -50
  75. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +2 -1
  76. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +26 -12
  77. package/vscode/src/vs/editor/browser/editorDom.js +3 -3
  78. package/vscode/src/vs/editor/browser/editorExtensions.js +15 -0
  79. package/vscode/src/vs/editor/browser/gpu/atlas/atlas.d.ts +7 -2
  80. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.d.ts +1 -1
  81. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlas.js +34 -27
  82. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlasPage.d.ts +1 -1
  83. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlasPage.js +8 -8
  84. package/vscode/src/vs/editor/browser/gpu/atlas/textureAtlasSlabAllocator.js +3 -3
  85. package/vscode/src/vs/editor/browser/gpu/contentSegmenter.d.ts +7 -0
  86. package/vscode/src/vs/editor/browser/gpu/contentSegmenter.js +49 -0
  87. package/vscode/src/vs/editor/browser/gpu/{decorationCssRuleExtractor.d.ts → css/decorationCssRuleExtractor.d.ts} +1 -1
  88. package/vscode/src/vs/editor/browser/gpu/{decorationCssRuleExtractor.js → css/decorationCssRuleExtractor.js} +2 -2
  89. package/vscode/src/vs/editor/browser/gpu/css/decorationStyleCache.d.ts +15 -0
  90. package/vscode/src/vs/editor/browser/gpu/css/decorationStyleCache.js +37 -0
  91. package/vscode/src/vs/editor/browser/gpu/{media → css/media}/decorationCssRuleExtractor.css.js +1 -1
  92. package/vscode/src/vs/editor/browser/gpu/gpu.d.ts +6 -2
  93. package/vscode/src/vs/editor/browser/gpu/raster/glyphRasterizer.d.ts +5 -2
  94. package/vscode/src/vs/editor/browser/gpu/raster/glyphRasterizer.js +57 -14
  95. package/vscode/src/vs/editor/browser/gpu/raster/raster.d.ts +2 -1
  96. package/vscode/src/vs/editor/browser/gpu/rectangleRenderer.d.ts +4 -1
  97. package/vscode/src/vs/editor/browser/gpu/rectangleRenderer.js +5 -1
  98. package/vscode/src/vs/editor/browser/gpu/renderStrategy/baseRenderStrategy.d.ts +25 -0
  99. package/vscode/src/vs/editor/browser/gpu/renderStrategy/baseRenderStrategy.js +16 -0
  100. package/vscode/src/vs/editor/browser/gpu/{fullFileRenderStrategy.d.ts → renderStrategy/fullFileRenderStrategy.d.ts} +14 -13
  101. package/vscode/src/vs/editor/browser/gpu/{fullFileRenderStrategy.js → renderStrategy/fullFileRenderStrategy.js} +100 -57
  102. package/vscode/src/vs/editor/browser/gpu/{fullFileRenderStrategy.wgsl.js → renderStrategy/fullFileRenderStrategy.wgsl.js} +3 -3
  103. package/vscode/src/vs/editor/browser/gpu/renderStrategy/viewportRenderStrategy.d.ts +40 -0
  104. package/vscode/src/vs/editor/browser/gpu/renderStrategy/viewportRenderStrategy.js +287 -0
  105. package/vscode/src/vs/editor/browser/gpu/taskQueue.d.ts +4 -3
  106. package/vscode/src/vs/editor/browser/gpu/taskQueue.js +17 -2
  107. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.d.ts +8 -9
  108. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +45 -34
  109. package/vscode/src/vs/editor/browser/observableCodeEditor.d.ts +28 -21
  110. package/vscode/src/vs/editor/browser/observableCodeEditor.js +68 -2
  111. package/vscode/src/vs/editor/browser/point.d.ts +9 -0
  112. package/vscode/src/vs/editor/browser/point.js +22 -0
  113. package/vscode/src/vs/editor/browser/rect.d.ts +30 -0
  114. package/vscode/src/vs/editor/browser/rect.js +131 -0
  115. package/vscode/src/vs/editor/browser/services/editorWorkerService.d.ts +1 -1
  116. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +1 -1
  117. package/vscode/src/vs/editor/browser/view/viewLayer.d.ts +1 -1
  118. package/vscode/src/vs/editor/browser/view/viewLayer.js +8 -1
  119. package/vscode/src/vs/editor/browser/view.d.ts +1 -0
  120. package/vscode/src/vs/editor/browser/view.js +9 -5
  121. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLines.js +1 -1
  122. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.d.ts +7 -3
  123. package/vscode/src/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +140 -56
  124. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +1 -0
  125. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +5 -0
  126. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.d.ts +2 -1
  127. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js +8 -1
  128. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.d.ts +1 -0
  129. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +14 -9
  130. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.d.ts +12 -10
  131. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +12 -5
  132. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.d.ts +1 -1
  133. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.d.ts +4 -2
  134. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +29 -7
  135. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.d.ts +28 -28
  136. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.d.ts +2 -2
  137. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +0 -1
  138. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.d.ts +1 -1
  139. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.d.ts +2 -2
  140. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.d.ts +2 -2
  141. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.d.ts +3 -6
  142. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js +3 -10
  143. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +8 -6
  144. package/vscode/src/vs/editor/common/config/editorOptions.js +409 -392
  145. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +71 -71
  146. package/vscode/src/vs/editor/common/core/offsetEdit.d.ts +3 -0
  147. package/vscode/src/vs/editor/common/core/offsetEdit.js +9 -0
  148. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +1 -0
  149. package/vscode/src/vs/editor/common/core/offsetRange.js +3 -0
  150. package/vscode/src/vs/editor/common/core/position.js +1 -1
  151. package/vscode/src/vs/editor/common/core/positionToOffset.d.ts +1 -0
  152. package/vscode/src/vs/editor/common/core/positionToOffset.js +20 -1
  153. package/vscode/src/vs/editor/common/core/range.d.ts +1 -0
  154. package/vscode/src/vs/editor/common/core/range.js +3 -0
  155. package/vscode/src/vs/editor/common/core/textEdit.d.ts +0 -6
  156. package/vscode/src/vs/editor/common/core/textEdit.js +0 -1
  157. package/vscode/src/vs/editor/common/core/textLength.js +1 -1
  158. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +10 -7
  159. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.d.ts +2 -1
  160. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +6 -6
  161. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.d.ts +1 -0
  162. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +20 -0
  163. package/vscode/src/vs/editor/common/diff/linesDiffComputer.d.ts +1 -0
  164. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +1 -1
  165. package/vscode/src/vs/editor/common/diff/rangeMapping.js +1 -22
  166. package/vscode/src/vs/editor/common/editorContextKeys.js +46 -46
  167. package/vscode/src/vs/editor/common/languages/defaultDocumentColorsComputer.js +1 -1
  168. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +5 -5
  169. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  170. package/vscode/src/vs/editor/common/languages.d.ts +21 -25
  171. package/vscode/src/vs/editor/common/languages.js +27 -27
  172. package/vscode/src/vs/editor/common/model/editStack.js +1 -1
  173. package/vscode/src/vs/editor/common/model/textModel.d.ts +1 -0
  174. package/vscode/src/vs/editor/common/model/textModel.js +6 -3
  175. package/vscode/src/vs/editor/common/model/textModelTokens.d.ts +2 -2
  176. package/vscode/src/vs/editor/common/model/textModelTokens.js +11 -18
  177. package/vscode/src/vs/editor/common/model/tokenStore.d.ts +59 -0
  178. package/vscode/src/vs/editor/common/model/tokenStore.js +384 -0
  179. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.d.ts +5 -5
  180. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +10 -15
  181. package/vscode/src/vs/editor/common/model/tokens.d.ts +2 -2
  182. package/vscode/src/vs/editor/common/model/treeSitterTokenStoreService.d.ts +44 -0
  183. package/vscode/src/vs/editor/common/model/treeSitterTokenStoreService.js +114 -0
  184. package/vscode/src/vs/editor/common/model/treeSitterTokens.d.ts +4 -5
  185. package/vscode/src/vs/editor/common/model/treeSitterTokens.js +18 -10
  186. package/vscode/src/vs/editor/common/services/editorSimpleWorker.d.ts +1 -1
  187. package/vscode/src/vs/editor/common/services/editorWorker.d.ts +1 -1
  188. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +1 -2
  189. package/vscode/src/vs/editor/common/services/languageFeaturesService.d.ts +1 -2
  190. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +0 -1
  191. package/vscode/src/vs/editor/common/services/treeSitterParserService.d.ts +18 -5
  192. package/vscode/src/vs/editor/common/standaloneStrings.d.ts +3 -0
  193. package/vscode/src/vs/editor/common/standaloneStrings.js +54 -38
  194. package/vscode/src/vs/editor/common/tokenizationTextModelPart.d.ts +1 -13
  195. package/vscode/src/vs/editor/common/tokenizationTextModelPart.js +1 -13
  196. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +1 -0
  197. package/vscode/src/vs/editor/common/tokens/lineTokens.js +3 -0
  198. package/vscode/src/vs/editor/common/tokens/tokenArray.d.ts +5 -0
  199. package/vscode/src/vs/editor/common/tokens/tokenArray.js +24 -0
  200. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  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 +17 -17
  206. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  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 +1 -0
  212. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  213. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +1 -1
  214. package/vscode/src/vs/editor/contrib/codelens/browser/codelens.d.ts +1 -1
  215. package/vscode/src/vs/editor/contrib/codelens/browser/codelens.js +7 -5
  216. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  217. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.css.js +1 -1
  218. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  219. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  220. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPicker.d.ts +2 -0
  221. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPicker.js +12 -0
  222. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerContribution.d.ts +1 -2
  223. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerContribution.js +2 -9
  224. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +3 -5
  225. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  226. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerParticipant.d.ts +12 -8
  227. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerParticipant.js +41 -41
  228. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerWidget.d.ts +2 -0
  229. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerWidget.js +13 -8
  230. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  231. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  232. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  233. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  234. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +32 -33
  235. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  236. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  237. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  238. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  239. package/vscode/src/vs/editor/contrib/find/browser/findController.d.ts +1 -0
  240. package/vscode/src/vs/editor/contrib/find/browser/findController.js +20 -17
  241. package/vscode/src/vs/editor/contrib/find/browser/findWidget.d.ts +2 -1
  242. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +32 -30
  243. package/vscode/src/vs/editor/contrib/find/browser/replaceWidgetHistory.d.ts +21 -0
  244. package/vscode/src/vs/editor/contrib/find/browser/replaceWidgetHistory.js +76 -0
  245. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -20
  246. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  247. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  248. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  249. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.d.ts +1 -1
  250. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +40 -36
  251. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  252. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +56 -30
  253. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.d.ts +1 -1
  254. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +43 -41
  255. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +3 -2
  256. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +5 -4
  257. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  258. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  259. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  260. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  261. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +5 -5
  262. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.d.ts +1 -3
  263. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +54 -59
  264. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.d.ts +1 -0
  265. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +47 -16
  266. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.d.ts +4 -0
  267. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +27 -15
  268. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidgetWrapper.js +10 -1
  269. package/vscode/src/vs/editor/contrib/hover/browser/glyphHoverWidget.js +2 -1
  270. package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +1 -1
  271. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.d.ts +4 -4
  272. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  273. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.d.ts +1 -0
  274. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +4 -3
  275. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.d.ts +4 -0
  276. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +38 -25
  277. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +2 -1
  278. package/vscode/src/vs/editor/contrib/hover/browser/hoverOperation.js +1 -0
  279. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.d.ts +4 -1
  280. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.d.ts +3 -1
  281. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +65 -33
  282. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  283. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  284. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  285. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  286. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.d.ts +2 -2
  287. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +38 -24
  288. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.d.ts +1 -0
  289. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +11 -10
  290. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.d.ts +7 -3
  291. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +50 -7
  292. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +8 -7
  293. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  294. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.d.ts +2 -2
  295. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/computeGhostText.d.ts +2 -0
  296. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/computeGhostText.js +1 -1
  297. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +18 -19
  298. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +55 -27
  299. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +22 -7
  300. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +199 -21
  301. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineEditsAdapter.js +3 -0
  302. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +5 -1
  303. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +38 -15
  304. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.d.ts +1 -1
  305. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.d.ts +1 -0
  306. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +10 -10
  307. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.d.ts +16 -3
  308. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +65 -30
  309. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.d.ts +6 -5
  310. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +7 -6
  311. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/deletionView.d.ts +29 -0
  312. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/deletionView.js +141 -0
  313. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/gutterIndicatorMenu.d.ts +19 -0
  314. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/gutterIndicatorMenu.js +143 -0
  315. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/gutterIndicatorView.d.ts +37 -0
  316. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/gutterIndicatorView.js +259 -0
  317. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/{inlineEditsIndicatorView.d.ts → indicatorView.d.ts} +1 -2
  318. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/{inlineEditsIndicatorView.js → indicatorView.js} +9 -8
  319. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineDiffView.d.ts +5 -2
  320. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineDiffView.js +39 -19
  321. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/insertionView.d.ts +32 -0
  322. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/insertionView.js +204 -0
  323. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/sideBySideDiff.d.ts +71 -0
  324. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/sideBySideDiff.js +584 -0
  325. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils.d.ts +123 -12
  326. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils.js +348 -20
  327. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css.js +6 -0
  328. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.d.ts +41 -0
  329. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.js +365 -0
  330. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/{inlineEditsViewAndDiffProducer.d.ts → viewAndDiffProducer.d.ts} +7 -13
  331. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/viewAndDiffProducer.js +92 -0
  332. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/wordReplacementView.d.ts +58 -0
  333. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/wordReplacementView.js +520 -0
  334. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  335. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +30 -30
  336. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  337. package/vscode/src/vs/editor/contrib/links/browser/getLinks.d.ts +1 -0
  338. package/vscode/src/vs/editor/contrib/links/browser/getLinks.js +16 -12
  339. package/vscode/src/vs/editor/contrib/links/browser/links.d.ts +1 -0
  340. package/vscode/src/vs/editor/contrib/links/browser/links.js +13 -10
  341. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  342. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  343. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  344. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +5 -5
  345. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.d.ts +1 -2
  346. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +18 -26
  347. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  348. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  349. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
  350. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  351. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  352. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  353. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  354. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  355. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.d.ts +2 -3
  356. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +19 -15
  357. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.d.ts +14 -0
  358. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +48 -19
  359. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.d.ts +7 -0
  360. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +25 -6
  361. package/vscode/src/vs/editor/contrib/suggest/browser/media/suggest.css.js +1 -1
  362. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  363. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  364. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +20 -20
  365. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +9 -7
  366. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.d.ts +0 -1
  367. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -7
  368. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +5 -1
  369. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  370. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  371. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  372. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  373. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  374. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  375. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  376. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  377. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.d.ts +2 -2
  378. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +8 -3
  379. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.d.ts +4 -0
  380. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -0
  381. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +2 -1
  382. package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterService.d.ts +3 -7
  383. package/vscode/src/vs/editor/standalone/browser/standaloneTreeSitterService.js +1 -1
  384. package/vscode/src/vs/nls.js +1 -1
  385. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +3 -2
  386. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +1 -0
  387. package/vscode/src/vs/platform/accessibility/browser/accessibleViewRegistry.d.ts +4 -4
  388. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +52 -52
  389. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  390. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +4 -4
  391. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  392. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.d.ts +39 -0
  393. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +145 -0
  394. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.d.ts +1 -0
  395. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +6 -6
  396. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  397. package/vscode/src/vs/platform/actions/common/actions.d.ts +4 -1
  398. package/vscode/src/vs/platform/actions/common/actions.js +9 -6
  399. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  400. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  401. package/vscode/src/vs/platform/commands/common/commands.js +2 -2
  402. package/vscode/src/vs/platform/configuration/common/configuration.d.ts +4 -1
  403. package/vscode/src/vs/platform/configuration/common/configuration.js +3 -0
  404. package/vscode/src/vs/platform/configuration/common/configurationModels.d.ts +2 -2
  405. package/vscode/src/vs/platform/configuration/common/configurationModels.js +39 -21
  406. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +9 -4
  407. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +25 -15
  408. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  409. package/vscode/src/vs/platform/contextkey/common/contextkey.js +11 -11
  410. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  411. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  412. package/vscode/src/vs/platform/contextview/browser/contextView.service.d.ts +2 -2
  413. package/vscode/src/vs/platform/dialogs/common/dialogs.service.d.ts +1 -1
  414. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  415. package/vscode/src/vs/platform/environment/common/argv.d.ts +2 -0
  416. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +1 -1
  417. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +5 -3
  418. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +17 -6
  419. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +5 -5
  420. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.d.ts +2 -1
  421. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +10 -1
  422. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  423. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.d.ts +3 -5
  424. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +8 -13
  425. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.service.d.ts +2 -2
  426. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.d.ts +20 -14
  427. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +127 -125
  428. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.service.d.ts +8 -9
  429. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +20 -20
  430. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +56 -25
  431. package/vscode/src/vs/platform/extensions/common/extensions.js +8 -1
  432. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +11 -8
  433. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +12 -9
  434. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  435. package/vscode/src/vs/platform/files/common/files.js +6 -6
  436. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  437. package/vscode/src/vs/platform/instantiation/common/extensions.d.ts +3 -2
  438. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  439. package/vscode/src/vs/platform/label/common/label.service.d.ts +2 -1
  440. package/vscode/src/vs/platform/languagePacks/common/languagePacks.service.d.ts +1 -1
  441. package/vscode/src/vs/platform/list/browser/listService.d.ts +1 -0
  442. package/vscode/src/vs/platform/list/browser/listService.js +27 -27
  443. package/vscode/src/vs/platform/log/common/log.d.ts +6 -0
  444. package/vscode/src/vs/platform/log/common/log.js +18 -9
  445. package/vscode/src/vs/platform/markers/common/markers.js +3 -3
  446. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css.js +1 -1
  447. package/vscode/src/vs/platform/quickinput/browser/quickInput.d.ts +5 -0
  448. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +19 -9
  449. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +3 -3
  450. package/vscode/src/vs/platform/quickinput/browser/quickInputController.d.ts +11 -1
  451. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +241 -12
  452. package/vscode/src/vs/platform/quickinput/browser/quickInputService.d.ts +4 -0
  453. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +3 -0
  454. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
  455. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  456. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +2 -1
  457. package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +4 -0
  458. package/vscode/src/vs/platform/request/common/request.d.ts +2 -2
  459. package/vscode/src/vs/platform/request/common/request.js +171 -112
  460. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.d.ts +2 -0
  461. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +3 -1
  462. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -2
  463. package/vscode/src/vs/platform/terminal/common/terminal.js +5 -1
  464. package/vscode/src/vs/platform/terminal/common/terminal.service.d.ts +1 -1
  465. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  466. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +17 -17
  467. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  468. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +96 -96
  469. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +45 -45
  470. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  471. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  472. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  473. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +15 -15
  474. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  475. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  476. package/vscode/src/vs/platform/theme/common/iconRegistry.d.ts +7 -0
  477. package/vscode/src/vs/platform/theme/common/iconRegistry.js +17 -7
  478. package/vscode/src/vs/platform/theme/common/theme.d.ts +6 -0
  479. package/vscode/src/vs/platform/theme/common/theme.js +8 -1
  480. package/vscode/src/vs/platform/theme/common/themeService.d.ts +12 -3
  481. package/vscode/src/vs/platform/theme/common/themeService.js +5 -5
  482. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  483. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  484. package/vscode/src/vs/platform/userDataSync/common/userDataSync.d.ts +7 -5
  485. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  486. package/vscode/src/vs/platform/userDataSync/common/userDataSync.service.d.ts +3 -3
  487. package/vscode/src/vs/platform/window/common/window.d.ts +6 -1
  488. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  489. package/vscode/src/vs/platform/workspaces/common/workspaces.service.d.ts +2 -2
  490. package/vscode/src/vs/workbench/api/browser/statusBarService.d.ts +3 -2
  491. package/vscode/src/vs/workbench/api/browser/statusBarService.js +3 -2
  492. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +10 -14
  493. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +18 -11
  494. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +1 -20
  495. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +2 -0
  496. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +37 -10
  497. package/vscode/src/vs/workbench/api/common/extHostCodeMapper.js +4 -18
  498. package/vscode/src/vs/workbench/api/common/extHostCommands.d.ts +2 -2
  499. package/vscode/src/vs/workbench/api/common/extHostCommands.js +1 -1
  500. package/vscode/src/vs/workbench/api/common/extHostComments.js +3 -5
  501. package/vscode/src/vs/workbench/api/common/extHostConfiguration.d.ts +16 -0
  502. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +4 -0
  503. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +1 -1
  504. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  505. package/vscode/src/vs/workbench/api/common/extHostDialogs.d.ts +1 -2
  506. package/vscode/src/vs/workbench/api/common/extHostDialogs.js +1 -5
  507. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  508. package/vscode/src/vs/workbench/api/common/extHostLabelService.d.ts +1 -1
  509. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +0 -2
  510. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +29 -65
  511. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.d.ts +3 -2
  512. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +33 -13
  513. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +3 -2
  514. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  515. package/vscode/src/vs/workbench/api/common/extHostMemento.js +6 -1
  516. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  517. package/vscode/src/vs/workbench/api/common/extHostSCM.js +2 -1
  518. package/vscode/src/vs/workbench/api/common/extHostStatusBar.d.ts +10 -2
  519. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +47 -7
  520. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +12 -8
  521. package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +3 -1
  522. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +67 -6
  523. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.d.ts +1 -0
  524. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +18 -1
  525. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +2 -2
  526. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +1 -1
  527. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  528. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +4 -13
  529. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +7 -61
  530. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +24 -3
  531. package/vscode/src/vs/workbench/api/common/extHostTypes.js +37 -5
  532. package/vscode/src/vs/workbench/api/common/extHostVariableResolverService.js +22 -2
  533. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +1 -1
  534. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +3 -2
  535. package/vscode/src/vs/workbench/api/common/extensionHostMain.js +17 -8
  536. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +12 -12
  537. package/vscode/src/vs/workbench/browser/actions/developerActions.js +31 -31
  538. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  539. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.d.ts +12 -0
  540. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +247 -0
  541. package/vscode/src/vs/workbench/common/activity.d.ts +2 -0
  542. package/vscode/src/vs/workbench/common/activity.js +6 -0
  543. package/vscode/src/vs/workbench/common/configuration.js +12 -12
  544. package/vscode/src/vs/workbench/common/contextkeys.js +70 -70
  545. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +1 -1
  546. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.d.ts +44 -0
  547. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +166 -0
  548. package/vscode/src/vs/workbench/common/editor.d.ts +1 -1
  549. package/vscode/src/vs/workbench/common/editor.js +4 -4
  550. package/vscode/src/vs/workbench/common/theme.js +159 -164
  551. package/vscode/src/vs/workbench/common/views.js +4 -4
  552. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.d.ts +2 -1
  553. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +152 -142
  554. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +14 -14
  555. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.d.ts +1 -0
  556. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +16 -1
  557. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.d.ts +28 -0
  558. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +521 -0
  559. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.d.ts +3 -0
  560. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +20 -0
  561. package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +136 -0
  562. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +51 -0
  563. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +3 -3
  564. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentParts.d.ts +2 -2
  565. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service.d.ts +8 -0
  566. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service.js +6 -0
  567. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditing.d.ts +4 -0
  568. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditing.js +15 -0
  569. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorActions.d.ts +23 -0
  570. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorActions.js +309 -0
  571. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorController.d.ts +81 -0
  572. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorController.js +681 -0
  573. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.d.ts +57 -0
  574. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +169 -0
  575. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorOverlay.d.ts +20 -0
  576. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorOverlay.js +296 -0
  577. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotasService.d.ts +41 -0
  578. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotasService.js +198 -0
  579. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuotasService.service.d.ts +1 -1
  580. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/screenshot.d.ts +3 -0
  581. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/screenshot.js +15 -0
  582. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditorController.css.js +6 -0
  583. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatEditorOverlay.css.js +6 -0
  584. package/vscode/src/vs/workbench/contrib/chat/common/annotations.d.ts +20 -0
  585. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +134 -0
  586. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.d.ts +16 -4
  587. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +48 -5
  588. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.d.ts +4 -0
  589. package/vscode/src/vs/workbench/contrib/chat/common/chatCodeMapperService.service.d.ts +1 -2
  590. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.d.ts +15 -3
  591. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +61 -29
  592. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.d.ts +19 -3
  593. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.js +17 -2
  594. package/vscode/src/vs/workbench/contrib/chat/common/chatEditingService.service.d.ts +3 -4
  595. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.d.ts +444 -0
  596. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +991 -0
  597. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.d.ts +112 -0
  598. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +181 -0
  599. package/vscode/src/vs/workbench/contrib/chat/common/chatParticipantContribTypes.d.ts +35 -0
  600. package/vscode/src/vs/workbench/contrib/chat/common/chatParticipantContribTypes.js +5 -0
  601. package/vscode/src/vs/workbench/contrib/chat/common/chatService.d.ts +6 -1
  602. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +1 -2
  603. package/vscode/src/vs/workbench/contrib/chat/common/chatService.service.d.ts +3 -3
  604. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.d.ts +1 -1
  605. package/vscode/src/vs/workbench/contrib/chat/common/chatVariables.service.d.ts +2 -2
  606. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.d.ts +234 -0
  607. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +375 -0
  608. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.service.d.ts +1 -1
  609. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.d.ts +8 -0
  610. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +38 -0
  611. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.d.ts +12 -0
  612. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +42 -0
  613. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.d.ts +3 -0
  614. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.d.ts +1 -0
  615. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +10 -5
  616. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +7 -7
  617. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contentProviders/types.d.ts +9 -0
  618. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/types.d.ts +27 -0
  619. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.d.ts +34 -0
  620. package/vscode/src/vs/workbench/contrib/chat/common/tools/editFileTool.js +168 -0
  621. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +13 -13
  622. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  623. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.d.ts +2 -2
  624. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  625. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  626. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  627. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.d.ts +1 -1
  628. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  629. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  630. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  631. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  632. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  633. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -19
  634. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.service.d.ts +1 -1
  635. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.d.ts +2 -2
  636. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  637. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.d.ts +1 -0
  638. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +14 -10
  639. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  640. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +4 -0
  641. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +64 -64
  642. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.service.d.ts +1 -1
  643. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +167 -0
  644. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +85 -0
  645. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.service.d.ts +1 -2
  646. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  647. package/vscode/src/vs/workbench/contrib/files/browser/files.service.d.ts +2 -2
  648. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  649. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  650. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  651. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +2 -2
  652. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  653. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +10 -0
  654. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +4 -3
  655. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  656. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  657. package/vscode/src/vs/workbench/contrib/logs/common/defaultLogLevels.service.d.ts +0 -1
  658. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.service.d.ts +1 -1
  659. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatEditContext.d.ts +2 -0
  660. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookChatEditContext.js +7 -0
  661. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chatEdit/notebookSynchronizer.service.d.ts +1 -1
  662. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.d.ts +602 -0
  663. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +143 -0
  664. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorService.service.d.ts +2 -2
  665. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.d.ts +6 -4
  666. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +2 -0
  667. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.d.ts +60 -0
  668. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +316 -0
  669. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.d.ts +1 -1
  670. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionService.service.d.ts +1 -1
  671. package/vscode/src/vs/workbench/contrib/notebook/common/notebookExecutionStateService.service.d.ts +1 -1
  672. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.d.ts +13 -0
  673. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +73 -0
  674. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.d.ts +36 -0
  675. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.js +11 -0
  676. package/vscode/src/vs/workbench/contrib/notebook/common/notebookService.service.d.ts +3 -3
  677. package/vscode/src/vs/workbench/contrib/notebook/common/notebookSynchronizerService.service.d.ts +1 -1
  678. package/vscode/src/vs/workbench/contrib/scm/browser/quickDiffModel.service.d.ts +8 -0
  679. package/vscode/src/vs/workbench/contrib/scm/browser/{diff.service.js → quickDiffModel.service.js} +2 -2
  680. package/vscode/src/vs/workbench/contrib/scm/common/history.d.ts +5 -1
  681. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.d.ts +30 -1
  682. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +95 -0
  683. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.d.ts +17 -0
  684. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +82 -0
  685. package/vscode/src/vs/workbench/contrib/scm/common/scm.service.d.ts +1 -1
  686. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  687. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  688. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  689. package/vscode/src/vs/workbench/contrib/speech/common/speechService.d.ts +2 -1
  690. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +30 -29
  691. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  692. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +3 -3
  693. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +3 -0
  694. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +3 -2
  695. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.service.d.ts +2 -2
  696. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  697. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.service.d.ts +1 -1
  698. package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.service.d.ts +1 -1
  699. package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +1 -0
  700. package/vscode/src/vs/workbench/contrib/testing/common/testId.js +3 -0
  701. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  702. package/vscode/src/vs/workbench/contrib/webview/browser/webview.service.d.ts +1 -1
  703. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.service.d.ts +2 -2
  704. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.d.ts +1 -0
  705. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  706. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.d.ts +1 -0
  707. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +26 -15
  708. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  709. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +5 -1
  710. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +10 -4
  711. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.service.d.ts +1 -1
  712. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.service.d.ts +1 -1
  713. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.service.d.ts +1 -1
  714. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +3 -2
  715. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +83 -83
  716. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.service.d.ts +1 -1
  717. package/vscode/src/vs/workbench/services/language/common/languageService.js +28 -28
  718. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +63 -0
  719. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +164 -0
  720. package/vscode/src/vs/workbench/services/layout/browser/layoutService.service.d.ts +1 -1
  721. package/vscode/src/vs/workbench/services/localization/common/locale.service.d.ts +1 -1
  722. package/vscode/src/vs/workbench/services/log/common/logConstants.d.ts +2 -0
  723. package/vscode/src/vs/workbench/services/log/common/logConstants.js +3 -1
  724. package/vscode/src/vs/workbench/services/outline/browser/outline.service.d.ts +1 -1
  725. package/vscode/src/vs/workbench/services/output/common/output.d.ts +51 -8
  726. package/vscode/src/vs/workbench/services/output/common/output.js +30 -4
  727. package/vscode/src/vs/workbench/services/output/common/output.service.d.ts +8 -1
  728. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.service.d.ts +1 -1
  729. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +2 -2
  730. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  731. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  732. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  733. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +9 -4
  734. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.js +5 -1
  735. package/vscode/src/vs/workbench/services/textfile/common/textfiles.service.d.ts +1 -1
  736. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +22 -22
  737. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +15 -21
  738. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.service.d.ts +21 -2
  739. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.service.d.ts +3 -3
  740. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +11 -11
  741. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.d.ts +1 -1
  742. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackup.service.d.ts +1 -1
  743. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyEditorService.service.d.ts +1 -1
  744. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +1 -1
  745. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.service.d.ts +1 -1
  746. package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.d.ts +1 -1
  747. package/vscode-dts/vscode.d.ts +375 -32
  748. package/vscode-dts/vscode.proposed.aiRelatedInformation.d.ts +1 -1
  749. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +11 -0
  750. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +9 -0
  751. package/vscode-dts/vscode.proposed.chatProvider.d.ts +4 -0
  752. package/vscode-dts/vscode.proposed.chatReadonlyPromptReference.d.ts +17 -0
  753. package/vscode-dts/vscode.proposed.chatReferenceBinaryData.d.ts +5 -0
  754. package/vscode-dts/vscode.proposed.d.ts +132 -131
  755. package/vscode-dts/vscode.proposed.externalUriOpener.d.ts +3 -3
  756. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +2 -0
  757. package/vscode-dts/vscode.proposed.inlineEdit.d.ts +14 -3
  758. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +21 -1
  759. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +3 -3
  760. package/vscode-dts/vscode.proposed.quickDiffProvider.d.ts +1 -1
  761. package/vscode-dts/vscode.proposed.resolvers.d.ts +3 -3
  762. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +4 -2
  763. package/vscode-dts/vscode.proposed.statusBarItemTooltip.d.ts +19 -0
  764. package/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts +10 -0
  765. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +2 -2
  766. package/vscode-dts/vscode.proposed.terminalShellEnv.d.ts +18 -0
  767. package/vscode-dts/vscode.proposed.terminalShellType.d.ts +40 -0
  768. package/vscode/src/vs/base/common/observableInternal/index.js +0 -8
  769. package/vscode/src/vs/base/common/observableInternal/promise.d.ts +0 -28
  770. package/vscode/src/vs/base/common/observableInternal/promise.js +0 -65
  771. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.css.js +0 -6
  772. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.d.ts +0 -45
  773. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +0 -426
  774. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewAndDiffProducer.js +0 -116
  775. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingService.service.d.ts +0 -6
  776. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingService.service.js +0 -6
  777. package/vscode/src/vs/workbench/contrib/mappedEdits/common/mappedEdits.contribution.d.ts +0 -1
  778. package/vscode/src/vs/workbench/contrib/mappedEdits/common/mappedEdits.contribution.js +0 -24
  779. package/vscode/src/vs/workbench/contrib/output/common/outputChannelModelService.service.d.ts +0 -8
  780. package/vscode/src/vs/workbench/contrib/output/common/outputChannelModelService.service.js +0 -6
  781. package/vscode/src/vs/workbench/contrib/scm/browser/diff.service.d.ts +0 -9
  782. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.d.ts +0 -22
  783. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +0 -66
  784. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.d.ts +0 -155
  785. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +0 -1454
  786. package/vscode/src/vs/workbench/contrib/scm/browser/media/dirtydiffDecorator.css.js +0 -6
  787. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +0 -164
  788. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +0 -74
  789. package/vscode/src/vs/workbench/services/themes/common/productIconThemeSchema.d.ts +0 -8
  790. package/vscode/src/vs/workbench/services/themes/common/productIconThemeSchema.js +0 -93
  791. package/vscode-dts/vscode.proposed.documentPaste.d.ts +0 -316
  792. package/vscode-dts/vscode.proposed.fileComments.d.ts +0 -42
  793. package/vscode-dts/vscode.proposed.showLocal.d.ts +0 -19
  794. /package/vscode/src/vs/editor/browser/gpu/{fullFileRenderStrategy.wgsl.d.ts → renderStrategy/fullFileRenderStrategy.wgsl.d.ts} +0 -0
@@ -1,1454 +0,0 @@
1
-
2
- import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
3
- import { localize, localize2 } from '../../../../nls.js';
4
- import './media/dirtydiffDecorator.css.js';
5
- import { ThrottledDelayer } from '../../../../base/common/async.js';
6
- import { Disposable, DisposableStore, toDisposable, dispose } from '../../../../base/common/lifecycle.js';
7
- import { Event, Emitter } from '../../../../base/common/event.js';
8
- import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
9
- import { ITextModelService } from '../../../../editor/common/services/resolverService.js';
10
- import { IEditorWorkerService } from '../../../../editor/common/services/editorWorker.js';
11
- import { IConfigurationService } from '../../../../platform/configuration/common/configuration.service.js';
12
- import { ISCMService } from '../common/scm.service.js';
13
- import { ModelDecorationOptions } from '../../../../editor/common/model/textModel.js';
14
- import { themeColorFromId } from '../../../../platform/theme/common/themeService.js';
15
- import { IThemeService } from '../../../../platform/theme/common/themeService.service.js';
16
- import { registerColor, transparent } from '../../../../platform/theme/common/colorUtils.js';
17
- import '../../../../platform/theme/common/colors/baseColors.js';
18
- import '../../../../platform/theme/common/colors/chartsColors.js';
19
- import { editorErrorForeground } from '../../../../platform/theme/common/colors/editorColors.js';
20
- import '../../../../platform/theme/common/colors/inputColors.js';
21
- import '../../../../platform/theme/common/colors/listColors.js';
22
- import '../../../../platform/theme/common/colors/menuColors.js';
23
- import '../../../../platform/theme/common/colors/minimapColors.js';
24
- import '../../../../platform/theme/common/colors/miscColors.js';
25
- import '../../../../platform/theme/common/colors/quickpickColors.js';
26
- import '../../../../platform/theme/common/colors/searchColors.js';
27
- import { MouseTargetType, isCodeEditor } from '../../../../editor/browser/editorBrowser.js';
28
- import { EditorAction, registerEditorAction, registerEditorContribution, EditorContributionInstantiation } from '../../../../editor/browser/editorExtensions.js';
29
- import { getOuterEditor, PeekViewWidget, peekViewBorder, peekViewTitleInfoForeground, peekViewTitleForeground, peekViewTitleBackground } from '../../../../editor/contrib/peekView/browser/peekView.js';
30
- import { RawContextKey, ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';
31
- import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.service.js';
32
- import { EditorContextKeys } from '../../../../editor/common/editorContextKeys.js';
33
- import { KeyMod as KeyMod$1, KeyCode } from '../../../../base/common/keyCodes.js';
34
- import { Position } from '../../../../editor/common/core/position.js';
35
- import { rot } from '../../../../base/common/numbers.js';
36
- import { KeybindingWeight, KeybindingsRegistry } from '../../../../platform/keybinding/common/keybindingsRegistry.js';
37
- import { EmbeddedDiffEditorWidget } from '../../../../editor/browser/widget/diffEditor/embeddedDiffEditorWidget.js';
38
- import { EditorOption } from '../../../../editor/common/config/editorOptions.js';
39
- import { ActionRunner, Action } from '../../../../base/common/actions.js';
40
- import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.service.js';
41
- import { basename } from '../../../../base/common/resources.js';
42
- import { MenuItemAction, MenuId, MenuRegistry } from '../../../../platform/actions/common/actions.js';
43
- import { IMenuService } from '../../../../platform/actions/common/actions.service.js';
44
- import { getFlatActionBarActions } from '../../../../platform/actions/browser/menuEntryActionViewItem.js';
45
- import { ScrollType } from '../../../../editor/common/editorCommon.js';
46
- import { OverviewRulerLane, MinimapPosition, shouldSynchronizeModel } from '../../../../editor/common/model.js';
47
- import { sortedDiff, equals } from '../../../../base/common/arrays.js';
48
- import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js';
49
- import { prepend, $ } from '../../../../base/browser/dom.js';
50
- import { createStyleSheet } from '../../../../base/browser/domStylesheets.js';
51
- import { isTextFileEditorModel, EncodingMode } from '../../../services/textfile/common/textfiles.js';
52
- import { ITextFileService } from '../../../services/textfile/common/textfiles.service.js';
53
- import { gotoPreviousLocation, gotoNextLocation } from '../../../../platform/theme/common/iconRegistry.js';
54
- import { Codicon } from '../../../../base/common/codicons.js';
55
- import { ThemeIcon } from '../../../../base/common/themables.js';
56
- import { onUnexpectedError } from '../../../../base/common/errors.js';
57
- import { TextCompareEditorActiveContext } from '../../../common/contextkeys.js';
58
- import { ProgressLocation } from '../../../../platform/progress/common/progress.js';
59
- import { IProgressService } from '../../../../platform/progress/common/progress.service.js';
60
- import { Color } from '../../../../base/common/color.js';
61
- import { ResourceMap } from '../../../../base/common/map.js';
62
- import { IEditorService } from '../../../services/editor/common/editorService.service.js';
63
- import { AccessibilitySignal } from '../../../../platform/accessibilitySignal/browser/accessibilitySignalService.js';
64
- import { IAccessibilitySignalService } from '../../../../platform/accessibilitySignal/browser/accessibilitySignalService.service.js';
65
- import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.service.js';
66
- import { IQuickDiffService } from '../common/quickDiff.service.js';
67
- import { SwitchQuickDiffViewItem, SwitchQuickDiffBaseAction } from './dirtyDiffSwitcher.js';
68
- import { WorkingSetEntryState } from '../../chat/common/chatEditingService.js';
69
- import { IChatEditingService } from '../../chat/common/chatEditingService.service.js';
70
- import { lineRangeMappingFromChanges } from '../../../../editor/common/diff/rangeMapping.js';
71
- import { DiffState } from '../../../../editor/browser/widget/diffEditor/diffEditorViewModel.js';
72
- import { toLineChanges } from '../../../../editor/browser/widget/diffEditor/diffEditorWidget.js';
73
-
74
- var DirtyDiffController_1, DirtyDiffDecorator_1;
75
- class DiffActionRunner extends ActionRunner {
76
- runAction(action, context) {
77
- if (action instanceof MenuItemAction) {
78
- return action.run(...context);
79
- }
80
- return super.runAction(action, context);
81
- }
82
- }
83
- const isDirtyDiffVisible = ( new RawContextKey('dirtyDiffVisible', false));
84
- function getChangeHeight(change) {
85
- const modified = change.modifiedEndLineNumber - change.modifiedStartLineNumber + 1;
86
- const original = change.originalEndLineNumber - change.originalStartLineNumber + 1;
87
- if (change.originalEndLineNumber === 0) {
88
- return modified;
89
- }
90
- else if (change.modifiedEndLineNumber === 0) {
91
- return original;
92
- }
93
- else {
94
- return modified + original;
95
- }
96
- }
97
- function getModifiedEndLineNumber(change) {
98
- if (change.modifiedEndLineNumber === 0) {
99
- return change.modifiedStartLineNumber === 0 ? 1 : change.modifiedStartLineNumber;
100
- }
101
- else {
102
- return change.modifiedEndLineNumber;
103
- }
104
- }
105
- function lineIntersectsChange(lineNumber, change) {
106
- if (lineNumber === 1 && change.modifiedStartLineNumber === 0 && change.modifiedEndLineNumber === 0) {
107
- return true;
108
- }
109
- return lineNumber >= change.modifiedStartLineNumber && lineNumber <= (change.modifiedEndLineNumber || change.modifiedStartLineNumber);
110
- }
111
- let UIEditorAction = class UIEditorAction extends Action {
112
- constructor(editor, action, cssClass, keybindingService, instantiationService) {
113
- const keybinding = keybindingService.lookupKeybinding(action.id);
114
- const label = action.label + (keybinding ? ` (${keybinding.getLabel()})` : '');
115
- super(action.id, label, cssClass);
116
- this.instantiationService = instantiationService;
117
- this.action = action;
118
- this.editor = editor;
119
- }
120
- run() {
121
- return Promise.resolve(this.instantiationService.invokeFunction(accessor => this.action.run(accessor, this.editor, null)));
122
- }
123
- };
124
- UIEditorAction = ( __decorate([
125
- ( __param(3, IKeybindingService)),
126
- ( __param(4, IInstantiationService))
127
- ], UIEditorAction));
128
- var ChangeType;
129
- (function (ChangeType) {
130
- ChangeType[ChangeType["Modify"] = 0] = "Modify";
131
- ChangeType[ChangeType["Add"] = 1] = "Add";
132
- ChangeType[ChangeType["Delete"] = 2] = "Delete";
133
- })(ChangeType || (ChangeType = {}));
134
- function getChangeType(change) {
135
- if (change.originalEndLineNumber === 0) {
136
- return ChangeType.Add;
137
- }
138
- else if (change.modifiedEndLineNumber === 0) {
139
- return ChangeType.Delete;
140
- }
141
- else {
142
- return ChangeType.Modify;
143
- }
144
- }
145
- function getChangeTypeColor(theme, changeType) {
146
- switch (changeType) {
147
- case ChangeType.Modify: return theme.getColor(editorGutterModifiedBackground);
148
- case ChangeType.Add: return theme.getColor(editorGutterAddedBackground);
149
- case ChangeType.Delete: return theme.getColor(editorGutterDeletedBackground);
150
- }
151
- }
152
- function getOuterEditorFromDiffEditor(accessor) {
153
- const diffEditors = accessor.get(ICodeEditorService).listDiffEditors();
154
- for (const diffEditor of diffEditors) {
155
- if (diffEditor.hasTextFocus() && diffEditor instanceof EmbeddedDiffEditorWidget) {
156
- return diffEditor.getParentEditor();
157
- }
158
- }
159
- return getOuterEditor(accessor);
160
- }
161
- let DirtyDiffWidget = class DirtyDiffWidget extends PeekViewWidget {
162
- constructor(editor, model, themeService, instantiationService, menuService, contextKeyService) {
163
- super(editor, { isResizeable: true, frameWidth: 1, keepEditorSelection: true, className: 'dirty-diff' }, instantiationService);
164
- this.model = model;
165
- this.themeService = themeService;
166
- this.menuService = menuService;
167
- this.contextKeyService = contextKeyService;
168
- this._index = 0;
169
- this._provider = '';
170
- this.height = undefined;
171
- this._disposables.add(themeService.onDidColorThemeChange(this._applyTheme, this));
172
- this._applyTheme(themeService.getColorTheme());
173
- if (this.model.original.length > 0) {
174
- contextKeyService = contextKeyService.createOverlay([['originalResourceScheme', this.model.original[0].uri.scheme], ['originalResourceSchemes', ( this.model.original.map(original => original.uri.scheme))]]);
175
- }
176
- this.create();
177
- if (editor.hasModel()) {
178
- this.title = basename(editor.getModel().uri);
179
- }
180
- else {
181
- this.title = '';
182
- }
183
- this.setTitle(this.title);
184
- }
185
- get provider() {
186
- return this._provider;
187
- }
188
- get index() {
189
- return this._index;
190
- }
191
- get visibleRange() {
192
- const visibleRanges = this.diffEditor.getModifiedEditor().getVisibleRanges();
193
- return visibleRanges.length >= 0 ? visibleRanges[0] : undefined;
194
- }
195
- showChange(index, usePosition = true) {
196
- const labeledChange = this.model.changes[index];
197
- const change = labeledChange.change;
198
- this._index = index;
199
- this.contextKeyService.createKey('originalResourceScheme', this.model.changes[index].uri.scheme);
200
- this.updateActions();
201
- this._provider = labeledChange.label;
202
- this.change = change;
203
- const originalModel = this.model.original;
204
- if (!originalModel) {
205
- return;
206
- }
207
- const onFirstDiffUpdate = Event.once(this.diffEditor.onDidUpdateDiff);
208
- onFirstDiffUpdate(() => setTimeout(() => this.revealChange(change), 0));
209
- const diffEditorModel = this.model.getDiffEditorModel(( labeledChange.uri.toString()));
210
- if (!diffEditorModel) {
211
- return;
212
- }
213
- this.diffEditor.setModel(diffEditorModel);
214
- this.dropdown?.setSelection(labeledChange.label);
215
- const position = ( new Position(getModifiedEndLineNumber(change), 1));
216
- const lineHeight = this.editor.getOption(EditorOption.lineHeight);
217
- const editorHeight = this.editor.getLayoutInfo().height;
218
- const editorHeightInLines = Math.floor(editorHeight / lineHeight);
219
- const height = Math.min(getChangeHeight(change) + 8, Math.floor(editorHeightInLines / 3));
220
- this.renderTitle(labeledChange.label);
221
- const changeType = getChangeType(change);
222
- const changeTypeColor = getChangeTypeColor(this.themeService.getColorTheme(), changeType);
223
- this.style({ frameColor: changeTypeColor, arrowColor: changeTypeColor });
224
- const providerSpecificChanges = [];
225
- let contextIndex = index;
226
- for (const change of this.model.changes) {
227
- if (change.label === this.model.changes[this._index].label) {
228
- providerSpecificChanges.push(change.change);
229
- if (labeledChange === change) {
230
- contextIndex = providerSpecificChanges.length - 1;
231
- }
232
- }
233
- }
234
- this._actionbarWidget.context = [diffEditorModel.modified.uri, providerSpecificChanges, contextIndex];
235
- if (usePosition) {
236
- this.show(position, height);
237
- this.editor.setPosition(position);
238
- this.editor.focus();
239
- }
240
- }
241
- renderTitle(label) {
242
- const providerChanges = this.model.mapChanges.get(label);
243
- const providerIndex = providerChanges.indexOf(this._index);
244
- let detail;
245
- if (!this.shouldUseDropdown()) {
246
- detail = this.model.changes.length > 1
247
- ? ( localize(
248
- 8429,
249
- "{0} - {1} of {2} changes",
250
- label,
251
- providerIndex + 1,
252
- providerChanges.length
253
- ))
254
- : ( localize(
255
- 8430,
256
- "{0} - {1} of {2} change",
257
- label,
258
- providerIndex + 1,
259
- providerChanges.length
260
- ));
261
- this.dropdownContainer.style.display = 'none';
262
- }
263
- else {
264
- detail = this.model.changes.length > 1
265
- ? ( localize(8431, "{0} of {1} changes", providerIndex + 1, providerChanges.length))
266
- : ( localize(8432, "{0} of {1} change", providerIndex + 1, providerChanges.length));
267
- this.dropdownContainer.style.display = 'inherit';
268
- }
269
- this.setTitle(this.title, detail);
270
- }
271
- switchQuickDiff(event) {
272
- const newProvider = event?.provider;
273
- if (newProvider === this.model.changes[this._index].label) {
274
- return;
275
- }
276
- let closestGreaterIndex = this._index < this.model.changes.length - 1 ? this._index + 1 : 0;
277
- for (let i = closestGreaterIndex; i !== this._index; i < this.model.changes.length - 1 ? i++ : i = 0) {
278
- if (this.model.changes[i].label === newProvider) {
279
- closestGreaterIndex = i;
280
- break;
281
- }
282
- }
283
- let closestLesserIndex = this._index > 0 ? this._index - 1 : this.model.changes.length - 1;
284
- for (let i = closestLesserIndex; i !== this._index; i >= 0 ? i-- : i = this.model.changes.length - 1) {
285
- if (this.model.changes[i].label === newProvider) {
286
- closestLesserIndex = i;
287
- break;
288
- }
289
- }
290
- const closestIndex = Math.abs(this.model.changes[closestGreaterIndex].change.modifiedEndLineNumber - this.model.changes[this._index].change.modifiedEndLineNumber)
291
- < Math.abs(this.model.changes[closestLesserIndex].change.modifiedEndLineNumber - this.model.changes[this._index].change.modifiedEndLineNumber)
292
- ? closestGreaterIndex : closestLesserIndex;
293
- this.showChange(closestIndex, false);
294
- }
295
- shouldUseDropdown() {
296
- let providersWithChangesCount = 0;
297
- if (this.model.mapChanges.size > 1) {
298
- const keys = Array.from(( this.model.mapChanges.keys()));
299
- for (let i = 0; (i < keys.length) && (providersWithChangesCount <= 1); i++) {
300
- if (this.model.mapChanges.get(keys[i]).length > 0) {
301
- providersWithChangesCount++;
302
- }
303
- }
304
- }
305
- return providersWithChangesCount >= 2;
306
- }
307
- updateActions() {
308
- if (!this._actionbarWidget) {
309
- return;
310
- }
311
- const previous = this.instantiationService.createInstance(UIEditorAction, this.editor, ( new ShowPreviousChangeAction(this.editor)), ThemeIcon.asClassName(gotoPreviousLocation));
312
- const next = this.instantiationService.createInstance(UIEditorAction, this.editor, ( new ShowNextChangeAction(this.editor)), ThemeIcon.asClassName(gotoNextLocation));
313
- this._disposables.add(previous);
314
- this._disposables.add(next);
315
- if (this.menu) {
316
- this.menu.dispose();
317
- }
318
- this.menu = this.menuService.createMenu(MenuId.SCMChangeContext, this.contextKeyService);
319
- const actions = getFlatActionBarActions(this.menu.getActions({ shouldForwardArgs: true }));
320
- this._actionbarWidget.clear();
321
- this._actionbarWidget.push(actions.reverse(), { label: false, icon: true });
322
- this._actionbarWidget.push([next, previous], { label: false, icon: true });
323
- this._actionbarWidget.push(( new Action('peekview.close', ( localize(8433, "Close")), ThemeIcon.asClassName(Codicon.close), true, () => this.dispose())), { label: false, icon: true });
324
- }
325
- _fillHead(container) {
326
- super._fillHead(container, true);
327
- this.dropdownContainer = prepend(this._titleElement, $('.dropdown'));
328
- this.dropdown = this.instantiationService.createInstance(SwitchQuickDiffViewItem, ( new SwitchQuickDiffBaseAction((event) => this.switchQuickDiff(event))), ( this.model.quickDiffs.map(quickDiffer => quickDiffer.label)), this.model.changes[this._index].label);
329
- this.dropdown.render(this.dropdownContainer);
330
- this.updateActions();
331
- }
332
- _getActionBarOptions() {
333
- const actionRunner = ( new DiffActionRunner());
334
- actionRunner.onDidRun(e => {
335
- if (!(e.action instanceof UIEditorAction) && !e.error) {
336
- this.dispose();
337
- }
338
- });
339
- return {
340
- ...super._getActionBarOptions(),
341
- actionRunner
342
- };
343
- }
344
- _fillBody(container) {
345
- const options = {
346
- scrollBeyondLastLine: true,
347
- scrollbar: {
348
- verticalScrollbarSize: 14,
349
- horizontal: 'auto',
350
- useShadows: true,
351
- verticalHasArrows: false,
352
- horizontalHasArrows: false
353
- },
354
- overviewRulerLanes: 2,
355
- fixedOverflowWidgets: true,
356
- minimap: { enabled: false },
357
- renderSideBySide: false,
358
- readOnly: false,
359
- renderIndicators: false,
360
- diffAlgorithm: 'advanced',
361
- ignoreTrimWhitespace: false,
362
- stickyScroll: { enabled: false }
363
- };
364
- this.diffEditor = this.instantiationService.createInstance(EmbeddedDiffEditorWidget, container, options, {}, this.editor);
365
- this._disposables.add(this.diffEditor);
366
- }
367
- _onWidth(width) {
368
- if (typeof this.height === 'undefined') {
369
- return;
370
- }
371
- this.diffEditor.layout({ height: this.height, width });
372
- }
373
- _doLayoutBody(height, width) {
374
- super._doLayoutBody(height, width);
375
- this.diffEditor.layout({ height, width });
376
- if (typeof this.height === 'undefined' && this.change) {
377
- this.revealChange(this.change);
378
- }
379
- this.height = height;
380
- }
381
- revealChange(change) {
382
- let start, end;
383
- if (change.modifiedEndLineNumber === 0) {
384
- start = change.modifiedStartLineNumber;
385
- end = change.modifiedStartLineNumber + 1;
386
- }
387
- else if (change.originalEndLineNumber > 0) {
388
- start = change.modifiedStartLineNumber - 1;
389
- end = change.modifiedEndLineNumber + 1;
390
- }
391
- else {
392
- start = change.modifiedStartLineNumber;
393
- end = change.modifiedEndLineNumber;
394
- }
395
- this.diffEditor.revealLinesInCenter(start, end, ScrollType.Immediate);
396
- }
397
- _applyTheme(theme) {
398
- const borderColor = theme.getColor(peekViewBorder) || Color.transparent;
399
- this.style({
400
- arrowColor: borderColor,
401
- frameColor: borderColor,
402
- headerBackgroundColor: theme.getColor(peekViewTitleBackground) || Color.transparent,
403
- primaryHeadingColor: theme.getColor(peekViewTitleForeground),
404
- secondaryHeadingColor: theme.getColor(peekViewTitleInfoForeground)
405
- });
406
- }
407
- revealRange(range) {
408
- this.editor.revealLineInCenterIfOutsideViewport(range.endLineNumber, ScrollType.Smooth);
409
- }
410
- hasFocus() {
411
- return this.diffEditor.hasTextFocus();
412
- }
413
- dispose() {
414
- super.dispose();
415
- this.menu?.dispose();
416
- }
417
- };
418
- DirtyDiffWidget = ( __decorate([
419
- ( __param(2, IThemeService)),
420
- ( __param(3, IInstantiationService)),
421
- ( __param(4, IMenuService)),
422
- ( __param(5, IContextKeyService))
423
- ], DirtyDiffWidget));
424
- class ShowPreviousChangeAction extends EditorAction {
425
- constructor(outerEditor) {
426
- super({
427
- id: 'editor.action.dirtydiff.previous',
428
- label: ( localize2(8434, "Show Previous Change")),
429
- precondition: ( TextCompareEditorActiveContext.toNegated()),
430
- kbOpts: { kbExpr: EditorContextKeys.editorTextFocus, primary: KeyMod$1.Shift | KeyMod$1.Alt | KeyCode.F3, weight: KeybindingWeight.EditorContrib }
431
- });
432
- this.outerEditor = outerEditor;
433
- }
434
- run(accessor) {
435
- const outerEditor = this.outerEditor ?? getOuterEditorFromDiffEditor(accessor);
436
- if (!outerEditor) {
437
- return;
438
- }
439
- const controller = DirtyDiffController.get(outerEditor);
440
- if (!controller) {
441
- return;
442
- }
443
- if (!controller.canNavigate()) {
444
- return;
445
- }
446
- controller.previous();
447
- }
448
- }
449
- registerEditorAction(ShowPreviousChangeAction);
450
- class ShowNextChangeAction extends EditorAction {
451
- constructor(outerEditor) {
452
- super({
453
- id: 'editor.action.dirtydiff.next',
454
- label: ( localize2(8435, "Show Next Change")),
455
- precondition: ( TextCompareEditorActiveContext.toNegated()),
456
- kbOpts: { kbExpr: EditorContextKeys.editorTextFocus, primary: KeyMod$1.Alt | KeyCode.F3, weight: KeybindingWeight.EditorContrib }
457
- });
458
- this.outerEditor = outerEditor;
459
- }
460
- run(accessor) {
461
- const outerEditor = this.outerEditor ?? getOuterEditorFromDiffEditor(accessor);
462
- if (!outerEditor) {
463
- return;
464
- }
465
- const controller = DirtyDiffController.get(outerEditor);
466
- if (!controller) {
467
- return;
468
- }
469
- if (!controller.canNavigate()) {
470
- return;
471
- }
472
- controller.next();
473
- }
474
- }
475
- registerEditorAction(ShowNextChangeAction);
476
- MenuRegistry.appendMenuItem(MenuId.MenubarGoMenu, {
477
- group: '7_change_nav',
478
- command: {
479
- id: 'editor.action.dirtydiff.next',
480
- title: ( localize(8436, "Next &&Change"))
481
- },
482
- order: 1
483
- });
484
- MenuRegistry.appendMenuItem(MenuId.MenubarGoMenu, {
485
- group: '7_change_nav',
486
- command: {
487
- id: 'editor.action.dirtydiff.previous',
488
- title: ( localize(8437, "Previous &&Change"))
489
- },
490
- order: 2
491
- });
492
- class GotoPreviousChangeAction extends EditorAction {
493
- constructor() {
494
- super({
495
- id: 'workbench.action.editor.previousChange',
496
- label: ( localize2(8438, "Go to Previous Change")),
497
- precondition: ( TextCompareEditorActiveContext.toNegated()),
498
- kbOpts: { kbExpr: EditorContextKeys.editorTextFocus, primary: KeyMod$1.Shift | KeyMod$1.Alt | KeyCode.F5, weight: KeybindingWeight.EditorContrib }
499
- });
500
- }
501
- async run(accessor) {
502
- const outerEditor = getOuterEditorFromDiffEditor(accessor);
503
- const accessibilitySignalService = accessor.get(IAccessibilitySignalService);
504
- const accessibilityService = accessor.get(IAccessibilityService);
505
- const codeEditorService = accessor.get(ICodeEditorService);
506
- if (!outerEditor || !outerEditor.hasModel()) {
507
- return;
508
- }
509
- const controller = DirtyDiffController.get(outerEditor);
510
- if (!controller || !controller.modelRegistry) {
511
- return;
512
- }
513
- const lineNumber = outerEditor.getPosition().lineNumber;
514
- const model = controller.modelRegistry.getModel(outerEditor.getModel(), outerEditor);
515
- if (!model || model.changes.length === 0) {
516
- return;
517
- }
518
- const index = model.findPreviousClosestChange(lineNumber, false);
519
- const change = model.changes[index];
520
- await playAccessibilitySymbolForChange(change.change, accessibilitySignalService);
521
- setPositionAndSelection(change.change, outerEditor, accessibilityService, codeEditorService);
522
- }
523
- }
524
- registerEditorAction(GotoPreviousChangeAction);
525
- class GotoNextChangeAction extends EditorAction {
526
- constructor() {
527
- super({
528
- id: 'workbench.action.editor.nextChange',
529
- label: ( localize2(8439, "Go to Next Change")),
530
- precondition: ( TextCompareEditorActiveContext.toNegated()),
531
- kbOpts: { kbExpr: EditorContextKeys.editorTextFocus, primary: KeyMod$1.Alt | KeyCode.F5, weight: KeybindingWeight.EditorContrib }
532
- });
533
- }
534
- async run(accessor) {
535
- const accessibilitySignalService = accessor.get(IAccessibilitySignalService);
536
- const outerEditor = getOuterEditorFromDiffEditor(accessor);
537
- const accessibilityService = accessor.get(IAccessibilityService);
538
- const codeEditorService = accessor.get(ICodeEditorService);
539
- if (!outerEditor || !outerEditor.hasModel()) {
540
- return;
541
- }
542
- const controller = DirtyDiffController.get(outerEditor);
543
- if (!controller || !controller.modelRegistry) {
544
- return;
545
- }
546
- const lineNumber = outerEditor.getPosition().lineNumber;
547
- const model = controller.modelRegistry.getModel(outerEditor.getModel(), outerEditor);
548
- if (!model || model.changes.length === 0) {
549
- return;
550
- }
551
- const index = model.findNextClosestChange(lineNumber, false);
552
- const change = model.changes[index].change;
553
- await playAccessibilitySymbolForChange(change, accessibilitySignalService);
554
- setPositionAndSelection(change, outerEditor, accessibilityService, codeEditorService);
555
- }
556
- }
557
- function setPositionAndSelection(change, editor, accessibilityService, codeEditorService) {
558
- const position = ( new Position(change.modifiedStartLineNumber, 1));
559
- editor.setPosition(position);
560
- editor.revealPositionInCenter(position);
561
- if (accessibilityService.isScreenReaderOptimized()) {
562
- editor.setSelection({ startLineNumber: change.modifiedStartLineNumber, startColumn: 0, endLineNumber: change.modifiedStartLineNumber, endColumn: Number.MAX_VALUE });
563
- codeEditorService.getActiveCodeEditor()?.writeScreenReaderContent('diff-navigation');
564
- }
565
- }
566
- async function playAccessibilitySymbolForChange(change, accessibilitySignalService) {
567
- const changeType = getChangeType(change);
568
- switch (changeType) {
569
- case ChangeType.Add:
570
- accessibilitySignalService.playSignal(AccessibilitySignal.diffLineInserted, { allowManyInParallel: true, source: 'dirtyDiffDecoration' });
571
- break;
572
- case ChangeType.Delete:
573
- accessibilitySignalService.playSignal(AccessibilitySignal.diffLineDeleted, { allowManyInParallel: true, source: 'dirtyDiffDecoration' });
574
- break;
575
- case ChangeType.Modify:
576
- accessibilitySignalService.playSignal(AccessibilitySignal.diffLineModified, { allowManyInParallel: true, source: 'dirtyDiffDecoration' });
577
- break;
578
- }
579
- }
580
- registerEditorAction(GotoNextChangeAction);
581
- KeybindingsRegistry.registerCommandAndKeybindingRule({
582
- id: 'closeDirtyDiff',
583
- weight: KeybindingWeight.EditorContrib + 50,
584
- primary: KeyCode.Escape,
585
- secondary: [KeyMod$1.Shift | KeyCode.Escape],
586
- when: ( ContextKeyExpr.and(isDirtyDiffVisible)),
587
- handler: (accessor) => {
588
- const outerEditor = getOuterEditorFromDiffEditor(accessor);
589
- if (!outerEditor) {
590
- return;
591
- }
592
- const controller = DirtyDiffController.get(outerEditor);
593
- if (!controller) {
594
- return;
595
- }
596
- controller.close();
597
- }
598
- });
599
- let DirtyDiffController = class DirtyDiffController extends Disposable {
600
- static { DirtyDiffController_1 = this; }
601
- static { this.ID = 'editor.contrib.dirtydiff'; }
602
- static get(editor) {
603
- return editor.getContribution(DirtyDiffController_1.ID);
604
- }
605
- constructor(editor, contextKeyService, configurationService, instantiationService) {
606
- super();
607
- this.editor = editor;
608
- this.configurationService = configurationService;
609
- this.instantiationService = instantiationService;
610
- this.modelRegistry = null;
611
- this.model = null;
612
- this.widget = null;
613
- this.session = Disposable.None;
614
- this.mouseDownInfo = null;
615
- this.enabled = false;
616
- this.gutterActionDisposables = ( new DisposableStore());
617
- this.enabled = !contextKeyService.getContextKeyValue('isInDiffEditor');
618
- this.stylesheet = createStyleSheet(undefined, undefined, this._store);
619
- if (this.enabled) {
620
- this.isDirtyDiffVisible = isDirtyDiffVisible.bindTo(contextKeyService);
621
- this._register(editor.onDidChangeModel(() => this.close()));
622
- const onDidChangeGutterAction = Event.filter(configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.diffDecorationsGutterAction'));
623
- this._register(onDidChangeGutterAction(this.onDidChangeGutterAction, this));
624
- this.onDidChangeGutterAction();
625
- }
626
- }
627
- onDidChangeGutterAction() {
628
- const gutterAction = this.configurationService.getValue('scm.diffDecorationsGutterAction');
629
- this.gutterActionDisposables.clear();
630
- if (gutterAction === 'diff') {
631
- this.gutterActionDisposables.add(this.editor.onMouseDown(e => this.onEditorMouseDown(e)));
632
- this.gutterActionDisposables.add(this.editor.onMouseUp(e => this.onEditorMouseUp(e)));
633
- this.stylesheet.textContent = `
634
- .monaco-editor .dirty-diff-glyph {
635
- cursor: pointer;
636
- }
637
-
638
- .monaco-editor .margin-view-overlays .dirty-diff-glyph:hover::before {
639
- height: 100%;
640
- width: 6px;
641
- left: -6px;
642
- }
643
-
644
- .monaco-editor .margin-view-overlays .dirty-diff-deleted:hover::after {
645
- bottom: 0;
646
- border-top-width: 0;
647
- border-bottom-width: 0;
648
- }
649
- `;
650
- }
651
- else {
652
- this.stylesheet.textContent = ``;
653
- }
654
- }
655
- canNavigate() {
656
- return !this.widget || (this.widget?.index === -1) || (!!this.model && this.model.changes.length > 1);
657
- }
658
- refresh() {
659
- this.widget?.showChange(this.widget.index, false);
660
- }
661
- next(lineNumber) {
662
- if (!this.assertWidget()) {
663
- return;
664
- }
665
- if (!this.widget || !this.model) {
666
- return;
667
- }
668
- let index;
669
- if (this.editor.hasModel() && (typeof lineNumber === 'number' || !this.widget.provider)) {
670
- index = this.model.findNextClosestChange(typeof lineNumber === 'number' ? lineNumber : this.editor.getPosition().lineNumber, true, this.widget.provider);
671
- }
672
- else {
673
- const providerChanges = this.model.mapChanges.get(this.widget.provider) ?? ( this.model.mapChanges.values()).next().value;
674
- const mapIndex = providerChanges.findIndex(value => value === this.widget.index);
675
- index = providerChanges[rot(mapIndex + 1, providerChanges.length)];
676
- }
677
- this.widget.showChange(index);
678
- }
679
- previous(lineNumber) {
680
- if (!this.assertWidget()) {
681
- return;
682
- }
683
- if (!this.widget || !this.model) {
684
- return;
685
- }
686
- let index;
687
- if (this.editor.hasModel() && (typeof lineNumber === 'number')) {
688
- index = this.model.findPreviousClosestChange(typeof lineNumber === 'number' ? lineNumber : this.editor.getPosition().lineNumber, true, this.widget.provider);
689
- }
690
- else {
691
- const providerChanges = this.model.mapChanges.get(this.widget.provider) ?? ( this.model.mapChanges.values()).next().value;
692
- const mapIndex = providerChanges.findIndex(value => value === this.widget.index);
693
- index = providerChanges[rot(mapIndex - 1, providerChanges.length)];
694
- }
695
- this.widget.showChange(index);
696
- }
697
- close() {
698
- this.session.dispose();
699
- this.session = Disposable.None;
700
- }
701
- assertWidget() {
702
- if (!this.enabled) {
703
- return false;
704
- }
705
- if (this.widget) {
706
- if (!this.model || this.model.changes.length === 0) {
707
- this.close();
708
- return false;
709
- }
710
- return true;
711
- }
712
- if (!this.modelRegistry) {
713
- return false;
714
- }
715
- const editorModel = this.editor.getModel();
716
- if (!editorModel) {
717
- return false;
718
- }
719
- const model = this.modelRegistry.getModel(editorModel, this.editor);
720
- if (!model) {
721
- return false;
722
- }
723
- if (model.changes.length === 0) {
724
- return false;
725
- }
726
- this.model = model;
727
- this.widget = this.instantiationService.createInstance(DirtyDiffWidget, this.editor, model);
728
- this.isDirtyDiffVisible.set(true);
729
- const disposables = ( new DisposableStore());
730
- disposables.add(Event.once(this.widget.onDidClose)(this.close, this));
731
- const onDidModelChange = Event.chain(model.onDidChange, $ => ( $.filter(e => e.diff.length > 0)
732
- .map(e => e.diff)));
733
- onDidModelChange(this.onDidModelChange, this, disposables);
734
- disposables.add(this.widget);
735
- disposables.add(toDisposable(() => {
736
- this.model = null;
737
- this.widget = null;
738
- this.isDirtyDiffVisible.set(false);
739
- this.editor.focus();
740
- }));
741
- this.session = disposables;
742
- return true;
743
- }
744
- onDidModelChange(splices) {
745
- if (!this.model || !this.widget || this.widget.hasFocus()) {
746
- return;
747
- }
748
- for (const splice of splices) {
749
- if (splice.start <= this.widget.index) {
750
- this.next();
751
- return;
752
- }
753
- }
754
- this.refresh();
755
- }
756
- onEditorMouseDown(e) {
757
- this.mouseDownInfo = null;
758
- const range = e.target.range;
759
- if (!range) {
760
- return;
761
- }
762
- if (!e.event.leftButton) {
763
- return;
764
- }
765
- if (e.target.type !== MouseTargetType.GUTTER_LINE_DECORATIONS) {
766
- return;
767
- }
768
- if (!e.target.element) {
769
- return;
770
- }
771
- if (e.target.element.className.indexOf('dirty-diff-glyph') < 0) {
772
- return;
773
- }
774
- const data = e.target.detail;
775
- const offsetLeftInGutter = e.target.element.offsetLeft;
776
- const gutterOffsetX = data.offsetX - offsetLeftInGutter;
777
- if (gutterOffsetX < -3 || gutterOffsetX > 3) {
778
- return;
779
- }
780
- this.mouseDownInfo = { lineNumber: range.startLineNumber };
781
- }
782
- onEditorMouseUp(e) {
783
- if (!this.mouseDownInfo) {
784
- return;
785
- }
786
- const { lineNumber } = this.mouseDownInfo;
787
- this.mouseDownInfo = null;
788
- const range = e.target.range;
789
- if (!range || range.startLineNumber !== lineNumber) {
790
- return;
791
- }
792
- if (e.target.type !== MouseTargetType.GUTTER_LINE_DECORATIONS) {
793
- return;
794
- }
795
- if (!this.modelRegistry) {
796
- return;
797
- }
798
- const editorModel = this.editor.getModel();
799
- if (!editorModel) {
800
- return;
801
- }
802
- const model = this.modelRegistry.getModel(editorModel, this.editor);
803
- if (!model) {
804
- return;
805
- }
806
- const index = model.changes.findIndex(change => lineIntersectsChange(lineNumber, change.change));
807
- if (index < 0) {
808
- return;
809
- }
810
- if (index === this.widget?.index) {
811
- this.close();
812
- }
813
- else {
814
- this.next(lineNumber);
815
- }
816
- }
817
- getChanges() {
818
- if (!this.modelRegistry) {
819
- return [];
820
- }
821
- if (!this.editor.hasModel()) {
822
- return [];
823
- }
824
- const model = this.modelRegistry.getModel(this.editor.getModel(), this.editor);
825
- if (!model) {
826
- return [];
827
- }
828
- return ( model.changes.map(change => change.change));
829
- }
830
- dispose() {
831
- this.gutterActionDisposables.dispose();
832
- super.dispose();
833
- }
834
- };
835
- DirtyDiffController = DirtyDiffController_1 = ( __decorate([
836
- ( __param(1, IContextKeyService)),
837
- ( __param(2, IConfigurationService)),
838
- ( __param(3, IInstantiationService))
839
- ], DirtyDiffController));
840
- const editorGutterModifiedBackground = registerColor('editorGutter.modifiedBackground', {
841
- dark: '#1B81A8',
842
- light: '#2090D3',
843
- hcDark: '#1B81A8',
844
- hcLight: '#2090D3'
845
- }, ( localize(8440, "Editor gutter background color for lines that are modified.")));
846
- const editorGutterAddedBackground = registerColor('editorGutter.addedBackground', {
847
- dark: '#487E02',
848
- light: '#48985D',
849
- hcDark: '#487E02',
850
- hcLight: '#48985D'
851
- }, ( localize(8441, "Editor gutter background color for lines that are added.")));
852
- const editorGutterDeletedBackground = registerColor('editorGutter.deletedBackground', editorErrorForeground, ( localize(8442, "Editor gutter background color for lines that are deleted.")));
853
- const minimapGutterModifiedBackground = registerColor('minimapGutter.modifiedBackground', editorGutterModifiedBackground, ( localize(8443, "Minimap gutter background color for lines that are modified.")));
854
- const minimapGutterAddedBackground = registerColor('minimapGutter.addedBackground', editorGutterAddedBackground, ( localize(8444, "Minimap gutter background color for lines that are added.")));
855
- const minimapGutterDeletedBackground = registerColor('minimapGutter.deletedBackground', editorGutterDeletedBackground, ( localize(8445, "Minimap gutter background color for lines that are deleted.")));
856
- const overviewRulerModifiedForeground = registerColor('editorOverviewRuler.modifiedForeground', ( transparent(editorGutterModifiedBackground, 0.6)), ( localize(8446, 'Overview ruler marker color for modified content.')));
857
- const overviewRulerAddedForeground = registerColor('editorOverviewRuler.addedForeground', ( transparent(editorGutterAddedBackground, 0.6)), ( localize(8447, 'Overview ruler marker color for added content.')));
858
- const overviewRulerDeletedForeground = registerColor('editorOverviewRuler.deletedForeground', ( transparent(editorGutterDeletedBackground, 0.6)), ( localize(8448, 'Overview ruler marker color for deleted content.')));
859
- let DirtyDiffDecorator = DirtyDiffDecorator_1 = class DirtyDiffDecorator extends Disposable {
860
- static createDecoration(className, tooltip, options) {
861
- const decorationOptions = {
862
- description: 'dirty-diff-decoration',
863
- isWholeLine: options.isWholeLine,
864
- };
865
- if (options.gutter) {
866
- decorationOptions.linesDecorationsClassName = `dirty-diff-glyph ${className}`;
867
- decorationOptions.linesDecorationsTooltip = tooltip;
868
- }
869
- if (options.overview.active) {
870
- decorationOptions.overviewRuler = {
871
- color: themeColorFromId(options.overview.color),
872
- position: OverviewRulerLane.Left
873
- };
874
- }
875
- if (options.minimap.active) {
876
- decorationOptions.minimap = {
877
- color: themeColorFromId(options.minimap.color),
878
- position: MinimapPosition.Gutter
879
- };
880
- }
881
- return ModelDecorationOptions.createDynamic(decorationOptions);
882
- }
883
- constructor(editorModel, codeEditor, model, configurationService) {
884
- super();
885
- this.codeEditor = codeEditor;
886
- this.model = model;
887
- this.configurationService = configurationService;
888
- this.editorModel = editorModel;
889
- const decorations = configurationService.getValue('scm.diffDecorations');
890
- const gutter = decorations === 'all' || decorations === 'gutter';
891
- const overview = decorations === 'all' || decorations === 'overview';
892
- const minimap = decorations === 'all' || decorations === 'minimap';
893
- const diffAdded = ( localize(8449, 'Added lines'));
894
- this.addedOptions = DirtyDiffDecorator_1.createDecoration('dirty-diff-added', diffAdded, {
895
- gutter,
896
- overview: { active: overview, color: overviewRulerAddedForeground },
897
- minimap: { active: minimap, color: minimapGutterAddedBackground },
898
- isWholeLine: true
899
- });
900
- this.addedPatternOptions = DirtyDiffDecorator_1.createDecoration('dirty-diff-added-pattern', diffAdded, {
901
- gutter,
902
- overview: { active: overview, color: overviewRulerAddedForeground },
903
- minimap: { active: minimap, color: minimapGutterAddedBackground },
904
- isWholeLine: true
905
- });
906
- const diffModified = ( localize(8450, 'Changed lines'));
907
- this.modifiedOptions = DirtyDiffDecorator_1.createDecoration('dirty-diff-modified', diffModified, {
908
- gutter,
909
- overview: { active: overview, color: overviewRulerModifiedForeground },
910
- minimap: { active: minimap, color: minimapGutterModifiedBackground },
911
- isWholeLine: true
912
- });
913
- this.modifiedPatternOptions = DirtyDiffDecorator_1.createDecoration('dirty-diff-modified-pattern', diffModified, {
914
- gutter,
915
- overview: { active: overview, color: overviewRulerModifiedForeground },
916
- minimap: { active: minimap, color: minimapGutterModifiedBackground },
917
- isWholeLine: true
918
- });
919
- this.deletedOptions = DirtyDiffDecorator_1.createDecoration('dirty-diff-deleted', ( localize(8451, 'Removed lines')), {
920
- gutter,
921
- overview: { active: overview, color: overviewRulerDeletedForeground },
922
- minimap: { active: minimap, color: minimapGutterDeletedBackground },
923
- isWholeLine: false
924
- });
925
- this._register(configurationService.onDidChangeConfiguration(e => {
926
- if (e.affectsConfiguration('scm.diffDecorationsGutterPattern')) {
927
- this.onDidChange();
928
- }
929
- }));
930
- this._register(model.onDidChange(this.onDidChange, this));
931
- }
932
- onDidChange() {
933
- if (!this.editorModel) {
934
- return;
935
- }
936
- const visibleQuickDiffs = this.model.quickDiffs.filter(quickDiff => quickDiff.visible);
937
- const pattern = this.configurationService.getValue('scm.diffDecorationsGutterPattern');
938
- const decorations = ( this.model.changes
939
- .filter(labeledChange => ( visibleQuickDiffs.some(quickDiff => quickDiff.label === labeledChange.label)))
940
- .map((labeledChange) => {
941
- const change = labeledChange.change;
942
- const changeType = getChangeType(change);
943
- const startLineNumber = change.modifiedStartLineNumber;
944
- const endLineNumber = change.modifiedEndLineNumber || startLineNumber;
945
- switch (changeType) {
946
- case ChangeType.Add:
947
- return {
948
- range: {
949
- startLineNumber: startLineNumber, startColumn: 1,
950
- endLineNumber: endLineNumber, endColumn: 1
951
- },
952
- options: pattern.added ? this.addedPatternOptions : this.addedOptions
953
- };
954
- case ChangeType.Delete:
955
- return {
956
- range: {
957
- startLineNumber: startLineNumber, startColumn: Number.MAX_VALUE,
958
- endLineNumber: startLineNumber, endColumn: Number.MAX_VALUE
959
- },
960
- options: this.deletedOptions
961
- };
962
- case ChangeType.Modify:
963
- return {
964
- range: {
965
- startLineNumber: startLineNumber, startColumn: 1,
966
- endLineNumber: endLineNumber, endColumn: 1
967
- },
968
- options: pattern.modified ? this.modifiedPatternOptions : this.modifiedOptions
969
- };
970
- }
971
- }));
972
- if (!this.decorationsCollection) {
973
- this.decorationsCollection = this.codeEditor.createDecorationsCollection(decorations);
974
- }
975
- else {
976
- this.decorationsCollection.set(decorations);
977
- }
978
- }
979
- dispose() {
980
- super.dispose();
981
- if (this.decorationsCollection) {
982
- this.decorationsCollection?.clear();
983
- }
984
- this.editorModel = null;
985
- this.decorationsCollection = undefined;
986
- }
987
- };
988
- DirtyDiffDecorator = DirtyDiffDecorator_1 = ( __decorate([
989
- ( __param(3, IConfigurationService))
990
- ], DirtyDiffDecorator));
991
- function compareChanges(a, b) {
992
- let result = a.modifiedStartLineNumber - b.modifiedStartLineNumber;
993
- if (result !== 0) {
994
- return result;
995
- }
996
- result = a.modifiedEndLineNumber - b.modifiedEndLineNumber;
997
- if (result !== 0) {
998
- return result;
999
- }
1000
- result = a.originalStartLineNumber - b.originalStartLineNumber;
1001
- if (result !== 0) {
1002
- return result;
1003
- }
1004
- return a.originalEndLineNumber - b.originalEndLineNumber;
1005
- }
1006
- async function getOriginalResource(quickDiffService, uri, language, isSynchronized) {
1007
- const quickDiffs = await quickDiffService.getQuickDiffs(uri, language, isSynchronized);
1008
- return quickDiffs.length > 0 ? quickDiffs[0].originalResource : null;
1009
- }
1010
- let DirtyDiffModel = class DirtyDiffModel extends Disposable {
1011
- get original() { return this._originalTextModels; }
1012
- get changes() { return this._changes; }
1013
- get mapChanges() { return this._mapChanges; }
1014
- constructor(textFileModel, algorithm, scmService, quickDiffService, editorWorkerService, configurationService, textModelResolverService, _chatEditingService, progressService) {
1015
- super();
1016
- this.algorithm = algorithm;
1017
- this.scmService = scmService;
1018
- this.quickDiffService = quickDiffService;
1019
- this.editorWorkerService = editorWorkerService;
1020
- this.configurationService = configurationService;
1021
- this.textModelResolverService = textModelResolverService;
1022
- this._chatEditingService = _chatEditingService;
1023
- this.progressService = progressService;
1024
- this._quickDiffs = [];
1025
- this._originalModels = ( new Map());
1026
- this._originalTextModels = [];
1027
- this.diffDelayer = ( new ThrottledDelayer(200));
1028
- this.repositoryDisposables = ( new Set());
1029
- this.originalModelDisposables = this._register(( new DisposableStore()));
1030
- this._disposed = false;
1031
- this._onDidChange = ( new Emitter());
1032
- this.onDidChange = this._onDidChange.event;
1033
- this._changes = [];
1034
- this._mapChanges = ( new Map());
1035
- this._model = textFileModel;
1036
- this._register(textFileModel.textEditorModel.onDidChangeContent(() => this.triggerDiff()));
1037
- this._register(Event.filter(configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.diffDecorationsIgnoreTrimWhitespace') || e.affectsConfiguration('diffEditor.ignoreTrimWhitespace'))(this.triggerDiff, this));
1038
- this._register(scmService.onDidAddRepository(this.onDidAddRepository, this));
1039
- for (const r of scmService.repositories) {
1040
- this.onDidAddRepository(r);
1041
- }
1042
- this._register(this._model.onDidChangeEncoding(() => {
1043
- this.diffDelayer.cancel();
1044
- this._quickDiffs = [];
1045
- this._originalModels.clear();
1046
- this._originalTextModels = [];
1047
- this._quickDiffsPromise = undefined;
1048
- this.setChanges([], ( new Map()));
1049
- this.triggerDiff();
1050
- }));
1051
- this._register(this.quickDiffService.onDidChangeQuickDiffProviders(() => this.triggerDiff()));
1052
- this._register(this._chatEditingService.onDidChangeEditingSession(() => this.triggerDiff()));
1053
- this.triggerDiff();
1054
- }
1055
- get quickDiffs() {
1056
- return this._quickDiffs;
1057
- }
1058
- getQuickDiffResults() {
1059
- return ( this._quickDiffs.map(quickDiff => {
1060
- const changes = ( this._changes
1061
- .filter(change => change.label === quickDiff.label)
1062
- .map(change => change.change));
1063
- const lineRangeMappings = lineRangeMappingFromChanges(changes);
1064
- return {
1065
- original: quickDiff.originalResource,
1066
- modified: this._model.resource,
1067
- changes: lineRangeMappings
1068
- };
1069
- }));
1070
- }
1071
- getDiffEditorModel(originalUri) {
1072
- if (!( this._originalModels.has(originalUri))) {
1073
- return;
1074
- }
1075
- const original = this._originalModels.get(originalUri);
1076
- return {
1077
- modified: this._model.textEditorModel,
1078
- original: original.textEditorModel
1079
- };
1080
- }
1081
- onDidAddRepository(repository) {
1082
- const disposables = ( new DisposableStore());
1083
- this.repositoryDisposables.add(disposables);
1084
- disposables.add(toDisposable(() => this.repositoryDisposables.delete(disposables)));
1085
- disposables.add(repository.provider.onDidChangeResources(this.triggerDiff, this));
1086
- const onDidRemoveThis = Event.filter(this.scmService.onDidRemoveRepository, r => r === repository);
1087
- disposables.add(onDidRemoveThis(() => dispose(disposables), null));
1088
- this.triggerDiff();
1089
- }
1090
- triggerDiff() {
1091
- if (!this.diffDelayer) {
1092
- return;
1093
- }
1094
- this.diffDelayer
1095
- .trigger(async () => {
1096
- const result = await this.diff();
1097
- const originalModels = Array.from(( this._originalModels.values()));
1098
- if (!result || this._disposed || this._model.isDisposed() || ( originalModels.some(originalModel => originalModel.isDisposed()))) {
1099
- return;
1100
- }
1101
- if (originalModels.every(originalModel => originalModel.textEditorModel.getValueLength() === 0)) {
1102
- result.changes = [];
1103
- }
1104
- if (!result.changes) {
1105
- result.changes = [];
1106
- }
1107
- this.setChanges(result.changes, result.mapChanges);
1108
- })
1109
- .catch(err => onUnexpectedError(err));
1110
- }
1111
- setChanges(changes, mapChanges) {
1112
- const diff = sortedDiff(this._changes, changes, (a, b) => compareChanges(a.change, b.change));
1113
- this._changes = changes;
1114
- this._mapChanges = mapChanges;
1115
- this._onDidChange.fire({ changes, diff });
1116
- }
1117
- diff() {
1118
- return this.progressService.withProgress({ location: ProgressLocation.Scm, delay: 250 }, async () => {
1119
- const originalURIs = await this.getQuickDiffsPromise();
1120
- if (this._disposed || this._model.isDisposed() || (originalURIs.length === 0)) {
1121
- return Promise.resolve({ changes: [], mapChanges: ( new Map()) });
1122
- }
1123
- const filteredToDiffable = originalURIs.filter(quickDiff => this.editorWorkerService.canComputeDirtyDiff(quickDiff.originalResource, this._model.resource));
1124
- if (filteredToDiffable.length === 0) {
1125
- return Promise.resolve({ changes: [], mapChanges: ( new Map()) });
1126
- }
1127
- const ignoreTrimWhitespaceSetting = this.configurationService.getValue('scm.diffDecorationsIgnoreTrimWhitespace');
1128
- const ignoreTrimWhitespace = ignoreTrimWhitespaceSetting === 'inherit'
1129
- ? this.configurationService.getValue('diffEditor.ignoreTrimWhitespace')
1130
- : ignoreTrimWhitespaceSetting !== 'false';
1131
- const allDiffs = [];
1132
- for (const quickDiff of filteredToDiffable) {
1133
- const dirtyDiff = await this._diff(quickDiff.originalResource, this._model.resource, ignoreTrimWhitespace);
1134
- if (dirtyDiff) {
1135
- for (const diff of dirtyDiff) {
1136
- if (diff) {
1137
- allDiffs.push({ change: diff, label: quickDiff.label, uri: quickDiff.originalResource });
1138
- }
1139
- }
1140
- }
1141
- }
1142
- const sorted = allDiffs.sort((a, b) => compareChanges(a.change, b.change));
1143
- const map = ( new Map());
1144
- for (let i = 0; i < sorted.length; i++) {
1145
- const label = sorted[i].label;
1146
- if (!( map.has(label))) {
1147
- map.set(label, []);
1148
- }
1149
- map.get(label).push(i);
1150
- }
1151
- return { changes: sorted, mapChanges: map };
1152
- });
1153
- }
1154
- async _diff(original, modified, ignoreTrimWhitespace) {
1155
- if (this.algorithm === undefined) {
1156
- return this.editorWorkerService.computeDirtyDiff(original, modified, ignoreTrimWhitespace);
1157
- }
1158
- const diffResult = await this.editorWorkerService.computeDiff(original, modified, {
1159
- computeMoves: false,
1160
- ignoreTrimWhitespace,
1161
- maxComputationTimeMs: Number.MAX_SAFE_INTEGER
1162
- }, this.algorithm);
1163
- if (!diffResult) {
1164
- return null;
1165
- }
1166
- return toLineChanges(DiffState.fromDiffResult(diffResult));
1167
- }
1168
- getQuickDiffsPromise() {
1169
- if (this._quickDiffsPromise) {
1170
- return this._quickDiffsPromise;
1171
- }
1172
- this._quickDiffsPromise = this.getOriginalResource().then(async (quickDiffs) => {
1173
- if (this._disposed) {
1174
- return [];
1175
- }
1176
- if (quickDiffs.length === 0) {
1177
- this._quickDiffs = [];
1178
- this._originalModels.clear();
1179
- this._originalTextModels = [];
1180
- return [];
1181
- }
1182
- if (equals(this._quickDiffs, quickDiffs, (a, b) => ( a.originalResource.toString()) === ( b.originalResource.toString()) && a.label === b.label)) {
1183
- return quickDiffs;
1184
- }
1185
- this.originalModelDisposables.clear();
1186
- this._originalModels.clear();
1187
- this._originalTextModels = [];
1188
- this._quickDiffs = quickDiffs;
1189
- return (await Promise.all(( quickDiffs.map(async (quickDiff) => {
1190
- try {
1191
- const ref = await this.textModelResolverService.createModelReference(quickDiff.originalResource);
1192
- if (this._disposed) {
1193
- ref.dispose();
1194
- return [];
1195
- }
1196
- this._originalModels.set(( quickDiff.originalResource.toString()), ref.object);
1197
- this._originalTextModels.push(ref.object.textEditorModel);
1198
- if (isTextFileEditorModel(ref.object)) {
1199
- const encoding = this._model.getEncoding();
1200
- if (encoding) {
1201
- ref.object.setEncoding(encoding, EncodingMode.Decode);
1202
- }
1203
- }
1204
- this.originalModelDisposables.add(ref);
1205
- this.originalModelDisposables.add(ref.object.textEditorModel.onDidChangeContent(() => this.triggerDiff()));
1206
- return quickDiff;
1207
- }
1208
- catch (error) {
1209
- return [];
1210
- }
1211
- })))).flat();
1212
- });
1213
- return this._quickDiffsPromise.finally(() => {
1214
- this._quickDiffsPromise = undefined;
1215
- });
1216
- }
1217
- async getOriginalResource() {
1218
- if (this._disposed) {
1219
- return Promise.resolve([]);
1220
- }
1221
- const uri = this._model.resource;
1222
- const session = this._chatEditingService.currentEditingSession;
1223
- if (session && session.getEntry(uri)?.state.get() === WorkingSetEntryState.Modified) {
1224
- return Promise.resolve([]);
1225
- }
1226
- const isSynchronized = this._model.textEditorModel ? shouldSynchronizeModel(this._model.textEditorModel) : undefined;
1227
- const quickDiffs = await this.quickDiffService.getQuickDiffs(uri, this._model.getLanguageId(), isSynchronized);
1228
- return this.algorithm !== undefined
1229
- ? quickDiffs.filter(quickDiff => !quickDiff.isSCM)
1230
- : quickDiffs;
1231
- }
1232
- findNextClosestChange(lineNumber, inclusive = true, provider) {
1233
- let preferredProvider;
1234
- if (!provider && inclusive) {
1235
- preferredProvider = this.quickDiffs.find(value => value.isSCM)?.label;
1236
- }
1237
- const possibleChanges = [];
1238
- for (let i = 0; i < this.changes.length; i++) {
1239
- if (provider && this.changes[i].label !== provider) {
1240
- continue;
1241
- }
1242
- const change = this.changes[i];
1243
- const possibleChangesLength = possibleChanges.length;
1244
- if (inclusive) {
1245
- if (getModifiedEndLineNumber(change.change) >= lineNumber) {
1246
- if (preferredProvider && change.label !== preferredProvider) {
1247
- possibleChanges.push(i);
1248
- }
1249
- else {
1250
- return i;
1251
- }
1252
- }
1253
- }
1254
- else {
1255
- if (change.change.modifiedStartLineNumber > lineNumber) {
1256
- return i;
1257
- }
1258
- }
1259
- if ((possibleChanges.length > 0) && (possibleChanges.length === possibleChangesLength)) {
1260
- return possibleChanges[0];
1261
- }
1262
- }
1263
- return possibleChanges.length > 0 ? possibleChanges[0] : 0;
1264
- }
1265
- findPreviousClosestChange(lineNumber, inclusive = true, provider) {
1266
- for (let i = this.changes.length - 1; i >= 0; i--) {
1267
- if (provider && this.changes[i].label !== provider) {
1268
- continue;
1269
- }
1270
- const change = this.changes[i].change;
1271
- if (inclusive) {
1272
- if (change.modifiedStartLineNumber <= lineNumber) {
1273
- return i;
1274
- }
1275
- }
1276
- else {
1277
- if (getModifiedEndLineNumber(change) < lineNumber) {
1278
- return i;
1279
- }
1280
- }
1281
- }
1282
- return this.changes.length - 1;
1283
- }
1284
- dispose() {
1285
- super.dispose();
1286
- this._disposed = true;
1287
- this._quickDiffs = [];
1288
- this._originalModels.clear();
1289
- this._originalTextModels = [];
1290
- this.diffDelayer.cancel();
1291
- this.repositoryDisposables.forEach(d => dispose(d));
1292
- this.repositoryDisposables.clear();
1293
- }
1294
- };
1295
- DirtyDiffModel = ( __decorate([
1296
- ( __param(2, ISCMService)),
1297
- ( __param(3, IQuickDiffService)),
1298
- ( __param(4, IEditorWorkerService)),
1299
- ( __param(5, IConfigurationService)),
1300
- ( __param(6, ITextModelService)),
1301
- ( __param(7, IChatEditingService)),
1302
- ( __param(8, IProgressService))
1303
- ], DirtyDiffModel));
1304
- class DirtyDiffItem {
1305
- constructor(model, decorator) {
1306
- this.model = model;
1307
- this.decorator = decorator;
1308
- }
1309
- dispose() {
1310
- this.decorator.dispose();
1311
- this.model.dispose();
1312
- }
1313
- }
1314
- let DirtyDiffWorkbenchController = class DirtyDiffWorkbenchController extends Disposable {
1315
- constructor(editorService, instantiationService, configurationService, textFileService) {
1316
- super();
1317
- this.editorService = editorService;
1318
- this.instantiationService = instantiationService;
1319
- this.configurationService = configurationService;
1320
- this.textFileService = textFileService;
1321
- this.enabled = false;
1322
- this.viewState = { width: 3, visibility: 'always' };
1323
- this.items = ( new ResourceMap());
1324
- this.transientDisposables = this._register(( new DisposableStore()));
1325
- this.stylesheet = createStyleSheet(undefined, undefined, this._store);
1326
- const onDidChangeConfiguration = Event.filter(configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.diffDecorations'));
1327
- this._register(onDidChangeConfiguration(this.onDidChangeConfiguration, this));
1328
- this.onDidChangeConfiguration();
1329
- const onDidChangeDiffWidthConfiguration = Event.filter(configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.diffDecorationsGutterWidth'));
1330
- this._register(onDidChangeDiffWidthConfiguration(this.onDidChangeDiffWidthConfiguration, this));
1331
- this.onDidChangeDiffWidthConfiguration();
1332
- const onDidChangeDiffVisibilityConfiguration = Event.filter(configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('scm.diffDecorationsGutterVisibility'));
1333
- this._register(onDidChangeDiffVisibilityConfiguration(this.onDidChangeDiffVisibilityConfiguration, this));
1334
- this.onDidChangeDiffVisibilityConfiguration();
1335
- }
1336
- onDidChangeConfiguration() {
1337
- const enabled = this.configurationService.getValue('scm.diffDecorations') !== 'none';
1338
- if (enabled) {
1339
- this.enable();
1340
- }
1341
- else {
1342
- this.disable();
1343
- }
1344
- }
1345
- onDidChangeDiffWidthConfiguration() {
1346
- let width = this.configurationService.getValue('scm.diffDecorationsGutterWidth');
1347
- if (isNaN(width) || width <= 0 || width > 5) {
1348
- width = 3;
1349
- }
1350
- this.setViewState({ ...this.viewState, width });
1351
- }
1352
- onDidChangeDiffVisibilityConfiguration() {
1353
- const visibility = this.configurationService.getValue('scm.diffDecorationsGutterVisibility');
1354
- this.setViewState({ ...this.viewState, visibility });
1355
- }
1356
- setViewState(state) {
1357
- this.viewState = state;
1358
- this.stylesheet.textContent = `
1359
- .monaco-editor .dirty-diff-added,
1360
- .monaco-editor .dirty-diff-modified {
1361
- border-left-width:${state.width}px;
1362
- }
1363
- .monaco-editor .dirty-diff-added-pattern,
1364
- .monaco-editor .dirty-diff-added-pattern:before,
1365
- .monaco-editor .dirty-diff-modified-pattern,
1366
- .monaco-editor .dirty-diff-modified-pattern:before {
1367
- background-size: ${state.width}px ${state.width}px;
1368
- }
1369
- .monaco-editor .dirty-diff-added,
1370
- .monaco-editor .dirty-diff-added-pattern,
1371
- .monaco-editor .dirty-diff-modified,
1372
- .monaco-editor .dirty-diff-modified-pattern,
1373
- .monaco-editor .dirty-diff-deleted {
1374
- opacity: ${state.visibility === 'always' ? 1 : 0};
1375
- }
1376
- `;
1377
- }
1378
- enable() {
1379
- if (this.enabled) {
1380
- this.disable();
1381
- }
1382
- this.transientDisposables.add(Event.any(this.editorService.onDidCloseEditor, this.editorService.onDidVisibleEditorsChange)(() => this.onEditorsChanged()));
1383
- this.onEditorsChanged();
1384
- this.enabled = true;
1385
- }
1386
- disable() {
1387
- if (!this.enabled) {
1388
- return;
1389
- }
1390
- this.transientDisposables.clear();
1391
- for (const [, dirtyDiff] of this.items) {
1392
- dispose(( dirtyDiff.values()));
1393
- }
1394
- this.items.clear();
1395
- this.enabled = false;
1396
- }
1397
- onEditorsChanged() {
1398
- for (const editor of this.editorService.visibleTextEditorControls) {
1399
- if (isCodeEditor(editor)) {
1400
- const textModel = editor.getModel();
1401
- const controller = DirtyDiffController.get(editor);
1402
- if (controller) {
1403
- controller.modelRegistry = this;
1404
- }
1405
- if (textModel && (!( this.items.has(textModel.uri)) || !( this.items.get(textModel.uri).has(editor.getId())))) {
1406
- const textFileModel = this.textFileService.files.get(textModel.uri);
1407
- if (textFileModel?.isResolved()) {
1408
- const dirtyDiffModel = this.instantiationService.createInstance(DirtyDiffModel, textFileModel, undefined);
1409
- const decorator = ( new DirtyDiffDecorator(
1410
- textFileModel.textEditorModel,
1411
- editor,
1412
- dirtyDiffModel,
1413
- this.configurationService
1414
- ));
1415
- if (!( this.items.has(textModel.uri))) {
1416
- this.items.set(textModel.uri, ( new Map()));
1417
- }
1418
- this.items.get(textModel.uri)?.set(editor.getId(), ( new DirtyDiffItem(dirtyDiffModel, decorator)));
1419
- }
1420
- }
1421
- }
1422
- }
1423
- for (const [uri, item] of this.items) {
1424
- for (const editorId of ( item.keys())) {
1425
- if (!this.editorService.visibleTextEditorControls.find(editor => isCodeEditor(editor) && editor.getModel()?.uri.toString() === ( uri.toString()) && editor.getId() === editorId)) {
1426
- if (( item.has(editorId))) {
1427
- const dirtyDiffItem = item.get(editorId);
1428
- dirtyDiffItem?.dispose();
1429
- item.delete(editorId);
1430
- if (item.size === 0) {
1431
- this.items.delete(uri);
1432
- }
1433
- }
1434
- }
1435
- }
1436
- }
1437
- }
1438
- getModel(editorModel, codeEditor) {
1439
- return this.items.get(editorModel.uri)?.get(codeEditor.getId())?.model;
1440
- }
1441
- dispose() {
1442
- this.disable();
1443
- super.dispose();
1444
- }
1445
- };
1446
- DirtyDiffWorkbenchController = ( __decorate([
1447
- ( __param(0, IEditorService)),
1448
- ( __param(1, IInstantiationService)),
1449
- ( __param(2, IConfigurationService)),
1450
- ( __param(3, ITextFileService))
1451
- ], DirtyDiffWorkbenchController));
1452
- registerEditorContribution(DirtyDiffController.ID, DirtyDiffController, EditorContributionInstantiation.AfterFirstRender);
1453
-
1454
- export { DirtyDiffController, DirtyDiffModel, DirtyDiffWorkbenchController, GotoNextChangeAction, GotoPreviousChangeAction, ShowNextChangeAction, ShowPreviousChangeAction, getOriginalResource, isDirtyDiffVisible, minimapGutterAddedBackground, minimapGutterDeletedBackground, minimapGutterModifiedBackground, overviewRulerAddedForeground, overviewRulerDeletedForeground, overviewRulerModifiedForeground };