@codingame/monaco-vscode-api 6.0.3 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/README.md +150 -117
  2. package/api.js +1 -1
  3. package/debugProtocol.d.ts +10 -1
  4. package/extensions.d.ts +2 -0
  5. package/missing-services.js +21 -2
  6. package/package.json +9 -9
  7. package/service-override/extensions.d.ts +1 -2
  8. package/services.js +4 -2
  9. package/vscode/src/vs/base/browser/dnd.js +1 -1
  10. package/vscode/src/vs/base/browser/dom.js +116 -5
  11. package/vscode/src/vs/base/browser/domObservable.js +16 -0
  12. package/vscode/src/vs/base/browser/markdownRenderer.js +5 -3
  13. package/vscode/src/vs/base/browser/trustedTypes.js +1 -2
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
  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 -2
  17. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -4
  18. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  19. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
  20. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +1 -1
  21. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +32 -16
  22. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +2 -2
  23. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +2 -2
  24. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  25. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -0
  26. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
  29. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
  30. package/vscode/src/vs/base/browser/ui/list/listView.js +3 -5
  31. package/vscode/src/vs/base/browser/ui/list/rowCache.js +1 -8
  32. package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
  33. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -11
  34. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +1 -1
  36. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +8 -1
  39. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
  40. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
  41. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +0 -3
  42. package/vscode/src/vs/base/common/assert.js +1 -1
  43. package/vscode/src/vs/base/common/collections.js +49 -1
  44. package/vscode/src/vs/base/common/equals.js +55 -5
  45. package/vscode/src/vs/base/common/errors.js +14 -1
  46. package/vscode/src/vs/base/common/event.js +2 -1
  47. package/vscode/src/vs/base/common/history.js +7 -4
  48. package/vscode/src/vs/base/common/iterator.js +9 -1
  49. package/vscode/src/vs/base/common/map.d.ts +41 -0
  50. package/vscode/src/vs/base/common/numbers.js +18 -1
  51. package/vscode/src/vs/base/common/observableInternal/api.js +11 -0
  52. package/vscode/src/vs/base/common/observableInternal/autorun.js +18 -1
  53. package/vscode/src/vs/base/common/observableInternal/base.d.ts +8 -1
  54. package/vscode/src/vs/base/common/observableInternal/base.js +2 -5
  55. package/vscode/src/vs/base/common/observableInternal/derived.js +13 -3
  56. package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +109 -0
  57. package/vscode/src/vs/base/common/observableInternal/promise.js +3 -0
  58. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +7 -0
  59. package/vscode/src/vs/base/common/observableInternal/utils.js +64 -12
  60. package/vscode/src/vs/base/common/prefixTree.d.ts +52 -0
  61. package/vscode/src/vs/base/common/product.d.ts +1 -0
  62. package/vscode/src/vs/base/parts/ipc/common/ipc.js +1 -1
  63. package/vscode/src/vs/editor/browser/config/charWidthReader.js +1 -1
  64. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
  65. package/vscode/src/vs/editor/browser/coreCommands.js +2 -1
  66. package/vscode/src/vs/editor/browser/observableCodeEditor.js +230 -0
  67. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +1 -1
  68. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -26
  69. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -2
  70. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
  71. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -12
  72. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -1
  73. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
  74. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  75. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -4
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +8 -8
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +14 -2
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +2 -2
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +1 -1
  87. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
  88. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +5 -0
  89. package/vscode/src/vs/editor/common/config/editorOptions.js +83 -65
  90. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +43 -43
  91. package/vscode/src/vs/editor/common/cursor/cursor.js +3 -2
  92. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +911 -0
  93. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +36 -799
  94. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +6 -5
  95. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
  96. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +3 -0
  97. package/vscode/src/vs/editor/common/languages/autoIndent.js +23 -1
  98. package/vscode/src/vs/editor/common/languages.d.ts +20 -3
  99. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +6 -6
  100. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +19 -0
  101. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +3 -0
  102. package/vscode/src/vs/editor/common/model/textModel.js +6 -2
  103. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +5 -5
  104. package/vscode/src/vs/editor/common/model.d.ts +4 -0
  105. package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
  106. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +2 -15
  107. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +63 -62
  108. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +11 -8
  109. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +1 -1
  110. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +2 -17
  111. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
  112. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +18 -5
  113. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +55 -27
  114. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -4
  115. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +9 -9
  116. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -1
  117. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +103 -47
  118. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -2
  119. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +18 -10
  120. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -4
  121. package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +1 -1
  122. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +33 -13
  123. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -7
  124. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  125. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +2 -2
  126. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +161 -185
  127. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +321 -0
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +4 -1
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +6 -21
  130. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +39 -40
  131. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +55 -46
  132. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +12 -2
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +15 -9
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +11 -1
  135. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +141 -93
  136. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +24 -7
  137. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +36 -1
  138. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -3
  139. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -1
  140. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +25 -12
  141. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +88 -118
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +34 -33
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -2
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +11 -4
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +10 -19
  147. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
  148. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +45 -27
  149. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -4
  150. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
  151. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +126 -0
  152. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +9 -0
  153. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.js +9 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +82 -0
  155. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +240 -0
  156. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.css.js +4 -0
  157. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +322 -0
  158. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +8 -4
  159. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +3 -2
  160. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  161. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
  162. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +60 -0
  163. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +4 -0
  164. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +1 -1
  165. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  166. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +38 -20
  167. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +3 -0
  168. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +9 -9
  169. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +10 -32
  170. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +23 -138
  171. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -0
  172. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +5 -5
  173. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +13 -12
  174. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +3 -3
  175. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +21 -0
  176. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +5 -6
  177. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +1 -1
  178. package/vscode/src/vs/platform/actions/browser/buttonbar.js +27 -6
  179. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
  180. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
  181. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +33 -3
  182. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -1
  183. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  184. package/vscode/src/vs/platform/actions/common/actions.js +3 -0
  185. package/vscode/src/vs/platform/actions/common/menuService.js +3 -2
  186. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +1 -1
  187. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +7 -5
  188. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +109 -13
  189. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +2 -0
  190. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +12 -6
  191. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -0
  192. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -3
  193. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +20 -10
  194. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +46 -8
  195. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
  196. package/vscode/src/vs/platform/extensions/common/extensions.js +12 -3
  197. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +368 -0
  198. package/vscode/src/vs/platform/files/common/watcher.js +21 -24
  199. package/vscode/src/vs/platform/list/browser/listService.js +2 -1
  200. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
  201. package/vscode/src/vs/platform/opener/browser/link.js +1 -1
  202. package/vscode/src/vs/platform/product/common/product.js +1 -1
  203. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
  204. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +0 -2
  205. package/vscode/src/vs/platform/request/common/request.js +18 -8
  206. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +2 -6
  207. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +8 -1
  208. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +1 -1
  209. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -5
  210. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  211. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +6 -6
  212. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +35 -35
  213. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +9 -9
  214. package/vscode/src/vs/platform/theme/common/colors/listColors.js +11 -11
  215. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +4 -4
  216. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +5 -5
  217. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +1 -1
  218. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +5 -5
  219. package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -1
  220. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +75 -19
  221. package/vscode/src/vs/platform/window/common/window.d.ts +2 -2
  222. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +32 -25
  223. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
  224. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  225. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -11
  226. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +5 -15
  227. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -5
  228. package/vscode/src/vs/workbench/api/common/extHostComments.js +9 -3
  229. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +32 -22
  230. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
  231. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +109 -40
  232. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +46 -0
  233. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +84 -35
  234. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  235. package/vscode/src/vs/workbench/api/common/extHostSCM.js +50 -41
  236. package/vscode/src/vs/workbench/api/common/extHostSearch.js +2 -2
  237. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +11 -8
  238. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -6
  239. package/vscode/src/vs/workbench/api/common/extHostTesting.js +63 -70
  240. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -3
  241. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +75 -16
  242. package/vscode/src/vs/workbench/api/common/extHostTypes.js +29 -4
  243. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  244. package/vscode/src/vs/workbench/browser/actions/developerActions.js +1 -1
  245. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +127 -107
  246. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +2 -2
  247. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +1 -1
  248. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +33 -21
  249. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  250. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +5 -5
  251. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
  252. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +2 -2
  253. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
  254. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +23 -6
  255. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +3 -1
  256. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -3
  257. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
  258. package/vscode/src/vs/workbench/browser/web.api.js +8 -0
  259. package/vscode/src/vs/workbench/browser/workbench.contribution.js +199 -194
  260. package/vscode/src/vs/workbench/common/configuration.js +1 -1
  261. package/vscode/src/vs/workbench/common/contributions.js +8 -1
  262. package/vscode/src/vs/workbench/common/editor.js +5 -1
  263. package/vscode/src/vs/workbench/common/theme.js +79 -454
  264. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +221 -239
  265. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +17 -15
  266. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +1 -0
  267. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +4 -0
  268. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +27 -0
  269. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +35 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +51 -0
  271. package/vscode/src/vs/workbench/contrib/chat/browser/{chatConfirmationWidget.js → chatContentParts/chatConfirmationWidget.js} +9 -9
  272. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +131 -0
  273. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +37 -0
  274. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +263 -0
  275. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +37 -0
  276. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +160 -0
  277. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +171 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatWarningContentPart.js +34 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatContentParts/media}/chatConfirmationWidget.css.js +1 -1
  280. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +91 -44
  281. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +292 -1019
  282. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +2 -2
  283. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +1 -1
  284. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +22 -7
  285. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +61 -54
  287. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +23 -16
  288. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  290. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +8 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +3 -3
  293. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +5 -4
  294. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +16 -0
  295. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.js +3 -0
  296. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +2 -2
  297. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -16
  298. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +1 -3
  300. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +7 -5
  302. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +7 -7
  303. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +3 -3
  304. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +3 -3
  305. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +2 -2
  306. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  307. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +2 -1
  308. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +2 -1
  309. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +1 -1
  310. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +8 -5
  311. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +1 -1
  312. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  313. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  314. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +1 -1
  315. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +5 -5
  316. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +14 -7
  317. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +4 -4
  318. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +8 -7
  319. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +19 -16
  320. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -12
  321. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +19 -2
  322. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +9 -4
  323. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +10 -5
  324. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +4 -4
  325. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +235 -173
  326. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  327. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +2 -1
  328. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +17 -5
  329. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +62 -44
  330. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  331. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -2
  332. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +114 -107
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +33 -25
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +71 -101
  335. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +38 -43
  336. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -33
  337. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +3 -4
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +49 -86
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +60 -71
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +116 -113
  343. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +6 -10
  344. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
  345. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +1 -0
  346. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +2 -2
  347. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +12 -23
  348. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
  349. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -9
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +88 -61
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +1 -3
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +39 -3
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -1
  354. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +12 -11
  355. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
  356. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -1
  357. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -2
  358. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +40 -105
  359. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +27 -26
  360. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +14 -5
  361. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +1 -1
  362. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +43 -46
  363. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +1 -1
  364. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +4 -4
  365. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +12 -9
  366. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +19 -14
  367. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  368. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +9 -6
  369. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  370. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -3
  371. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +3 -3
  372. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +1 -1
  373. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +16 -6
  374. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +8 -8
  375. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +3 -0
  376. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +11 -12
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +12 -13
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +1 -1
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +5 -3
  380. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -2
  381. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +37 -36
  382. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +18 -8
  383. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +1 -1
  384. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +14 -5
  385. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +17 -22
  386. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +1 -1
  387. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +7 -10
  388. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -27
  389. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +3 -4
  390. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  391. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +4 -0
  392. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +3 -3
  393. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -0
  394. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +0 -1
  395. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +13 -37
  396. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.d.ts +88 -0
  397. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +48 -31
  398. package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +115 -0
  399. package/vscode/src/vs/workbench/contrib/testing/common/testResult.d.ts +226 -0
  400. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +319 -0
  401. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -3
  402. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.d.ts +10 -0
  403. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  404. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +7 -8
  405. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
  406. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +10 -5
  407. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +54 -21
  408. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  409. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -2
  410. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -4
  411. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +5 -3
  412. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +3 -1
  413. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +59 -41
  414. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -1
  415. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -2
  416. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -0
  417. package/vscode/src/vs/workbench/services/language/common/languageService.js +7 -0
  418. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
  419. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +2 -2
  420. package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
  421. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +2 -2
  422. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +2 -2
  423. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +69 -26
  424. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +23 -4
  425. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +5 -1
  426. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  427. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -5
  428. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +38 -19
  429. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -1
  430. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +0 -196
  431. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -10
  432. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +30 -22
  433. package/vscode-dts/vscode.proposed.chatProvider.d.ts +17 -8
  434. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -9
  435. package/vscode-dts/vscode.proposed.commentReveal.d.ts +32 -0
  436. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +10 -0
  437. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +1 -1
  438. package/vscode-dts/vscode.proposed.fileComments.d.ts +12 -53
  439. package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +6 -0
  440. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +6 -0
  441. package/vscode-dts/vscode.proposed.lmTools.d.ts +91 -0
  442. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +1 -1
  443. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +10 -6
  444. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +38 -13
  445. package/vscode/src/vs/editor/browser/observableUtilities.js +0 -58
  446. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +0 -3
  447. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +0 -122
