@codingame/monaco-vscode-api 6.0.3 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/README.md +150 -117
  2. package/api.js +1 -1
  3. package/debugProtocol.d.ts +10 -1
  4. package/extensions.d.ts +2 -0
  5. package/missing-services.js +21 -2
  6. package/package.json +9 -9
  7. package/service-override/extensions.d.ts +1 -2
  8. package/services.js +4 -2
  9. package/vscode/src/vs/base/browser/dnd.js +1 -1
  10. package/vscode/src/vs/base/browser/dom.js +116 -5
  11. package/vscode/src/vs/base/browser/domObservable.js +16 -0
  12. package/vscode/src/vs/base/browser/markdownRenderer.js +5 -3
  13. package/vscode/src/vs/base/browser/trustedTypes.js +1 -2
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
  15. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
  16. package/vscode/src/vs/base/browser/ui/button/button.js +2 -2
  17. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -4
  18. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  19. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
  20. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +1 -1
  21. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +32 -16
  22. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +2 -2
  23. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +2 -2
  24. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  25. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -0
  26. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
  29. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
  30. package/vscode/src/vs/base/browser/ui/list/listView.js +3 -5
  31. package/vscode/src/vs/base/browser/ui/list/rowCache.js +1 -8
  32. package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
  33. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -11
  34. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +1 -1
  36. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +8 -1
  39. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
  40. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
  41. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +0 -3
  42. package/vscode/src/vs/base/common/assert.js +1 -1
  43. package/vscode/src/vs/base/common/collections.js +49 -1
  44. package/vscode/src/vs/base/common/equals.js +55 -5
  45. package/vscode/src/vs/base/common/errors.js +14 -1
  46. package/vscode/src/vs/base/common/event.js +2 -1
  47. package/vscode/src/vs/base/common/history.js +7 -4
  48. package/vscode/src/vs/base/common/iterator.js +9 -1
  49. package/vscode/src/vs/base/common/map.d.ts +41 -0
  50. package/vscode/src/vs/base/common/numbers.js +18 -1
  51. package/vscode/src/vs/base/common/observableInternal/api.js +11 -0
  52. package/vscode/src/vs/base/common/observableInternal/autorun.js +18 -1
  53. package/vscode/src/vs/base/common/observableInternal/base.d.ts +8 -1
  54. package/vscode/src/vs/base/common/observableInternal/base.js +2 -5
  55. package/vscode/src/vs/base/common/observableInternal/derived.js +13 -3
  56. package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +109 -0
  57. package/vscode/src/vs/base/common/observableInternal/promise.js +3 -0
  58. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +7 -0
  59. package/vscode/src/vs/base/common/observableInternal/utils.js +64 -12
  60. package/vscode/src/vs/base/common/prefixTree.d.ts +52 -0
  61. package/vscode/src/vs/base/common/product.d.ts +1 -0
  62. package/vscode/src/vs/base/parts/ipc/common/ipc.js +1 -1
  63. package/vscode/src/vs/editor/browser/config/charWidthReader.js +1 -1
  64. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
  65. package/vscode/src/vs/editor/browser/coreCommands.js +2 -1
  66. package/vscode/src/vs/editor/browser/observableCodeEditor.js +230 -0
  67. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +1 -1
  68. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -26
  69. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -2
  70. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
  71. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -12
  72. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -1
  73. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
  74. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  75. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -4
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +8 -8
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +14 -2
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +2 -2
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +1 -1
  87. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
  88. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +5 -0
  89. package/vscode/src/vs/editor/common/config/editorOptions.js +83 -65
  90. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +43 -43
  91. package/vscode/src/vs/editor/common/cursor/cursor.js +3 -2
  92. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +911 -0
  93. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +36 -799
  94. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +6 -5
  95. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
  96. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +3 -0
  97. package/vscode/src/vs/editor/common/languages/autoIndent.js +23 -1
  98. package/vscode/src/vs/editor/common/languages.d.ts +20 -3
  99. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +6 -6
  100. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +19 -0
  101. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +3 -0
  102. package/vscode/src/vs/editor/common/model/textModel.js +6 -2
  103. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +5 -5
  104. package/vscode/src/vs/editor/common/model.d.ts +4 -0
  105. package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
  106. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +2 -15
  107. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +63 -62
  108. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +11 -8
  109. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +1 -1
  110. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +2 -17
  111. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
  112. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +18 -5
  113. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +55 -27
  114. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -4
  115. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +9 -9
  116. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -1
  117. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +103 -47
  118. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -2
  119. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +18 -10
  120. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -4
  121. package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +1 -1
  122. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +33 -13
  123. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -7
  124. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  125. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +2 -2
  126. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +161 -185
  127. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +321 -0
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +4 -1
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +6 -21
  130. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +39 -40
  131. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +55 -46
  132. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +12 -2
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +15 -9
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +11 -1
  135. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +141 -93
  136. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +24 -7
  137. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +36 -1
  138. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -3
  139. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -1
  140. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +25 -12
  141. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +88 -118
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +34 -33
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -2
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +11 -4
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +10 -19
  147. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
  148. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +45 -27
  149. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -4
  150. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
  151. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +126 -0
  152. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +9 -0
  153. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.js +9 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +82 -0
  155. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +240 -0
  156. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.css.js +4 -0
  157. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +322 -0
  158. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +8 -4
  159. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +3 -2
  160. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  161. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
  162. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +60 -0
  163. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +4 -0
  164. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +1 -1
  165. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  166. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +38 -20
  167. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +3 -0
  168. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +9 -9
  169. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +10 -32
  170. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +23 -138
  171. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -0
  172. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +5 -5
  173. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +13 -12
  174. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +3 -3
  175. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +21 -0
  176. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +5 -6
  177. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +1 -1
  178. package/vscode/src/vs/platform/actions/browser/buttonbar.js +27 -6
  179. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
  180. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
  181. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +33 -3
  182. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -1
  183. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  184. package/vscode/src/vs/platform/actions/common/actions.js +3 -0
  185. package/vscode/src/vs/platform/actions/common/menuService.js +3 -2
  186. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +1 -1
  187. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +7 -5
  188. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +109 -13
  189. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +2 -0
  190. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +12 -6
  191. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -0
  192. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -3
  193. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +20 -10
  194. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +46 -8
  195. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
  196. package/vscode/src/vs/platform/extensions/common/extensions.js +12 -3
  197. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +368 -0
  198. package/vscode/src/vs/platform/files/common/watcher.js +21 -24
  199. package/vscode/src/vs/platform/list/browser/listService.js +2 -1
  200. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
  201. package/vscode/src/vs/platform/opener/browser/link.js +1 -1
  202. package/vscode/src/vs/platform/product/common/product.js +1 -1
  203. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
  204. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +0 -2
  205. package/vscode/src/vs/platform/request/common/request.js +18 -8
  206. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +2 -6
  207. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +8 -1
  208. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +1 -1
  209. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -5
  210. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  211. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +6 -6
  212. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +35 -35
  213. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +9 -9
  214. package/vscode/src/vs/platform/theme/common/colors/listColors.js +11 -11
  215. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +4 -4
  216. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +5 -5
  217. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +1 -1
  218. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +5 -5
  219. package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -1
  220. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +75 -19
  221. package/vscode/src/vs/platform/window/common/window.d.ts +2 -2
  222. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +32 -25
  223. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
  224. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  225. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -11
  226. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +5 -15
  227. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -5
  228. package/vscode/src/vs/workbench/api/common/extHostComments.js +9 -3
  229. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +32 -22
  230. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
  231. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +109 -40
  232. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +46 -0
  233. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +84 -35
  234. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  235. package/vscode/src/vs/workbench/api/common/extHostSCM.js +50 -41
  236. package/vscode/src/vs/workbench/api/common/extHostSearch.js +2 -2
  237. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +11 -8
  238. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -6
  239. package/vscode/src/vs/workbench/api/common/extHostTesting.js +63 -70
  240. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -3
  241. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +75 -16
  242. package/vscode/src/vs/workbench/api/common/extHostTypes.js +29 -4
  243. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  244. package/vscode/src/vs/workbench/browser/actions/developerActions.js +1 -1
  245. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +127 -107
  246. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +2 -2
  247. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +1 -1
  248. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +33 -21
  249. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  250. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +5 -5
  251. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
  252. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +2 -2
  253. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
  254. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +23 -6
  255. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +3 -1
  256. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -3
  257. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
  258. package/vscode/src/vs/workbench/browser/web.api.js +8 -0
  259. package/vscode/src/vs/workbench/browser/workbench.contribution.js +199 -194
  260. package/vscode/src/vs/workbench/common/configuration.js +1 -1
  261. package/vscode/src/vs/workbench/common/contributions.js +8 -1
  262. package/vscode/src/vs/workbench/common/editor.js +5 -1
  263. package/vscode/src/vs/workbench/common/theme.js +79 -454
  264. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +221 -239
  265. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +17 -15
  266. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +1 -0
  267. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +4 -0
  268. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +27 -0
  269. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +35 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +51 -0
  271. package/vscode/src/vs/workbench/contrib/chat/browser/{chatConfirmationWidget.js → chatContentParts/chatConfirmationWidget.js} +9 -9
  272. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +131 -0
  273. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +37 -0
  274. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +263 -0
  275. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +37 -0
  276. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +160 -0
  277. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +171 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatWarningContentPart.js +34 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatContentParts/media}/chatConfirmationWidget.css.js +1 -1
  280. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +91 -44
  281. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +292 -1019
  282. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +2 -2
  283. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +1 -1
  284. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +22 -7
  285. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +61 -54
  287. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +23 -16
  288. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  290. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +8 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +3 -3
  293. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +5 -4
  294. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +16 -0
  295. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.js +3 -0
  296. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +2 -2
  297. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -16
  298. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +1 -3
  300. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +7 -5
  302. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +7 -7
  303. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +3 -3
  304. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +3 -3
  305. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +2 -2
  306. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  307. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +2 -1
  308. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +2 -1
  309. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +1 -1
  310. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +8 -5
  311. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +1 -1
  312. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  313. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  314. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +1 -1
  315. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +5 -5
  316. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +14 -7
  317. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +4 -4
  318. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +8 -7
  319. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +19 -16
  320. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -12
  321. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +19 -2
  322. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +9 -4
  323. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +10 -5
  324. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +4 -4
  325. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +235 -173
  326. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  327. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +2 -1
  328. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +17 -5
  329. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +62 -44
  330. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  331. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -2
  332. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +114 -107
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +33 -25
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +71 -101
  335. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +38 -43
  336. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -33
  337. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +3 -4
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +49 -86
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +60 -71
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +116 -113
  343. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +6 -10
  344. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
  345. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +1 -0
  346. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +2 -2
  347. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +12 -23
  348. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
  349. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -9
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +88 -61
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +1 -3
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +39 -3
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -1
  354. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +12 -11
  355. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
  356. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -1
  357. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -2
  358. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +40 -105
  359. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +27 -26
  360. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +14 -5
  361. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +1 -1
  362. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +43 -46
  363. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +1 -1
  364. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +4 -4
  365. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +12 -9
  366. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +19 -14
  367. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  368. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +9 -6
  369. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  370. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -3
  371. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +3 -3
  372. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +1 -1
  373. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +16 -6
  374. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +8 -8
  375. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +3 -0
  376. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +11 -12
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +12 -13
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +1 -1
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +5 -3
  380. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -2
  381. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +37 -36
  382. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +18 -8
  383. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +1 -1
  384. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +14 -5
  385. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +17 -22
  386. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +1 -1
  387. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +7 -10
  388. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -27
  389. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +3 -4
  390. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  391. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +4 -0
  392. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +3 -3
  393. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -0
  394. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +0 -1
  395. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +13 -37
  396. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.d.ts +88 -0
  397. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +48 -31
  398. package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +115 -0
  399. package/vscode/src/vs/workbench/contrib/testing/common/testResult.d.ts +226 -0
  400. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +319 -0
  401. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -3
  402. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.d.ts +10 -0
  403. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  404. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +7 -8
  405. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
  406. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +10 -5
  407. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +54 -21
  408. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  409. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -2
  410. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -4
  411. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +5 -3
  412. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +3 -1
  413. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +59 -41
  414. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -1
  415. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -2
  416. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -0
  417. package/vscode/src/vs/workbench/services/language/common/languageService.js +7 -0
  418. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
  419. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +2 -2
  420. package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
  421. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +2 -2
  422. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +2 -2
  423. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +69 -26
  424. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +23 -4
  425. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +5 -1
  426. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  427. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -5
  428. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +38 -19
  429. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -1
  430. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +0 -196
  431. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -10
  432. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +30 -22
  433. package/vscode-dts/vscode.proposed.chatProvider.d.ts +17 -8
  434. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -9
  435. package/vscode-dts/vscode.proposed.commentReveal.d.ts +32 -0
  436. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +10 -0
  437. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +1 -1
  438. package/vscode-dts/vscode.proposed.fileComments.d.ts +12 -53
  439. package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +6 -0
  440. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +6 -0
  441. package/vscode-dts/vscode.proposed.lmTools.d.ts +91 -0
  442. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +1 -1
  443. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +10 -6
  444. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +38 -13
  445. package/vscode/src/vs/editor/browser/observableUtilities.js +0 -58
  446. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +0 -3
  447. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +0 -122
