@codingame/monaco-vscode-api 4.5.2 → 5.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 (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,7 +1,43 @@
1
- import { IDisposable } from '../../../base/common/lifecycle.js';
2
- import { IMarkdownString } from '../../../base/common/htmlContent.js';
3
- import { HoverPosition } from '../../../base/browser/ui/hover/hoverWidget.js';
1
+ import { IHoverDelegate } from './hoverDelegate.js';
2
+ import { HoverPosition } from './hoverWidget.js';
3
+ import { CancellationToken } from '../../../common/cancellation.js';
4
+ import { IMarkdownString } from '../../../common/htmlContent.js';
5
+ import { IDisposable } from '../../../common/lifecycle.js';
4
6
 
7
+ /**
8
+ * Enables the convenient display of rich markdown-based hovers in the workbench.
9
+ */
10
+ interface IHoverDelegate2 {
11
+ /**
12
+ * Shows a hover, provided a hover with the same options object is not already visible.
13
+ * @param options A set of options defining the characteristics of the hover.
14
+ * @param focus Whether to focus the hover (useful for keyboard accessibility).
15
+ *
16
+ * **Example:** A simple usage with a single element target.
17
+ *
18
+ * ```typescript
19
+ * showHover({
20
+ * text: new MarkdownString('Hello world'),
21
+ * target: someElement
22
+ * });
23
+ * ```
24
+ */
25
+ showHover(options: IHoverOptions, focus?: boolean): IHoverWidget | undefined;
26
+ /**
27
+ * Hides the hover if it was visible. This call will be ignored if the the hover is currently
28
+ * "locked" via the alt/option key.
29
+ */
30
+ hideHover(): void;
31
+ /**
32
+ * This should only be used until we have the ability to show multiple context views
33
+ * simultaneously. #188822
34
+ */
35
+ showAndFocusLastHover(): void;
36
+ setupUpdatableHover(hoverDelegate: IHoverDelegate, htmlElement: HTMLElement, content: IUpdatableHoverContentOrFactory, options?: IUpdatableHoverOptions): IUpdatableHover;
37
+ }
38
+ interface IHoverWidget extends IDisposable {
39
+ readonly isDisposed: boolean;
40
+ }
5
41
  interface IHoverOptions {
6
42
  /**
7
43
  * The content to display in the primary section of the hover. The type of text determines the
@@ -153,5 +189,29 @@ interface IHoverTarget extends IDisposable {
153
189
  */
154
190
  y?: number;
155
191
  }
192
+ interface IUpdatableHoverTooltipMarkdownString {
193
+ markdown: IMarkdownString | string | undefined | ((token: CancellationToken) => Promise<IMarkdownString | string | undefined>);
194
+ markdownNotSupportedFallback: string | undefined;
195
+ }
196
+ type IUpdatableHoverContent = string | IUpdatableHoverTooltipMarkdownString | HTMLElement | undefined;
197
+ type IUpdatableHoverContentOrFactory = IUpdatableHoverContent | (() => IUpdatableHoverContent);
198
+ interface IUpdatableHoverOptions {
199
+ actions?: IHoverAction[];
200
+ linkHandler?(url: string): void;
201
+ }
202
+ interface IUpdatableHover extends IDisposable {
203
+ /**
204
+ * Allows to programmatically open the hover.
205
+ */
206
+ show(focus?: boolean): void;
207
+ /**
208
+ * Allows to programmatically hide the hover.
209
+ */
210
+ hide(): void;
211
+ /**
212
+ * Updates the contents of the hover.
213
+ */
214
+ update(tooltip: IUpdatableHoverContent, options?: IUpdatableHoverOptions): void;
215
+ }
156
216
 
157
- export type { IHoverAction, IHoverAppearanceOptions, IHoverOptions, IHoverPersistenceOptions, IHoverPositionOptions, IHoverTarget };
217
+ export type { IHoverAction, IHoverAppearanceOptions, IHoverDelegate2, IHoverOptions, IHoverPersistenceOptions, IHoverPositionOptions, IHoverTarget, IHoverWidget, IUpdatableHover, IUpdatableHoverContent, IUpdatableHoverContentOrFactory, IUpdatableHoverOptions, IUpdatableHoverTooltipMarkdownString };
@@ -1,5 +1,5 @@
1
+ import { IHoverWidget, IUpdatableHoverOptions } from './hover.js';
1
2
  import { HoverPosition } from './hoverWidget.js';
2
- import { IHoverWidget, IUpdatableHoverOptions } from './updatableHoverWidget.js';
3
3
  import { IMarkdownString } from '../../../common/htmlContent.js';
4
4
  import { IDisposable } from '../../../common/lifecycle.js';
5
5
 
@@ -0,0 +1,13 @@
1
+ let baseHoverDelegate = {
2
+ showHover: () => undefined,
3
+ hideHover: () => undefined,
4
+ showAndFocusLastHover: () => undefined,
5
+ setupUpdatableHover: () => null,
6
+ };
7
+ function setBaseLayerHoverDelegate(hoverDelegate) {
8
+ baseHoverDelegate = hoverDelegate;
9
+ }
10
+ function getBaseLayerHoverDelegate() {
11
+ return baseHoverDelegate;
12
+ }
13
+ export { getBaseLayerHoverDelegate, setBaseLayerHoverDelegate };
@@ -1,4 +1,4 @@
1
1
  import n from '../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
- var css = ".monaco-hover{animation:fadein .1s linear;box-sizing:border-box;cursor:default;line-height:1.5em;overflow:hidden;position:absolute;user-select:text;-webkit-user-select:text;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){word-wrap:break-word;max-width:var(--vscode-hover-maxWidth,500px)}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{border-left:0;border-right:0;box-sizing:border-box;height:1px;margin:4px -8px -4px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{cursor:pointer;margin-right:16px}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:\"(\"}.monaco-hover .hover-contents a.code-link:after{content:\")\"}.monaco-hover .hover-contents a.code-link>span{border-bottom:1px solid transparent;color:var(--vscode-textLink-foreground);text-decoration:underline;text-underline-position:under}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{display:inline-block;margin-bottom:4px}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{cursor:default;opacity:.4;pointer-events:none}";
2
+ var css = ".monaco-hover{animation:fadein .1s linear;box-sizing:border-box;cursor:default;line-height:1.5em;overflow:hidden;position:absolute;user-select:text;-webkit-user-select:text;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){word-wrap:break-word;max-width:var(--vscode-hover-maxWidth,500px)}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{border-left:0;border-right:0;box-sizing:border-box;height:1px;margin:4px -8px -4px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px;width:100%}.monaco-hover .hover-row.status-bar .actions .action-container{cursor:pointer;margin-right:16px}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:\"(\"}.monaco-hover .hover-contents a.code-link:after{content:\")\"}.monaco-hover .hover-contents a.code-link>span{border-bottom:1px solid transparent;color:var(--vscode-textLink-foreground);text-decoration:underline;text-underline-position:under}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{display:inline-block;margin-bottom:4px}.monaco-hover-content{box-sizing:border-box;padding-bottom:2px;padding-right:2px}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{cursor:default;opacity:.4;pointer-events:none}";
3
3
  n(css,{});
4
4
  export { css, css as default };
@@ -41,19 +41,12 @@ class HoverAction extends Disposable {
41
41
  }
42
42
  const label = append(this.action, $('span'));
43
43
  label.textContent = keybindingLabel ? `${actionOptions.label} (${keybindingLabel})` : actionOptions.label;
44
- this._register(addDisposableListener(this.actionContainer, EventType.CLICK, e => {
45
- e.stopPropagation();
46
- e.preventDefault();
47
- actionOptions.run(this.actionContainer);
48
- }));
49
- this._register(addDisposableListener(this.actionContainer, EventType.KEY_DOWN, e => {
50
- const event = ( (new StandardKeyboardEvent(e)));
51
- if (event.equals(3 ) || event.equals(10 )) {
52
- e.stopPropagation();
53
- e.preventDefault();
54
- actionOptions.run(this.actionContainer);
55
- }
56
- }));
44
+ this._store.add(( (new ClickAction(this.actionContainer, actionOptions.run))));
45
+ this._store.add(( (new KeyDownAction(
46
+ this.actionContainer,
47
+ actionOptions.run,
48
+ [3 , 10 ]
49
+ ))));
57
50
  this.setEnabled(true);
58
51
  }
