@codingame/monaco-vscode-api 7.0.11 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (683) hide show
  1. package/api.js +60 -10
  2. package/extensions.d.ts +9 -0
  3. package/l10n.d.ts +13 -1
  4. package/l10n.js +3 -2
  5. package/missing-services.js +35 -21
  6. package/package.json +9 -9
  7. package/service-override/workingCopy.d.ts +4 -1
  8. package/services.js +2 -2
  9. package/vscode/src/vs/base/browser/browser.js +4 -1
  10. package/vscode/src/vs/base/browser/defaultWorkerFactory.js +7 -1
  11. package/vscode/src/vs/base/browser/dom.js +8 -1
  12. package/vscode/src/vs/base/browser/markdownRenderer.js +1 -1
  13. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +1 -0
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +13 -6
  15. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
  16. package/vscode/src/vs/base/browser/ui/button/button.js +2 -3
  17. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +7 -8
  18. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +2 -3
  19. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +2 -3
  20. package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +4 -5
  21. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +3 -4
  22. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  23. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +3 -5
  24. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +3 -4
  25. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +7 -8
  26. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +2 -3
  27. package/vscode/src/vs/base/browser/ui/list/listView.js +2 -2
  28. package/vscode/src/vs/base/browser/ui/menu/menubar.js +2 -3
  29. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +4 -5
  30. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +2 -3
  31. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  32. package/vscode/src/vs/base/browser/ui/toggle/toggle.css.js +1 -1
  33. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
  34. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -12
  35. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +2 -3
  36. package/vscode/src/vs/base/common/actions.js +2 -3
  37. package/vscode/src/vs/base/common/arrays.js +7 -1
  38. package/vscode/src/vs/base/common/date.js +61 -63
  39. package/vscode/src/vs/base/common/errorMessage.js +8 -22
  40. package/vscode/src/vs/base/common/event.d.ts +16 -0
  41. package/vscode/src/vs/base/common/event.js +4 -0
  42. package/vscode/src/vs/base/common/hotReload.js +13 -1
  43. package/vscode/src/vs/base/common/hotReloadHelpers.js +25 -0
  44. package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -11
  45. package/vscode/src/vs/base/common/jsonSchema.js +122 -0
  46. package/vscode/src/vs/base/common/keybindingLabels.js +21 -22
  47. package/vscode/src/vs/base/common/labels.js +2 -2
  48. package/vscode/src/vs/base/common/network.js +1 -1
  49. package/vscode/src/vs/base/common/observableInternal/base.d.ts +1 -0
  50. package/vscode/src/vs/base/common/observableInternal/base.js +6 -0
  51. package/vscode/src/vs/base/common/observableInternal/utils.js +4 -1
  52. package/vscode/src/vs/base/common/path.d.ts +1 -1
  53. package/vscode/src/vs/base/common/path.js +20 -17
  54. package/vscode/src/vs/base/common/performance.js +78 -15
  55. package/vscode/src/vs/base/common/platform.js +14 -17
  56. package/vscode/src/vs/base/common/prefixTree.d.ts +2 -0
  57. package/vscode/src/vs/base/common/prefixTree.js +3 -0
  58. package/vscode/src/vs/base/common/product.d.ts +3 -7
  59. package/vscode/src/vs/base/common/uri.js +3 -0
  60. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +6 -3
  61. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +66 -18
  62. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +18 -5
  63. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +3 -3
  64. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +9 -13
  65. package/vscode/src/vs/editor/browser/coreCommands.js +4 -5
  66. package/vscode/src/vs/editor/browser/editorExtensions.js +7 -8
  67. package/vscode/src/vs/editor/browser/observableCodeEditor.js +2 -0
  68. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +2 -3
  69. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -3
  70. package/vscode/src/vs/editor/browser/view.js +3 -1
  71. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +1 -2
  72. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -6
  73. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +1 -1
  74. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +13 -14
  75. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +17 -38
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +20 -2
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +6 -6
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +11 -2
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +10 -13
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +6 -7
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +37 -3
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +4 -2
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +33 -23
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +91 -41
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +9 -14
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +3 -4
  88. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +7 -13
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  90. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +80 -21
  91. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +4 -5
  92. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +24 -18
  93. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +26 -13
  94. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +4 -1
  95. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +8 -4
  96. package/vscode/src/vs/editor/common/config/diffEditor.js +2 -0
  97. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +86 -115
  98. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +11 -1
  99. package/vscode/src/vs/editor/common/config/editorOptions.js +547 -932
  100. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +102 -144
  101. package/vscode/src/vs/editor/common/core/lineRange.js +1 -1
  102. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +11 -0
  103. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +2 -2
  104. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +8 -3
  105. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +34 -34
  106. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +7 -0
  107. package/vscode/src/vs/editor/common/diff/rangeMapping.js +40 -0
  108. package/vscode/src/vs/editor/common/editorContextKeys.js +52 -69
  109. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -1
  110. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +27 -14
  111. package/vscode/src/vs/editor/common/languages/modesRegistry.js +2 -3
  112. package/vscode/src/vs/editor/common/languages.d.ts +4 -0
  113. package/vscode/src/vs/editor/common/languages.js +28 -29
  114. package/vscode/src/vs/editor/common/model/editStack.js +2 -3
  115. package/vscode/src/vs/editor/common/model/guidesTextModelPart.js +1 -1
  116. package/vscode/src/vs/editor/common/standaloneStrings.js +57 -54
  117. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +3 -9
  118. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +1 -1
  119. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +7 -14
  120. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +7 -12
  121. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +3 -4
  122. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +2 -3
  123. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +18 -19
  124. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +2 -3
  125. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -53
  126. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +22 -10
  127. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +8 -9
  128. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +9 -10
  129. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
  130. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +183 -9
  131. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +4 -5
  132. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +3 -4
  133. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +2 -3
  134. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +3 -4
  135. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +10 -13
  136. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +7 -8
  137. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +12 -15
  138. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +3 -4
  139. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +5 -7
  140. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -11
  141. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +9 -10
  142. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +3 -5
  143. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +4 -5
  144. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +3 -16
  145. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +3 -5
  146. package/vscode/src/vs/editor/contrib/find/browser/findController.js +20 -24
  147. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -1
  148. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +31 -35
  149. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -21
  150. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +11 -25
  151. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +4 -5
  152. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +3 -4
  153. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +9 -10
  154. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +18 -25
  155. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +46 -47
  156. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +42 -17
  157. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +3 -4
  158. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +5 -13
  159. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +4 -5
  160. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +4 -5
  161. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +15 -22
  162. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +7 -11
  163. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +5 -7
  164. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +8 -4
  165. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +24 -38
  166. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +3 -4
  167. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +25 -27
  168. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +12 -15
  169. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +6 -7
  170. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +3 -4
  171. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +21 -22
  172. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +9 -10
  173. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +12 -13
  174. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +2 -2
  175. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +3 -4
  176. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +7 -10
  177. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +51 -42
  178. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +3 -5
  179. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +6 -7
  180. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +12 -16
  181. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +0 -3
  182. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.css.js +1 -1
  183. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +58 -39
  184. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
  185. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget.css.js +4 -0
  186. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget.js +301 -0
  187. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +7 -8
  188. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +3 -4
  189. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +1 -1
  190. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +1 -1
  191. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +2 -3
  192. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -32
  193. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +3 -4
  194. package/vscode/src/vs/editor/contrib/links/browser/links.js +12 -14
  195. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +2 -3
  196. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +23 -24
  197. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.css.js +1 -1
  198. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +2 -3
  199. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +11 -12
  200. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +20 -35
  201. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +5 -56
  202. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +1 -1
  203. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.js +71 -0
  204. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +8 -11
  205. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +35 -41
  206. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +3 -4
  207. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +13 -25
  208. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +9 -11
  209. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +5 -6
  210. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +5 -6
  211. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +5 -6
  212. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +13 -15
  213. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +1 -1
  214. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +10 -20
  215. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +12 -14
  216. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +19 -32
  217. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -4
  218. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -4
  219. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +67 -101
  220. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +6 -12
  221. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +2 -3
  222. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +30 -49
  223. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +7 -9
  224. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +18 -27
  225. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +5 -6
  226. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +2 -3
  227. package/vscode/src/vs/nls.js +27 -21
  228. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +15 -9
  229. package/vscode/src/vs/platform/accessibility/browser/accessibleViewRegistry.js +1 -16
  230. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +0 -1
  231. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +53 -56
  232. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +7 -8
  233. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +5 -6
  234. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +8 -9
  235. package/vscode/src/vs/platform/actions/browser/buttonbar.js +4 -5
  236. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +43 -13
  237. package/vscode/src/vs/platform/actions/browser/toolbar.js +5 -6
  238. package/vscode/src/vs/platform/actions/common/actions.d.ts +4 -0
  239. package/vscode/src/vs/platform/actions/common/actions.js +4 -0
  240. package/vscode/src/vs/platform/actions/common/actions.service.d.ts +14 -1
  241. package/vscode/src/vs/platform/actions/common/menuResetAction.js +2 -3
  242. package/vscode/src/vs/platform/actions/common/menuService.js +52 -21
  243. package/vscode/src/vs/platform/configuration/common/configurationModels.js +11 -3
  244. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +14 -8
  245. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +180 -146
  246. package/vscode/src/vs/platform/configuration/common/configurations.js +2 -2
  247. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +2 -3
  248. package/vscode/src/vs/platform/contextkey/common/contextkey.js +13 -21
  249. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +10 -15
  250. package/vscode/src/vs/platform/contextkey/common/scanner.js +7 -16
  251. package/vscode/src/vs/platform/contextview/browser/contextMenuService.js +2 -3
  252. package/vscode/src/vs/platform/dialogs/common/dialogs.js +11 -13
  253. package/vscode/src/vs/platform/dnd/browser/dnd.js +3 -5
  254. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +7 -1
  255. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -5
  256. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -2
  257. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +2 -3
  258. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +1 -1
  259. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +25 -33
  260. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +33 -67
  261. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +3 -18
  262. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +31 -0
  263. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +3 -8
  264. package/vscode/src/vs/platform/files/common/files.js +7 -8
  265. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +2 -3
  266. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +5 -0
  267. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.d.ts +10 -0
  268. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +8 -0
  269. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +9 -14
  270. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +2 -3
  271. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +4 -5
  272. package/vscode/src/vs/platform/list/browser/listService.js +43 -71
  273. package/vscode/src/vs/platform/log/common/log.js +7 -8
  274. package/vscode/src/vs/platform/markers/common/markers.js +4 -5
  275. package/vscode/src/vs/platform/observable/common/wrapInReloadableClass.js +51 -0
  276. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css.js +1 -1
  277. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +39 -32
  278. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +7 -11
  279. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +14 -11
  280. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +99 -142
  281. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +3 -5
  282. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +3 -4
  283. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +16 -1
  284. package/vscode/src/vs/platform/quickinput/common/quickInput.js +6 -1
  285. package/vscode/src/vs/platform/request/common/request.js +23 -36
  286. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +11 -2
  287. package/vscode/src/vs/platform/theme/common/colorUtils.js +3 -4
  288. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +27 -37
  289. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +10 -11
  290. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +120 -207
  291. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +53 -61
  292. package/vscode/src/vs/platform/theme/common/colors/listColors.js +51 -98
  293. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +8 -9
  294. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +13 -15
  295. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +12 -16
  296. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +13 -17
  297. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +4 -9
  298. package/vscode/src/vs/platform/theme/common/iconRegistry.js +7 -9
  299. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +49 -56
  300. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +35 -55
  301. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +2 -3
  302. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +5 -8
  303. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +38 -19
  304. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +3 -5
  305. package/vscode/src/vs/platform/workspace/common/workspace.js +2 -3
  306. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +88 -8
  307. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +60 -0
  308. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +48 -18
  309. package/vscode/src/vs/workbench/api/common/extHostComments.js +26 -4
  310. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +4 -6
  311. package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +3 -0
  312. package/vscode/src/vs/workbench/api/common/extHostEmbedding.js +1 -0
  313. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +6 -5
  314. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +19 -17
  315. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +45 -48
  316. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +2 -1
  317. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +2 -3
  318. package/vscode/src/vs/workbench/api/common/extHostLogService.js +2 -3
  319. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +3 -9
  320. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +3 -0
  321. package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +3 -0
  322. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +12 -8
  323. package/vscode/src/vs/workbench/api/common/extHostSCM.js +5 -5
  324. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +4 -6
  325. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +3 -5
  326. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +2 -8
  327. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +4 -4
  328. package/vscode/src/vs/workbench/api/common/extHostTesting.js +69 -6
  329. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +4 -1
  330. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +2 -3
  331. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +3 -4
  332. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +41 -11
  333. package/vscode/src/vs/workbench/api/common/extHostTypes.js +78 -23
  334. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +10 -5
  335. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +19 -30
  336. package/vscode/src/vs/workbench/browser/actions/developerActions.js +41 -59
  337. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +161 -132
  338. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +7 -8
  339. package/vscode/src/vs/workbench/browser/actions/windowActions.js +30 -43
  340. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +22 -23
  341. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +5 -6
  342. package/vscode/src/vs/workbench/browser/actions.js +2 -3
  343. package/vscode/src/vs/workbench/browser/editor.js +3 -4
  344. package/vscode/src/vs/workbench/browser/labels.js +3 -4
  345. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +12 -17
  346. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +16 -25
  347. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +2 -3
  348. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +5 -7
  349. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +45 -53
  350. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -13
  351. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +2 -3
  352. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +7 -8
  353. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +153 -156
  354. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +206 -329
  355. package/vscode/src/vs/workbench/browser/parts/editor/editorCommandsContext.js +134 -0
  356. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +17 -17
  357. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +14 -15
  358. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +3 -4
  359. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +15 -23
  360. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +8 -11
  361. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +63 -75
  362. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +3 -4
  363. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +16 -17
  364. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +1 -3
  365. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +2 -3
  366. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -3
  367. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +6 -9
  368. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +2 -3
  369. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +17 -19
  370. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +18 -19
  371. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +7 -11
  372. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +7 -8
  373. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +10 -11
  374. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +9 -24
  375. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +16 -28
  376. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +4 -11
  377. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +6 -13
  378. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  379. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +48 -49
  380. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +20 -22
  381. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +3 -4
  382. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -3
  383. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +55 -49
  384. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -3
  385. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -2
  386. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +12 -11
  387. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +11 -11
  388. package/vscode/src/vs/workbench/browser/quickaccess.js +2 -3
  389. package/vscode/src/vs/workbench/browser/window.js +20 -28
  390. package/vscode/src/vs/workbench/browser/workbench.contribution.js +376 -584
  391. package/vscode/src/vs/workbench/common/configuration.js +15 -19
  392. package/vscode/src/vs/workbench/common/contextkeys.js +87 -100
  393. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +2 -3
  394. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -9
  395. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +3 -5
  396. package/vscode/src/vs/workbench/common/editor.d.ts +5 -2
  397. package/vscode/src/vs/workbench/common/editor.js +5 -6
  398. package/vscode/src/vs/workbench/common/theme.js +281 -450
  399. package/vscode/src/vs/workbench/common/views.js +7 -11
  400. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +207 -284
  401. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +50 -16
  402. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +5 -2
  403. package/vscode/src/vs/workbench/contrib/accessibility/common/accessibilityCommands.js +1 -0
  404. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +29 -15
  405. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +17 -0
  406. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +5 -6
  407. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +10 -15
  408. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -3
  409. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +26 -27
  410. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +3 -4
  411. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAttachmentsContentPart.js +119 -0
  412. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCodeCitationContentPart.js +48 -0
  413. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +2 -3
  414. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +11 -6
  415. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +62 -33
  416. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +2 -2
  417. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +5 -5
  418. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +2 -3
  419. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +3 -4
  420. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +2 -3
  421. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +47 -26
  422. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +64 -37
  423. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +2 -0
  424. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +36 -20
  425. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +32 -29
  426. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +8 -8
  427. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  428. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +0 -1
  429. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +7 -8
  430. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +17 -28
  431. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +59 -9
  432. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +10 -3
  433. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +9 -1
  434. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +16 -6
  435. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +1 -1
  436. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +8 -14
  437. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +3 -1
  438. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +80 -23
  439. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +11 -12
  440. package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +7 -8
  441. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +5 -6
  442. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +25 -30
  443. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +5 -7
  444. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +11 -12
  445. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +5 -11
  446. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +7 -8
  447. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +45 -13
  448. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -4
  449. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +5 -6
  450. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +3 -4
  451. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +3 -4
  452. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +6 -7
  453. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +9 -11
  454. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +10 -15
  455. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +5 -6
  456. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +14 -49
  457. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +21 -18
  458. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +4 -5
  459. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +8 -13
  460. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +43 -25
  461. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +27 -39
  462. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +10 -14
  463. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +2 -3
  464. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +15 -18
  465. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +25 -29
  466. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +10 -11
  467. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +11 -15
  468. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +1 -0
  469. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -17
  470. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +6 -9
  471. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +2 -3
  472. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +33 -36
  473. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +18 -22
  474. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +77 -97
  475. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +15 -17
  476. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -14
  477. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +35 -40
  478. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +58 -75
  479. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +4 -5
  480. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +2 -3
  481. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +8 -1
  482. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +90 -205
  483. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +28 -11
  484. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +2 -3
  485. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +1 -1
  486. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +3 -4
  487. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +2 -3
  488. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +5 -6
  489. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +342 -359
  490. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +35 -74
  491. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +8 -19
  492. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +3 -4
  493. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +5 -7
  494. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +7 -14
  495. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +6 -8
  496. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +2 -3
  497. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +12 -20
  498. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +28 -38
  499. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +18 -22
  500. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +108 -168
  501. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +55 -30
  502. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +9 -9
  503. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +45 -59
  504. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +102 -151
  505. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +3 -4
  506. package/vscode/src/vs/workbench/contrib/files/browser/files.js +21 -12
  507. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -3
  508. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +6 -8
  509. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +9 -10
  510. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +20 -29
  511. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +54 -35
  512. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +7 -10
  513. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +2 -3
  514. package/vscode/src/vs/workbench/contrib/files/common/files.js +19 -40
  515. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +5 -7
  516. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +28 -36
  517. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +5 -6
  518. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +2 -3
  519. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -10
  520. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +23 -25
  521. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +20 -6
  522. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +26 -88
  523. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +2 -34
  524. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +7 -8
  525. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +13 -33
  526. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +2 -3
  527. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  528. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +51 -91
  529. package/vscode/src/vs/workbench/contrib/issue/common/issue.service.js +2 -1
  530. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +2 -3
  531. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +40 -56
  532. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +3 -4
  533. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +9 -10
  534. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +2 -3
  535. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +43 -46
  536. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +6 -5
  537. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +3 -4
  538. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +8 -14
  539. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +18 -19
  540. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +4 -5
  541. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +3 -4
  542. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +30 -5
  543. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -13
  544. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +16 -6
  545. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +9 -11
  546. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +4 -5
  547. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +5 -7
  548. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +13 -18
  549. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +29 -54
  550. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -30
  551. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +1 -1
  552. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +11 -18
  553. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -6
  554. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +54 -24
  555. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +3 -9
  556. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +5 -6
  557. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -3
  558. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +4 -10
  559. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +3 -4
  560. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +3 -9
  561. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -6
  562. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +2 -3
  563. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +22 -13
  564. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +8 -0
  565. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +17 -0
  566. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +13 -25
  567. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +51 -43
  568. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +2 -2
  569. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +18 -26
  570. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +3 -4
  571. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +3 -1
  572. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -3
  573. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +4 -10
  574. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +14 -24
  575. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +12 -12
  576. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +50 -51
  577. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +3 -2
  578. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +24 -31
  579. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +27 -39
  580. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +18 -23
  581. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +68 -80
  582. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +3 -4
  583. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +26 -57
  584. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +11 -12
  585. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +2 -3
  586. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +14 -16
  587. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +1 -1
  588. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +3 -4
  589. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +2 -3
  590. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +3 -4
  591. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +5 -19
  592. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +4 -5
  593. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +17 -29
  594. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +30 -31
  595. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +9 -13
  596. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +9 -13
  597. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +5 -7
  598. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +5 -0
  599. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +1 -0
  600. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -14
  601. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +33 -34
  602. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +2 -0
  603. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +1 -1
  604. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +9 -15
  605. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +37 -51
  606. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +21 -37
  607. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +29 -34
  608. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminal.suggest.js +4 -0
  609. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +16 -13
  610. package/vscode/src/vs/workbench/contrib/testing/common/testId.js +1 -1
  611. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +6 -7
  612. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +23 -1
  613. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +23 -1
  614. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +7 -8
  615. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +4 -5
  616. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  617. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +2 -3
  618. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +3 -8
  619. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +17 -11
  620. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +23 -25
  621. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +21 -34
  622. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +3 -5
  623. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +35 -53
  624. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +3 -5
  625. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +2 -3
  626. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +7 -8
  627. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +145 -236
  628. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +14 -19
  629. package/vscode/src/vs/workbench/services/language/common/languageService.js +40 -57
  630. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -1
  631. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +8 -2
  632. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.d.ts +34 -4
  633. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.js +6 -1
  634. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +3 -3
  635. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +3 -4
  636. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +8 -9
  637. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +1 -3
  638. package/vscode/src/vs/workbench/services/preferences/common/preferences.js +2 -1
  639. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +5 -2
  640. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +3 -4
  641. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.d.ts +5 -3
  642. package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.d.ts +1 -0
  643. package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.service.d.ts +4 -0
  644. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +14 -20
  645. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +9 -9
  646. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +2 -8
  647. package/vscode/src/vs/workbench/services/search/common/search.js +1 -1
  648. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +41 -1
  649. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +12 -27
  650. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +4 -5
  651. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +34 -50
  652. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +22 -31
  653. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +1 -1
  654. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +4 -5
  655. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +2 -3
  656. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +12 -13
  657. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +8 -9
  658. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +25 -33
  659. package/vscode-dts/vscode.proposed.aiTextSearchProviderNew.d.ts +119 -0
  660. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +61 -3
  661. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +26 -0
  662. package/vscode-dts/vscode.proposed.commentReveal.d.ts +21 -8
  663. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +0 -2
  664. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemChangesMenu.d.ts +7 -0
  665. package/vscode-dts/vscode.proposed.fileComments.d.ts +1 -1
  666. package/vscode-dts/vscode.proposed.fileSearchProviderNew.d.ts +100 -0
  667. package/vscode-dts/vscode.proposed.findFiles2New.d.ts +80 -0
  668. package/vscode-dts/vscode.proposed.findTextInFilesNew.d.ts +143 -0
  669. package/vscode-dts/vscode.proposed.lmTools.d.ts +5 -0
  670. package/vscode-dts/vscode.proposed.quickInputButtonLocation.d.ts +29 -0
  671. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +2 -0
  672. package/vscode-dts/vscode.proposed.testMessageStackTrace.d.ts +38 -0
  673. package/vscode-dts/vscode.proposed.testRelatedCode.d.ts +36 -0
  674. package/vscode-dts/vscode.proposed.textSearchCompleteNew.d.ts +46 -0
  675. package/vscode-dts/vscode.proposed.textSearchProviderNew.d.ts +234 -0
  676. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/model.js +0 -14
  677. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +0 -115
  678. package/vscode/src/vs/platform/issue/common/issue.service.js +0 -3
  679. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +0 -570
  680. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +0 -207
  681. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +0 -30
  682. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +0 -1016
  683. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +0 -390