@@ -2,10 +2,12 @@ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.
2
2
  import { ButtonBar } from '../../../base/browser/ui/button/button.js';
3
3
  import { createInstantHoverDelegate } from '../../../base/browser/ui/hover/hoverDelegateFactory.js';
4
4
  import { ActionRunner, SubmenuAction } from '../../../base/common/actions.js';
5
+ import { Codicon } from '../../../base/common/codicons.js';
5
6
  import { Emitter } from '../../../base/common/event.js';
6
7
  import { DisposableStore } from '../../../base/common/lifecycle.js';
7
8
  import { ThemeIcon } from '../../../base/common/themables.js';
8
9
  import { localizeWithPath } from '../../../nls.js';
10
+ import { createAndFillInActionBarActions } from './menuEntryActionViewItem.js';
9
11
  import { MenuItemAction } from '../common/actions.js';
10
12
  import { IMenuService } from '../common/actions.service.js';
11
13
  import { IContextKeyService } from '../../contextkey/common/contextkey.service.js';
@@ -38,7 +40,7 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
38
40
  this._store.dispose();
39
41
  super.dispose();
40
42
  }
41
- update(actions) {
43
+ update(actions, secondary) {
42
44
  const conifgProvider = this._options?.buttonConfigProvider ?? (() => ({ showLabel: true }));
43
45
  this._updateStore.clear();
44
46
  this.clear();
@@ -90,11 +92,30 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
90
92
  else {
91
93
  tooltip = action.label;
92
94
  }
93
- this._updateStore.add(this._hoverService.setupUpdatableHover(hoverDelegate, btn.element, tooltip));
95
+ this._updateStore.add(this._hoverService.setupManagedHover(hoverDelegate, btn.element, tooltip));
94
96
  this._updateStore.add(btn.onDidClick(async () => {
95
97
  this._actionRunner.run(action);
96
98
  }));
97
99
  }
100
+ if (secondary.length > 0) {
101
+ const btn = this.addButton({
102
+ secondary: true,
103
+ ariaLabel: ( localizeWithPath(_moduleId, 1, "More Actions"))
104
+ });
105
+ btn.icon = Codicon.dropDownButton;
106
+ btn.element.classList.add('default-colors', 'monaco-text-button');
107
+ btn.enabled = true;
108
+ this._updateStore.add(this._hoverService.setupManagedHover(hoverDelegate, btn.element, ( localizeWithPath(_moduleId, 1, "More Actions"))));
109
+ this._updateStore.add(btn.onDidClick(async () => {
110
+ this._contextMenuService.showContextMenu({
111
+ getAnchor: () => btn.element,
112
+ getActions: () => secondary,
113
+ actionRunner: this._actionRunner,
114
+ onHide: () => btn.element.setAttribute('aria-expanded', 'false')
115
+ });
116
+ btn.element.setAttribute('aria-expanded', 'true');
117
+ }));
118
+ }
98
119
  this._onDidChange.fire(this);
99
120
  }
