@codingame/monaco-vscode-api 4.5.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/api.js +1 -1
  2. package/extensions.d.ts +2 -3
  3. package/lifecycle.js +6 -0
  4. package/localExtensionHost.d.ts +4 -1
  5. package/missing-services.js +41 -25
  6. package/package.json +8 -8
  7. package/service-override/tools/editor.js +31 -8
  8. package/service-override/tools/views.d.ts +1 -1
  9. package/service-override/tools/views.js +2 -3
  10. package/service-override/views.d.ts +0 -1
  11. package/services.d.ts +3 -3
  12. package/services.js +3 -3
  13. package/vscode/src/vs/base/browser/markdownRenderer.js +9 -3
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +2 -2
  15. package/vscode/src/vs/base/browser/ui/button/button.js +3 -3
  16. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  17. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -1
  18. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +2 -2
  19. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +2 -2
  20. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +2 -2
  21. package/vscode/src/vs/{platform/hover/browser → base/browser/ui/hover}/hover.d.ts +64 -4
  22. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +13 -0
  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 +30 -14
  26. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +15 -2
  27. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +2 -2
  28. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.css.js +4 -0
  29. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +239 -0
  30. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +2 -2
  31. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +2 -2
  32. package/vscode/src/vs/base/browser/ui/list/listView.js +5 -3
  33. package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +33 -0
  34. package/vscode/src/vs/base/browser/ui/list/listWidget.js +4 -1
  35. package/vscode/src/vs/base/browser/ui/menu/menu.js +1 -0
  36. package/vscode/src/vs/base/browser/ui/menu/menubar.css.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/progressbar/progressAccessibilitySignal.js +13 -0
  38. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +7 -1
  39. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +2 -2
  40. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +2 -2
  41. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +8 -2
  42. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +1 -1
  43. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -4
  44. package/vscode/src/vs/base/browser/ui/tree/media/tree.css.js +1 -1
  45. package/vscode/src/vs/base/browser/ui/tree/objectTree.js +6 -4
  46. package/vscode/src/vs/base/common/arraysFind.js +7 -7
  47. package/vscode/src/vs/base/common/async.js +8 -3
  48. package/vscode/src/vs/base/common/cache.js +29 -10
  49. package/vscode/src/vs/base/common/cancellation.js +6 -1
  50. package/vscode/src/vs/base/common/codicons.d.ts +3 -0
  51. package/vscode/src/vs/base/common/codiconsLibrary.js +3 -0
  52. package/vscode/src/vs/base/common/controlFlow.js +48 -0
  53. package/vscode/src/vs/base/common/equals.js +44 -0
  54. package/vscode/src/vs/base/common/event.d.ts +11 -1
  55. package/vscode/src/vs/base/common/event.js +26 -1
  56. package/vscode/src/vs/base/common/jsonEdit.js +1 -1
  57. package/vscode/src/vs/base/common/lifecycle.js +1 -1
  58. package/vscode/src/vs/base/common/map.js +53 -4
  59. package/vscode/src/vs/base/common/network.js +2 -0
  60. package/vscode/src/vs/base/common/objects.js +3 -0
  61. package/vscode/src/vs/base/common/observableInternal/autorun.js +1 -10
  62. package/vscode/src/vs/base/common/observableInternal/base.js +22 -10
  63. package/vscode/src/vs/base/common/observableInternal/derived.js +8 -8
  64. package/vscode/src/vs/base/common/observableInternal/promise.js +19 -1
  65. package/vscode/src/vs/base/common/observableInternal/utils.js +30 -52
  66. package/vscode/src/vs/base/common/product.d.ts +1 -0
  67. package/vscode/src/vs/base/common/strings.js +1 -1
  68. package/vscode/src/vs/base/common/types.d.ts +5 -1
  69. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -2
  70. package/vscode/src/vs/editor/browser/observableUtilities.js +58 -0
  71. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +121 -2
  72. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +80 -0
  73. package/vscode/src/vs/editor/browser/stableEditorScroll.js +37 -1
  74. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +10 -3
  75. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +1 -1
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +1 -0
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +1 -0
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -0
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +3 -0
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +3 -10
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +8 -0
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +6 -6
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +1 -0
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -0
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +1 -0
  88. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +1 -0
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -0
  90. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +3 -2
  91. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +17 -8
  92. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +1 -0
  93. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +27 -19
  94. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css.js +1 -1
  95. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +4 -4
  96. package/vscode/src/vs/editor/common/core/lineRange.d.ts +12 -0
  97. package/vscode/src/vs/editor/common/core/lineRange.js +28 -0
  98. package/vscode/src/vs/editor/common/core/textEdit.d.ts +21 -0
  99. package/vscode/src/vs/editor/common/core/textEdit.js +13 -1
  100. package/vscode/src/vs/editor/common/core/textLength.d.ts +29 -0
  101. package/vscode/src/vs/editor/common/core/textLength.js +6 -0
  102. package/vscode/src/vs/editor/common/cursor/cursorCollection.js +3 -3
  103. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +11 -1
  104. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +11 -0
  105. package/vscode/src/vs/editor/common/diff/rangeMapping.js +34 -3
  106. package/vscode/src/vs/editor/common/languages.d.ts +50 -10
  107. package/vscode/src/vs/editor/common/languages.js +11 -1
  108. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +1 -1
  109. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -2
  110. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +1 -1
  111. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +11 -1
  112. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +3 -0
  113. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +22 -6
  114. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +5 -0
  115. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +1 -0
  116. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  117. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +20 -3
  118. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +1 -1
  119. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +2 -2
  120. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +4 -4
  121. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +2 -2
  122. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +7 -0
  123. package/vscode/src/vs/editor/contrib/find/browser/findController.js +11 -6
  124. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +10 -10
  125. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +74 -0
  126. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +332 -0
  127. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +34 -0
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +39 -0
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +355 -0
  130. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +11 -14
  131. package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +1 -1
  132. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +13 -0
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +354 -0
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +42 -0
  135. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +320 -0
  136. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverComputer.js +48 -0
  137. package/vscode/src/vs/editor/contrib/hover/browser/{marginHover.js → marginHoverWidget.js} +14 -48
  138. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +250 -41
  139. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +1 -0
  140. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +44 -20
  141. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +11 -7
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -0
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -0
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +2 -3
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +1 -0
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +26 -13
  147. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +5 -11
  148. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +24 -22
  149. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +39 -70
  150. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +3 -3
  151. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +1 -0
  152. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -0
  153. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +1 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -2
  155. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +5 -3
  156. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css.js +1 -1
  157. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +18 -6
  158. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.css.js +1 -1
  159. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +165 -40
  160. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +5 -0
  161. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +3 -3
  162. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +15 -8
  163. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +13 -6
  164. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +0 -2
  165. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +9 -2
  166. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +23 -18
  167. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +33 -11
  168. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +1 -9
  169. package/vscode/src/vs/platform/accessibility/common/accessibility.js +2 -1
  170. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +15 -9
  171. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +133 -132
  172. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.d.ts +12 -5
  173. package/vscode/src/vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler.js +25 -0
  174. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +4 -4
  175. package/vscode/src/vs/platform/actions/browser/buttonbar.js +10 -7
  176. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +1 -1
  177. package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +4 -1
  178. package/vscode/src/vs/platform/actions/browser/toolbar.js +53 -36
  179. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -1
  180. package/vscode/src/vs/platform/actions/common/actions.js +14 -4
  181. package/vscode/src/vs/platform/actions/common/menuService.js +30 -8
  182. package/vscode/src/vs/platform/configuration/common/configuration.js +4 -0
  183. package/vscode/src/vs/platform/configuration/common/configurationModels.js +43 -32
  184. package/vscode/src/vs/platform/configuration/common/configurations.js +12 -10
  185. package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +4 -1
  186. package/vscode/src/vs/platform/contextview/browser/contextView.service.d.ts +2 -3
  187. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +10 -8
  188. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +0 -1
  189. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +1 -0
  190. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +1 -0
  191. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +5 -0
  192. package/vscode/src/vs/platform/files/common/files.d.ts +14 -1
  193. package/vscode/src/vs/platform/hover/browser/hover.service.d.ts +2 -31
  194. package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +9 -0
  195. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +42 -8
  196. package/vscode/src/vs/platform/log/common/log.js +3 -1
  197. package/vscode/src/vs/platform/markers/common/markerService.js +7 -3
  198. package/vscode/src/vs/platform/opener/browser/link.js +6 -4
  199. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +2 -2
  200. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +15 -7
  201. package/vscode/src/vs/platform/telemetry/common/gdprTypings.d.ts +0 -1
  202. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -0
  203. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +5 -0
  204. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +30 -0
  205. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +6 -0
  206. package/vscode/src/vs/platform/theme/browser/iconsStyleSheet.js +13 -11
  207. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  208. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +28 -28
  209. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -6
  210. package/vscode/src/vs/workbench/api/common/extHostBulkEdits.js +2 -1
  211. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +104 -96
  212. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +4 -4
  213. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +9 -3
  214. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +3 -3
  215. package/vscode/src/vs/workbench/api/common/extHostDocumentSaveParticipant.js +2 -1
  216. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +1 -1
  217. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +19 -1
  218. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +87 -17
  219. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +39 -2
  220. package/vscode/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.js +2 -1
  221. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +52 -36
  222. package/vscode/src/vs/workbench/api/common/extHostTesting.js +10 -28
  223. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +6 -1
  224. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +132 -136
  225. package/vscode/src/vs/workbench/api/common/extHostTypes.js +72 -18
  226. package/vscode/src/vs/workbench/api/common/extHostWindow.js +3 -5
  227. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +86 -76
  228. package/vscode/src/vs/workbench/browser/actions/media/actions.css.js +1 -1
  229. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +30 -6
  230. package/vscode/src/vs/workbench/browser/labels.js +4 -1
  231. package/vscode/src/vs/workbench/browser/parts/compositePart.d.ts +3 -1
  232. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +19 -7
  233. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +16 -3
  234. package/vscode/src/vs/workbench/browser/parts/editor/media/editorquickaccess.css.js +1 -1
  235. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  236. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +14 -33
  237. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +33 -13
  238. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +7 -5
  239. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +4 -3
  240. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.d.ts +2 -1
  241. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +3 -1
  242. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +3 -3
  243. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
  244. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +182 -63
  245. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +14 -3
  246. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +61 -34
  247. package/vscode/src/vs/workbench/browser/workbench.contribution.js +16 -10
  248. package/vscode/src/vs/workbench/common/theme.js +144 -98
  249. package/vscode/src/vs/workbench/common/views.d.ts +2 -0
  250. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +190 -138
  251. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +876 -0
  252. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +59 -7
  253. package/vscode/src/vs/workbench/contrib/accessibility/browser/{accessibilityContributions.js → accessibleViewContributions.js} +160 -6
  254. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +3 -3
  255. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +66 -150
  256. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +75 -12
  257. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +21 -22
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +6 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +101 -0
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +6 -5
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +30 -23
  262. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +201 -47
  263. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +42 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +13 -28
  265. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  266. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +366 -6
  267. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +35 -2
  268. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  269. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +4 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +4 -9
  271. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +95 -5
  272. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.js +2 -1
  273. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  274. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +11 -6
  275. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +94 -79
  276. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +0 -13
  277. package/vscode/src/vs/workbench/contrib/chat/common/chatParticipantContribTypes.js +2 -0
  278. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +7 -9
  279. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.service.js +3 -0
  280. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +1 -1
  281. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -0
  282. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +4 -4
  283. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +30 -26
  284. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +30 -29
  285. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +4 -4
  286. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +5 -4
  287. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +13 -13
  289. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +26 -16
  290. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +107 -26
  291. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +23 -2
  293. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +2 -3
  294. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +39 -11
  295. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +53 -33
  296. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +967 -0
  297. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +101 -0
  298. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +4 -1
  299. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +82 -0
  300. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +10 -9
  301. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +79 -45
  302. package/vscode/src/vs/workbench/contrib/files/browser/{fileCommands.save.js → fileCommands._save.js} +4 -4
  303. package/vscode/src/vs/workbench/contrib/files/browser/{files.configuration.contribution.js → files.contribution._configuration.js} +1 -1
  304. package/vscode/src/vs/workbench/contrib/files/browser/{files.editorPane.contribution.js → files.contribution._editorPane.js} +18 -18
  305. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +5 -3
  306. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +19 -14
  307. package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
  308. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +8 -8
  309. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +15 -2
  310. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +29 -112
  311. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +10 -7
  312. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +99 -91
  313. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +9 -31
  314. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +345 -104
  315. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +62 -69
  316. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +63 -46
  317. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +18 -10
  318. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  319. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  320. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +1 -31
  321. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +7 -3
  322. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +5 -1
  323. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +1 -0
  324. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +1 -0
  325. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +1 -0
  326. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +4 -4
  327. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +2 -48
  328. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +28 -23
  329. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +5 -9
  330. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +112 -0
  331. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +18 -10
  332. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +4 -4
  333. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +7 -2
  334. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +4 -5
  335. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +8 -3
  336. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -0
  337. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +36 -4
  338. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +9 -6
  339. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +17 -5
  340. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +6 -4
  341. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +5 -5
  342. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +3 -3
  343. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +5 -4
  344. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +2 -0
  345. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  346. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellAnchor.js +2 -3
  347. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +22 -1
  348. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +34 -6
  349. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +15 -0
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +6 -4
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +3 -0
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +17 -14
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +2 -1
  354. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +52 -16
  355. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  356. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +2 -2
  357. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +25 -12
  358. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +6 -4
  359. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +0 -2
  360. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +6 -4
  361. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +24 -2
  362. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +38 -8
  363. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +0 -1
  364. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +1 -0
  365. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +7 -14
  366. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +24 -6
  367. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.js +2 -1
  368. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +8 -9
  369. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +2 -20
  370. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +3 -1
  371. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +2 -2
  372. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +1 -0
  373. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +10 -0
  374. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +15 -3
  375. package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.d.ts +9 -0
  376. package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.js +3 -0
  377. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +30 -16
  378. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +15 -4
  379. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +20 -1
  380. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +0 -1
  381. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +4 -1
  382. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +4 -1
  383. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.d.ts +1 -1
  384. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +8 -2
  385. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +2 -1
  386. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +4 -1
  387. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +3 -3
  388. package/vscode/src/vs/workbench/services/language/common/languageService.js +23 -18
  389. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +6 -4
  390. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +50 -9
  391. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +1 -0
  392. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +97 -0
  393. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.d.ts +7 -2
  394. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +2 -2
  395. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +23 -45
  396. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +65 -91
  397. package/vscode-dts/vscode.proposed.chatProvider.d.ts +9 -0
  398. package/vscode-dts/vscode.proposed.chatTab.d.ts +1 -5
  399. package/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts +15 -0
  400. package/vscode-dts/vscode.proposed.debugFocus.d.ts +4 -4
  401. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
  402. package/vscode-dts/vscode.proposed.documentPaste.d.ts +144 -43
  403. package/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts +76 -0
  404. package/vscode-dts/vscode.proposed.interactive.d.ts +1 -17
  405. package/vscode-dts/vscode.proposed.languageModels.d.ts +56 -11
  406. package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +12 -1
  407. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +4 -4
  408. package/vscode-dts/vscode.proposed.speech.d.ts +2 -1
  409. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +144 -38
  410. package/vscode-dts/vscode.proposed.testPreserveFocus.d.ts +28 -0
  411. package/vscode/src/vs/base/browser/ui/hover/updatableHoverWidget.d.ts +0 -21
  412. package/vscode/src/vs/base/browser/ui/hover/updatableHoverWidget.js +0 -214
  413. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +0 -32
  414. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +0 -838
  415. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +0 -621
  416. package/vscode/src/vs/platform/accessibility/common/accessibility.service.d.ts +0 -19
  417. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -54
  418. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +0 -70
  419. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +0 -237
  420. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +0 -49
  421. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +0 -178
  422. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +0 -141
  423. package/vscode/src/vs/workbench/contrib/chat/common/chatContributionService.service.js +0 -3
  424. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatFileCreationWidget.js +0 -212
  425. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/OutlineEntry.js +0 -95
  426. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +0 -110
  427. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +0 -224
  428. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +0 -48
  429. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +0 -47
  430. package/vscode-dts/vscode.proposed.dropMetadata.d.ts +0 -65
  431. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +0 -57
  432. package/vscode-dts/vscode.proposed.windowActivity.d.ts +0 -17
  433. /package/vscode/src/vs/workbench/browser/parts/editor/{editor.autosave.contribution.js → editor.contribution._autosave.js} +0 -0
  434. /package/vscode/src/vs/workbench/contrib/files/browser/{files.fileEditorFactory.contribution.js → files.contribution._fileEditorFactory.js} +0 -0