59
52
  setEnabled(enabled) {
@@ -74,4 +67,27 @@ function getHoverAccessibleViewHint(shouldHaveHint, keybinding) {
74
67
  "Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."
75
68
  )) : '';
76
69
  }
77
- export { HoverAction, HoverWidget, getHoverAccessibleViewHint };
70
+ class ClickAction extends Disposable {
71
+ constructor(container, run) {
72
+ super();
73
+ this._register(addDisposableListener(container, EventType.CLICK, e => {
74
+ e.stopPropagation();
75
+ e.preventDefault();
76
+ run(container);
77
+ }));
78
+ }
79
+ }
80
+ class KeyDownAction extends Disposable {
81
+ constructor(container, run, keyCodes) {
82
+ super();
83
+ this._register(addDisposableListener(container, EventType.KEY_DOWN, e => {
84
+ const event = ( (new StandardKeyboardEvent(e)));
85
+ if (( (keyCodes.some(keyCode => event.equals(keyCode))))) {
86
+ e.stopPropagation();
87
+ e.preventDefault();
88
+ run(container);
89
+ }
90
+ }));
91
+ }
92
+ }
93
+ export { ClickAction, HoverAction, HoverWidget, KeyDownAction, getHoverAccessibleViewHint };
@@ -1,11 +1,13 @@
1
1
  import './iconlabel.css.js';