100
121
  };
@@ -111,10 +132,10 @@ let MenuWorkbenchButtonBar = class MenuWorkbenchButtonBar extends WorkbenchButto
111
132
  this._store.add(menu);
112
133
  const update = () => {
113
134
  this.clear();
114
- const actions = menu
115
- .getActions({ renderShortTitle: true })
116
- .flatMap(entry => entry[1]);
117
- super.update(actions);
135
+ const primary = [];
136
+ const secondary = [];
137
+ createAndFillInActionBarActions(menu, options?.menuOptions, { primary, secondary }, options?.toolbarOptions?.primaryGroup);
138
+ super.update(primary, secondary);
118
139
  };
119
140
  this._store.add(menu.onDidChange(update));
120
141
  update();
@@ -92,7 +92,7 @@ let FloatingClickMenu = class FloatingClickMenu extends AbstractFloatingClickMen
92
92
  const w = this.instantiationService.createInstance(FloatingClickWidget, action.label);
93
93
  const node = w.getDomNode();
94
94
  this.options.container.appendChild(node);
95
- disposable.add(toDisposable(() => this.options.container.removeChild(node)));
95
+ disposable.add(toDisposable(() => node.remove()));
96
96
  return w;
97
97
  }
98
98
  getActionArg() {
@@ -1,4 +1,4 @@
1
1
  import n from '../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
- var css = ".monaco-action-bar .action-item.menu-entry .action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-dropdown-with-default{border-radius:5px;display:flex!important;flex-direction:row}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;line-height:16px;margin-left:-3px;padding-left:0;padding-right:0}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block}";
2
+ var css = ".monaco-action-bar .action-item.menu-entry .action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-action-bar .action-item.menu-entry.text-only .action-label{border-radius:2px;color:var(--vscode-descriptionForeground);overflow:hidden}.monaco-action-bar .action-item.menu-entry.text-only.use-comma:not(:last-of-type) .action-label:after{content:\", \"}.monaco-action-bar .action-item.menu-entry.text-only+.action-item:not(.text-only)>.monaco-dropdown .action-label{color:var(--vscode-descriptionForeground)}.monaco-dropdown-with-default{border-radius:5px;display:flex!important;flex-direction:row}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{background-position:50%;background-repeat:no-repeat;background-size:16px;height:16px;width:16px}.monaco-dropdown-with-default:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;line-height:16px;margin-left:-3px;padding-left:0;padding-right:0}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{background-position:50%;background-repeat:no-repeat;background-size:16px;display:block}";
3
3
  n(css,{});
4
4
  export { css, css as default };
@@ -94,8 +94,9 @@ function fillInActions(groups, target, useAlternativeActions, isPrimaryAction =
94
94
  }
95
95
  }