@@ -86,7 +86,7 @@ class SelectBoxList extends Disposable {
86
86
  }
87
87
  setTitle(title) {
88
88
  if (!this._hover && title) {
89
- this._hover = this._register(getBaseLayerHoverDelegate().setupUpdatableHover(getDefaultHoverDelegate('mouse'), this.selectElement, title));
89
+ this._hover = this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate('mouse'), this.selectElement, title));
90
90
  }
91
91
  else if (this._hover) {
92
92
  this._hover.update(title);
@@ -349,11 +349,7 @@ class SelectBoxList extends Disposable {
349
349
  this.layoutSelectDropDown(preLayoutPosition);
350
350
  return {
351
351
  dispose: () => {
352
- try {
353
- container.removeChild(this.selectDropDownContainer);
354
- }
355
- catch (error) {
356
- }
352
+ this.selectDropDownContainer.remove();
357
353
  }
358
354
  };
359
355
  }
@@ -403,8 +399,8 @@ class SelectBoxList extends Disposable {
403
399
  && maxVisibleOptionsAbove > maxVisibleOptionsBelow
404
400
  && this.options.length > maxVisibleOptionsBelow) {
405
401
  this._dropDownPosition = AnchorPosition.ABOVE;
406
- this.selectDropDownContainer.removeChild(this.selectDropDownListContainer);
407
- this.selectDropDownContainer.removeChild(this.selectionDetailsPane);
402
+ this.selectDropDownListContainer.remove();
403
+ this.selectionDetailsPane.remove();
408
404
  this.selectDropDownContainer.appendChild(this.selectionDetailsPane);
409
405
  this.selectDropDownContainer.appendChild(this.selectDropDownListContainer);
410
406
  this.selectionDetailsPane.classList.remove('border-top');
@@ -412,8 +408,8 @@ class SelectBoxList extends Disposable {
412
408
  }
413
409
  else {
414
410
  this._dropDownPosition = AnchorPosition.BELOW;
415
- this.selectDropDownContainer.removeChild(this.selectDropDownListContainer);
416
- this.selectDropDownContainer.removeChild(this.selectionDetailsPane);
411
+ this.selectDropDownListContainer.remove();
412
+ this.selectionDetailsPane.remove();
417
413
  this.selectDropDownContainer.appendChild(this.selectDropDownListContainer);
418
414
  this.selectDropDownContainer.appendChild(this.selectionDetailsPane);
419
415
  this.selectionDetailsPane.classList.remove('border-bottom');
@@ -601,7 +597,7 @@ class SelectBoxList extends Disposable {
601
597
  const child = element.childNodes.item(i);
602
598
  const tagName = child.tagName && child.tagName.toLowerCase();
603
599
  if (tagName === 'img') {
604
- element.removeChild(child);
600
+ child.remove();
605
601
  }
606
602
  else {
607
603
  cleanRenderedMarkdown(child);
@@ -264,7 +264,7 @@ class PaneDraggable extends Disposable {
264
264
  }
265
265
  const dragImage = append(this.pane.element.ownerDocument.body, $('.monaco-drag-image', {}, this.pane.draggableElement.textContent || ''));
266
266
  e.dataTransfer.setDragImage(dragImage, -10, -10);
267
- setTimeout(() => this.pane.element.ownerDocument.body.removeChild(dragImage), 0);
267
+ setTimeout(() => dragImage.remove(), 0);
268
268
  this.context.draggable = this;
269
269
  }
270
270
  onDragEnter(e) {
@@ -561,7 +561,7 @@ class SplitView extends Disposable {
561
561
  this.viewContainer.insertBefore(container, this.viewContainer.children.item(index));
562
562
  }
563
563
  const onChangeDisposable = view.onDidChange(size => this.onViewChange(item, size));
564
- const containerDisposable = toDisposable(() => this.viewContainer.removeChild(container));
564
+ const containerDisposable = toDisposable(() => container.remove());
565
565
  const disposable = combinedDisposable(onChangeDisposable, containerDisposable);
566
566
  let viewSize;
567
567
  if (typeof size === 'number') {
@@ -90,7 +90,7 @@ class ColumnHeader extends Disposable {
90
90
  this.onDidLayout = this._onDidLayout.event;
91
91
  this.element = $('.monaco-table-th', { 'data-col-index': index }, column.label);
92
92
  if (column.tooltip) {
93
- this._register(getBaseLayerHoverDelegate().setupUpdatableHover(getDefaultHoverDelegate('mouse'), this.element, column.tooltip));
93
+ this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate('mouse'), this.element, column.tooltip));
94
94
  }
95
95
  }
96
96
  layout(size) {
@@ -78,7 +78,7 @@ class Toggle extends Widget {
78
78
  classes.push('checked');
79
79
  }
80
80
  this.domNode = document.createElement('div');
81
- this._hover = this._register(getBaseLayerHoverDelegate().setupUpdatableHover(opts.hoverDelegate ?? getDefaultHoverDelegate('mouse'), this.domNode, this._opts.title));
81
+ this._hover = this._register(getBaseLayerHoverDelegate().setupManagedHover(opts.hoverDelegate ?? getDefaultHoverDelegate('mouse'), this.domNode, this._opts.title));
82
82
  this.domNode.classList.add(...classes);
83
83
  if (!this._opts.notFocusable) {
84
84
  this.domNode.tabIndex = 0;
@@ -25,6 +25,14 @@ interface IToolBarOptions {
25
25
  * If true, toggled primary items are highlighted with a background color.
26
26
  */
27
27
  highlightToggledItems?: boolean;
28
+ /**
29
+ * Render action with icons (default: `true`)
30
+ */
31
+ icon?: boolean;
32
+ /**
33
+ * Render action with label (default: `false`)
34
+ */
35
+ label?: boolean;
28
36
  }
29
37
  /**
30
38
  * A widget that combines an action bar for primary actions and a dropdown for secondary actions.
@@ -36,7 +44,6 @@ declare class ToolBar extends Disposable {
36
44
  private toggleMenuActionViewItem;
37
45
  private submenuActionViewItems;
38
46
  private hasSecondaryActions;
39
- private readonly lookupKeybindings;
40
47
  private readonly element;
41
48
  private _onDidChangeDropdownVisibility;
42
49
  readonly onDidChangeDropdownVisibility: Event<boolean>;
@@ -19,7 +19,6 @@ class ToolBar extends Disposable {
19
19
  this.disposables = this._register(( (new DisposableStore())));
20
20
  options.hoverDelegate = options.hoverDelegate ?? this._register(createInstantHoverDelegate());
21
21
  this.options = options;
22
- this.lookupKeybindings = typeof this.options.getKeyBinding === 'function';
23
22
  this.toggleMenuAction = this._register(( (new ToggleMenuAction(() => this.toggleMenuActionViewItem?.show(), options.toggleMenuTitle))));
24
23
  this.element = document.createElement('div');
25
24
  this.element.className = 'monaco-toolbar';
@@ -121,14 +120,14 @@ class ToolBar extends Disposable {
121
120
  primaryActionsToSet.push(this.toggleMenuAction);
122
121
  }
123
122
  primaryActionsToSet.forEach(action => {
124
- this.actionBar.push(action, { icon: true, label: false, keybinding: this.getKeybindingLabel(action) });
123
+ this.actionBar.push(action, { icon: this.options.icon ?? true, label: this.options.label ?? false, keybinding: this.getKeybindingLabel(action) });
125
124
  });
126
125
  }
127
126
  isEmpty() {
128
127
  return this.actionBar.isEmpty();
129
128
  }
130
129
  getKeybindingLabel(action) {
131
- const key = this.lookupKeybindings ? this.options.getKeyBinding?.(action) : undefined;
130
+ const key = this.options.getKeyBinding?.(action);
132
131
  return key?.getLabel() ?? undefined;
133
132
  }
134
133
  clear() {
@@ -603,7 +603,7 @@ class FindWidget extends Disposable {
603
603
  this._onDidDisable = ( (new Emitter()));
604
604
  this.onDidDisable = this._onDidDisable.event;
605
605
  container.appendChild(this.elements.root);
606
- this._register(toDisposable(() => container.removeChild(this.elements.root)));
606
+ this._register(toDisposable(() => this.elements.root.remove()));
607
607
  const styles = options?.styles ?? unthemedFindWidgetStyles;
608
608
  if (styles.listFilterWidgetBackground) {
609
609
  this.elements.root.style.backgroundColor = styles.listFilterWidgetBackground;
@@ -398,9 +398,6 @@ class AsyncDataTree {
398
398
  resort(element = this.root.element, recursive = true) {
399
399
  this.tree.resort(this.getDataNode(element), recursive);
400
400
  }
401
- hasElement(element) {
402
- return this.tree.hasElement(this.getDataNode(element));
403
- }
404
401
  hasNode(element) {
405
402
  return element === this.root.element || ( this.nodes.has(element));
406
403
  }
@@ -1,4 +1,4 @@
1
- import { BugIndicatingError, onUnexpectedError } from './errors.js';
1
+ import { onUnexpectedError, BugIndicatingError } from './errors.js';
2
2
  function ok(value, message) {
3
3
  if (!value) {
4
4
  throw ( new Error(message ? `Assertion failed (${message})` : 'Assertion Failed'));
@@ -1,3 +1,4 @@
1
+ var _a;
1
2
  function groupBy(data, groupFn) {
2
3
  const result = Object.create(null);
3
4
  for (const element of data) {
@@ -49,4 +50,51 @@ function intersection(setA, setB) {
49
50
  }
50
51
  return result;
51
52
  }
52
- export { diffMaps, diffSets, groupBy, intersection };
53
+ class SetWithKey {
54
+ static { _a = Symbol.toStringTag; }
55
+ constructor(values, toKey) {
56
+ this.toKey = toKey;
57
+ this._map = ( new Map());
58
+ this[_a] = 'SetWithKey';
59
+ for (const value of values) {
60
+ this.add(value);
61
+ }
62
+ }
63
+ get size() {
64
+ return this._map.size;
65
+ }
66
+ add(value) {
67
+ const key = this.toKey(value);
68
+ this._map.set(key, value);
69
+ return this;
70
+ }
71
+ delete(value) {
72
+ return this._map.delete(this.toKey(value));
73
+ }
74
+ has(value) {
75
+ return ( this._map.has(this.toKey(value)));
76
+ }
77
+ *entries() {
78
+ for (const entry of ( this._map.values())) {
79
+ yield [entry, entry];
80
+ }
81
+ }
82
+ keys() {
83
+ return ( this.values());
84
+ }
85
+ *values() {
86
+ for (const entry of ( this._map.values())) {
87
+ yield entry;
88
+ }
89
+ }
90
+ clear() {
91
+ this._map.clear();
92
+ }
93
+ forEach(callbackfn, thisArg) {
94
+ this._map.forEach(entry => callbackfn.call(thisArg, entry, entry, this));
95
+ }
96
+ [Symbol.iterator]() {
97
+ return ( this.values());
98
+ }
99
+ }
100
+ export { SetWithKey, diffMaps, diffSets, groupBy, intersection };
@@ -6,11 +6,61 @@ function itemsEquals(itemEquals = strictEquals) {
6
6
  function itemEquals() {
7
7
  return (a, b) => a.equals(b);
8
8
  }
9
- function equalsIfDefined(v1, v2, equals) {
10
- if (!v1 || !v2) {
11
- return v1 === v2;
9
+ function equalsIfDefined(equalsOrV1, v2, equals) {
10
+ if (equals !== undefined) {
11
+ const v1 = equalsOrV1;
12
+ if (v1 === undefined || v1 === null || v2 === undefined || v2 === null) {
13
+ return v2 === v1;
14
+ }
15
+ return equals(v1, v2);
16
+ }
17
+ else {
18
+ const equals = equalsOrV1;
19
+ return (v1, v2) => {
20
+ if (v1 === undefined || v1 === null || v2 === undefined || v2 === null) {
21
+ return v2 === v1;
22
+ }
23
+ return equals(v1, v2);
24
+ };
25
+ }
26
+ }
27
+ function structuralEquals(a, b) {
28
+ if (a === b) {
29
+ return true;
30
+ }
31
+ if (Array.isArray(a) && Array.isArray(b)) {
32
+ if (a.length !== b.length) {
33
+ return false;
34
+ }
35
+ for (let i = 0; i < a.length; i++) {
36
+ if (!structuralEquals(a[i], b[i])) {
37
+ return false;
38
+ }
39
+ }
40
+ return true;
41
+ }
42
+ if (a && typeof a === 'object' && b && typeof b === 'object') {
43
+ if (Object.getPrototypeOf(a) === Object.prototype && Object.getPrototypeOf(b) === Object.prototype) {
44
+ const aObj = a;
45
+ const bObj = b;
46
+ const keysA = ( Object.keys(aObj));
47
+ const keysB = ( Object.keys(bObj));
48
+ const keysBSet = ( new Set(keysB));
49
+ if (keysA.length !== keysB.length) {
50
+ return false;
51
+ }
52
+ for (const key of keysA) {
53
+ if (!( keysBSet.has(key))) {
54
+ return false;
55
+ }
56
+ if (!structuralEquals(aObj[key], bObj[key])) {
57
+ return false;
58
+ }
59
+ }
60
+ return true;
61
+ }
12
62
  }
13
- return equals(v1, v2);
63
+ return false;
14
64
  }
15
65
  function getStructuralKey(t) {
16
66
  return JSON.stringify(toNormalizedJsonStructure(t));
@@ -41,4 +91,4 @@ function toNormalizedJsonStructure(t) {
41
91
  }
42
92
  return t;
43
93
  }
44
- export { equalsIfDefined, getStructuralKey, itemEquals, itemsEquals, strictEquals };
94
+ export { equalsIfDefined, getStructuralKey, itemEquals, itemsEquals, strictEquals, structuralEquals };
@@ -71,6 +71,19 @@ function transformErrorForSerialization(error) {
71
71
  }
72
72
  return error;
73
73
  }
74
+ function transformErrorFromSerialization(data) {
75
+ let error;
76
+ if (data.noTelemetry) {
77
+ error = ( new ErrorNoTelemetry());
78
+ }
79
+ else {
80
+ error = ( new Error());
81
+ error.name = data.name;
82
+ }
83
+ error.message = data.message;
84
+ error.stack = data.stack;
85
+ return error;
86
+ }
74
87
  const canceledName = 'Canceled';
75
88
  function isCancellationError(error) {
76
89
  if (error instanceof CancellationError) {
@@ -162,4 +175,4 @@ class BugIndicatingError extends Error {
162
175
  Object.setPrototypeOf(this, BugIndicatingError.prototype);
163
176
  }
164
177
  }
165
- export { BugIndicatingError, CancellationError, ErrorHandler, ErrorNoTelemetry, NotImplementedError, NotSupportedError, ReadonlyError, canceled, errorHandler, getErrorMessage, illegalArgument, illegalState, isCancellationError, onUnexpectedError, onUnexpectedExternalError, setUnexpectedErrorHandler, transformErrorForSerialization };
178
+ export { BugIndicatingError, CancellationError, ErrorHandler, ErrorNoTelemetry, NotImplementedError, NotSupportedError, ReadonlyError, canceled, errorHandler, getErrorMessage, illegalArgument, illegalState, isCancellationError, onUnexpectedError, onUnexpectedExternalError, setUnexpectedErrorHandler, transformErrorForSerialization, transformErrorFromSerialization };
@@ -439,7 +439,8 @@ function setGlobalLeakWarningThreshold(n) {
439
439
  };
440
440
  }
441
441
  class LeakageMonitor {
442
- constructor(_errorHandler, threshold, name = ( Math.random().toString(18)).slice(2, 5)) {
442
+ static { this._idPool = 1; }
443
+ constructor(_errorHandler, threshold, name = ( (LeakageMonitor._idPool++).toString(16)).padStart(3, '0')) {
443
444
  this._errorHandler = _errorHandler;
444
445
  this.threshold = threshold;
445
446
  this.name = name;
@@ -1,3 +1,4 @@
1
+ import { SetWithKey } from './collections.js';
1
2
  import { ArrayNavigator } from './navigator.js';
2
3
  class HistoryNavigator {
3
4
  constructor(history = [], limit = 10) {
@@ -79,8 +80,9 @@ class HistoryNavigator {
79
80
  }
80
81
  class HistoryNavigator2 {
81
82
  get size() { return this._size; }
82
- constructor(history, capacity = 10) {
83
+ constructor(history, capacity = 10, identityFn = t => t) {
83
84
  this.capacity = capacity;
85
+ this.identityFn = identityFn;
84
86
  if (history.length < 1) {
85
87
  throw ( new Error('not supported'));
86
88
  }
@@ -90,7 +92,7 @@ class HistoryNavigator2 {
90
92
  previous: undefined,
91
93
  next: undefined
92
94
  };
93
- this.valueSet = ( new Set([history[0]]));
95
+ this.valueSet = ( new SetWithKey([history[0]], identityFn));
94
96
  for (let i = 1; i < history.length; i++) {
95
97
  this.add(history[i]);
96
98
  }
@@ -119,7 +121,7 @@ class HistoryNavigator2 {
119
121
  }
120
122
  }
121
123
  replaceLast(value) {
122
- if (this.tail.value === value) {
124
+ if (this.identityFn(this.tail.value) === this.identityFn(value)) {
123
125
  return value;
124
126
  }
125
127
  const oldValue = this.tail.value;
@@ -181,8 +183,9 @@ class HistoryNavigator2 {
181
183
  }
182
184
  _deleteFromList(value) {
183
185
  let temp = this.head;
186
+ const valueKey = this.identityFn(value);
184
187
  while (temp !== this.tail) {
185
- if (temp.value === value) {
188
+ if (this.identityFn(temp.value) === valueKey) {
186
189
  if (temp === this.head) {
187
190
  this.head = this.head.next;
188
191
  this.head.previous = undefined;
@@ -41,8 +41,9 @@ var Iterable;
41
41
  }
42
42
  Iterable.first = first;
43
43
  function some(iterable, predicate) {
44
+ let i = 0;
44
45
  for (const element of iterable) {
45
- if (predicate(element)) {
46
+ if (predicate(element, i++)) {
46
47
  return true;
47
48
  }
48
49
  }
@@ -73,6 +74,13 @@ var Iterable;
73
74
  }
74
75
  }
75
76
  Iterable.map = map;
77
+ function* flatMap(iterable, fn) {
78
+ let index = 0;
79
+ for (const element of iterable) {
80
+ yield* fn(element, index++);
81
+ }
82
+ }
83
+ Iterable.flatMap = flatMap;
76
84
  function* concat(...iterables) {
77
85
  for (const iterable of iterables) {
78
86
  yield* iterable;
@@ -0,0 +1,41 @@
1
+ import { URI } from './uri.js';
2
+
3
+ interface ResourceMapKeyFn {
4
+ (resource: URI): string;
5
+ }
6
+ declare class ResourceMap<T> implements Map<URI, T> {
7
+ private static readonly defaultToKey;
8
+ readonly [Symbol.toStringTag] = "ResourceMap";
9
+ private readonly map;
10
+ private readonly toKey;
11
+ /**
12
+ *
13
+ * @param toKey Custom uri identity function, e.g use an existing `IExtUri#getComparison`-util
14
+ */
15
+ constructor(toKey?: ResourceMapKeyFn);
16
+ /**
17
+ *
18
+ * @param other Another resource which this maps is created from
19
+ * @param toKey Custom uri identity function, e.g use an existing `IExtUri#getComparison`-util
20
+ */
21
+ constructor(other?: ResourceMap<T>, toKey?: ResourceMapKeyFn);
22
+ /**
23
+ *
24
+ * @param other Another resource which this maps is created from
25
+ * @param toKey Custom uri identity function, e.g use an existing `IExtUri#getComparison`-util
26
+ */
27
+ constructor(entries?: readonly (readonly [URI, T])[], toKey?: ResourceMapKeyFn);
28
+ set(resource: URI, value: T): this;
29
+ get(resource: URI): T | undefined;
30
+ has(resource: URI): boolean;
31
+ get size(): number;
32
+ clear(): void;
33
+ delete(resource: URI): boolean;
34
+ forEach(clb: (value: T, key: URI, map: Map<URI, T>) => void, thisArg?: any): void;
35
+ values(): IterableIterator<T>;
36
+ keys(): IterableIterator<URI>;
37
+ entries(): IterableIterator<[URI, T]>;
38
+ [Symbol.iterator](): IterableIterator<[URI, T]>;
39
+ }
40
+
41
+ export { ResourceMap };
@@ -52,4 +52,21 @@ class SlidingWindowAverage {
52
52
  return this._val;
53
53
  }
54
54
  }
55
- export { Counter, MovingAverage, SlidingWindowAverage, clamp, rot };
55
+ function isPointWithinTriangle(x, y, ax, ay, bx, by, cx, cy) {
56
+ const v0x = cx - ax;
57
+ const v0y = cy - ay;
58
+ const v1x = bx - ax;
59
+ const v1y = by - ay;
60
+ const v2x = x - ax;
61
+ const v2y = y - ay;
62
+ const dot00 = v0x * v0x + v0y * v0y;
63
+ const dot01 = v0x * v1x + v0y * v1y;
64
+ const dot02 = v0x * v2x + v0y * v2y;
65
+ const dot11 = v1x * v1x + v1y * v1y;
66
+ const dot12 = v1x * v2x + v1y * v2y;
67
+ const invDenom = 1 / (dot00 * dot11 - dot01 * dot01);
68
+ const u = (dot11 * dot02 - dot01 * dot12) * invDenom;
69
+ const v = (dot00 * dot12 - dot01 * dot02) * invDenom;
70
+ return u >= 0 && v >= 0 && u + v < 1;
71
+ }
72
+ export { Counter, MovingAverage, SlidingWindowAverage, clamp, isPointWithinTriangle, rot };
@@ -0,0 +1,11 @@
1
+ import { strictEquals } from '../equals.js';
2
+ import { ObservableValue } from './base.js';
3
+ import { DebugNameData } from './debugName.js';
4
+ import { LazyObservableValue } from './lazyObservableValue.js';
5
+ function observableValueOpts(options, initialValue) {
6
+ if (options.lazy) {
7
+ return ( new LazyObservableValue(( new DebugNameData(options.owner, options.debugName, undefined)), initialValue, options.equalsFn ?? strictEquals));
8
+ }
9
+ return ( new ObservableValue(( new DebugNameData(options.owner, options.debugName, undefined)), initialValue, options.equalsFn ?? strictEquals));
10
+ }
11
+ export { observableValueOpts };
@@ -10,6 +10,23 @@ function autorunOpts(options, fn) {
10
10
  function autorunHandleChanges(options, fn) {
11
11
  return ( new AutorunObserver(( new DebugNameData(options.owner, options.debugName, options.debugReferenceFn ?? fn)), fn, options.createEmptyChangeSummary, options.handleChange));
12
12
  }
13
+ function autorunWithStoreHandleChanges(options, fn) {
14
+ const store = ( new DisposableStore());
15
+ const disposable = autorunHandleChanges({
16
+ owner: options.owner,
17
+ debugName: options.debugName,
18
+ debugReferenceFn: options.debugReferenceFn ?? fn,
19
+ createEmptyChangeSummary: options.createEmptyChangeSummary,
20
+ handleChange: options.handleChange,
21
+ }, (reader, changeSummary) => {
22
+ store.clear();
23
+ fn(reader, changeSummary, store);
24
+ });
25
+ return toDisposable(() => {
26
+ disposable.dispose();
27
+ store.dispose();
28
+ });
29
+ }
13
30
  function autorunWithStore(fn) {
14
31
  const store = ( new DisposableStore());
15
32
  const disposable = autorunOpts({
@@ -138,4 +155,4 @@ class AutorunObserver {
138
155
  ( (function(autorun) {
139
156
  autorun.Observer = AutorunObserver;
140
157
  })(autorun || (autorun = {})));
141
- export { AutorunObserver, autorun, autorunHandleChanges, autorunOpts, autorunWithStore };
158
+ export { AutorunObserver, autorun, autorunHandleChanges, autorunOpts, autorunWithStore, autorunWithStoreHandleChanges };
@@ -114,5 +114,12 @@ interface IObserver {
114
114
  */
115
115
  handleChange<T, TChange>(observable: IObservable<T, TChange>, change: TChange): void;
116
116
  }
117
+ interface ITransaction {
118
+ /**
119
+ * Calls {@link Observer.beginUpdate} immediately
120
+ * and {@link Observer.endUpdate} when the transaction ends.
121
+ */
122
+ updateObserver(observer: IObserver, observable: IObservable<any, any>): void;
123
+ }
117
124
 
118
- export type { IObservable, IObserver, IReader };
125
+ export type { IObservable, IObserver, IReader, ITransaction };
@@ -1,5 +1,5 @@
1
1
  import { strictEquals } from '../equals.js';
2
- import { DebugNameData, getFunctionName } from './debugName.js';
2
+ import { getFunctionName, DebugNameData } from './debugName.js';
3
3
  let _recomputeInitiallyAndOnChange;
4
4
  function _setRecomputeInitiallyAndOnChange(recomputeInitiallyAndOnChange) {
5
5
  _recomputeInitiallyAndOnChange = recomputeInitiallyAndOnChange;
@@ -159,9 +159,6 @@ function observableValue(nameOrOwner, initialValue) {
159
159
  }
160
160
  return ( new ObservableValue(debugNameData, initialValue, strictEquals));
161
161
  }
162
- function observableValueOpts(options, initialValue) {
163
- return ( new ObservableValue(( new DebugNameData(options.owner, options.debugName, undefined)), initialValue, options.equalsFn ?? strictEquals));
164
- }
165
162
  class ObservableValue extends BaseObservable {
166
163
  get debugName() {
167
164
  return this._debugNameData.getDebugName(this) ?? 'ObservableValue';
@@ -227,4 +224,4 @@ class DisposableObservableValue extends ObservableValue {
227
224
  this._value?.dispose();
228
225
  }
229
226
  }
230
- export { BaseObservable, ConvenientObservable, DisposableObservableValue, ObservableValue, TransactionImpl, _setDerivedOpts, _setKeepObserved, _setRecomputeInitiallyAndOnChange, asyncTransaction, disposableObservableValue, globalTransaction, observableValue, observableValueOpts, subtransaction, transaction };
227
+ export { BaseObservable, ConvenientObservable, DisposableObservableValue, ObservableValue, TransactionImpl, _setDerivedOpts, _setKeepObserved, _setRecomputeInitiallyAndOnChange, asyncTransaction, disposableObservableValue, globalTransaction, observableValue, subtransaction, transaction };
@@ -47,15 +47,25 @@ function derivedDisposable(computeFnOrOwner, computeFnOrUndefined) {
47
47
  owner = computeFnOrOwner;
48
48
  computeFn = computeFnOrUndefined;
49
49
  }
50
- const store = ( new DisposableStore());
50
+ let store = undefined;
51
51
  return ( new Derived(( new DebugNameData(owner, undefined, computeFn)), r => {
52
- store.clear();
52
+ if (!store) {
53
+ store = ( new DisposableStore());
54
+ }
55
+ else {
56
+ store.clear();
57
+ }
53
58
  const result = computeFn(r);
54
59
  if (result) {
55
60
  store.add(result);
56
61
  }
57
62
  return result;
58
- }, undefined, undefined, () => store.dispose(), strictEquals));
63
+ }, undefined, undefined, () => {
64
+ if (store) {
65
+ store.dispose();
66
+ store = undefined;
67
+ }
68
+ }, strictEquals));
59
69
  }
60
70
  var DerivedState;
61
71
  ( (function(DerivedState) {