2
2
  import { append, $, after } from '../../dom.js';
3
3
  import { HighlightedLabel } from '../highlightedlabel/highlightedLabel.js';
4
- import { setupNativeHover, setupCustomHover } from '../hover/updatableHoverWidget.js';
5
4
  import { Disposable } from '../../../common/lifecycle.js';
6
5
  import { equals } from '../../../common/objects.js';
7
6
  import { Range } from '../../../common/range.js';
8
7
  import { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';
8
+ import { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';
9
+ import { isString } from '../../../common/types.js';
10
+ import { stripIcons } from '../../../common/iconLabels.js';
9
11
  class FastLabelNode {
10
12
  constructor(_element) {
11
13
  this._element = _element;
@@ -116,10 +118,21 @@ class IconLabel extends Disposable {
116
118
  return;
117
119
  }
118
120
  if (this.hoverDelegate.showNativeHover) {
121
+ function setupNativeHover(htmlElement, tooltip) {
122
+ if (isString(tooltip)) {
123
+ htmlElement.title = stripIcons(tooltip);
124
+ }
125
+ else if (tooltip?.markdownNotSupportedFallback) {
126
+ htmlElement.title = tooltip.markdownNotSupportedFallback;
127
+ }
128
+ else {
129
+ htmlElement.removeAttribute('title');
130
+ }
131
+ }
119
132
  setupNativeHover(htmlElement, tooltip);
120
133
  }
121
134
  else {
122
- const hoverDisposable = setupCustomHover(this.hoverDelegate, htmlElement, tooltip);
135
+ const hoverDisposable = getBaseLayerHoverDelegate().setupUpdatableHover(this.hoverDelegate, htmlElement, tooltip);
123
136
  if (hoverDisposable) {
124
137
  this.customHovers.set(htmlElement, hoverDisposable);
125
138
  }
@@ -1,6 +1,6 @@
1
1
  import { reset } from '../../dom.js';
2
+ import { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';
2
3
  import { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';
3
- import { setupCustomHover } from '../hover/updatableHoverWidget.js';
4
4
  import { renderLabelWithIcons } from './iconLabels.js';
5
5
  class SimpleIconLabel {
6
6
  constructor(_container) {
@@ -11,7 +11,7 @@ class SimpleIconLabel {
11
11
  }
12
12
  set title(title) {
13
13
  if (!this.hover && title) {
14
- this.hover = setupCustomHover(getDefaultHoverDelegate('mouse'), this._container, title);
14
+ this.hover = getBaseLayerHoverDelegate().setupUpdatableHover(getDefaultHoverDelegate('mouse'), this._container, title);
15
15
  }
16
16
  else if (this.hover) {
17
17
  this.hover.update(title);
@@ -0,0 +1,4 @@
1
+ import n from '../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
+ var css = ".icon-select-box>.icon-select-box-container{height:100%}.icon-select-box .icon-select-icons-container{height:100%;outline:0!important}.icon-select-box .icon-select-icons-container>.icon-container{align-items:center;border-radius:5px;cursor:pointer;display:inline-flex;font-size:20px;justify-content:center}.icon-select-box .icon-select-icons-container>.icon-container.focused{background-color:var(--vscode-quickInputList-focusBackground);color:var(--vscode-quickInputList-focusForeground)}.icon-select-box .icon-select-icons-container>.icon-container:hover:not(.focused){background-color:var(--vscode-toolbar-hoverBackground);color:var(--vscode-list-hoverForeground)}.icon-select-box .icon-select-id-container .icon-select-id-label{height:24px;opacity:.8;padding:10px}.icon-select-box .icon-select-id-container .icon-select-id-label .highlight{color:var(--vscode-list-highlightForeground);font-weight:700}";
3
+ n(css,{});
4
+ export { css, css as default };
@@ -0,0 +1,239 @@
1
+ import './iconSelectBox.css.js';
2
+ import { $, append, clearNode, addDisposableListener, EventType } from '../../dom.js';
3
+ import { alert } from '../aria/aria.js';
4
+ import { InputBox } from '../inputbox/inputBox.js';
5
+ import { DomScrollableElement } from '../scrollbar/scrollableElement.js';
6
+ import { Emitter } from '../../../common/event.js';
7
+ import { Disposable, MutableDisposable, DisposableStore } from '../../../common/lifecycle.js';
8
+ import { ThemeIcon } from '../../../common/themables.js';
9
+ import { localizeWithPath } from '../../../../nls.js';
10
+ import { HighlightedLabel } from '../highlightedlabel/highlightedLabel.js';
11
+ const _moduleId = "vs/base/browser/ui/icons/iconSelectBox";
12
+ class IconSelectBox extends Disposable {
13
+ static { this.InstanceCount = 0; }
14
+ constructor(options) {
15
+ super();
16
+ this.options = options;
17
+ this.domId = `icon_select_box_id_${++IconSelectBox.InstanceCount}`;
18
+ this._onDidSelect = this._register(( (new Emitter())));
19
+ this.onDidSelect = this._onDidSelect.event;
20
+ this.renderedIcons = [];
21
+ this.focusedItemIndex = 0;
22
+ this.numberOfElementsPerRow = 1;
23
+ this.iconContainerWidth = 36;
24
+ this.iconContainerHeight = 36;
25
+ this.domNode = $('.icon-select-box');
26
+ this._register(this.create());
27
+ }
28
+ create() {
29
+ const disposables = ( (new DisposableStore()));
30
+ const iconSelectBoxContainer = append(this.domNode, $('.icon-select-box-container'));
31
+ iconSelectBoxContainer.style.margin = '10px 15px';
32
+ const iconSelectInputContainer = append(iconSelectBoxContainer, $('.icon-select-input-container'));
33
+ iconSelectInputContainer.style.paddingBottom = '10px';
34
+ this.inputBox = disposables.add(( (new InputBox(iconSelectInputContainer, undefined, {
35
+ placeholder: ( localizeWithPath(_moduleId, 0, "Search icons")),
36
+ inputBoxStyles: this.options.inputBoxStyles,
37
+ }))));
38
+ const iconsContainer = this.iconsContainer = $('.icon-select-icons-container', { id: `${this.domId}_icons` });
39
+ iconsContainer.role = 'listbox';
40
+ iconsContainer.tabIndex = 0;
41
+ this.scrollableElement = disposables.add(( (new DomScrollableElement(iconsContainer, {
42
+ useShadows: false,
43
+ horizontal: 2 ,
44
+ }))));
45
+ append(iconSelectBoxContainer, this.scrollableElement.getDomNode());
46
+ if (this.options.showIconInfo) {
47
+ this.iconIdElement = this._register(( (new HighlightedLabel(
48
+ append(append(iconSelectBoxContainer, $('.icon-select-id-container')), $('.icon-select-id-label'))
49
+ ))));
50
+ }
51
+ const iconsDisposables = disposables.add(( (new MutableDisposable())));
52
+ iconsDisposables.value = this.renderIcons(this.options.icons, [], iconsContainer);
53
+ this.scrollableElement.scanDomNode();
54
+ disposables.add(this.inputBox.onDidChange(value => {
55
+ const icons = [], matches = [];
56
+ for (const icon of this.options.icons) {
57
+ const match = this.matchesContiguous(value, icon.id);
58
+ if (match) {
59
+ icons.push(icon);
60
+ matches.push(match);
61
+ }
62
+ }
63
+ if (icons.length) {
64
+ iconsDisposables.value = this.renderIcons(icons, matches, iconsContainer);
65
+ this.scrollableElement?.scanDomNode();
66
+ }
67
+ }));
68
+ this.inputBox.inputElement.role = 'combobox';
69
+ this.inputBox.inputElement.ariaHasPopup = 'menu';
70
+ this.inputBox.inputElement.ariaAutoComplete = 'list';
71
+ this.inputBox.inputElement.ariaExpanded = 'true';
72
+ this.inputBox.inputElement.setAttribute('aria-controls', iconsContainer.id);
73
+ return disposables;
74
+ }
75
+ renderIcons(icons, matches, container) {
76
+ const disposables = ( (new DisposableStore()));
77
+ clearNode(container);
78
+ const focusedIcon = this.renderedIcons[this.focusedItemIndex]?.icon;
79
+ let focusedIconIndex = 0;
80
+ const renderedIcons = [];
81
+ if (icons.length) {
82
+ for (let index = 0; index < icons.length; index++) {
83
+ const icon = icons[index];
84
+ const iconContainer = append(container, $('.icon-container', { id: `${this.domId}_icons_${index}` }));
85
+ iconContainer.style.width = `${this.iconContainerWidth}px`;
86
+ iconContainer.style.height = `${this.iconContainerHeight}px`;
87
+ iconContainer.title = icon.id;
88
+ iconContainer.role = 'button';
89
+ iconContainer.setAttribute('aria-setsize', `${icons.length}`);
90
+ iconContainer.setAttribute('aria-posinset', `${index + 1}`);
91
+ append(iconContainer, $(ThemeIcon.asCSSSelector(icon)));
92
+ renderedIcons.push({ icon, element: iconContainer, highlightMatches: matches[index] });
93
+ disposables.add(addDisposableListener(iconContainer, EventType.CLICK, (e) => {
94
+ e.stopPropagation();
95
+ this.setSelection(index);
96
+ }));
97
+ if (icon === focusedIcon) {
98
+ focusedIconIndex = index;
99
+ }
100
+ }
101
+ }
102
+ else {
103
+ const noResults = ( localizeWithPath(_moduleId, 1, "No results"));
104
+ append(container, $('.icon-no-results', undefined, noResults));
105
+ alert(noResults);
106
+ }
107
+ this.renderedIcons.splice(0, this.renderedIcons.length, ...renderedIcons);
108
+ this.focusIcon(focusedIconIndex);
109
+ return disposables;
110
+ }
111
+ focusIcon(index) {
112
+ const existing = this.renderedIcons[this.focusedItemIndex];
113
+ if (existing) {
114
+ existing.element.classList.remove('focused');
115
+ }
116
+ this.focusedItemIndex = index;
117
+ const renderedItem = this.renderedIcons[index];
118
+ if (renderedItem) {
119
+ renderedItem.element.classList.add('focused');
120
+ }
121
+ if (this.inputBox) {
122
+ if (renderedItem) {
123
+ this.inputBox.inputElement.setAttribute('aria-activedescendant', renderedItem.element.id);
124
+ }
125
+ else {
126
+ this.inputBox.inputElement.removeAttribute('aria-activedescendant');
127
+ }
128
+ }
129
+ if (this.iconIdElement) {
130
+ if (renderedItem) {
131
+ this.iconIdElement.set(renderedItem.icon.id, renderedItem.highlightMatches);
132
+ }
133
+ else {
134
+ this.iconIdElement.set('');
135
+ }
136
+ }
137
+ this.reveal(index);
138
+ }
139
+ reveal(index) {
140
+ if (!this.scrollableElement) {
141
+ return;
142
+ }
143
+ if (index < 0 || index >= this.renderedIcons.length) {
144
+ return;
145
+ }
146
+ const element = this.renderedIcons[index].element;
147
+ if (!element) {
148
+ return;
149
+ }
150
+ const { height } = this.scrollableElement.getScrollDimensions();
151
+ const { scrollTop } = this.scrollableElement.getScrollPosition();
152
+ if (element.offsetTop + this.iconContainerHeight > scrollTop + height) {
153
+ this.scrollableElement.setScrollPosition({ scrollTop: element.offsetTop + this.iconContainerHeight - height });
154
+ }
155
+ else if (element.offsetTop < scrollTop) {
156
+ this.scrollableElement.setScrollPosition({ scrollTop: element.offsetTop });
157
+ }
158
+ }
159
+ matchesContiguous(word, wordToMatchAgainst) {
160
+ const matchIndex = wordToMatchAgainst.toLowerCase().indexOf(word.toLowerCase());
161
+ if (matchIndex !== -1) {
162
+ return [{ start: matchIndex, end: matchIndex + word.length }];
163
+ }
164
+ return null;
165
+ }
166
+ layout(dimension) {
167
+ this.domNode.style.width = `${dimension.width}px`;
168
+ this.domNode.style.height = `${dimension.height}px`;
169
+ const iconsContainerWidth = dimension.width - 30;
170
+ this.numberOfElementsPerRow = Math.floor(iconsContainerWidth / this.iconContainerWidth);
171
+ if (this.numberOfElementsPerRow === 0) {
172
+ throw ( (new Error('Insufficient width')));
173
+ }
174
+ const extraSpace = iconsContainerWidth % this.iconContainerWidth;
175
+ const iconElementMargin = Math.floor(extraSpace / this.numberOfElementsPerRow);
176
+ for (const { element } of this.renderedIcons) {
177
+ element.style.marginRight = `${iconElementMargin}px`;
178
+ }
179
+ const containerPadding = extraSpace % this.numberOfElementsPerRow;
180
+ if (this.iconsContainer) {
181
+ this.iconsContainer.style.paddingLeft = `${Math.floor(containerPadding / 2)}px`;
182
+ this.iconsContainer.style.paddingRight = `${Math.ceil(containerPadding / 2)}px`;
183
+ }
184
+ if (this.scrollableElement) {
185
+ this.scrollableElement.getDomNode().style.height = `${this.iconIdElement ? dimension.height - 80 : dimension.height - 40}px`;
186
+ this.scrollableElement.scanDomNode();
187
+ }
188
+ }
189
+ getFocus() {
190
+ return [this.focusedItemIndex];
191
+ }
192
+ setSelection(index) {
193
+ if (index < 0 || index >= this.renderedIcons.length) {
194
+ throw ( (new Error(`Invalid index ${index}`)));
195
+ }
196
+ this.focusIcon(index);
197
+ this._onDidSelect.fire(this.renderedIcons[index].icon);
198
+ }
199
+ clearInput() {
200
+ if (this.inputBox) {
201
+ this.inputBox.value = '';
202
+ }
203
+ }
204
+ focus() {
205
+ this.inputBox?.focus();
206
+ this.focusIcon(0);
207
+ }
208
+ focusNext() {
209
+ this.focusIcon((this.focusedItemIndex + 1) % this.renderedIcons.length);
210
+ }
211
+ focusPrevious() {
212
+ this.focusIcon((this.focusedItemIndex - 1 + this.renderedIcons.length) % this.renderedIcons.length);
213
+ }
214
+ focusNextRow() {
215
+ let nextRowIndex = this.focusedItemIndex + this.numberOfElementsPerRow;
216
+ if (nextRowIndex >= this.renderedIcons.length) {
217
+ nextRowIndex = (nextRowIndex + 1) % this.numberOfElementsPerRow;
218
+ nextRowIndex = nextRowIndex >= this.renderedIcons.length ? 0 : nextRowIndex;
219
+ }
220
+ this.focusIcon(nextRowIndex);
221
+ }
222
+ focusPreviousRow() {
223
+ let previousRowIndex = this.focusedItemIndex - this.numberOfElementsPerRow;
224
+ if (previousRowIndex < 0) {
225
+ const numberOfRows = Math.floor(this.renderedIcons.length / this.numberOfElementsPerRow);
226
+ previousRowIndex = this.focusedItemIndex + (this.numberOfElementsPerRow * numberOfRows) - 1;
227
+ previousRowIndex = previousRowIndex < 0
228
+ ? this.renderedIcons.length - 1
229
+ : previousRowIndex >= this.renderedIcons.length
230
+ ? previousRowIndex - this.numberOfElementsPerRow
231
+ : previousRowIndex;
232
+ }
233
+ this.focusIcon(previousRowIndex);
234
+ }
235
+ getFocusedIcon() {
236
+ return this.renderedIcons[this.focusedItemIndex].icon;
237
+ }
238
+ }
239
+ export { IconSelectBox };
@@ -3,8 +3,8 @@ import { DomEmitter } from '../../event.js';
3
3
  import { renderFormattedText, renderText } from '../../formattedTextRenderer.js';
4
4
  import { ActionBar } from '../actionbar/actionbar.js';
5
5
  import { alert, status } from '../aria/aria.js';
6
+ import { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';
6
7
  import { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';
7
- import { setupCustomHover } from '../hover/updatableHoverWidget.js';
8
8
  import { ScrollableElement } from '../scrollbar/scrollableElement.js';
9
9
  import { Widget } from '../widget.js';
10
10
  import { Emitter, Event } from '../../../common/event.js';
@@ -119,7 +119,7 @@ class InputBox extends Widget {
119
119
  setTooltip(tooltip) {
120
120
  this.tooltip = tooltip;
121
121
  if (!this.hover) {
122
- this.hover = this._register(setupCustomHover(getDefaultHoverDelegate('mouse'), this.input, tooltip));
122
+ this.hover = this._register(getBaseLayerHoverDelegate().setupUpdatableHover(getDefaultHoverDelegate('mouse'), this.input, tooltip));
123
123
  }
124
124
  else {
125
125
  this.hover.update(tooltip);
@@ -1,6 +1,6 @@
1
1
  import { append, clearNode, $ as $$1 } from '../../dom.js';
2
+ import { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';
2
3
  import { getDefaultHoverDelegate } from '../hover/hoverDelegateFactory.js';
3
- import { setupCustomHover } from '../hover/updatableHoverWidget.js';
4
4
  import { UILabelProvider } from '../../../common/keybindingLabels.js';
5
5
  import { Disposable } from '../../../common/lifecycle.js';
6
6
  import { equals } from '../../../common/objects.js';
@@ -26,7 +26,7 @@ class KeybindingLabel extends Disposable {
26
26
  if (labelForeground) {
27
27
  this.domNode.style.color = labelForeground;
28
28
  }
29
- this.hover = this._register(setupCustomHover(getDefaultHoverDelegate('mouse'), this.domNode, ''));
29
+ this.hover = this._register(getBaseLayerHoverDelegate().setupUpdatableHover(getDefaultHoverDelegate('mouse'), this.domNode, ''));
30
30
  this.didEverRender = false;
31
31
  container.appendChild(this.domNode);
32
32
  }
@@ -346,7 +346,7 @@ class ListView {
346
346
  if (renderer && renderer.disposeElement) {
347
347
  renderer.disposeElement(item.element, i, item.row.templateData, item.size);
348
348
  }
349
- rows.push(item.row);
349
+ rows.unshift(item.row);
350
350
  }
351
351
  item.row = null;
352
352
  item.stale = true;
@@ -593,11 +593,13 @@ class ListView {
593
593
  else if (checked) {
594
594
  const update = (checked) => item.row.domNode.setAttribute('aria-checked', String(!!checked));
595
595
  update(checked.value);
596
- item.checkedDisposable = checked.onDidChange(update);
596
+ item.checkedDisposable = checked.onDidChange(() => update(checked.value));
597
597
  }
598
598
  if (item.stale || !item.row.domNode.parentElement) {
599
599
  const referenceNode = this.items.at(index + 1)?.row?.domNode ?? null;
600
- this.rowsContainer.insertBefore(item.row.domNode, referenceNode);
600
+ if (item.row.domNode.parentElement !== this.rowsContainer || item.row.domNode.nextElementSibling !== referenceNode) {
601
+ this.rowsContainer.insertBefore(item.row.domNode, referenceNode);
602
+ }
601
603
  item.stale = false;
602
604
  }
603
605
  this.updateItemInDOM(item, index);
@@ -0,0 +1,33 @@
1
+ interface IListStyles {
2
+ listBackground: string | undefined;
3
+ listFocusBackground: string | undefined;
4
+ listFocusForeground: string | undefined;
5
+ listActiveSelectionBackground: string | undefined;
6
+ listActiveSelectionForeground: string | undefined;
7
+ listActiveSelectionIconForeground: string | undefined;
8
+ listFocusAndSelectionOutline: string | undefined;
9
+ listFocusAndSelectionBackground: string | undefined;
10
+ listFocusAndSelectionForeground: string | undefined;
11
+ listInactiveSelectionBackground: string | undefined;
12
+ listInactiveSelectionIconForeground: string | undefined;
13
+ listInactiveSelectionForeground: string | undefined;
14
+ listInactiveFocusForeground: string | undefined;
15
+ listInactiveFocusBackground: string | undefined;
16
+ listHoverBackground: string | undefined;
17
+ listHoverForeground: string | undefined;
18
+ listDropOverBackground: string | undefined;
19
+ listDropBetweenBackground: string | undefined;
20
+ listFocusOutline: string | undefined;
21
+ listInactiveFocusOutline: string | undefined;
22
+ listSelectionOutline: string | undefined;
23
+ listHoverOutline: string | undefined;
24
+ treeIndentGuidesStroke: string | undefined;
25
+ treeInactiveIndentGuidesStroke: string | undefined;
26
+ treeStickyScrollBackground: string | undefined;
27
+ treeStickyScrollBorder: string | undefined;
28
+ treeStickyScrollShadow: string | undefined;
29
+ tableColumnsBorder: string | undefined;
30
+ tableOddRowsBackgroundColor: string | undefined;
31
+ }
32
+
33
+ export type { IListStyles };
@@ -811,7 +811,10 @@ const unthemedListStyles = {
811
811
  listFocusOutline: undefined,
812
812
  listInactiveFocusOutline: undefined,
813
813
  listSelectionOutline: undefined,
814
- listHoverOutline: undefined
814
+ listHoverOutline: undefined,
815
+ treeStickyScrollBackground: undefined,
816
+ treeStickyScrollBorder: undefined,
817
+ treeStickyScrollShadow: undefined
815
818
  };
816
819
  const DefaultOptions = {
817
820
  keyboardSupport: true,
@@ -987,6 +987,7 @@ ${formatRule(Codicon.menuSubmenu)}
987
987
  .monaco-menu .monaco-action-bar.vertical .keybinding {
988
988
  font-size: inherit;
989
989
  padding: 0 2em;
990
+ max-height: 100%;
990
991
  }
991
992
 
992
993
  .monaco-menu .monaco-action-bar.vertical .menu-item-check {
@@ -1,4 +1,4 @@
1
1
  import n from '../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
- var css = ".menubar{box-sizing:border-box;display:flex;flex-shrink:1;height:100%;overflow:hidden}.menubar.overflow-menu-only{width:38px}.fullscreen .menubar:not(.compact){margin:0;padding:4px 5px}.menubar>.menubar-menu-button{-webkit-app-region:no-drag;zoom:1;align-items:center;box-sizing:border-box;cursor:default;display:flex;outline:0!important;white-space:nowrap}.monaco-workbench .menubar:not(.compact)>.menubar-menu-button:focus .menubar-menu-title{outline-color:var(--vscode-focusBorder);outline-offset:-1px;outline-style:solid;outline-width:1px}.menubar.compact{flex-shrink:0;overflow:visible}.menubar.compact>.menubar-menu-button{height:100%;padding:0;width:100%}.menubar-menu-title{border-radius:5px;padding:0 8px}.menubar .menubar-menu-items-holder{left:0;opacity:1;position:fixed;z-index:2000}.menubar.compact .menubar-menu-items-holder{position:fixed}.menubar .menubar-menu-items-holder.monaco-menu-container{border:none;outline:0}.menubar .menubar-menu-items-holder.monaco-menu-container :focus{outline:0}.menubar .toolbar-toggle-more{align-items:center;display:flex;height:22px;justify-content:center;padding:0 8px;vertical-align:sub;width:22px}.menubar.compact .toolbar-toggle-more{align-items:center;cursor:pointer;display:flex;justify-content:center;left:0;position:relative;top:0;width:100%}.menubar.compact .toolbar-toggle-more:before,.menubar:not(.compact) .menubar-menu-button:first-child .toolbar-toggle-more:before{content:\"\\eb94\"!important}.menubar.compact>.menubar-menu-button.open .menubar-menu-title,.menubar.compact>.menubar-menu-button:focus .menubar-menu-title,.menubar.compact>.menubar-menu-button:hover .menubar-menu-title{outline-offset:-8px!important;outline-width:1px!important}";
2
+ var css = ".menubar{box-sizing:border-box;display:flex;flex-shrink:1;height:100%;overflow:hidden}.menubar.overflow-menu-only{width:38px}.fullscreen .menubar:not(.compact){margin:0;padding:4px 5px}.menubar>.menubar-menu-button{-webkit-app-region:no-drag;zoom:1;align-items:center;box-sizing:border-box;cursor:default;display:flex;outline:0!important;white-space:nowrap}.monaco-workbench .menubar:not(.compact)>.menubar-menu-button:focus .menubar-menu-title{outline-color:var(--vscode-focusBorder);outline-offset:-1px;outline-style:solid;outline-width:1px}.menubar.compact{flex-shrink:0;overflow:visible}.menubar.compact>.menubar-menu-button{height:100%;padding:0;width:100%}.menubar-menu-title{border-radius:5px;padding:0 8px}.menubar .menubar-menu-items-holder{left:0;opacity:1;position:fixed;z-index:2000}.menubar.compact .menubar-menu-items-holder{position:fixed}.menubar .menubar-menu-items-holder.monaco-menu-container{border:none;outline:0}.menubar .menubar-menu-items-holder.monaco-menu-container :focus{outline:0}.menubar .toolbar-toggle-more{align-items:center;display:flex;height:22px;justify-content:center;padding:0 8px;vertical-align:sub;width:22px}.menubar.compact .toolbar-toggle-more{align-items:center;cursor:pointer;display:flex;justify-content:center;left:0;position:relative;top:0;width:100%}.menubar.compact .toolbar-toggle-more:before,.menubar:not(.compact) .menubar-menu-button:first-child .toolbar-toggle-more:before{content:var(--vscode-icon-menu-content)!important;font-family:var(--vscode-icon-menu-font-family)!important}.menubar.compact>.menubar-menu-button.open .menubar-menu-title,.menubar.compact>.menubar-menu-button:focus .menubar-menu-title,.menubar.compact>.menubar-menu-button:hover .menubar-menu-title{outline-offset:-8px!important;outline-width:1px!important}";
3
3
  n(css,{});
4
4
  export { css, css as default };
@@ -0,0 +1,13 @@
1
+ const nullScopedAccessibilityProgressSignalFactory = () => ({
2
+ msLoopTime: -1,
3
+ msDelayTime: -1,
4
+ dispose: () => { },
5
+ });
6
+ let progressAccessibilitySignalSchedulerFactory = nullScopedAccessibilityProgressSignalFactory;
7
+ function setProgressAcccessibilitySignalScheduler(progressAccessibilitySignalScheduler) {
8
+ progressAccessibilitySignalSchedulerFactory = progressAccessibilitySignalScheduler;
9
+ }
10
+ function getProgressAcccessibilitySignalScheduler(msDelayTime, msLoopTime) {
11
+ return progressAccessibilitySignalSchedulerFactory(msDelayTime, msLoopTime);
12
+ }
13
+ export { getProgressAcccessibilitySignalScheduler, setProgressAcccessibilitySignalScheduler };