@@ -10,10 +10,9 @@ import { observableCodeEditor } from '../../../observableCodeEditor.js';
10
10
  import { OverviewRulerFeature } from '../features/overviewRulerFeature.js';
11
11
  import { EditorOptions } from '../../../../common/config/editorOptions.js';
12
12
  import { Position } from '../../../../common/core/position.js';
13
- import { localizeWithPath } from '../../../../../nls.js';
13
+ import { localize } from '../../../../../nls.js';
14
14
  import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
15
15
  import { IKeybindingService } from '../../../../../platform/keybinding/common/keybinding.service.js';
16
- const _moduleId = "vs/editor/browser/widget/diffEditor/components/diffEditorEditors";
17
16
  let DiffEditorEditors = class DiffEditorEditors extends Disposable {
18
17
  get onDidContentSizeChange() { return this._onDidContentSizeChange.event; }
19
18
  constructor(originalEditorElement, modifiedEditorElement, _options, _argCodeEditorWidgetOptions, _createInnerEditor, _instantiationService, _keybindingService) {
@@ -30,7 +29,9 @@ let DiffEditorEditors = class DiffEditorEditors extends Disposable {
30
29
  this._onDidContentSizeChange = this._register(( (new Emitter())));
31
30
  this.modifiedScrollTop = observableFromEvent(this, this.modified.onDidScrollChange, () => this.modified.getScrollTop());
32
31
  this.modifiedScrollHeight = observableFromEvent(this, this.modified.onDidScrollChange, () => this.modified.getScrollHeight());
33
- this.modifiedModel = observableCodeEditor(this.modified).model;
32
+ this.modifiedObs = observableCodeEditor(this.modified);
33
+ this.originalObs = observableCodeEditor(this.original);
34
+ this.modifiedModel = this.modifiedObs.model;
34
35
  this.modifiedSelections = observableFromEvent(this, this.modified.onDidChangeCursorSelection, () => this.modified.getSelections() ?? []);
35
36
  this.modifiedCursor = derivedOpts({ owner: this, equalsFn: Position.equals }, reader => this.modifiedSelections.read(reader)[0]?.getPosition() ?? ( (new Position(1, 1))));
36
37
  this.originalCursor = observableFromEvent(this, this.original.onDidChangeCursorPosition, () => this.original.getPosition() ?? ( (new Position(1, 1))));
@@ -141,9 +142,8 @@ let DiffEditorEditors = class DiffEditorEditors extends Disposable {
141
142
  if (!ariaLabel) {
142
143
  ariaLabel = '';
143
144
  }
144
- const ariaNavigationTip = ( localizeWithPath(
145
- _moduleId,
146
- 0,
145
+ const ariaNavigationTip = ( localize(
146
+ 4689,
147
147
  ' use {0} to open the accessibility help.',
148
148
  this._keybindingService.lookupKeybinding('editor.action.accessibilityHelp')?.getAriaLabel()
149
149
  ));
@@ -141,7 +141,7 @@ let DiffEditorViewZones = class DiffEditorViewZones extends Disposable {
141
141
  const mightContainRTL = this._editors.original.getModel()?.mightContainRTL() ?? false;
142
142
  const renderOptions = RenderOptions.fromEditor(this._editors.modified);
143
143
  for (const a of alignmentsVal) {
144
- if (a.diff && !renderSideBySide) {
144
+ if (a.diff && !renderSideBySide && (!this._options.useTrueInlineDiffRendering.read(reader) || !allowsTrueInlineDiffRendering(a.diff))) {
145
145
  if (!a.originalRange.isEmpty) {
146
146
  originalModelTokenizationCompleted.read(reader);
147
147
  const deletedCodeDomNode = document.createElement('div');
@@ -490,4 +490,13 @@ function getAdditionalLineHeights(editor, viewZonesToIgnore) {
490
490
  const result = joinCombine(viewZoneHeights, wrappingZoneHeights, v => v.lineNumber, (v1, v2) => ({ lineNumber: v1.lineNumber, heightInPx: v1.heightInPx + v2.heightInPx }));
491
491
  return result;
492
492
  }
493
- export { DiffEditorViewZones };
493
+ function allowsTrueInlineDiffRendering(mapping) {
494
+ if (!mapping.innerChanges) {
495
+ return false;
496
+ }
497
+ return mapping.innerChanges.every(c => rangeIsSingleLine(c.modifiedRange) && rangeIsSingleLine(c.originalRange));
498
+ }
499
+ function rangeIsSingleLine(range) {
500
+ return range.startLineNumber === range.endLineNumber;
501
+ }
502
+ export { DiffEditorViewZones, allowsTrueInlineDiffRendering };
@@ -7,8 +7,7 @@ import { ThemeIcon } from '../../../../../../base/common/themables.js';
7
7
  import { MouseTargetType } from '../../../../editorBrowser.js';
8
8
  import { EditorOption } from '../../../../../common/config/editorOptions.js';
9
9
  import { EndOfLineSequence } from '../../../../../common/model.js';
10
- import { localizeWithPath } from '../../../../../../nls.js';
11
- const _moduleId = "vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin";
10
+ import { localize } from '../../../../../../nls.js';
12
11
  class InlineDiffDeletedCodeMargin extends Disposable {
13
12
  get visibility() {
14
13
  return this._visibility;
@@ -52,25 +51,23 @@ class InlineDiffDeletedCodeMargin extends Disposable {
52
51
  const isDeletion = _diff.modified.isEmpty;
53
52
  actions.push(( (new Action('diff.clipboard.copyDeletedContent', isDeletion
54
53
  ? (_diff.original.length > 1
55
- ? ( localizeWithPath(_moduleId, 0, "Copy deleted lines"))
56
- : ( localizeWithPath(_moduleId, 1, "Copy deleted line")))
54
+ ? ( localize(9842, "Copy deleted lines"))
55
+ : ( localize(9843, "Copy deleted line")))
57
56
  : (_diff.original.length > 1
58
- ? ( localizeWithPath(_moduleId, 2, "Copy changed lines"))
59
- : ( localizeWithPath(_moduleId, 3, "Copy changed line"))), undefined, true, async () => {
57
+ ? ( localize(9844, "Copy changed lines"))
58
+ : ( localize(9845, "Copy changed line"))), undefined, true, async () => {
60
59
  const originalText = this._originalTextModel.getValueInRange(_diff.original.toExclusiveRange());
61
60
  await this._clipboardService.writeText(originalText);
62
61
  }))));
63
62
  if (_diff.original.length > 1) {
64
63
  actions.push(( (new Action('diff.clipboard.copyDeletedLineContent', isDeletion
65
- ? ( localizeWithPath(
66
- _moduleId,
67
- 4,
64
+ ? ( localize(
65
+ 9846,
68
66
  "Copy deleted line ({0})",
69
67
  _diff.original.startLineNumber + currentLineNumberOffset
70
68
  ))
71
- : ( localizeWithPath(
72
- _moduleId,
73
- 5,
69
+ : ( localize(
70
+ 9847,
74
71
  "Copy changed line ({0})",
75
72
  _diff.original.startLineNumber + currentLineNumberOffset
76
73
  )), undefined, true, async () => {
@@ -84,7 +81,7 @@ class InlineDiffDeletedCodeMargin extends Disposable {
84
81
  }
85
82
  const readOnly = _modifiedEditor.getOption(EditorOption.readOnly);
86
83
  if (!readOnly) {
87
- actions.push(( (new Action('diff.inline.revertChange', ( localizeWithPath(_moduleId, 6, "Revert this change")), undefined, true, async () => {
84
+ actions.push(( (new Action('diff.inline.revertChange', ( localize(9848, "Revert this change")), undefined, true, async () => {
88
85
  this._editor.revert(this._diff);
89
86
  }))));
90
87
  }
@@ -1,19 +1,18 @@
1
1
  import { Codicon } from '../../../../base/common/codicons.js';
2
2
  import { ToggleUseInlineViewWhenSpaceIsLimited, ToggleShowMovedCodeBlocks, RevertHunkOrSelection, AccessibleDiffViewerNext, AccessibleDiffViewerPrev, ToggleCollapseUnchangedRegions, SwitchSide, ExitCompareMove, CollapseAllUnchangedRegions, ShowAllUnchangedRegions } from './commands.js';
3
3
  import { EditorContextKeys } from '../../../common/editorContextKeys.js';
4
- import { localizeWithPath } from '../../../../nls.js';
4
+ import { localize } from '../../../../nls.js';
5
5
  import { registerAction2, MenuRegistry, MenuId } from '../../../../platform/actions/common/actions.js';
6
6
  import { CommandsRegistry } from '../../../../platform/commands/common/commands.js';
7
7
  import { ContextKeyExpr, ContextKeyEqualsExpr } from '../../../../platform/contextkey/common/contextkey.js';
8
8
  import './registrations.contribution.js';
9
- const _moduleId = "vs/editor/browser/widget/diffEditor/diffEditor.contribution";
10
9
  registerAction2(ToggleCollapseUnchangedRegions);
11
10
  registerAction2(ToggleShowMovedCodeBlocks);
12
11
  registerAction2(ToggleUseInlineViewWhenSpaceIsLimited);
13
12
  MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
14
13
  command: {
15
14
  id: ( (new ToggleUseInlineViewWhenSpaceIsLimited())).desc.id,
16
- title: ( localizeWithPath(_moduleId, 0, "Use Inline View When Space Is Limited")),
15
+ title: ( localize(1648, "Use Inline View When Space Is Limited")),
17
16
  toggled: ( (ContextKeyExpr.has('config.diffEditor.useInlineViewWhenSpaceIsLimited'))),
18
17
  precondition: ( (ContextKeyExpr.has('isInDiffEditor'))),
19
18
  },
@@ -27,7 +26,7 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
27
26
  MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
28
27
  command: {
29
28
  id: ( (new ToggleShowMovedCodeBlocks())).desc.id,
30
- title: ( localizeWithPath(_moduleId, 1, "Show Moved Code Blocks")),
29
+ title: ( localize(1649, "Show Moved Code Blocks")),
31
30
  icon: Codicon.move,
32
31
  toggled: ContextKeyEqualsExpr.create('config.diffEditor.experimental.showMoves', true),
33
32
  precondition: ( (ContextKeyExpr.has('isInDiffEditor'))),
@@ -44,7 +43,7 @@ for (const ctx of [
44
43
  MenuRegistry.appendMenuItem(MenuId.DiffEditorHunkToolbar, {
45
44
  command: {
46
45
  id: ( (new RevertHunkOrSelection())).desc.id,
47
- title: ( localizeWithPath(_moduleId, 2, "Revert Block")),
46
+ title: ( localize(1650, "Revert Block")),
48
47
  icon: ctx.icon,
49
48
  },
50
49
  when: ( (ContextKeyExpr.and(EditorContextKeys.diffEditorModifiedWritable, ctx.key))),
@@ -54,7 +53,7 @@ for (const ctx of [
54
53
  MenuRegistry.appendMenuItem(MenuId.DiffEditorSelectionToolbar, {
55
54
  command: {
56
55
  id: ( (new RevertHunkOrSelection())).desc.id,
57
- title: ( localizeWithPath(_moduleId, 3, "Revert Selection")),
56
+ title: ( localize(1651, "Revert Selection")),
58
57
  icon: ctx.icon,
59
58
  },
60
59
  when: ( (ContextKeyExpr.and(EditorContextKeys.diffEditorModifiedWritable, ctx.key))),
@@ -69,7 +68,7 @@ registerAction2(ShowAllUnchangedRegions);
69
68
  MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
70
69
  command: {
71
70
  id: AccessibleDiffViewerNext.id,
72
- title: ( localizeWithPath(_moduleId, 4, "Open Accessible Diff Viewer")),
71
+ title: ( localize(1652, "Open Accessible Diff Viewer")),
73
72
  precondition: ( (ContextKeyExpr.has('isInDiffEditor'))),
74
73
  },
75
74
  order: 10,
@@ -2,10 +2,11 @@ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.e
2
2
  import { observableValue } from '../../../../base/common/observableInternal/base.js';
3
3
  import { derived } from '../../../../base/common/observableInternal/derived.js';
4
4
  import '../../../../base/common/observableInternal/autorun.js';
5
- import { observableFromEvent } from '../../../../base/common/observableInternal/utils.js';
5
+ import { observableFromEvent, derivedConstOnceDefined } from '../../../../base/common/observableInternal/utils.js';
6
6
  import '../../../../base/common/cancellation.js';
7
7
  import '../../../../base/common/arrays.js';
8
8
  import { Constants } from '../../../../base/common/uint.js';
9
+ import { allowsTrueInlineDiffRendering } from './components/diffEditorViewZones/diffEditorViewZones.js';
9
10
  import { diffEditorDefaultOptions } from '../../../common/config/diffEditor.js';
10
11
  import { boolean, clampedFloat, clampedInt, stringSet } from '../../../common/config/editorOptions.js';
11
12
  import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.service.js';
@@ -17,8 +18,15 @@ let DiffEditorOptions = class DiffEditorOptions {
17
18
  this._screenReaderMode = observableFromEvent(this, this._accessibilityService.onDidChangeScreenReaderOptimized, () => this._accessibilityService.isScreenReaderOptimized());
18
19
  this.couldShowInlineViewBecauseOfSize = derived(this, reader => this._options.read(reader).renderSideBySide && this._diffEditorWidth.read(reader) <= this._options.read(reader).renderSideBySideInlineBreakpoint);
19
20
  this.renderOverviewRuler = derived(this, reader => this._options.read(reader).renderOverviewRuler);
20
- this.renderSideBySide = derived(this, reader => this._options.read(reader).renderSideBySide
21
- && !(this._options.read(reader).useInlineViewWhenSpaceIsLimited && this.couldShowInlineViewBecauseOfSize.read(reader) && !this._screenReaderMode.read(reader)));
21
+ this.renderSideBySide = derived(this, reader => {
22
+ if (this.compactMode.read(reader)) {
23
+ if (this.shouldRenderInlineViewInSmartMode.read(reader)) {
24
+ return false;
25
+ }
26
+ }
27
+ return this._options.read(reader).renderSideBySide
28
+ && !(this._options.read(reader).useInlineViewWhenSpaceIsLimited && this.couldShowInlineViewBecauseOfSize.read(reader) && !this._screenReaderMode.read(reader));
29
+ });
22
30
  this.readOnly = derived(this, reader => this._options.read(reader).readOnly);
23
31
  this.shouldRenderOldRevertArrows = derived(this, reader => {
24
32
  if (!this._options.read(reader).renderMarginRevertIcon) {
@@ -50,10 +58,22 @@ let DiffEditorOptions = class DiffEditorOptions {
50
58
  this.diffAlgorithm = derived(this, reader => this._options.read(reader).diffAlgorithm);
51
59
  this.showEmptyDecorations = derived(this, reader => this._options.read(reader).experimental.showEmptyDecorations);
52
60
  this.onlyShowAccessibleDiffViewer = derived(this, reader => this._options.read(reader).onlyShowAccessibleDiffViewer);
61
+ this.compactMode = derived(this, reader => this._options.read(reader).compactMode);
62
+ this.trueInlineDiffRenderingEnabled = derived(this, reader => this._options.read(reader).experimental.useTrueInlineView);
63
+ this.useTrueInlineDiffRendering = derived(this, reader => !this.renderSideBySide.read(reader) && this.trueInlineDiffRenderingEnabled.read(reader));
53
64
  this.hideUnchangedRegions = derived(this, reader => this._options.read(reader).hideUnchangedRegions.enabled);
54
65
  this.hideUnchangedRegionsRevealLineCount = derived(this, reader => this._options.read(reader).hideUnchangedRegions.revealLineCount);
55
66
  this.hideUnchangedRegionsContextLineCount = derived(this, reader => this._options.read(reader).hideUnchangedRegions.contextLineCount);
56
67
  this.hideUnchangedRegionsMinimumLineCount = derived(this, reader => this._options.read(reader).hideUnchangedRegions.minimumLineCount);
68
+ this._model = observableValue(this, undefined);
69
+ this.shouldRenderInlineViewInSmartMode = ( ( this._model
70
+ .map(this, model => derivedConstOnceDefined(this, reader => {
71
+ const diffs = model?.diff.read(reader);
72
+ return diffs ? isSimpleDiff(diffs, this.trueInlineDiffRenderingEnabled.read(reader)) : undefined;
73
+ })))
74
+ .flatten()
75
+ .map(this, v => !!v));
76
+ this.inlineViewHideOriginalLineNumbers = this.compactMode;
57
77
  const optionsCopy = { ...options, ...validateDiffEditorOptions(options, diffEditorDefaultOptions) };
58
78
  this._options = observableValue(this, optionsCopy);
59
79
  }
@@ -65,10 +85,22 @@ let DiffEditorOptions = class DiffEditorOptions {
65
85
  setWidth(width) {
66
86
  this._diffEditorWidth.set(width, undefined);
67
87
  }
88
+ setModel(model) {
89
+ this._model.set(model, undefined);
90
+ }
68
91
  };
69
92
  DiffEditorOptions = ( __decorate([
70
93
  ( __param(1, IAccessibilityService))
71
94
  ], DiffEditorOptions));
95
+ function isSimpleDiff(diff, supportsTrueDiffRendering) {
96
+ return diff.mappings.every(m => isInsertion(m.lineRangeMapping) || isDeletion(m.lineRangeMapping) || (supportsTrueDiffRendering && allowsTrueInlineDiffRendering(m.lineRangeMapping)));
97
+ }
98
+ function isInsertion(mapping) {
99
+ return mapping.original.length === 0;
100
+ }
101
+ function isDeletion(mapping) {
102
+ return mapping.modified.length === 0;
103
+ }
72
104
  function validateDiffEditorOptions(options, defaults) {
73
105
  return {
74
106
  enableSplitViewResizing: boolean(options.enableSplitViewResizing, defaults.enableSplitViewResizing),
@@ -88,6 +120,7 @@ function validateDiffEditorOptions(options, defaults) {
88
120
  experimental: {
89
121
  showMoves: boolean(options.experimental?.showMoves, defaults.experimental.showMoves),
90
122
  showEmptyDecorations: boolean(options.experimental?.showEmptyDecorations, defaults.experimental.showEmptyDecorations),
123
+ useTrueInlineView: boolean(options.experimental?.useTrueInlineView, defaults.experimental.useTrueInlineView),
91
124
  },
92
125
  hideUnchangedRegions: {
93
126
  enabled: boolean(options.hideUnchangedRegions?.enabled ?? options.experimental?.collapseUnchangedRegions, defaults.hideUnchangedRegions.enabled),
@@ -100,6 +133,7 @@ function validateDiffEditorOptions(options, defaults) {
100
133
  renderSideBySideInlineBreakpoint: clampedInt(options.renderSideBySideInlineBreakpoint, defaults.renderSideBySideInlineBreakpoint, 0, Constants.MAX_SAFE_SMALL_INTEGER),
101
134
  useInlineViewWhenSpaceIsLimited: boolean(options.useInlineViewWhenSpaceIsLimited, defaults.useInlineViewWhenSpaceIsLimited),
102
135
  renderGutterMenu: boolean(options.renderGutterMenu, defaults.renderGutterMenu),
136
+ compactMode: boolean(options.compactMode, defaults.compactMode),
103
137
  };
104
138
  }
105
139
  export { DiffEditorOptions };
@@ -9,7 +9,8 @@ import { observableSignalFromEvent, observableSignal } from '../../../../base/co
9
9
  import { waitForState } from '../../../../base/common/observableInternal/promise.js';
10
10
  import { groupAdjacentBy } from '../../../../base/common/arrays.js';
11
11
  import { IDiffProviderFactoryService } from './diffProviderFactoryService.js';
12
- import { readHotReloadableExport, filterWithPrevious } from './utils.js';
12
+ import { filterWithPrevious } from './utils.js';
13
+ import { readHotReloadableExport } from '../../../../base/common/hotReloadHelpers.js';
13
14
  import { LineRange, LineRangeSet } from '../../../common/core/lineRange.js';
14
15
  import { DefaultLinesDiffComputer } from '../../../common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js';
15
16
  import { DetailedLineRangeMapping, LineRangeMapping, RangeMapping } from '../../../common/diff/rangeMapping.js';
@@ -299,7 +300,8 @@ function normalizeDocumentDiff(diff, original, modified) {
299
300
  function normalizeRangeMapping(rangeMapping, original, modified) {
300
301
  let originalRange = rangeMapping.originalRange;
301
302
  let modifiedRange = rangeMapping.modifiedRange;
302
- if ((originalRange.endColumn !== 1 || modifiedRange.endColumn !== 1) &&
303
+ if (originalRange.startColumn === 1 && modifiedRange.startColumn === 1 &&
304
+ (originalRange.endColumn !== 1 || modifiedRange.endColumn !== 1) &&
303
305
  originalRange.endColumn === original.getLineMaxColumn(originalRange.endLineNumber)
304
306
  && modifiedRange.endColumn === modified.getLineMaxColumn(modifiedRange.endLineNumber)
305
307
  && originalRange.endLineNumber < original.getLineCount()
@@ -4,7 +4,7 @@ import { findLast } from '../../../../base/common/arraysFind.js';
4
4
  import { onUnexpectedError, BugIndicatingError } from '../../../../base/common/errors.js';
5
5
  import { Event } from '../../../../base/common/event.js';
6
6
  import { toDisposable } from '../../../../base/common/lifecycle.js';
7
- import { observableValue, subtransaction, transaction } from '../../../../base/common/observableInternal/base.js';
7
+ import { disposableObservableValue, observableValue, subtransaction, transaction } from '../../../../base/common/observableInternal/base.js';
8
8
  import { derived, derivedDisposable } from '../../../../base/common/observableInternal/derived.js';
9
9
  import { autorun, autorunWithStore } from '../../../../base/common/observableInternal/autorun.js';
10
10
  import { recomputeInitiallyAndOnChange, observableFromEvent } from '../../../../base/common/observableInternal/utils.js';
@@ -24,7 +24,8 @@ import { HideUnchangedRegionsFeature } from './features/hideUnchangedRegionsFeat
24
24
  import { MovedBlocksLinesFeature } from './features/movedBlocksLinesFeature.js';
25
25
  import { OverviewRulerFeature } from './features/overviewRulerFeature.js';
26
26
  import { RevertButtonsFeature } from './features/revertButtonsFeature.js';
27
- import { ObservableElementSizeObserver, applyViewZones, applyStyle, translatePosition, readHotReloadableExport } from './utils.js';
27
+ import { ObservableElementSizeObserver, applyViewZones, applyStyle, RefCounted, translatePosition } from './utils.js';
28
+ import { readHotReloadableExport } from '../../../../base/common/hotReloadHelpers.js';
28
29
  import { bindContextKey } from '../../../../platform/observable/common/platformObservableUtils.js';
29
30
  import { Position } from '../../../common/core/position.js';
30
31
  import { Range } from '../../../common/core/range.js';
@@ -57,8 +58,8 @@ let DiffEditorWidget = class DiffEditorWidget extends DelegatingEditor {
57
58
  h('div.editor.modified@modified', { style: { position: 'absolute', height: '100%', } }),
58
59
  h('div.accessibleDiffViewer@accessibleDiffViewer', { style: { position: 'absolute', height: '100%' } }),
59
60
  ]);
60
- this._diffModel = observableValue(this, undefined);
61
- this._shouldDisposeDiffModel = false;
61
+ this._diffModelSrc = this._register(disposableObservableValue(this, undefined));
62
+ this._diffModel = derived(this, reader => this._diffModelSrc.read(reader)?.object);
62
63
  this.onDidChangeModel = Event.fromObservableLight(this._diffModel);
63
64
  this._contextKeyService = this._register(this._parentContextKeyService.createScoped(this._domElement));
64
65
  this._instantiationService = this._register(this._parentInstantiationService.createChild(( new ServiceCollection([IContextKeyService, this._contextKeyService]))));
@@ -94,8 +95,14 @@ let DiffEditorWidget = class DiffEditorWidget extends DelegatingEditor {
94
95
  }
95
96
  else {
96
97
  gutterLeft = 0;
98
+ const shouldHideOriginalLineNumbers = this._options.inlineViewHideOriginalLineNumbers.read(reader);
97
99
  originalLeft = gutterWidth;
98
- originalWidth = Math.max(5, this._editors.original.getLayoutInfo().decorationsLeft);
100
+ if (shouldHideOriginalLineNumbers) {
101
+ originalWidth = 0;
102
+ }
103
+ else {
104
+ originalWidth = Math.max(5, this._editors.originalObs.layoutInfoDecorationsLeft.read(reader));
105
+ }
99
106
  modifiedLeft = gutterWidth + originalWidth;
100
107
  modifiedWidth = fullWidth - modifiedLeft - overviewRulerPartWidth;
101
108
  }
@@ -214,11 +221,6 @@ let DiffEditorWidget = class DiffEditorWidget extends DelegatingEditor {
214
221
  store.add(toDisposable(() => r.done()));
215
222
  }
216
223
  }));
217
- this._register(toDisposable(() => {
218
- if (this._shouldDisposeDiffModel) {
219
- this._diffModel.get()?.dispose();
220
- }
221
- }));
222
224
  this._register(autorunWithStore((reader, store) => {
223
225
  store.add(new (readHotReloadableExport(RevertButtonsFeature, reader))(this._editors, this._diffModel, this._options, this));
224
226
  }));
@@ -234,6 +236,9 @@ let DiffEditorWidget = class DiffEditorWidget extends DelegatingEditor {
234
236
  }));
235
237
  }
236
238
  }));
239
+ this._register(autorun(reader => {
240
+ this._options.setModel(this._diffModel.read(reader));
241
+ }));
237
242
  }
238
243
  getViewWidth() {
239
244
  return this._rootSizeObserver.width.get();
@@ -297,24 +302,29 @@ let DiffEditorWidget = class DiffEditorWidget extends DelegatingEditor {
297
302
  return this._instantiationService.createInstance(DiffEditorViewModel, model, this._options);
298
303
  }
299
304
  getModel() { return this._diffModel.get()?.model ?? null; }
300
- setModel(model, tx) {
301
- if (!model && this._diffModel.get()) {
305
+ setModel(model) {
306
+ const vm = !model ? null
307
+ : ('model' in model) ? RefCounted.create(model).createNewRef(this)
308
+ : RefCounted.create(this.createViewModel(model), this);
309
+ this.setDiffModel(vm);
310
+ }
311
+ setDiffModel(viewModel, tx) {
312
+ const currentModel = this._diffModel.get();
313
+ if (!viewModel && currentModel) {
302
314
  this._accessibleDiffViewer.get().close();
303
315
  }
304
- const vm = model ? ('model' in model) ? { model, shouldDispose: false } : { model: this.createViewModel(model), shouldDispose: true } : undefined;
305
- if (this._diffModel.get() !== vm?.model) {
316
+ if (this._diffModel.get() !== viewModel?.object) {
306
317
  subtransaction(tx, tx => {
318
+ const vm = viewModel?.object;
307
319
  observableFromEvent.batchEventsGlobally(tx, () => {
308
- this._editors.original.setModel(vm ? vm.model.model.original : null);
309
- this._editors.modified.setModel(vm ? vm.model.model.modified : null);
320
+ this._editors.original.setModel(vm ? vm.model.original : null);
321
+ this._editors.modified.setModel(vm ? vm.model.modified : null);
310
322
  });
311
- const prevValue = this._diffModel.get();
312
- const shouldDispose = this._shouldDisposeDiffModel;
313
- this._shouldDisposeDiffModel = vm?.shouldDispose ?? false;
314
- this._diffModel.set(vm?.model, tx);
315
- if (shouldDispose) {
316
- prevValue?.dispose();
317
- }
323
+ const prevValueRef = this._diffModelSrc.get()?.createNewRef(this);
324
+ this._diffModelSrc.set(viewModel?.createNewRef(this), tx);
325
+ setTimeout(() => {
326
+ prevValueRef?.dispose();
327
+ }, 0);
318
328
  });
319
329
  }
320
330
  }
@@ -7,11 +7,12 @@ import { Disposable } from '../../../../../base/common/lifecycle.js';
7
7
  import { observableValue, transaction } from '../../../../../base/common/observableInternal/base.js';
8
8
  import { derivedDisposable, derivedWithStore, derived } from '../../../../../base/common/observableInternal/derived.js';
9
9
  import { autorun } from '../../../../../base/common/observableInternal/autorun.js';
10
- import { observableFromEvent } from '../../../../../base/common/observableInternal/utils.js';
10
+ import '../../../../../base/common/observableInternal/utils.js';
11
11
  import '../../../../../base/common/cancellation.js';
12
12
  import '../../../../../base/common/arrays.js';
13
13
  import { ThemeIcon } from '../../../../../base/common/themables.js';
14
14
  import { isDefined } from '../../../../../base/common/types.js';
15
+ import { observableCodeEditor } from '../../../observableCodeEditor.js';
15
16
  import { RevealPreference } from '../diffEditorViewModel.js';
16
17
  import { applyObservableDecorations, ViewZoneOverlayWidget, applyStyle, PlaceholderViewZone } from '../utils.js';
17
18
  import { EditorOption } from '../../../../common/config/editorOptions.js';
@@ -20,13 +21,18 @@ import { Position } from '../../../../common/core/position.js';
20
21
  import { Range } from '../../../../common/core/range.js';
21
22
  import { CursorChangeReason } from '../../../../common/cursorEvents.js';
22
23
  import { SymbolKinds } from '../../../../common/languages.js';
23
- import { localizeWithPath } from '../../../../../nls.js';
24
+ import { localize } from '../../../../../nls.js';
24
25
  import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
25
26
  var HideUnchangedRegionsFeature_1;
26
- const _moduleId = "vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature";
27
27
  let HideUnchangedRegionsFeature = class HideUnchangedRegionsFeature extends Disposable {
28
28
  static { HideUnchangedRegionsFeature_1 = this; }
29
- static { this._breadcrumbsSourceFactory = observableValue('breadcrumbsSourceFactory', undefined); }
29
+ static { this._breadcrumbsSourceFactory = observableValue(HideUnchangedRegionsFeature_1, () => ({
30
+ dispose() {
31
+ },
32
+ getBreadcrumbItems(startRange, reader) {
33
+ return [];
34
+ },
35
+ })); }
30
36
  static setBreadcrumbsSourceFactory(factory) {
31
37
  this._breadcrumbsSourceFactory.set(factory, undefined);
32
38
  }
@@ -82,40 +88,61 @@ let HideUnchangedRegionsFeature = class HideUnchangedRegionsFeature extends Disp
82
88
  const origViewZones = [];
83
89
  const modViewZones = [];
84
90
  const sideBySide = this._options.renderSideBySide.read(reader);
91
+ const compactMode = this._options.compactMode.read(reader);
85
92
  const curUnchangedRegions = unchangedRegions.read(reader);
86
- for (const r of curUnchangedRegions) {
93
+ for (let i = 0; i < curUnchangedRegions.length; i++) {
94
+ const r = curUnchangedRegions[i];
87
95
  if (r.shouldHideControls(reader)) {
88
96
  continue;
89
97
  }
90
- {
91
- const d = derived(this, reader => r.getHiddenOriginalRange(reader).startLineNumber - 1);
92
- const origVz = ( (new PlaceholderViewZone(d, 24)));
93
- origViewZones.push(origVz);
94
- store.add(( (new CollapsedCodeOverlayWidget(
95
- this._editors.original,
96
- origVz,
97
- r,
98
- r.originalUnchangedRange,
99
- !sideBySide,
100
- modifiedOutlineSource,
101
- l => this._diffModel.get().ensureModifiedLineIsVisible(l, RevealPreference.FromBottom, undefined),
102
- this._options
103
- ))));
98
+ if (compactMode && (i === 0 || i === curUnchangedRegions.length - 1)) {
99
+ continue;
100
+ }
101
+ if (compactMode) {
102
+ {
103
+ const d = derived(this, reader => r.getHiddenOriginalRange(reader).startLineNumber - 1);
104
+ const origVz = ( (new PlaceholderViewZone(d, 12)));
105
+ origViewZones.push(origVz);
106
+ store.add(( (new CompactCollapsedCodeOverlayWidget(this._editors.original, origVz, r, !sideBySide))));
107
+ }
108
+ {
109
+ const d = derived(this, reader => r.getHiddenModifiedRange(reader).startLineNumber - 1);
110
+ const modViewZone = ( (new PlaceholderViewZone(d, 12)));
111
+ modViewZones.push(modViewZone);
112
+ store.add(( (new CompactCollapsedCodeOverlayWidget(this._editors.modified, modViewZone, r))));
113
+ }
104
114
  }
105
- {
106
- const d = derived(this, reader => r.getHiddenModifiedRange(reader).startLineNumber - 1);
107
- const modViewZone = ( (new PlaceholderViewZone(d, 24)));
108
- modViewZones.push(modViewZone);
109
- store.add(( (new CollapsedCodeOverlayWidget(
110
- this._editors.modified,
111
- modViewZone,
112
- r,
113
- r.modifiedUnchangedRange,
114
- false,
115
- modifiedOutlineSource,
116
- l => this._diffModel.get().ensureModifiedLineIsVisible(l, RevealPreference.FromBottom, undefined),
117
- this._options
118
- ))));
115
+ else {
116
+ {
117
+ const d = derived(this, reader => r.getHiddenOriginalRange(reader).startLineNumber - 1);
118
+ const origVz = ( (new PlaceholderViewZone(d, 24)));
119
+ origViewZones.push(origVz);
120
+ store.add(( (new CollapsedCodeOverlayWidget(
121
+ this._editors.original,
122
+ origVz,
123
+ r,
124
+ r.originalUnchangedRange,
125
+ !sideBySide,
126
+ modifiedOutlineSource,
127
+ l => this._diffModel.get().ensureModifiedLineIsVisible(l, RevealPreference.FromBottom, undefined),
128
+ this._options
129
+ ))));
130
+ }
131
+ {
132
+ const d = derived(this, reader => r.getHiddenModifiedRange(reader).startLineNumber - 1);
133
+ const modViewZone = ( (new PlaceholderViewZone(d, 24)));
134
+ modViewZones.push(modViewZone);
135
+ store.add(( (new CollapsedCodeOverlayWidget(
136
+ this._editors.modified,
137
+ modViewZone,
138
+ r,
139
+ r.modifiedUnchangedRange,
140
+ false,
141
+ modifiedOutlineSource,
142
+ l => this._diffModel.get().ensureModifiedLineIsVisible(l, RevealPreference.FromBottom, undefined),
143
+ this._options
144
+ ))));
145
+ }
119
146
  }
120
147
  }
121
148
  return { origViewZones, modViewZones, };
@@ -128,7 +155,7 @@ let HideUnchangedRegionsFeature = class HideUnchangedRegionsFeature extends Disp
128
155
  const unchangedLinesDecorationShow = {
129
156
  description: 'Fold Unchanged',
130
157
  glyphMarginHoverMessage: ( (new MarkdownString(undefined, { isTrusted: true, supportThemeIcons: true })))
131
- .appendMarkdown(( localizeWithPath(_moduleId, 0, 'Fold Unchanged Region'))),
158
+ .appendMarkdown(( localize(4677, 'Fold Unchanged Region'))),
132
159
  glyphMarginClassName: 'fold-unchanged ' + ThemeIcon.asClassName(Codicon.fold),
133
160
  zIndex: 10001,
134
161
  };
@@ -212,6 +239,30 @@ let HideUnchangedRegionsFeature = class HideUnchangedRegionsFeature extends Disp
212
239
  HideUnchangedRegionsFeature = HideUnchangedRegionsFeature_1 = ( (__decorate([
213
240
  ( (__param(3, IInstantiationService)))
214
241
  ], HideUnchangedRegionsFeature)));
242
+ class CompactCollapsedCodeOverlayWidget extends ViewZoneOverlayWidget {
243
+ constructor(editor, _viewZone, _unchangedRegion, _hide = false) {
244
+ const root = h('div.diff-hidden-lines-widget');
245
+ super(editor, _viewZone, root.root);
246
+ this._unchangedRegion = _unchangedRegion;
247
+ this._hide = _hide;
248
+ this._nodes = h('div.diff-hidden-lines-compact', [
249
+ h('div.line-left', []),
250
+ h('div.text@text', []),
251
+ h('div.line-right', [])
252
+ ]);
253
+ root.root.appendChild(this._nodes.root);
254
+ if (this._hide) {
255
+ this._nodes.root.replaceChildren();
256
+ }
257
+ this._register(autorun(reader => {
258
+ if (!this._hide) {
259
+ const lineCount = this._unchangedRegion.getHiddenModifiedRange(reader).length;
260
+ const linesHiddenText = ( localize(4678, '{0} hidden lines', lineCount));
261
+ this._nodes.text.innerText = linesHiddenText;
262
+ }
263
+ }));
264
+ }
265
+ }
215
266
  class CollapsedCodeOverlayWidget extends ViewZoneOverlayWidget {
216
267
  constructor(_editor, _viewZone, _unchangedRegion, _unchangedRegionRange, _hide, _modifiedOutlineSource, _revealModifiedHiddenLine, _options) {
217
268
  const root = h('div.diff-hidden-lines-widget');
@@ -224,17 +275,16 @@ class CollapsedCodeOverlayWidget extends ViewZoneOverlayWidget {
224
275
  this._revealModifiedHiddenLine = _revealModifiedHiddenLine;
225
276
  this._options = _options;
226
277
  this._nodes = h('div.diff-hidden-lines', [
227
- h('div.top@top', { title: ( localizeWithPath(_moduleId, 1, 'Click or drag to show more above')) }),
278
+ h('div.top@top', { title: ( localize(4679, 'Click or drag to show more above')) }),
228
279
  h('div.center@content', { style: { display: 'flex' } }, [
229
- h('div@first', { style: { display: 'flex', justifyContent: 'center', alignItems: 'center', flexShrink: '0' } }, [$('a', { title: ( localizeWithPath(_moduleId, 2, 'Show Unchanged Region')), role: 'button', onclick: () => { this._unchangedRegion.showAll(undefined); } }, ...renderLabelWithIcons('$(unfold)'))]),
280
+ h('div@first', { style: { display: 'flex', justifyContent: 'center', alignItems: 'center', flexShrink: '0' } }, [$('a', { title: ( localize(4680, 'Show Unchanged Region')), role: 'button', onclick: () => { this._unchangedRegion.showAll(undefined); } }, ...renderLabelWithIcons('$(unfold)'))]),
230
281
  h('div@others', { style: { display: 'flex', justifyContent: 'center', alignItems: 'center' } }),
231
282
  ]),
232
- h('div.bottom@bottom', { title: ( localizeWithPath(_moduleId, 3, 'Click or drag to show more below')), role: 'button' }),
283
+ h('div.bottom@bottom', { title: ( localize(4681, 'Click or drag to show more below')), role: 'button' }),
233
284
  ]);
234
285
  root.root.appendChild(this._nodes.root);
235
- const layoutInfo = observableFromEvent(this._editor.onDidLayoutChange, () => this._editor.getLayoutInfo());
236
286
  if (!this._hide) {
237
- this._register(applyStyle(this._nodes.first, { width: ( (layoutInfo.map((l) => l.contentLeft))) }));
287
+ this._register(applyStyle(this._nodes.first, { width: observableCodeEditor(this._editor).layoutInfoContentLeft }));
238
288
  }
239
289
  else {
240
290
  reset(this._nodes.first);
@@ -340,8 +390,8 @@ class CollapsedCodeOverlayWidget extends ViewZoneOverlayWidget {
340
390
  const children = [];
341
391
  if (!this._hide) {
342
392
  const lineCount = _unchangedRegion.getHiddenModifiedRange(reader).length;
343
- const linesHiddenText = ( localizeWithPath(_moduleId, 4, '{0} hidden lines', lineCount));
344
- const span = $('span', { title: ( localizeWithPath(_moduleId, 5, 'Double click to unfold')) }, linesHiddenText);
393
+ const linesHiddenText = ( localize(4681, '{0} hidden lines', lineCount));
394
+ const span = $('span', { title: ( localize(4682, 'Double click to unfold')) }, linesHiddenText);
345
395
  span.addEventListener('dblclick', e => {
346
396
  if (e.button !== 0) {
347
397
  return;