@@ -1,16 +1,18 @@
1
1
  import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
+ import { CachedFunction } from '../../../base/common/cache.js';
3
+ import { getStructuralKey } from '../../../base/common/equals.js';
2
4
  import { Disposable, toDisposable } from '../../../base/common/lifecycle.js';
3
5
  import { FileAccess } from '../../../base/common/network.js';
4
- import { IAccessibilityService } from '../../accessibility/common/accessibility.service.js';
5
- import { IConfigurationService } from '../../configuration/common/configuration.service.js';
6
- import { Event } from '../../../base/common/event.js';
7
- import { localizeWithPath } from '../../../nls.js';
8
6
  import { derived } from '../../../base/common/observableInternal/derived.js';
9
7
  import '../../../base/common/observableInternal/autorun.js';
10
- import { observableFromEvent } from '../../../base/common/observableInternal/utils.js';
8
+ import { observableFromEvent, ValueWithChangeEventFromObservable } from '../../../base/common/observableInternal/utils.js';
11
9
  import '../../../base/common/cancellation.js';
10
+ import { localizeWithPath } from '../../../nls.js';
11
+ import { IAccessibilityService } from '../../accessibility/common/accessibility.service.js';
12
+ import { IConfigurationService } from '../../configuration/common/configuration.service.js';
12
13
  import { ITelemetryService } from '../../telemetry/common/telemetry.service.js';