96
96
  let MenuEntryActionViewItem = class MenuEntryActionViewItem extends ActionViewItem {
97
- constructor(action, options, _keybindingService, _notificationService, _contextKeyService, _themeService, _contextMenuService, _accessibilityService) {
98
- super(undefined, action, { icon: !!(action.class || action.item.icon), label: !action.class && !action.item.icon, draggable: options?.draggable, keybinding: options?.keybinding, hoverDelegate: options?.hoverDelegate });
97
+ constructor(action, _options, _keybindingService, _notificationService, _contextKeyService, _themeService, _contextMenuService, _accessibilityService) {
98
+ super(undefined, action, { icon: !!(action.class || action.item.icon), label: !action.class && !action.item.icon, draggable: _options?.draggable, keybinding: _options?.keybinding, hoverDelegate: _options?.hoverDelegate });
99
+ this._options = _options;
99
100
  this._keybindingService = _keybindingService;
100
101
  this._notificationService = _notificationService;
101
102
  this._contextKeyService = _contextKeyService;
@@ -234,6 +235,35 @@ MenuEntryActionViewItem = ( (__decorate([
234
235
  ( (__param(6, IContextMenuService))),
235
236
  ( (__param(7, IAccessibilityService)))
236
237
  ], MenuEntryActionViewItem)));
238
+ class TextOnlyMenuEntryActionViewItem extends MenuEntryActionViewItem {
239
+ render(container) {
240
+ this.options.label = true;
241
+ this.options.icon = false;
242
+ super.render(container);
243
+ container.classList.add('text-only');
244
+ container.classList.toggle('use-comma', this._options?.useComma ?? false);
245
+ }
246
+ updateLabel() {
247
+ const kb = this._keybindingService.lookupKeybinding(this._action.id, this._contextKeyService);
248
+ if (!kb) {
249
+ return super.updateLabel();
250
+ }
251
+ if (this.label) {
252
+ const kb2 = TextOnlyMenuEntryActionViewItem._symbolPrintEnter(kb);
253
+ if (this._options?.conversational) {
254
+ this.label.textContent = ( localizeWithPath(_moduleId, 2, '{1} to {0}', this._action.label, kb2));
255
+ }
256
+ else {
257
+ this.label.textContent = ( localizeWithPath(_moduleId, 3, '{0} ({1})', this._action.label, kb2));
258
+ }
259
+ }
260
+ }
261
+ static _symbolPrintEnter(kb) {
262
+ return kb.getLabel()
263
+ ?.replace(/\benter\b/gi, '\u23CE')
264
+ .replace(/\bEscape\b/gi, 'Esc');
265
+ }
266
+ }
237
267
  let SubmenuEntryActionViewItem = class SubmenuEntryActionViewItem extends DropdownMenuActionViewItem {
238
268
  constructor(action, options, _keybindingService, _contextMenuService, _themeService) {
239
269
  const dropdownOptions = {
@@ -453,4 +483,4 @@ function createActionViewItem(instaService, action, options) {
453
483
  return undefined;
454
484
  }
455
485
  }
456
- export { DropdownWithDefaultActionViewItem, MenuEntryActionViewItem, SubmenuEntryActionViewItem, createActionViewItem, createAndFillInActionBarActions, createAndFillInContextMenuActions };
486
+ export { DropdownWithDefaultActionViewItem, MenuEntryActionViewItem, SubmenuEntryActionViewItem, TextOnlyMenuEntryActionViewItem, createActionViewItem, createAndFillInActionBarActions, createAndFillInContextMenuActions };
@@ -112,7 +112,8 @@ let WorkbenchToolBar = class WorkbenchToolBar extends ToolBar {
112
112
  primaryActions.push(action.menuKeybinding);
113
113
  }
114
114
  else if (!(action instanceof SubmenuItemAction || action instanceof ToggleMenuAction)) {
115
- primaryActions.push(createConfigureKeybindingAction(action.id, undefined, this._commandService, this._keybindingService));
115
+ const isDisabled = action.id.startsWith('statusbaraction');
116
+ primaryActions.push(createConfigureKeybindingAction(this._commandService, this._keybindingService, action.id, undefined, !isDisabled));
116
117
  }
117
118
  if (toggleActions.length > 0) {
118
119
  let noHide = false;
@@ -150,6 +150,8 @@ declare class MenuId {
150
150
  static readonly InteractiveCellDelete: MenuId;
151
151
  static readonly InteractiveCellExecute: MenuId;
152
152
  static readonly InteractiveInputExecute: MenuId;
153
+ static readonly InteractiveInputConfig: MenuId;
154
+ static readonly ReplInputExecute: MenuId;
153
155
  static readonly IssueReporter: MenuId;
154
156
  static readonly NotebookToolbar: MenuId;
155
157
  static readonly NotebookStickyScrollContext: MenuId;
@@ -188,6 +190,7 @@ declare class MenuId {
188
190
  static readonly TerminalStickyScrollContext: MenuId;
189
191
  static readonly WebviewContext: MenuId;
190
192
  static readonly InlineCompletionsActions: MenuId;
193
+ static readonly InlineEditsActions: MenuId;
191
194
  static readonly InlineEditActions: MenuId;
192
195
  static readonly NewFile: MenuId;
193
196
  static readonly MergeInput1Toolbar: MenuId;
@@ -139,6 +139,8 @@ class MenuId {
139
139
  static { this.InteractiveCellDelete = ( new MenuId('InteractiveCellDelete')); }
140
140
  static { this.InteractiveCellExecute = ( new MenuId('InteractiveCellExecute')); }
141
141
  static { this.InteractiveInputExecute = ( new MenuId('InteractiveInputExecute')); }
142
+ static { this.InteractiveInputConfig = ( new MenuId('InteractiveInputConfig')); }
143
+ static { this.ReplInputExecute = ( new MenuId('ReplInputExecute')); }
142
144
  static { this.IssueReporter = ( new MenuId('IssueReporter')); }
143
145
  static { this.NotebookToolbar = ( new MenuId('NotebookToolbar')); }
144
146
  static { this.NotebookStickyScrollContext = ( new MenuId('NotebookStickyScrollContext')); }
@@ -177,6 +179,7 @@ class MenuId {
177
179
  static { this.TerminalStickyScrollContext = ( new MenuId('TerminalStickyScrollContext')); }
178
180
  static { this.WebviewContext = ( new MenuId('WebviewContext')); }
179
181
  static { this.InlineCompletionsActions = ( new MenuId('InlineCompletionsActions')); }
182
+ static { this.InlineEditsActions = ( new MenuId('InlineEditsActions')); }
180
183
  static { this.InlineEditActions = ( new MenuId('InlineEditActions')); }
181
184
  static { this.NewFile = ( new MenuId('NewFile')); }
182
185
  static { this.MergeInput1Toolbar = ( new MenuId('MergeToolbar1Toolbar')); }
@@ -212,7 +212,7 @@ let MenuInfo = MenuInfo_1 = class MenuInfo {
212
212
  }
213
213
  const menuHide = createMenuHide(this._id, isMenuItem ? item.command : item, this._hiddenStates);
214
214
  if (isMenuItem) {
215
- const menuKeybinding = createConfigureKeybindingAction(item.command.id, item.when, this._commandService, this._keybindingService);
215
+ const menuKeybinding = createConfigureKeybindingAction(this._commandService, this._keybindingService, item.command.id, item.when);
216
216
  (activeActions ??= []).push(( (new MenuItemAction(
217
217
  item.command,
218
218
  item.alt,
@@ -384,10 +384,11 @@ function createMenuHide(menu, command, states) {
384
384
  get isHidden() { return !toggle.checked; },
385
385
  };
386
386
  }
387
- function createConfigureKeybindingAction(commandId, when = undefined, commandService, keybindingService) {
387
+ function createConfigureKeybindingAction(commandService, keybindingService, commandId, when = undefined, enabled = true) {
388
388
  return toAction({
389
389
  id: `configureKeybinding/${commandId}`,
390
390
  label: ( localizeWithPath(_moduleId, 1, "Configure Keybinding")),
391
+ enabled,
391
392
  run() {
392
393
  const hasKeybinding = !!keybindingService.lookupKeybinding(commandId);
393
394
  const whenValue = !hasKeybinding && when ? when.serialize() : undefined;
@@ -77,7 +77,7 @@ let BrowserClipboardService = class BrowserClipboardService extends Disposable {
77
77
  if (isHTMLElement(activeElement)) {
78
78
  activeElement.focus();
79
79
  }
80
- activeDocument.body.removeChild(textArea);
80
+ textArea.remove();
81
81
  }
82
82
  async readText(type) {
83
83
  if (type) {
@@ -188,19 +188,21 @@ interface IConfigurationNode {
188
188
  extensionInfo?: IExtensionInfo;
189
189
  restrictedProperties?: string[];
190
190
  }
191
+ type ConfigurationDefaultSource = IExtensionInfo | string;
192
+ type ConfigurationDefaultValueSource = ConfigurationDefaultSource | Map<string, ConfigurationDefaultSource>;
191
193
  interface IConfigurationDefaults {
192
194
  overrides: IStringDictionary<any>;
193
- source?: IExtensionInfo | string;
195
+ source?: ConfigurationDefaultSource;
194
196
  }
195
197
  type IRegisteredConfigurationPropertySchema = IConfigurationPropertySchema & {
196
198
  defaultDefaultValue?: any;
197
199
  source?: IExtensionInfo;
198
- defaultValueSource?: IExtensionInfo | string;
200
+ defaultValueSource?: ConfigurationDefaultValueSource;
199
201
  };
200
202
  type IConfigurationDefaultOverride = {
201
203
  readonly value: any;
202
- readonly source?: IExtensionInfo | string;
203
- readonly valuesSources?: Map<string, IExtensionInfo | string>;
204
+ readonly source?: ConfigurationDefaultValueSource;
205
+ readonly valuesSources?: Map<string, ConfigurationDefaultValueSource>;
204
206
  };
205
207
 
206
- export { ConfigurationScope, EditPresentationTypes, type IConfigurationDefaultOverride, type IConfigurationDefaults, type IConfigurationDelta, type IConfigurationNode, type IConfigurationPropertySchema, type IConfigurationRegistry, type IExtensionInfo, type IPolicy, type IRegisteredConfigurationPropertySchema };
208
+ export { type ConfigurationDefaultSource, type ConfigurationDefaultValueSource, ConfigurationScope, EditPresentationTypes, type IConfigurationDefaultOverride, type IConfigurationDefaults, type IConfigurationDelta, type IConfigurationNode, type IConfigurationPropertySchema, type IConfigurationRegistry, type IExtensionInfo, type IPolicy, type IRegisteredConfigurationPropertySchema };
@@ -1,6 +1,6 @@
1
1
  import { distinct } from '../../../base/common/arrays.js';
2
2
  import { Emitter } from '../../../base/common/event.js';
3
- import { isUndefinedOrNull, isString, isUndefined } from '../../../base/common/types.js';
3
+ import { isObject, isUndefinedOrNull, isUndefined, isString } from '../../../base/common/types.js';
4
4
  import { localizeWithPath } from '../../../nls.js';
5
5
  import { getLanguageTagSettingPlainKey } from './configuration.js';
6
6
  import { Extensions as Extensions$1 } from '../../jsonschemas/common/jsonContributionRegistry.js';
@@ -98,12 +98,34 @@ class ConfigurationRegistry {
98
98
  if (OVERRIDE_PROPERTY_REGEX.test(key)) {
99
99
  const configurationDefaultOverride = this.configurationDefaultsOverrides.get(key);
100
100
  const valuesSources = configurationDefaultOverride?.valuesSources ?? ( (new Map()));
101
- if (source) {
102
- for (const configuration of ( (Object.keys(overrides[key])))) {
103
- valuesSources.set(configuration, source);
101
+ const defaultValue = configurationDefaultOverride?.value || {};
102
+ for (const configuration of ( (Object.keys(overrides[key])))) {
103
+ const overrideValue = overrides[key][configuration];
104
+ const isObjectSetting = isObject(overrideValue) && (isUndefined(defaultValue[configuration]) || isObject(defaultValue[configuration]));
105
+ if (isObjectSetting) {
106
+ defaultValue[configuration] = { ...(defaultValue[configuration] ?? {}), ...overrideValue };
107
+ if (source) {
108
+ let objectConfigurationSources = valuesSources.get(configuration);
109
+ if (!objectConfigurationSources) {
110
+ objectConfigurationSources = ( (new Map()));
111
+ valuesSources.set(configuration, objectConfigurationSources);
112
+ }
113
+ if (!(objectConfigurationSources instanceof Map)) {
114
+ console.error('objectConfigurationSources is not a Map');
115
+ continue;
116
+ }
117
+ for (const objectKey in overrideValue) {
118
+ objectConfigurationSources.set(objectKey, source);
119
+ }
120
+ }
121
+ }
122
+ else {
123
+ defaultValue[configuration] = overrideValue;
124
+ if (source) {
125
+ valuesSources.set(configuration, source);
126
+ }
104
127
  }
105
128
  }
106
- const defaultValue = { ...(configurationDefaultOverride?.value || {}), ...overrides[key] };
107
129
  this.configurationDefaultsOverrides.set(key, { source, value: defaultValue, valuesSources });
108
130
  const plainKey = getLanguageTagSettingPlainKey(key);
109
131
  const property = {
@@ -125,8 +147,33 @@ class ConfigurationRegistry {
125
147
  this.defaultLanguageConfigurationOverridesNode.properties[key] = property;
126
148
  }
127
149
  else {
128
- this.configurationDefaultsOverrides.set(key, { value: overrides[key], source });
129
150
  const property = this.configurationProperties[key];
151
+ const existingDefaultOverride = this.configurationDefaultsOverrides.get(key);
152
+ let existingDefaultValue = existingDefaultOverride?.value ?? property?.defaultDefaultValue;
153
+ let newDefaultValue = overrides[key];
154
+ let newDefaultValueSource = source;
155
+ const isObjectSetting = isObject(newDefaultValue) && (property !== undefined && property.type === 'object' ||
156
+ property === undefined && (isUndefined(existingDefaultValue) || isObject(existingDefaultValue)));
157
+ if (isObjectSetting) {
158
+ if (!isObject(existingDefaultValue)) {
159
+ existingDefaultValue = {};
160
+ }
161
+ newDefaultValue = { ...existingDefaultValue, ...newDefaultValue };
162
+ newDefaultValueSource = existingDefaultOverride?.source ?? ( (new Map()));
163
+ if (!(newDefaultValueSource instanceof Map)) {
164
+ console.error('defaultValueSource is not a Map');
165
+ continue;
166
+ }
167
+ for (const overrideObjectKey in overrides[key]) {
168
+ if (source) {
169
+ newDefaultValueSource.set(overrideObjectKey, source);
170
+ }
171
+ else {
172
+ newDefaultValueSource.delete(overrideObjectKey);
173
+ }
174
+ }
175
+ }
176
+ this.configurationDefaultsOverrides.set(key, { value: newDefaultValue, source: newDefaultValueSource });
130
177
  if (property) {
131
178
  this.updatePropertyDefaultValue(key, property);
132
179
  this.updateSchema(key, property);
@@ -145,25 +192,74 @@ class ConfigurationRegistry {
145
192
  doDeregisterDefaultConfigurations(defaultConfigurations, bucket) {
146
193
  for (const { overrides, source } of defaultConfigurations) {
147
194
  for (const key in overrides) {
148
- const configurationDefaultsOverride = this.configurationDefaultsOverrides.get(key);
149
195
  const id = isString(source) ? source : source?.id;
150
- const configurationDefaultsOverrideSourceId = isString(configurationDefaultsOverride?.source) ? configurationDefaultsOverride?.source : configurationDefaultsOverride?.source?.id;
151
- if (id !== configurationDefaultsOverrideSourceId) {
196
+ const configurationDefaultsOverride = this.configurationDefaultsOverrides.get(key);
197
+ if (!configurationDefaultsOverride) {
152
198
  continue;
153
199
  }
154
- bucket.add(key);
155
- this.configurationDefaultsOverrides.delete(key);
156
200
  if (OVERRIDE_PROPERTY_REGEX.test(key)) {
157
- delete this.configurationProperties[key];
158
- delete this.defaultLanguageConfigurationOverridesNode.properties[key];
201
+ for (const configuration of ( (Object.keys(overrides[key])))) {
202
+ const overrideValue = overrides[key][configuration];
203
+ if (isObject(overrideValue)) {
204
+ const configurationSource = configurationDefaultsOverride.valuesSources?.get(configuration);
205
+ for (const overrideObjectKey of ( (Object.keys(overrideValue)))) {
206
+ const keySource = configurationSource?.get(overrideObjectKey);
207
+ const keySourceId = isString(keySource) ? keySource : keySource?.id;
208
+ if (keySourceId === id) {
209
+ configurationSource?.delete(overrideObjectKey);
210
+ delete configurationDefaultsOverride.value[configuration][overrideObjectKey];
211
+ }
212
+ }
213
+ if (( (Object.keys(configurationDefaultsOverride.value[configuration]))).length === 0) {
214
+ delete configurationDefaultsOverride.value[configuration];
215
+ configurationDefaultsOverride.valuesSources?.delete(configuration);
216
+ }
217
+ }
218
+ else {
219
+ const configurationSource = configurationDefaultsOverride.valuesSources?.get(configuration);
220
+ const keySourceId = isString(configurationSource) ? configurationSource : configurationSource?.id;
221
+ if (keySourceId === id) {
222
+ configurationDefaultsOverride.valuesSources?.delete(configuration);
223
+ delete configurationDefaultsOverride.value[configuration];
224
+ }
225
+ }
226
+ }
227
+ const languageValues = this.configurationDefaultsOverrides.get(key);
228
+ if (languageValues && ( (Object.keys(languageValues.value))).length === 0) {
229
+ this.configurationDefaultsOverrides.delete(key);
230
+ delete this.configurationProperties[key];
231
+ delete this.defaultLanguageConfigurationOverridesNode.properties[key];
232
+ }
159
233
  }
160
234
  else {
235
+ if (configurationDefaultsOverride.source instanceof Map) {
236
+ const keySources = configurationDefaultsOverride.source;
237
+ for (const objectKey in overrides[key]) {
238
+ const keySource = keySources.get(objectKey);
239
+ const keySourceId = isString(keySource) ? keySource : keySource?.id;
240
+ if (keySourceId === id) {
241
+ keySources.delete(objectKey);
242
+ delete configurationDefaultsOverride.value[objectKey];
243
+ }
244
+ }
245
+ if (keySources.size === 0) {
246
+ this.configurationDefaultsOverrides.delete(key);
247
+ }
248
+ }
249
+ else {
250
+ const configurationDefaultsOverrideSourceId = isString(configurationDefaultsOverride.source) ? configurationDefaultsOverride.source : configurationDefaultsOverride.source?.id;
251
+ if (id !== configurationDefaultsOverrideSourceId) {
252
+ continue;
253
+ }
254
+ this.configurationDefaultsOverrides.delete(key);
255
+ }
161
256
  const property = this.configurationProperties[key];
162
257
  if (property) {
163
258
  this.updatePropertyDefaultValue(key, property);
164
259
  this.updateSchema(key, property);
165
260
  }
166
261
  }
262
+ bucket.add(key);
167
263
  }
168
264
  }
169
265
  this.updateOverridePropertyPatternKey();
@@ -35,6 +35,8 @@ interface WorkspaceStats {
35
35
  fileCount: number;
36
36
  maxFilesReached: boolean;
37
37
  launchConfigFiles: WorkspaceStatItem[];
38
+ totalScanTime: number;
39
+ totalReaddirCount: number;
38
40
  }
39
41
 
40
42
  export type { IDiagnosticInfo, IDiagnosticInfoOptions, ILinuxEnv, IMachineInfo, WorkspaceStatItem, WorkspaceStats };
@@ -11,6 +11,7 @@ interface IGalleryExtensionProperties {
11
11
  dependencies?: string[];
12
12
  extensionPack?: string[];
13
13
  engine?: string;
14
+ enabledApiProposals?: string[];
14
15
  localizedLanguages?: string[];
15
16
  targetPlatform: TargetPlatform;
16
17
  isPreReleaseVersion: boolean;
@@ -124,6 +125,7 @@ interface IExtensionsControlManifest {
124
125
  readonly malicious: IExtensionIdentifier[];
125
126
  readonly deprecated: IStringDictionary<IDeprecationInfo>;
126
127
  readonly search: ISearchPrefferedResults[];
128
+ readonly extensionsEnabledWithPreRelease?: string[];
127
129
  }
128
130
  declare const enum InstallOperation {
129
131
  None = 1,
@@ -134,7 +136,7 @@ declare const enum InstallOperation {
134
136
  interface InstallExtensionEvent {
135
137
  readonly identifier: IExtensionIdentifier;
136
138
  readonly source: URI | IGalleryExtension;
137
- readonly profileLocation?: URI;
139
+ readonly profileLocation: URI;
138
140
  readonly applicationScoped?: boolean;
139
141
  readonly workspaceScoped?: boolean;
140
142
  }
@@ -145,23 +147,27 @@ interface InstallExtensionResult {
145
147
  readonly local?: ILocalExtension;
146
148
  readonly error?: Error;
147
149
  readonly context?: IStringDictionary<any>;
148
- readonly profileLocation?: URI;
150
+ readonly profileLocation: URI;
149
151
  readonly applicationScoped?: boolean;
150
152
  readonly workspaceScoped?: boolean;
151
153
  }
152
154
  interface UninstallExtensionEvent {
153
155
  readonly identifier: IExtensionIdentifier;
154
- readonly profileLocation?: URI;
156
+ readonly profileLocation: URI;
155
157
  readonly applicationScoped?: boolean;
156
158
  readonly workspaceScoped?: boolean;
157
159
  }
158
160
  interface DidUninstallExtensionEvent {
159
161
  readonly identifier: IExtensionIdentifier;
160
162
  readonly error?: string;
161
- readonly profileLocation?: URI;
163
+ readonly profileLocation: URI;
162
164
  readonly applicationScoped?: boolean;
163
165
  readonly workspaceScoped?: boolean;
164
166
  }
167
+ interface DidUpdateExtensionMetadata {
168
+ readonly profileLocation: URI;
169
+ readonly local: ILocalExtension;
170
+ }
165
171
  type InstallOptions = {
166
172
  isBuiltin?: boolean;
167
173
  isWorkspaceScoped?: boolean;
@@ -183,11 +189,11 @@ type InstallOptions = {
183
189
  context?: IStringDictionary<any>;
184
190
  };
185
191
  type UninstallOptions = {
192
+ readonly profileLocation?: URI;
186
193
  readonly donotIncludePack?: boolean;
187
194
  readonly donotCheckDependents?: boolean;
188
195
  readonly versionOnly?: boolean;
189
196
  readonly remove?: boolean;
190
- readonly profileLocation?: URI;
191
197
  };
192
198
  interface IExtensionManagementParticipant {
193
199
  postInstall(local: ILocalExtension, source: URI | IGalleryExtension, options: InstallOptions, token: CancellationToken): Promise<void>;
@@ -198,4 +204,4 @@ type InstallExtensionInfo = {
198
204
  readonly options: InstallOptions;
199
205
  };
200
206
 
201
- export { type DidUninstallExtensionEvent, type IDeprecationInfo, type IExtensionIdentifier, type IExtensionManagementParticipant, type IExtensionsControlManifest, type IGalleryExtension, type IGalleryExtensionAsset, type IGalleryExtensionAssets, type IGalleryExtensionIdentifier, type IGalleryExtensionProperties, type IGalleryMetadata, type ILocalExtension, type IProductVersion, type ISearchPrefferedResults, type InstallExtensionEvent, type InstallExtensionInfo, type InstallExtensionResult, InstallOperation, type InstallOptions, type InstallSource, type Metadata, type UninstallExtensionEvent, type UninstallOptions };
207
+ export { type DidUninstallExtensionEvent, type DidUpdateExtensionMetadata, type IDeprecationInfo, type IExtensionIdentifier, type IExtensionManagementParticipant, type IExtensionsControlManifest, type IGalleryExtension, type IGalleryExtensionAsset, type IGalleryExtensionAssets, type IGalleryExtensionIdentifier, type IGalleryExtensionProperties, type IGalleryMetadata, type ILocalExtension, type IProductVersion, type ISearchPrefferedResults, type InstallExtensionEvent, type InstallExtensionInfo, type InstallExtensionResult, InstallOperation, type InstallOptions, type InstallSource, type Metadata, type UninstallExtensionEvent, type UninstallOptions };
@@ -162,12 +162,14 @@ var ExtensionManagementErrorCode;
162
162
  ExtensionManagementErrorCode["Deprecated"] = "Deprecated";
163
163
  ExtensionManagementErrorCode["Malicious"] = "Malicious";
164
164
  ExtensionManagementErrorCode["Incompatible"] = "Incompatible";
165
+ ExtensionManagementErrorCode["IncompatibleApi"] = "IncompatibleApi";
165
166
  ExtensionManagementErrorCode["IncompatibleTargetPlatform"] = "IncompatibleTargetPlatform";
166
167
  ExtensionManagementErrorCode["ReleaseVersionNotFound"] = "ReleaseVersionNotFound";
167
168
  ExtensionManagementErrorCode["Invalid"] = "Invalid";
168
169
  ExtensionManagementErrorCode["Download"] = "Download";
169
170
  ExtensionManagementErrorCode["DownloadSignature"] = "DownloadSignature";
170
171
  ExtensionManagementErrorCode["DownloadFailedWriting"] = "DownloadFailedWriting";
172
+ ExtensionManagementErrorCode["UpdateExistingMetadata"] = "UpdateExistingMetadata";
171
173
  ExtensionManagementErrorCode["UpdateMetadata"] = "UpdateMetadata";
172
174
  ExtensionManagementErrorCode["Extract"] = "Extract";
173
175
  ExtensionManagementErrorCode["Scanning"] = "Scanning";
@@ -1,7 +1,7 @@
1
1
  import { ServiceIdentifier } from '../../instantiation/common/instantiation.js';
2
2
  import { URI } from '../../../base/common/uri.js';
3
3
  import { IExtensionManifest, ExtensionType, TargetPlatform } from '../../extensions/common/extensions.js';
4
- import { InstallExtensionEvent, InstallExtensionResult, UninstallExtensionEvent, DidUninstallExtensionEvent, ILocalExtension, IExtensionIdentifier, InstallOptions, IGalleryExtension, InstallExtensionInfo, UninstallOptions, IProductVersion, IExtensionsControlManifest, Metadata, InstallOperation, IExtensionManagementParticipant } from './extensionManagement.js';
4
+ import { InstallExtensionEvent, InstallExtensionResult, UninstallExtensionEvent, DidUninstallExtensionEvent, DidUpdateExtensionMetadata, ILocalExtension, IExtensionIdentifier, InstallOptions, IGalleryExtension, InstallExtensionInfo, UninstallOptions, IProductVersion, IExtensionsControlManifest, Metadata, InstallOperation, IExtensionManagementParticipant } from './extensionManagement.js';
5
5
  import { Event } from '../../../base/common/event.js';
6
6
 
7
7
  declare const IExtensionManagementService: ServiceIdentifier<IExtensionManagementService>;
@@ -11,7 +11,7 @@ interface IExtensionManagementService {
11
11
  onDidInstallExtensions: Event<readonly InstallExtensionResult[]>;
12
12
  onUninstallExtension: Event<UninstallExtensionEvent>;
13
13
  onDidUninstallExtension: Event<DidUninstallExtensionEvent>;
14
- onDidUpdateExtensionMetadata: Event<ILocalExtension>;
14
+ onDidUpdateExtensionMetadata: Event<DidUpdateExtensionMetadata>;
15
15
  zip(extension: ILocalExtension): Promise<URI>;
16
16
  unzip(zipLocation: URI): Promise<IExtensionIdentifier>;
17
17
  getManifest(vsix: URI): Promise<IExtensionManifest>;
@@ -27,7 +27,7 @@ interface IExtensionManagementService {
27
27
  getInstalled(type?: ExtensionType, profileLocation?: URI, productVersion?: IProductVersion): Promise<ILocalExtension[]>;
28
28
  getExtensionsControlManifest(): Promise<IExtensionsControlManifest>;
29
29
  copyExtensions(fromProfileLocation: URI, toProfileLocation: URI): Promise<void>;
30
- updateMetadata(local: ILocalExtension, metadata: Partial<Metadata>, profileLocation?: URI): Promise<ILocalExtension>;
30
+ updateMetadata(local: ILocalExtension, metadata: Partial<Metadata>, profileLocation: URI): Promise<ILocalExtension>;
31
31
  download(extension: IGalleryExtension, operation: InstallOperation, donotVerifySignature: boolean): Promise<URI>;
32
32
  registerParticipant(pariticipant: IExtensionManagementParticipant): void;
33
33
  getTargetPlatform(): Promise<TargetPlatform>;
@@ -18,7 +18,7 @@ import { URI } from '../../../base/common/uri.js';
18
18
  import { localizeWithPath } from '../../../nls.js';
19
19
  import { IEnvironmentService } from '../../environment/common/environment.service.js';
20
20
  import { computeTargetPlatform, areSameExtensions, ExtensionKey, getGalleryExtensionId } from './extensionManagementUtil.js';
21
- import { ExtensionType, UNDEFINED_PUBLISHER, BUILTIN_MANIFEST_CACHE_FILE, USER_MANIFEST_CACHE_FILE, ExtensionIdentifierMap, TargetPlatform } from '../../extensions/common/extensions.js';
21
+ import { ExtensionType, UNDEFINED_PUBLISHER, parseEnabledApiProposalNames, BUILTIN_MANIFEST_CACHE_FILE, USER_MANIFEST_CACHE_FILE, ExtensionIdentifierMap, TargetPlatform } from '../../extensions/common/extensions.js';
22
22
  import { validateExtensionManifest } from '../../extensions/common/extensionValidator.js';
23
23
  import { toFileOperationResult, FileOperationResult } from '../../files/common/files.js';
24
24
  import { IFileService } from '../../files/common/files.service.js';
@@ -609,11 +609,12 @@ ExtensionManifestTranslator = ( (__decorate([
609
609
  ( (__param(1, ILogService)))
610
610
  ], ExtensionManifestTranslator)));
611
611
  let ExtensionsScanner = class ExtensionsScanner extends ExtensionManifestTranslator {
612
- constructor(obsoleteFile, extensionsProfileScannerService, uriIdentityService, fileService, logService) {
612
+ constructor(obsoleteFile, extensionsProfileScannerService, uriIdentityService, fileService, productService, logService) {
613
613
  super(fileService, logService);
614
614
  this.obsoleteFile = obsoleteFile;
615
615
  this.extensionsProfileScannerService = extensionsProfileScannerService;
616
616
  this.uriIdentityService = uriIdentityService;
617
+ this.extensionsEnabledWithApiProposalVersion = productService.extensionsEnabledWithApiProposalVersion?.map(id => id.toLowerCase()) ?? [];
617
618
  }
618
619
  async scanExtensions(input) {
619
620
  const extensions = input.profile ? await this.scanExtensionsFromProfile(input) : await this.scanExtensionsFromLocation(input);
@@ -729,7 +730,7 @@ let ExtensionsScanner = class ExtensionsScanner extends ExtensionManifestTransla
729
730
  const type = metadata?.isSystem ? ExtensionType.System : input.type;
730
731
  const isBuiltin = type === ExtensionType.System || !!metadata?.isBuiltin;
731
732
  manifest = await this.translateManifest(input.location, manifest, ExtensionScannerInput.createNlsConfiguration(input));
732
- const extension = {
733
+ let extension = {
733
734
  type,
734
735
  identifier,
735
736
  manifest,
@@ -741,7 +742,13 @@ let ExtensionsScanner = class ExtensionsScanner extends ExtensionManifestTransla
741
742
  isValid: true,
742
743
  validations: []
743
744
  };
744
- return input.validate ? this.validate(extension, input) : extension;
745
+ if (input.validate) {
746
+ extension = this.validate(extension, input);
747
+ }
748
+ if (manifest.enabledApiProposals && this.extensionsEnabledWithApiProposalVersion.includes(id.toLowerCase())) {
749
+ manifest.enabledApiProposals = parseEnabledApiProposalNames([...manifest.enabledApiProposals]);
750
+ }
751
+ return extension;
745
752
  }
746
753
  }
747
754
  catch (e) {
@@ -753,7 +760,8 @@ let ExtensionsScanner = class ExtensionsScanner extends ExtensionManifestTransla
753
760
  }
754
761
  validate(extension, input) {
755
762
  let isValid = true;
756
- const validations = validateExtensionManifest(input.productVersion, input.productDate, input.location, extension.manifest, extension.isBuiltin);
763
+ const validateApiVersion = this.extensionsEnabledWithApiProposalVersion.includes(extension.identifier.id.toLowerCase());
764
+ const validations = validateExtensionManifest(input.productVersion, input.productDate, input.location, extension.manifest, extension.isBuiltin, validateApiVersion);
757
765
  for (const [severity, message] of validations) {
758
766
  if (severity === Severity$1.Error) {
759
767
  isValid = false;
@@ -818,11 +826,12 @@ ExtensionsScanner = ( (__decorate([
818
826
  ( (__param(1, IExtensionsProfileScannerService))),
819
827
  ( (__param(2, IUriIdentityService))),
820
828
  ( (__param(3, IFileService))),
821
- ( (__param(4, ILogService)))
829
+ ( (__param(4, IProductService))),
830
+ ( (__param(5, ILogService)))
822
831
  ], ExtensionsScanner)));
823
832
  let CachedExtensionsScanner = class CachedExtensionsScanner extends ExtensionsScanner {
824
- constructor(currentProfile, obsoleteFile, userDataProfilesService, extensionsProfileScannerService, uriIdentityService, fileService, logService) {
825
- super(obsoleteFile, extensionsProfileScannerService, uriIdentityService, fileService, logService);
833
+ constructor(currentProfile, obsoleteFile, userDataProfilesService, extensionsProfileScannerService, uriIdentityService, fileService, productService, logService) {
834
+ super(obsoleteFile, extensionsProfileScannerService, uriIdentityService, fileService, productService, logService);
826
835
  this.currentProfile = currentProfile;
827
836
  this.userDataProfilesService = userDataProfilesService;
828
837
  this.cacheValidatorThrottler = this._register(( (new ThrottledDelayer(3000))));
@@ -834,7 +843,7 @@ let CachedExtensionsScanner = class CachedExtensionsScanner extends ExtensionsSc
834
843
  const cacheContents = await this.readExtensionCache(cacheFile);
835
844
  this.input = input;
836
845
  if (cacheContents && cacheContents.input && ExtensionScannerInput.equals(cacheContents.input, this.input)) {
837
- this.logService.debug('Using cached extensions scan result', ( (input.location.toString())));
846
+ this.logService.debug('Using cached extensions scan result', input.type === ExtensionType.System ? 'system' : 'user', ( (input.location.toString())));
838
847
  this.cacheValidatorThrottler.trigger(() => this.validateCache());
839
848
  return (
840
849
  (cacheContents.result.map((extension) => {
@@ -911,6 +920,7 @@ CachedExtensionsScanner = ( (__decorate([
911
920
  ( (__param(3, IExtensionsProfileScannerService))),
912
921
  ( (__param(4, IUriIdentityService))),
913
922
  ( (__param(5, IFileService))),
914
- ( (__param(6, ILogService)))
923
+ ( (__param(6, IProductService))),
924
+ ( (__param(7, ILogService)))
915
925
  ], CachedExtensionsScanner)));
916
926
  export { AbstractExtensionsScannerService, ExtensionManifestTranslator, ExtensionScannerInput, Translations };