13
14
  const _moduleId = "vs/platform/accessibilitySignal/browser/accessibilitySignalService";
15
+ const AcknowledgeDocCommentsToken = Symbol('AcknowledgeDocCommentsToken');
14
16
  let AccessibilitySignalService = class AccessibilitySignalService extends Disposable {
15
17
  constructor(configurationService, accessibilityService, telemetryService) {
16
18
  super();
@@ -21,43 +23,39 @@ let AccessibilitySignalService = class AccessibilitySignalService extends Dispos
21
23
  this.screenReaderAttached = observableFromEvent(this.accessibilityService.onDidChangeScreenReaderOptimized, () => this.accessibilityService.isScreenReaderOptimized());
22
24
  this.sentTelemetry = ( (new Set()));
23
25
  this.playingSounds = ( (new Set()));
24
- this.obsoleteAccessibilitySignalsEnabled = observableFromEvent(Event.filter(this.configurationService.onDidChangeConfiguration, (e) => e.affectsConfiguration('accessibilitySignals.enabled')), () => this.configurationService.getValue('accessibilitySignals.enabled'));
25
- this.isSoundEnabledCache = ( (new Cache((event) => {
26
- const settingObservable = observableFromEvent(Event.filter(this.configurationService.onDidChangeConfiguration, (e) => e.affectsConfiguration(event.signal.legacySoundSettingsKey) || e.affectsConfiguration(event.signal.settingsKey)), () => this.configurationService.getValue(event.signal.settingsKey + '.sound'));
26
+ this._signalConfigValue = ( (new CachedFunction(
27
+ (signal) => observableConfigValue(signal.settingsKey, this.configurationService)
28
+ )));
29
+ this._signalEnabledState = ( (new CachedFunction({ getCacheKey: getStructuralKey }, (arg) => {
27
30
  return derived(reader => {
28
- const setting = settingObservable.read(reader);
29
- if (setting === 'on' ||
30
- (setting === 'auto' && this.screenReaderAttached.read(reader))) {
31
- return true;
32
- }
33
- else if (setting === 'always' || setting === 'userGesture' && event.userGesture) {
34
- return true;
31
+ const setting = this._signalConfigValue.get(arg.signal).read(reader);
32
+ if (arg.modality === 'sound' || arg.modality === undefined) {
33
+ if (checkEnabledState(setting.sound, () => this.screenReaderAttached.read(reader), arg.userGesture)) {
34
+ return true;
35
+ }
35
36
  }
36
- const obsoleteSetting = this.obsoleteAccessibilitySignalsEnabled.read(reader);
37
- if (obsoleteSetting === 'on' ||
38
- (obsoleteSetting === 'auto' && this.screenReaderAttached.read(reader))) {
39
- return true;
37
+ if (arg.modality === 'announcement' || arg.modality === undefined) {
38
+ if (checkEnabledState(setting.announcement, () => this.screenReaderAttached.read(reader), arg.userGesture)) {
39
+ return true;
40
+ }
40
41
  }
41
42
  return false;
42
- });
43
- }, JSON.stringify)));
44
- this.isAnnouncementEnabledCache = ( (new Cache((event) => {
45
- const settingObservable = observableFromEvent(Event.filter(this.configurationService.onDidChangeConfiguration, (e) => e.affectsConfiguration(event.signal.legacyAnnouncementSettingsKey) || e.affectsConfiguration(event.signal.settingsKey)), () => event.signal.announcementMessage ? this.configurationService.getValue(event.signal.settingsKey + '.announcement') : false);
46
- return derived(reader => {
47
- const setting = settingObservable.read(reader);
48
- if (!this.screenReaderAttached.read(reader)) {
49
- return false;
50
- }
51
- return setting === 'auto' || setting === 'always' || setting === 'userGesture' && event.userGesture;
52
- });
53
- }, JSON.stringify)));
43
+ }).recomputeInitiallyAndOnChange(this._store);
44
+ })));
45
+ }
46
+ getEnabledState(signal, userGesture, modality) {
47
+ return (
48
+ (new ValueWithChangeEventFromObservable(this._signalEnabledState.get({ signal, userGesture, modality })))
49
+ );
54
50
  }
55
51
  async playSignal(signal, options = {}) {
52
+ const shouldPlayAnnouncement = options.modality === 'announcement' || options.modality === undefined;
56
53
  const announcementMessage = signal.announcementMessage;
57
- if (this.isAnnouncementEnabled(signal, options.userGesture) && announcementMessage) {
54
+ if (shouldPlayAnnouncement && this.isAnnouncementEnabled(signal, options.userGesture) && announcementMessage) {
58
55
  this.accessibilityService.status(announcementMessage);
59
56
  }
60
- if (this.isSoundEnabled(signal, options.userGesture)) {
57
+ const shouldPlaySound = options.modality === 'sound' || options.modality === undefined;
58
+ if (shouldPlaySound && this.isSoundEnabled(signal, options.userGesture)) {
61
59
  this.sendSignalTelemetry(signal, options.source);
62
60
  await this.playSound(signal.sound.getSound(), options.allowManyInParallel);
63
61
  }
@@ -143,16 +141,13 @@ let AccessibilitySignalService = class AccessibilitySignalService extends Dispos
143
141
  if (!signal.announcementMessage) {
144
142
  return false;
145
143
  }
146
- return this.isAnnouncementEnabledCache.get({ signal, userGesture }).get() ?? false;
144
+ return this._signalEnabledState.get({ signal, userGesture: !!userGesture, modality: 'announcement' }).get();
147
145
  }
148
146
  isSoundEnabled(signal, userGesture) {
149
- return this.isSoundEnabledCache.get({ signal, userGesture }).get() ?? false;
147
+ return this._signalEnabledState.get({ signal, userGesture: !!userGesture, modality: 'sound' }).get();
150
148
  }
151
149
  onSoundEnabledChanged(signal) {
152
- return Event.fromObservableLight(this.isSoundEnabledCache.get({ signal }));
153
- }
154
- onAnnouncementEnabledChanged(signal) {
155
- return Event.fromObservableLight(this.isAnnouncementEnabledCache.get({ signal }));
150
+ return this.getEnabledState(signal, false).onDidChange;
156
151
  }
157
152
  };
158
153
  AccessibilitySignalService = ( (__decorate([
@@ -160,6 +155,9 @@ AccessibilitySignalService = ( (__decorate([
160
155
  ( (__param(1, IAccessibilityService))),
161
156
  ( (__param(2, ITelemetryService)))
162
157
  ], AccessibilitySignalService)));
158
+ function checkEnabledState(state, getScreenReaderAttached, isTriggeredByUserGesture) {
159
+ return state === 'on' || state === 'always' || (state === 'auto' && getScreenReaderAttached()) || state === 'userGesture' && isTriggeredByUserGesture;
160
+ }
163
161
  function playAudio(url, volume) {
164
162
  return (
165
163
  (new Promise((resolve, reject) => {
@@ -177,22 +175,6 @@ function playAudio(url, volume) {
177
175
  }))
178
176
  );
179
177
  }
180
- class Cache {
181
- constructor(getValue, getKey) {
182
- this.getValue = getValue;
183
- this.getKey = getKey;
184
- this.map = ( (new Map()));
185
- }
186
- get(arg) {
187
- if (( (this.map.has(arg)))) {
188
- return this.map.get(arg);
189
- }
190
- const value = this.getValue(arg);
191
- const key = this.getKey(arg);
192
- this.map.set(key, value);
193
- return value;
194
- }
195
- }
196
178
  class Sound {
197
179
  static register(options) {
198
180
  const sound = ( (new Sound(options.fileName)));
@@ -210,7 +192,6 @@ class Sound {
210
192
  static { this.diffLineDeleted = Sound.register({ fileName: 'diffLineDeleted.mp3' }); }
211
193
  static { this.diffLineModified = Sound.register({ fileName: 'diffLineModified.mp3' }); }
212
194
  static { this.chatRequestSent = Sound.register({ fileName: 'chatRequestSent.mp3' }); }
213
- static { this.chatResponsePending = Sound.register({ fileName: 'chatResponsePending.mp3' }); }
214
195
  static { this.chatResponseReceived1 = Sound.register({ fileName: 'chatResponseReceived1.mp3' }); }
215
196
  static { this.chatResponseReceived2 = Sound.register({ fileName: 'chatResponseReceived2.mp3' }); }
216
197
  static { this.chatResponseReceived3 = Sound.register({ fileName: 'chatResponseReceived3.mp3' }); }
@@ -220,6 +201,7 @@ class Sound {
220
201
  static { this.format = Sound.register({ fileName: 'format.mp3' }); }
221
202
  static { this.voiceRecordingStarted = Sound.register({ fileName: 'voiceRecordingStarted.mp3' }); }
222
203
  static { this.voiceRecordingStopped = Sound.register({ fileName: 'voiceRecordingStopped.mp3' }); }
204
+ static { this.progress = Sound.register({ fileName: 'progress.mp3' }); }
223
205
  constructor(fileName) {
224
206
  this.fileName = fileName;
225
207
  }
@@ -239,6 +221,14 @@ class SoundSource {
239
221
  }
240
222
  }
241
223
  class AccessibilitySignal {
224
+ constructor(sound, name, legacySoundSettingsKey, settingsKey, legacyAnnouncementSettingsKey, announcementMessage) {
225
+ this.sound = sound;
226
+ this.name = name;
227
+ this.legacySoundSettingsKey = legacySoundSettingsKey;
228
+ this.settingsKey = settingsKey;
229
+ this.legacyAnnouncementSettingsKey = legacyAnnouncementSettingsKey;
230
+ this.announcementMessage = announcementMessage;
231
+ }
242
232
  static { this._signals = ( (new Set())); }
243
233
  static register(options) {
244
234
  const soundSource = ( (new SoundSource(
@@ -258,144 +248,156 @@ class AccessibilitySignal {
258
248
  static get allAccessibilitySignals() {
259
249
  return [...this._signals];
260
250
  }
261
- static { this.error = AccessibilitySignal.register({
262
- name: ( localizeWithPath(_moduleId, 0, 'Error on Line')),
251
+ static { this.errorAtPosition = AccessibilitySignal.register({
252
+ name: ( localizeWithPath(_moduleId, 0, 'Error at Position')),
253
+ sound: Sound.error,
254
+ announcementMessage: ( localizeWithPath(_moduleId, 1, 'Error')),
255
+ settingsKey: 'accessibility.signals.positionHasError',
256
+ }); }
257
+ static { this.warningAtPosition = AccessibilitySignal.register({
258
+ name: ( localizeWithPath(_moduleId, 2, 'Warning at Position')),
259
+ sound: Sound.warning,
260
+ announcementMessage: ( localizeWithPath(_moduleId, 3, 'Warning')),
261
+ settingsKey: 'accessibility.signals.positionHasWarning',
262
+ }); }
263
+ static { this.errorOnLine = AccessibilitySignal.register({
264
+ name: ( localizeWithPath(_moduleId, 4, 'Error on Line')),
263
265
  sound: Sound.error,
264
266
  legacySoundSettingsKey: 'audioCues.lineHasError',
265
267
  legacyAnnouncementSettingsKey: "accessibility.alert.error" ,
266
- announcementMessage: ( localizeWithPath(_moduleId, 1, 'Error')),
267
- settingsKey: 'accessibility.signals.lineHasError'
268
+ announcementMessage: ( localizeWithPath(_moduleId, 5, 'Error on Line')),
269
+ settingsKey: 'accessibility.signals.lineHasError',
268
270
  }); }
269
- static { this.warning = AccessibilitySignal.register({
270
- name: ( localizeWithPath(_moduleId, 2, 'Warning on Line')),
271
+ static { this.warningOnLine = AccessibilitySignal.register({
272
+ name: ( localizeWithPath(_moduleId, 6, 'Warning on Line')),
271
273
  sound: Sound.warning,
272
274
  legacySoundSettingsKey: 'audioCues.lineHasWarning',
273
275
  legacyAnnouncementSettingsKey: "accessibility.alert.warning" ,
274
- announcementMessage: ( localizeWithPath(_moduleId, 3, 'Warning')),
275
- settingsKey: 'accessibility.signals.lineHasWarning'
276
+ announcementMessage: ( localizeWithPath(_moduleId, 7, 'Warning on Line')),
277
+ settingsKey: 'accessibility.signals.lineHasWarning',
276
278
  }); }
277
279
  static { this.foldedArea = AccessibilitySignal.register({
278
- name: ( localizeWithPath(_moduleId, 4, 'Folded Area on Line')),
280
+ name: ( localizeWithPath(_moduleId, 8, 'Folded Area on Line')),
279
281
  sound: Sound.foldedArea,
280
282
  legacySoundSettingsKey: 'audioCues.lineHasFoldedArea',
281
283
  legacyAnnouncementSettingsKey: "accessibility.alert.foldedArea" ,
282
- announcementMessage: ( localizeWithPath(_moduleId, 5, 'Folded')),
283
- settingsKey: 'accessibility.signals.lineHasFoldedArea'
284
+ announcementMessage: ( localizeWithPath(_moduleId, 9, 'Folded')),
285
+ settingsKey: 'accessibility.signals.lineHasFoldedArea',
284
286
  }); }
285
287
  static { this.break = AccessibilitySignal.register({
286
- name: ( localizeWithPath(_moduleId, 6, 'Breakpoint on Line')),
288
+ name: ( localizeWithPath(_moduleId, 10, 'Breakpoint on Line')),
287
289
  sound: Sound.break,
288
290
  legacySoundSettingsKey: 'audioCues.lineHasBreakpoint',
289
291
  legacyAnnouncementSettingsKey: "accessibility.alert.breakpoint" ,
290
- announcementMessage: ( localizeWithPath(_moduleId, 7, 'Breakpoint')),
291
- settingsKey: 'accessibility.signals.lineHasBreakpoint'
292
+ announcementMessage: ( localizeWithPath(_moduleId, 11, 'Breakpoint')),
293
+ settingsKey: 'accessibility.signals.lineHasBreakpoint',
292
294
  }); }
293
295
  static { this.inlineSuggestion = AccessibilitySignal.register({
294
- name: ( localizeWithPath(_moduleId, 8, 'Inline Suggestion on Line')),
296
+ name: ( localizeWithPath(_moduleId, 12, 'Inline Suggestion on Line')),
295
297
  sound: Sound.quickFixes,
296
298
  legacySoundSettingsKey: 'audioCues.lineHasInlineSuggestion',
297
- settingsKey: 'accessibility.signals.lineHasInlineSuggestion'
299
+ settingsKey: 'accessibility.signals.lineHasInlineSuggestion',
298
300
  }); }
299
301
  static { this.terminalQuickFix = AccessibilitySignal.register({
300
- name: ( localizeWithPath(_moduleId, 9, 'Terminal Quick Fix')),
302
+ name: ( localizeWithPath(_moduleId, 13, 'Terminal Quick Fix')),
301
303
  sound: Sound.quickFixes,
302
304
  legacySoundSettingsKey: 'audioCues.terminalQuickFix',
303
305
  legacyAnnouncementSettingsKey: "accessibility.alert.terminalQuickFix" ,
304
- announcementMessage: ( localizeWithPath(_moduleId, 10, 'Quick Fix')),
305
- settingsKey: 'accessibility.signals.terminalQuickFix'
306
+ announcementMessage: ( localizeWithPath(_moduleId, 14, 'Quick Fix')),
307
+ settingsKey: 'accessibility.signals.terminalQuickFix',
306
308
  }); }
307
309
  static { this.onDebugBreak = AccessibilitySignal.register({
308
- name: ( localizeWithPath(_moduleId, 11, 'Debugger Stopped on Breakpoint')),
310
+ name: ( localizeWithPath(_moduleId, 15, 'Debugger Stopped on Breakpoint')),
309
311
  sound: Sound.break,
310
312
  legacySoundSettingsKey: 'audioCues.onDebugBreak',
311
313
  legacyAnnouncementSettingsKey: "accessibility.alert.onDebugBreak" ,
312
- announcementMessage: ( localizeWithPath(_moduleId, 12, 'Breakpoint')),
313
- settingsKey: 'accessibility.signals.onDebugBreak'
314
+ announcementMessage: ( localizeWithPath(_moduleId, 16, 'Breakpoint')),
315
+ settingsKey: 'accessibility.signals.onDebugBreak',
314
316
  }); }
315
317
  static { this.noInlayHints = AccessibilitySignal.register({
316
- name: ( localizeWithPath(_moduleId, 13, 'No Inlay Hints on Line')),
318
+ name: ( localizeWithPath(_moduleId, 17, 'No Inlay Hints on Line')),
317
319
  sound: Sound.error,
318
320
  legacySoundSettingsKey: 'audioCues.noInlayHints',
319
321
  legacyAnnouncementSettingsKey: "accessibility.alert.noInlayHints" ,
320
- announcementMessage: ( localizeWithPath(_moduleId, 14, 'No Inlay Hints')),
321
- settingsKey: 'accessibility.signals.noInlayHints'
322
+ announcementMessage: ( localizeWithPath(_moduleId, 18, 'No Inlay Hints')),
323
+ settingsKey: 'accessibility.signals.noInlayHints',
322
324
  }); }
323
325
  static { this.taskCompleted = AccessibilitySignal.register({
324
- name: ( localizeWithPath(_moduleId, 15, 'Task Completed')),
326
+ name: ( localizeWithPath(_moduleId, 19, 'Task Completed')),
325
327
  sound: Sound.taskCompleted,
326
328
  legacySoundSettingsKey: 'audioCues.taskCompleted',
327
329
  legacyAnnouncementSettingsKey: "accessibility.alert.taskCompleted" ,
328
- announcementMessage: ( localizeWithPath(_moduleId, 16, 'Task Completed')),
329
- settingsKey: 'accessibility.signals.taskCompleted'
330
+ announcementMessage: ( localizeWithPath(_moduleId, 20, 'Task Completed')),
331
+ settingsKey: 'accessibility.signals.taskCompleted',
330
332
  }); }
331
333
  static { this.taskFailed = AccessibilitySignal.register({
332
- name: ( localizeWithPath(_moduleId, 17, 'Task Failed')),
334
+ name: ( localizeWithPath(_moduleId, 21, 'Task Failed')),
333
335
  sound: Sound.taskFailed,
334
336
  legacySoundSettingsKey: 'audioCues.taskFailed',
335
337
  legacyAnnouncementSettingsKey: "accessibility.alert.taskFailed" ,
336
- announcementMessage: ( localizeWithPath(_moduleId, 18, 'Task Failed')),
337
- settingsKey: 'accessibility.signals.taskFailed'
338
+ announcementMessage: ( localizeWithPath(_moduleId, 22, 'Task Failed')),
339
+ settingsKey: 'accessibility.signals.taskFailed',
338
340
  }); }
339
341
  static { this.terminalCommandFailed = AccessibilitySignal.register({
340
- name: ( localizeWithPath(_moduleId, 19, 'Terminal Command Failed')),
342
+ name: ( localizeWithPath(_moduleId, 23, 'Terminal Command Failed')),
341
343
  sound: Sound.error,
342
344
  legacySoundSettingsKey: 'audioCues.terminalCommandFailed',
343
345
  legacyAnnouncementSettingsKey: "accessibility.alert.terminalCommandFailed" ,
344
- announcementMessage: ( localizeWithPath(_moduleId, 20, 'Command Failed')),
345
- settingsKey: 'accessibility.signals.terminalCommandFailed'
346
+ announcementMessage: ( localizeWithPath(_moduleId, 24, 'Command Failed')),
347
+ settingsKey: 'accessibility.signals.terminalCommandFailed',
346
348
  }); }
347
349
  static { this.terminalBell = AccessibilitySignal.register({
348
- name: ( localizeWithPath(_moduleId, 21, 'Terminal Bell')),
350
+ name: ( localizeWithPath(_moduleId, 25, 'Terminal Bell')),
349
351
  sound: Sound.terminalBell,
350
352
  legacySoundSettingsKey: 'audioCues.terminalBell',
351
353
  legacyAnnouncementSettingsKey: "accessibility.alert.terminalBell" ,
352
- announcementMessage: ( localizeWithPath(_moduleId, 22, 'Terminal Bell')),
353
- settingsKey: 'accessibility.signals.terminalBell'
354
+ announcementMessage: ( localizeWithPath(_moduleId, 26, 'Terminal Bell')),
355
+ settingsKey: 'accessibility.signals.terminalBell',
354
356
  }); }
355
357
  static { this.notebookCellCompleted = AccessibilitySignal.register({
356
- name: ( localizeWithPath(_moduleId, 23, 'Notebook Cell Completed')),
358
+ name: ( localizeWithPath(_moduleId, 27, 'Notebook Cell Completed')),
357
359
  sound: Sound.taskCompleted,
358
360
  legacySoundSettingsKey: 'audioCues.notebookCellCompleted',
359
361
  legacyAnnouncementSettingsKey: "accessibility.alert.notebookCellCompleted" ,
360
- announcementMessage: ( localizeWithPath(_moduleId, 24, 'Notebook Cell Completed')),
361
- settingsKey: 'accessibility.signals.notebookCellCompleted'
362
+ announcementMessage: ( localizeWithPath(_moduleId, 28, 'Notebook Cell Completed')),
363
+ settingsKey: 'accessibility.signals.notebookCellCompleted',
362
364
  }); }
363
365
  static { this.notebookCellFailed = AccessibilitySignal.register({
364
- name: ( localizeWithPath(_moduleId, 25, 'Notebook Cell Failed')),
366
+ name: ( localizeWithPath(_moduleId, 29, 'Notebook Cell Failed')),
365
367
  sound: Sound.taskFailed,
366
368
  legacySoundSettingsKey: 'audioCues.notebookCellFailed',
367
369
  legacyAnnouncementSettingsKey: "accessibility.alert.notebookCellFailed" ,
368
- announcementMessage: ( localizeWithPath(_moduleId, 26, 'Notebook Cell Failed')),
369
- settingsKey: 'accessibility.signals.notebookCellFailed'
370
+ announcementMessage: ( localizeWithPath(_moduleId, 30, 'Notebook Cell Failed')),
371
+ settingsKey: 'accessibility.signals.notebookCellFailed',
370
372
  }); }
371
373
  static { this.diffLineInserted = AccessibilitySignal.register({
372
- name: ( localizeWithPath(_moduleId, 27, 'Diff Line Inserted')),
374
+ name: ( localizeWithPath(_moduleId, 31, 'Diff Line Inserted')),
373
375
  sound: Sound.diffLineInserted,
374
376
  legacySoundSettingsKey: 'audioCues.diffLineInserted',
375
- settingsKey: 'accessibility.signals.diffLineInserted'
377
+ settingsKey: 'accessibility.signals.diffLineInserted',
376
378
  }); }
377
379
  static { this.diffLineDeleted = AccessibilitySignal.register({
378
- name: ( localizeWithPath(_moduleId, 28, 'Diff Line Deleted')),
380
+ name: ( localizeWithPath(_moduleId, 32, 'Diff Line Deleted')),
379
381
  sound: Sound.diffLineDeleted,
380
382
  legacySoundSettingsKey: 'audioCues.diffLineDeleted',
381
- settingsKey: 'accessibility.signals.diffLineDeleted'
383
+ settingsKey: 'accessibility.signals.diffLineDeleted',
382
384
  }); }
383
385
  static { this.diffLineModified = AccessibilitySignal.register({
384
- name: ( localizeWithPath(_moduleId, 29, 'Diff Line Modified')),
386
+ name: ( localizeWithPath(_moduleId, 33, 'Diff Line Modified')),
385
387
  sound: Sound.diffLineModified,
386
388
  legacySoundSettingsKey: 'audioCues.diffLineModified',
387
- settingsKey: 'accessibility.signals.diffLineModified'
389
+ settingsKey: 'accessibility.signals.diffLineModified',
388
390
  }); }
389
391
  static { this.chatRequestSent = AccessibilitySignal.register({
390
- name: ( localizeWithPath(_moduleId, 30, 'Chat Request Sent')),
392
+ name: ( localizeWithPath(_moduleId, 34, 'Chat Request Sent')),
391
393
  sound: Sound.chatRequestSent,
392
394
  legacySoundSettingsKey: 'audioCues.chatRequestSent',
393
395
  legacyAnnouncementSettingsKey: "accessibility.alert.chatRequestSent" ,
394
- announcementMessage: ( localizeWithPath(_moduleId, 31, 'Chat Request Sent')),
395
- settingsKey: 'accessibility.signals.chatRequestSent'
396
+ announcementMessage: ( localizeWithPath(_moduleId, 35, 'Chat Request Sent')),
397
+ settingsKey: 'accessibility.signals.chatRequestSent',
396
398
  }); }
397
399
  static { this.chatResponseReceived = AccessibilitySignal.register({
398
- name: ( localizeWithPath(_moduleId, 32, 'Chat Response Received')),
400
+ name: ( localizeWithPath(_moduleId, 36, 'Chat Response Received')),
399
401
  legacySoundSettingsKey: 'audioCues.chatResponseReceived',
400
402
  sound: {
401
403
  randomOneOf: [
@@ -407,57 +409,56 @@ class AccessibilitySignal {
407
409
  },
408
410
  settingsKey: 'accessibility.signals.chatResponseReceived'
409
411
  }); }
410
- static { this.chatResponsePending = AccessibilitySignal.register({
411
- name: ( localizeWithPath(_moduleId, 33, 'Chat Response Pending')),
412
- sound: Sound.chatResponsePending,
412
+ static { this.progress = AccessibilitySignal.register({
413
+ name: ( localizeWithPath(_moduleId, 37, 'Progress')),
414
+ sound: Sound.progress,
413
415
  legacySoundSettingsKey: 'audioCues.chatResponsePending',
414
- legacyAnnouncementSettingsKey: "accessibility.alert.chatResponsePending" ,
415
- announcementMessage: ( localizeWithPath(_moduleId, 34, 'Chat Response Pending')),
416
- settingsKey: 'accessibility.signals.chatResponsePending'
416
+ legacyAnnouncementSettingsKey: "accessibility.alert.chatResponseProgress" ,
417
+ announcementMessage: ( localizeWithPath(_moduleId, 38, 'Progress')),
418
+ settingsKey: 'accessibility.signals.progress'
417
419
  }); }
418
420
  static { this.clear = AccessibilitySignal.register({
419
- name: ( localizeWithPath(_moduleId, 35, 'Clear')),
421
+ name: ( localizeWithPath(_moduleId, 39, 'Clear')),
420
422
  sound: Sound.clear,
421
423
  legacySoundSettingsKey: 'audioCues.clear',
422
424
  legacyAnnouncementSettingsKey: "accessibility.alert.clear" ,
423
- announcementMessage: ( localizeWithPath(_moduleId, 36, 'Clear')),
425
+ announcementMessage: ( localizeWithPath(_moduleId, 40, 'Clear')),
424
426
  settingsKey: 'accessibility.signals.clear'
425
427
  }); }
426
428
  static { this.save = AccessibilitySignal.register({
427
- name: ( localizeWithPath(_moduleId, 37, 'Save')),
429
+ name: ( localizeWithPath(_moduleId, 41, 'Save')),
428
430
  sound: Sound.save,
429
431
  legacySoundSettingsKey: 'audioCues.save',
430
432
  legacyAnnouncementSettingsKey: "accessibility.alert.save" ,
431
- announcementMessage: ( localizeWithPath(_moduleId, 38, 'Save')),
433
+ announcementMessage: ( localizeWithPath(_moduleId, 42, 'Save')),
432
434
  settingsKey: 'accessibility.signals.save'
433
435
  }); }
434
436
  static { this.format = AccessibilitySignal.register({
435
- name: ( localizeWithPath(_moduleId, 39, 'Format')),
437
+ name: ( localizeWithPath(_moduleId, 43, 'Format')),
436
438
  sound: Sound.format,
437
439
  legacySoundSettingsKey: 'audioCues.format',
438
440
  legacyAnnouncementSettingsKey: "accessibility.alert.format" ,
439
- announcementMessage: ( localizeWithPath(_moduleId, 40, 'Format')),
441
+ announcementMessage: ( localizeWithPath(_moduleId, 44, 'Format')),
440
442
  settingsKey: 'accessibility.signals.format'
441
443
  }); }
442
444
  static { this.voiceRecordingStarted = AccessibilitySignal.register({
443
- name: ( localizeWithPath(_moduleId, 41, 'Voice Recording Started')),
445
+ name: ( localizeWithPath(_moduleId, 45, 'Voice Recording Started')),
444
446
  sound: Sound.voiceRecordingStarted,
445
447
  legacySoundSettingsKey: 'audioCues.voiceRecordingStarted',
446
448
  settingsKey: 'accessibility.signals.voiceRecordingStarted'
447
449
  }); }
448
450
  static { this.voiceRecordingStopped = AccessibilitySignal.register({
449
- name: ( localizeWithPath(_moduleId, 42, 'Voice Recording Stopped')),
451
+ name: ( localizeWithPath(_moduleId, 46, 'Voice Recording Stopped')),
450
452
  sound: Sound.voiceRecordingStopped,
451
453
  legacySoundSettingsKey: 'audioCues.voiceRecordingStopped',
452
454
  settingsKey: 'accessibility.signals.voiceRecordingStopped'
453
455
  }); }
454
- constructor(sound, name, legacySoundSettingsKey, settingsKey, legacyAnnouncementSettingsKey, announcementMessage) {
455
- this.sound = sound;
456
- this.name = name;
457
- this.legacySoundSettingsKey = legacySoundSettingsKey;
458
- this.settingsKey = settingsKey;
459
- this.legacyAnnouncementSettingsKey = legacyAnnouncementSettingsKey;
460
- this.announcementMessage = announcementMessage;
461
- }
462
456
  }
463
- export { AccessibilitySignal, AccessibilitySignalService, Sound, SoundSource };
457
+ function observableConfigValue(key, configurationService) {
458
+ return observableFromEvent((handleChange) => configurationService.onDidChangeConfiguration(e => {
459
+ if (e.affectsConfiguration(key)) {
460
+ handleChange(e);
461
+ }
462
+ }), () => configurationService.getValue(key));
463
+ }
464
+ export { AccessibilitySignal, AccessibilitySignalService, AcknowledgeDocCommentsToken, Sound, SoundSource, observableConfigValue };
@@ -1,7 +1,7 @@
1
1
  import { ServiceIdentifier } from '../../instantiation/common/instantiation.js';
2
+ import { IValueWithChangeEvent, Event } from '../../../base/common/event.js';
2
3
  import { IDisposable } from '../../../base/common/lifecycle.js';
3
- import { Event } from '../../../base/common/event.js';
4
- import { AccessibilitySignal, IAccessbilitySignalOptions, Sound } from './accessibilitySignalService.js';
4
+ import { AccessibilitySignal, IAccessbilitySignalOptions, AccessibilityModality, Sound, AcknowledgeDocCommentsToken } from './accessibilitySignalService.js';
5
5
 
6
6
  declare const IAccessibilitySignalService: ServiceIdentifier<IAccessibilitySignalService>;
7
7
  interface IAccessibilitySignalService {
@@ -11,12 +11,19 @@ interface IAccessibilitySignalService {
11
11
  signal: AccessibilitySignal;
12
12
  source: string;
13
13
  })[]): Promise<void>;
14
+ playSignalLoop(signal: AccessibilitySignal, milliseconds: number): IDisposable;
15
+ getEnabledState(signal: AccessibilitySignal, userGesture: boolean, modality?: AccessibilityModality | undefined): IValueWithChangeEvent<boolean>;
16
+ /**
17
+ * Avoid this method and prefer `.playSignal`!
18
+ * Only use it when you want to play the sound regardless of enablement, e.g. in the settings quick pick.
19
+ */
20
+ playSound(signal: Sound, allowManyInParallel: boolean, token: typeof AcknowledgeDocCommentsToken): Promise<void>;
21
+ /** @deprecated Use getEnabledState(...).onChange */
14
22
  isSoundEnabled(signal: AccessibilitySignal): boolean;
23
+ /** @deprecated Use getEnabledState(...).value */
15
24
  isAnnouncementEnabled(signal: AccessibilitySignal): boolean;
25
+ /** @deprecated Use getEnabledState(...).onChange */
16
26
  onSoundEnabledChanged(signal: AccessibilitySignal): Event<void>;
17
- onAnnouncementEnabledChanged(signal: AccessibilitySignal): Event<void>;
18
- playSound(signal: Sound, allowManyInParallel?: boolean): Promise<void>;
19
- playSignalLoop(signal: AccessibilitySignal, milliseconds: number): IDisposable;
20
27
  }
21
28
 
22
29
  export { IAccessibilitySignalService };
@@ -0,0 +1,25 @@
1
+ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
+ import { RunOnceScheduler } from '../../../base/common/async.js';
3
+ import { Disposable } from '../../../base/common/lifecycle.js';
4
+ import { AccessibilitySignal } from './accessibilitySignalService.js';
5
+ import { IAccessibilitySignalService } from './accessibilitySignalService.service.js';
6
+ const PROGRESS_SIGNAL_LOOP_DELAY = 5000;
7
+ let AccessibilityProgressSignalScheduler = class AccessibilityProgressSignalScheduler extends Disposable {
8
+ constructor(msDelayTime, msLoopTime, _accessibilitySignalService) {
9
+ super();
10
+ this._accessibilitySignalService = _accessibilitySignalService;
11
+ this._scheduler = ( new RunOnceScheduler(() => {
12
+ this._signalLoop = this._accessibilitySignalService.playSignalLoop(AccessibilitySignal.progress, msLoopTime ?? PROGRESS_SIGNAL_LOOP_DELAY);
13
+ }, msDelayTime));
14
+ this._scheduler.schedule();
15
+ }
16
+ dispose() {
17
+ super.dispose();
18
+ this._signalLoop?.dispose();
19
+ this._scheduler.dispose();
20
+ }
21
+ };
22
+ AccessibilityProgressSignalScheduler = ( __decorate([
23
+ ( __param(2, IAccessibilitySignalService))
24
+ ], AccessibilityProgressSignalScheduler));
25
+ export { AccessibilityProgressSignalScheduler };
@@ -63,8 +63,8 @@ let ActionWidgetService = class ActionWidgetService extends Disposable {
63
63
  focusNext() {
64
64
  this._list?.value?.focusNext();
65
65
  }
66
- hide() {
67
- this._list.value?.hide();
66
+ hide(didCancel) {
67
+ this._list.value?.hide(didCancel);
68
68
  this._list.clear();
69
69
  }
70
70
  clear() {
@@ -103,7 +103,7 @@ let ActionWidgetService = class ActionWidgetService extends Disposable {
103
103
  const width = this._list.value?.layout(actionBarWidth);
104
104
  widget.style.width = `${width}px`;
105
105
  const focusTracker = renderDisposables.add(trackFocus(element));
106
- renderDisposables.add(focusTracker.onDidBlur(() => this.hide()));
106
+ renderDisposables.add(focusTracker.onDidBlur(() => this.hide(true)));
107
107
  return renderDisposables;
108
108
  }
109
109
  _createActionBar(className, actions) {
@@ -140,7 +140,7 @@ registerAction2(class extends Action2 {
140
140
  });
141
141
  }
142
142
  run(accessor) {
143
- accessor.get(IActionWidgetService).hide();
143
+ accessor.get(IActionWidgetService).hide(true);
144
144
  }
145
145
  });
146
146
  registerAction2(class extends Action2 {
@@ -1,7 +1,6 @@
1
1
  import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
2
  import { ButtonBar } from '../../../base/browser/ui/button/button.js';
3
3
  import { createInstantHoverDelegate } from '../../../base/browser/ui/hover/hoverDelegateFactory.js';
4
- import { setupCustomHover } from '../../../base/browser/ui/hover/updatableHoverWidget.js';
5
4
  import { ActionRunner, SubmenuAction } from '../../../base/common/actions.js';
6
5
  import { Emitter } from '../../../base/common/event.js';
7
6
  import { DisposableStore } from '../../../base/common/lifecycle.js';
@@ -11,15 +10,17 @@ import { MenuItemAction } from '../common/actions.js';
11
10
  import { IMenuService } from '../common/actions.service.js';
12
11
  import { IContextKeyService } from '../../contextkey/common/contextkey.service.js';
13
12
  import { IContextMenuService } from '../../contextview/browser/contextView.service.js';
13
+ import { IHoverService } from '../../hover/browser/hover.service.js';
14
14
  import { IKeybindingService } from '../../keybinding/common/keybinding.service.js';
15
15
  import { ITelemetryService } from '../../telemetry/common/telemetry.service.js';
16
16
  const _moduleId = "vs/platform/actions/browser/buttonbar";
17
17
  let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
18
- constructor(container, _options, _contextMenuService, _keybindingService, telemetryService) {
18
+ constructor(container, _options, _contextMenuService, _keybindingService, telemetryService, _hoverService) {
19
19
  super(container);
20
20
  this._options = _options;
21
21
  this._contextMenuService = _contextMenuService;
22
22
  this._keybindingService = _keybindingService;
23
+ this._hoverService = _hoverService;
23
24
  this._store = ( (new DisposableStore()));
24
25
  this._updateStore = ( (new DisposableStore()));
25
26
  this._onDidChange = ( (new Emitter()));
@@ -89,7 +90,7 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
89
90
  else {
90
91
  tooltip = action.label;
91
92
  }
92
- this._updateStore.add(setupCustomHover(hoverDelegate, btn.element, tooltip));
93
+ this._updateStore.add(this._hoverService.setupUpdatableHover(hoverDelegate, btn.element, tooltip));
93
94
  this._updateStore.add(btn.onDidClick(async () => {
94
95
  this._actionRunner.run(action);
95
96
  }));
@@ -100,11 +101,12 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
100
101
  WorkbenchButtonBar = ( (__decorate([
101
102
  ( (__param(2, IContextMenuService))),
102
103
  ( (__param(3, IKeybindingService))),
103
- ( (__param(4, ITelemetryService)))
104
+ ( (__param(4, ITelemetryService))),
105
+ ( (__param(5, IHoverService)))
104
106
  ], WorkbenchButtonBar)));
105
107
  let MenuWorkbenchButtonBar = class MenuWorkbenchButtonBar extends WorkbenchButtonBar {
106
- constructor(container, menuId, options, menuService, contextKeyService, contextMenuService, keybindingService, telemetryService) {
107
- super(container, options, contextMenuService, keybindingService, telemetryService);
108
+ constructor(container, menuId, options, menuService, contextKeyService, contextMenuService, keybindingService, telemetryService, hoverService) {
109
+ super(container, options, contextMenuService, keybindingService, telemetryService, hoverService);
108
110
  const menu = menuService.createMenu(menuId, contextKeyService);
109
111
  this._store.add(menu);
110
112
  const update = () => {
@@ -129,6 +131,7 @@ MenuWorkbenchButtonBar = ( (__decorate([
129
131
  ( (__param(4, IContextKeyService))),
130
132
  ( (__param(5, IContextMenuService))),
131
133
  ( (__param(6, IKeybindingService))),
132
- ( (__param(7, ITelemetryService)))
134
+ ( (__param(7, ITelemetryService))),
135
+ ( (__param(8, IHoverService)))
133
136
  ], MenuWorkbenchButtonBar)));
134
137
  export { MenuWorkbenchButtonBar, WorkbenchButtonBar };
@@ -33,7 +33,7 @@ let DropdownWithPrimaryActionViewItem = class DropdownWithPrimaryActionViewItem
33
33
  this._primaryAction.actionRunner = _options.actionRunner;
34
34
  }
35
35
  this._dropdown = ( new DropdownMenuActionViewItem(dropdownAction, dropdownMenuActions, this._contextMenuProvider, {
36
- menuAsChild: true,
36
+ menuAsChild: _options?.menuAsChild ?? true,
37
37
  classNames: className ? ['codicon', 'codicon-chevron-down', className] : ['codicon', 'codicon-chevron-down'],
38
38
  actionRunner: this._options?.actionRunner,
39
39
  keybindingProvider: this._options?.getKeyBinding,