@codingame/monaco-vscode-api 4.5.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/api.js +1 -1
  2. package/extensions.d.ts +2 -3
  3. package/lifecycle.js +6 -0
  4. package/localExtensionHost.d.ts +4 -1
  5. package/missing-services.js +41 -25
  6. package/package.json +8 -8
  7. package/service-override/tools/editor.js +31 -8
  8. package/service-override/tools/views.d.ts +1 -1
  9. package/service-override/tools/views.js +2 -3
  10. package/service-override/views.d.ts +0 -1
  11. package/services.d.ts +3 -3
  12. package/services.js +3 -3
  13. package/vscode/src/vs/base/browser/markdownRenderer.js +9 -3
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +2 -2
  15. package/vscode/src/vs/base/browser/ui/button/button.js +3 -3
  16. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  17. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -1
  18. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +2 -2
  19. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +2 -2
  20. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +2 -2
  21. package/vscode/src/vs/{platform/hover/browser → base/browser/ui/hover}/hover.d.ts +64 -4
  22. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +13 -0
  24. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  25. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +30 -14
  26. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +15 -2
  27. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +2 -2
  28. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.css.js +4 -0
  29. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +239 -0
  30. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +2 -2
  31. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +2 -2
  32. package/vscode/src/vs/base/browser/ui/list/listView.js +5 -3
  33. package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +33 -0
  34. package/vscode/src/vs/base/browser/ui/list/listWidget.js +4 -1
  35. package/vscode/src/vs/base/browser/ui/menu/menu.js +1 -0
  36. package/vscode/src/vs/base/browser/ui/menu/menubar.css.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/progressbar/progressAccessibilitySignal.js +13 -0
  38. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +7 -1
  39. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +2 -2
  40. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +2 -2
  41. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +8 -2
  42. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +1 -1
  43. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -4
  44. package/vscode/src/vs/base/browser/ui/tree/media/tree.css.js +1 -1
  45. package/vscode/src/vs/base/browser/ui/tree/objectTree.js +6 -4
  46. package/vscode/src/vs/base/common/arraysFind.js +7 -7
  47. package/vscode/src/vs/base/common/async.js +8 -3
  48. package/vscode/src/vs/base/common/cache.js +29 -10
  49. package/vscode/src/vs/base/common/cancellation.js +6 -1
  50. package/vscode/src/vs/base/common/codicons.d.ts +3 -0
  51. package/vscode/src/vs/base/common/codiconsLibrary.js +3 -0
  52. package/vscode/src/vs/base/common/controlFlow.js +48 -0
  53. package/vscode/src/vs/base/common/equals.js +44 -0
  54. package/vscode/src/vs/base/common/event.d.ts +11 -1
  55. package/vscode/src/vs/base/common/event.js +26 -1
  56. package/vscode/src/vs/base/common/jsonEdit.js +1 -1
  57. package/vscode/src/vs/base/common/lifecycle.js +1 -1
  58. package/vscode/src/vs/base/common/map.js +53 -4
  59. package/vscode/src/vs/base/common/network.js +2 -0
  60. package/vscode/src/vs/base/common/objects.js +3 -0
  61. package/vscode/src/vs/base/common/observableInternal/autorun.js +1 -10
  62. package/vscode/src/vs/base/common/observableInternal/base.js +22 -10
  63. package/vscode/src/vs/base/common/observableInternal/derived.js +8 -8
  64. package/vscode/src/vs/base/common/observableInternal/promise.js +19 -1
  65. package/vscode/src/vs/base/common/observableInternal/utils.js +30 -52
  66. package/vscode/src/vs/base/common/product.d.ts +1 -0
  67. package/vscode/src/vs/base/common/strings.js +1 -1
  68. package/vscode/src/vs/base/common/types.d.ts +5 -1
  69. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -2
  70. package/vscode/src/vs/editor/browser/observableUtilities.js +58 -0
  71. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +121 -2
  72. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +80 -0
  73. package/vscode/src/vs/editor/browser/stableEditorScroll.js +37 -1
  74. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +10 -3
  75. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +1 -1
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +1 -0
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +1 -0
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -0
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +3 -0
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +3 -10
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +8 -0
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +6 -6
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +1 -0
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -0
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +1 -0
  88. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +1 -0
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -0
  90. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +3 -2
  91. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +17 -8
  92. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +1 -0
  93. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +27 -19
  94. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css.js +1 -1
  95. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +4 -4
  96. package/vscode/src/vs/editor/common/core/lineRange.d.ts +12 -0
  97. package/vscode/src/vs/editor/common/core/lineRange.js +28 -0
  98. package/vscode/src/vs/editor/common/core/textEdit.d.ts +21 -0
  99. package/vscode/src/vs/editor/common/core/textEdit.js +13 -1
  100. package/vscode/src/vs/editor/common/core/textLength.d.ts +29 -0
  101. package/vscode/src/vs/editor/common/core/textLength.js +6 -0
  102. package/vscode/src/vs/editor/common/cursor/cursorCollection.js +3 -3
  103. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +11 -1
  104. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +11 -0
  105. package/vscode/src/vs/editor/common/diff/rangeMapping.js +34 -3
  106. package/vscode/src/vs/editor/common/languages.d.ts +50 -10
  107. package/vscode/src/vs/editor/common/languages.js +11 -1
  108. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +1 -1
  109. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -2
  110. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +1 -1
  111. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +11 -1
  112. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +3 -0
  113. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +22 -6
  114. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +5 -0
  115. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +1 -0
  116. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  117. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +20 -3
  118. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +1 -1
  119. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +2 -2
  120. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +4 -4
  121. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +2 -2
  122. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +7 -0
  123. package/vscode/src/vs/editor/contrib/find/browser/findController.js +11 -6
  124. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +10 -10
  125. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +74 -0
  126. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +332 -0
  127. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +34 -0
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +39 -0
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +355 -0
  130. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +11 -14
  131. package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +1 -1
  132. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +13 -0
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +354 -0
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +42 -0
  135. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +320 -0
  136. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverComputer.js +48 -0
  137. package/vscode/src/vs/editor/contrib/hover/browser/{marginHover.js → marginHoverWidget.js} +14 -48
  138. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +250 -41
  139. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +1 -0
  140. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +44 -20
  141. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +11 -7
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -0
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -0
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +2 -3
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +1 -0
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +26 -13
  147. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +5 -11
  148. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +24 -22
  149. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +39 -70
  150. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +3 -3
  151. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +1 -0
  152. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -0
  153. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +1 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -2
  155. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +5 -3
  156. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css.js +1 -1
  157. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +18 -6
  158. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.css.js +1 -1
  159. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +165 -40
  160. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +5 -0
  161. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +3 -3
  162. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +15 -8
  163. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +13 -6
  164. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +0 -2
  165. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +9 -2
  166. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +23 -18
  167. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +33 -11
  168. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +1 -9
  169. package/vscode/src/vs/platform/accessibility/common/accessibility.js +2 -1
  170. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +15 -9
  171. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +133 -132
  172. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.d.ts +12 -5
  173. package/vscode/src/vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler.js +25 -0
  174. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +4 -4
  175. package/vscode/src/vs/platform/actions/browser/buttonbar.js +10 -7
  176. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +1 -1
  177. package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +4 -1
  178. package/vscode/src/vs/platform/actions/browser/toolbar.js +53 -36
  179. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -1
  180. package/vscode/src/vs/platform/actions/common/actions.js +14 -4
  181. package/vscode/src/vs/platform/actions/common/menuService.js +30 -8
  182. package/vscode/src/vs/platform/configuration/common/configuration.js +4 -0
  183. package/vscode/src/vs/platform/configuration/common/configurationModels.js +43 -32
  184. package/vscode/src/vs/platform/configuration/common/configurations.js +12 -10
  185. package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +4 -1
  186. package/vscode/src/vs/platform/contextview/browser/contextView.service.d.ts +2 -3
  187. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +10 -8
  188. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +0 -1
  189. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +1 -0
  190. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +1 -0
  191. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +5 -0
  192. package/vscode/src/vs/platform/files/common/files.d.ts +14 -1
  193. package/vscode/src/vs/platform/hover/browser/hover.service.d.ts +2 -31
  194. package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +9 -0
  195. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +42 -8
  196. package/vscode/src/vs/platform/log/common/log.js +3 -1
  197. package/vscode/src/vs/platform/markers/common/markerService.js +7 -3
  198. package/vscode/src/vs/platform/opener/browser/link.js +6 -4
  199. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +2 -2
  200. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +15 -7
  201. package/vscode/src/vs/platform/telemetry/common/gdprTypings.d.ts +0 -1
  202. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -0
  203. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +5 -0
  204. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +30 -0
  205. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +6 -0
  206. package/vscode/src/vs/platform/theme/browser/iconsStyleSheet.js +13 -11
  207. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  208. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +28 -28
  209. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -6
  210. package/vscode/src/vs/workbench/api/common/extHostBulkEdits.js +2 -1
  211. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +104 -96
  212. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +4 -4
  213. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +9 -3
  214. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +3 -3
  215. package/vscode/src/vs/workbench/api/common/extHostDocumentSaveParticipant.js +2 -1
  216. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +1 -1
  217. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +19 -1
  218. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +87 -17
  219. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +39 -2
  220. package/vscode/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.js +2 -1
  221. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +52 -36
  222. package/vscode/src/vs/workbench/api/common/extHostTesting.js +10 -28
  223. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +6 -1
  224. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +132 -136
  225. package/vscode/src/vs/workbench/api/common/extHostTypes.js +72 -18
  226. package/vscode/src/vs/workbench/api/common/extHostWindow.js +3 -5
  227. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +86 -76
  228. package/vscode/src/vs/workbench/browser/actions/media/actions.css.js +1 -1
  229. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +30 -6
  230. package/vscode/src/vs/workbench/browser/labels.js +4 -1
  231. package/vscode/src/vs/workbench/browser/parts/compositePart.d.ts +3 -1
  232. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +19 -7
  233. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +16 -3
  234. package/vscode/src/vs/workbench/browser/parts/editor/media/editorquickaccess.css.js +1 -1
  235. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  236. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +14 -33
  237. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +33 -13
  238. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +7 -5
  239. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +4 -3
  240. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.d.ts +2 -1
  241. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +3 -1
  242. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +3 -3
  243. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
  244. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +182 -63
  245. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +14 -3
  246. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +61 -34
  247. package/vscode/src/vs/workbench/browser/workbench.contribution.js +16 -10
  248. package/vscode/src/vs/workbench/common/theme.js +144 -98
  249. package/vscode/src/vs/workbench/common/views.d.ts +2 -0
  250. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +190 -138
  251. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +876 -0
  252. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +59 -7
  253. package/vscode/src/vs/workbench/contrib/accessibility/browser/{accessibilityContributions.js → accessibleViewContributions.js} +160 -6
  254. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +3 -3
  255. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +66 -150
  256. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +75 -12
  257. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +21 -22
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +6 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +101 -0
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +6 -5
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +30 -23
  262. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +201 -47
  263. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +42 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +13 -28
  265. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  266. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +366 -6
  267. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +35 -2
  268. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  269. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +4 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +4 -9
  271. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +95 -5
  272. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.js +2 -1
  273. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  274. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +11 -6
  275. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +94 -79
  276. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +0 -13
  277. package/vscode/src/vs/workbench/contrib/chat/common/chatParticipantContribTypes.js +2 -0
  278. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +7 -9
  279. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.service.js +3 -0
  280. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +1 -1
  281. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -0
  282. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +4 -4
  283. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +30 -26
  284. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +30 -29
  285. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +4 -4
  286. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +5 -4
  287. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +13 -13
  289. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +26 -16
  290. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +107 -26
  291. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +23 -2
  293. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +2 -3
  294. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +39 -11
  295. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +53 -33
  296. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +967 -0
  297. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +101 -0
  298. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +4 -1
  299. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +82 -0
  300. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +10 -9
  301. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +79 -45
  302. package/vscode/src/vs/workbench/contrib/files/browser/{fileCommands.save.js → fileCommands._save.js} +4 -4
  303. package/vscode/src/vs/workbench/contrib/files/browser/{files.configuration.contribution.js → files.contribution._configuration.js} +1 -1
  304. package/vscode/src/vs/workbench/contrib/files/browser/{files.editorPane.contribution.js → files.contribution._editorPane.js} +18 -18
  305. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +5 -3
  306. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +19 -14
  307. package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
  308. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +8 -8
  309. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +15 -2
  310. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +29 -112
  311. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +10 -7
  312. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +99 -91
  313. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +9 -31
  314. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +345 -104
  315. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +62 -69
  316. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +63 -46
  317. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +18 -10
  318. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  319. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  320. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +1 -31
  321. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +7 -3
  322. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +5 -1
  323. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +1 -0
  324. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +1 -0
  325. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +1 -0
  326. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +4 -4
  327. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +2 -48
  328. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +28 -23
  329. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +5 -9
  330. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +112 -0
  331. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +18 -10
  332. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +4 -4
  333. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +7 -2
  334. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +4 -5
  335. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +8 -3
  336. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -0
  337. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +36 -4
  338. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +9 -6
  339. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +17 -5
  340. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +6 -4
  341. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +5 -5
  342. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +3 -3
  343. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +5 -4
  344. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +2 -0
  345. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  346. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellAnchor.js +2 -3
  347. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +22 -1
  348. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +34 -6
  349. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +15 -0
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +6 -4
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +3 -0
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +17 -14
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +2 -1
  354. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +52 -16
  355. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  356. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +2 -2
  357. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +25 -12
  358. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +6 -4
  359. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +0 -2
  360. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +6 -4
  361. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +24 -2
  362. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +38 -8
  363. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +0 -1
  364. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +1 -0
  365. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +7 -14
  366. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +24 -6
  367. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.js +2 -1
  368. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +8 -9
  369. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +2 -20
  370. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +3 -1
  371. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +2 -2
  372. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +1 -0
  373. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +10 -0
  374. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +15 -3
  375. package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.d.ts +9 -0
  376. package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.js +3 -0
  377. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +30 -16
  378. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +15 -4
  379. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +20 -1
  380. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +0 -1
  381. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +4 -1
  382. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +4 -1
  383. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.d.ts +1 -1
  384. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +8 -2
  385. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +2 -1
  386. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +4 -1
  387. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +3 -3
  388. package/vscode/src/vs/workbench/services/language/common/languageService.js +23 -18
  389. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +6 -4
  390. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +50 -9
  391. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +1 -0
  392. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +97 -0
  393. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.d.ts +7 -2
  394. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +2 -2
  395. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +23 -45
  396. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +65 -91
  397. package/vscode-dts/vscode.proposed.chatProvider.d.ts +9 -0
  398. package/vscode-dts/vscode.proposed.chatTab.d.ts +1 -5
  399. package/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts +15 -0
  400. package/vscode-dts/vscode.proposed.debugFocus.d.ts +4 -4
  401. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
  402. package/vscode-dts/vscode.proposed.documentPaste.d.ts +144 -43
  403. package/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts +76 -0
  404. package/vscode-dts/vscode.proposed.interactive.d.ts +1 -17
  405. package/vscode-dts/vscode.proposed.languageModels.d.ts +56 -11
  406. package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +12 -1
  407. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +4 -4
  408. package/vscode-dts/vscode.proposed.speech.d.ts +2 -1
  409. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +144 -38
  410. package/vscode-dts/vscode.proposed.testPreserveFocus.d.ts +28 -0
  411. package/vscode/src/vs/base/browser/ui/hover/updatableHoverWidget.d.ts +0 -21
  412. package/vscode/src/vs/base/browser/ui/hover/updatableHoverWidget.js +0 -214
  413. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +0 -32
  414. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +0 -838
  415. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +0 -621
  416. package/vscode/src/vs/platform/accessibility/common/accessibility.service.d.ts +0 -19
  417. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -54
  418. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +0 -70
  419. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +0 -237
  420. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +0 -49
  421. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +0 -178
  422. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +0 -141
  423. package/vscode/src/vs/workbench/contrib/chat/common/chatContributionService.service.js +0 -3
  424. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatFileCreationWidget.js +0 -212
  425. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/OutlineEntry.js +0 -95
  426. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +0 -110
  427. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +0 -224
  428. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +0 -48
  429. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +0 -47
  430. package/vscode-dts/vscode.proposed.dropMetadata.d.ts +0 -65
  431. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +0 -57
  432. package/vscode-dts/vscode.proposed.windowActivity.d.ts +0 -17
  433. /package/vscode/src/vs/workbench/browser/parts/editor/{editor.autosave.contribution.js → editor.contribution._autosave.js} +0 -0
  434. /package/vscode/src/vs/workbench/contrib/files/browser/{files.fileEditorFactory.contribution.js → files.contribution._fileEditorFactory.js} +0 -0
@@ -48,11 +48,32 @@ registerAction2(class RestrictSearchToFolderAction extends Action2 {
48
48
  await searchWithFolderCommand(accessor, false, true, undefined, folderMatch);
49
49
  }
50
50
  });
51
+ registerAction2(class ExpandSelectedTreeCommandAction extends Action2 {
52
+ constructor() {
53
+ super({
54
+ id: "search.action.expandRecursively" ,
55
+ title: ( localizeWithPath(_moduleId, 1, "Expand Recursively")),
56
+ category,
57
+ menu: [{
58
+ id: MenuId.SearchContext,
59
+ when: ( (ContextKeyExpr.and(
60
+ (ContextKeyExpr.or(SearchContext.FileFocusKey, SearchContext.FolderFocusKey)),
61
+ SearchContext.HasSearchResults
62
+ ))),
63
+ group: 'search',
64
+ order: 4
65
+ }]
66
+ });
67
+ }
68
+ async run(accessor) {
69
+ await expandSelectSubtree(accessor);
70
+ }
71
+ });
51
72
  registerAction2(class ExcludeFolderFromSearchAction extends Action2 {
52
73
  constructor() {
53
74
  super({
54
75
  id: "search.action.excludeFromSearch" ,
55
- title: ( localize2WithPath(_moduleId, 1, "Exclude Folder from Search")),
76
+ title: ( localize2WithPath(_moduleId, 2, "Exclude Folder from Search")),
56
77
  category,
57
78
  menu: [
58
79
  {
@@ -72,7 +93,7 @@ registerAction2(class RevealInSideBarForSearchResultsAction extends Action2 {
72
93
  constructor() {
73
94
  super({
74
95
  id: "search.action.revealInSideBar" ,
75
- title: ( localize2WithPath(_moduleId, 2, "Reveal in Explorer View")),
96
+ title: ( localize2WithPath(_moduleId, 3, "Reveal in Explorer View")),
76
97
  category,
77
98
  menu: [{
78
99
  id: MenuId.SearchContext,
@@ -119,14 +140,14 @@ registerAction2(class FindInFilesAction extends Action2 {
119
140
  super({
120
141
  id: "workbench.action.findInFiles" ,
121
142
  title: {
122
- ...( localize2WithPath(_moduleId, 3, "Find in Files")),
123
- mnemonicTitle: ( localizeWithPath(_moduleId, 4, "Find &&in Files")),
143
+ ...( localize2WithPath(_moduleId, 4, "Find in Files")),
144
+ mnemonicTitle: ( localizeWithPath(_moduleId, 5, "Find &&in Files")),
124
145
  },
125
146
  metadata: {
126
- description: ( localizeWithPath(_moduleId, 5, "Open a workspace search")),
147
+ description: ( localizeWithPath(_moduleId, 6, "Open a workspace search")),
127
148
  args: [
128
149
  {
129
- name: ( localizeWithPath(_moduleId, 6, "A set of options for the search")),
150
+ name: ( localizeWithPath(_moduleId, 7, "A set of options for the search")),
130
151
  schema: {
131
152
  type: 'object',
132
153
  properties: {
@@ -167,7 +188,7 @@ registerAction2(class FindInFolderAction extends Action2 {
167
188
  constructor() {
168
189
  super({
169
190
  id: "filesExplorer.findInFolder" ,
170
- title: ( localize2WithPath(_moduleId, 7, "Find in Folder...")),
191
+ title: ( localize2WithPath(_moduleId, 8, "Find in Folder...")),
171
192
  category,
172
193
  keybinding: {
173
194
  weight: 200 ,
@@ -192,7 +213,7 @@ registerAction2(class FindInWorkspaceAction extends Action2 {
192
213
  constructor() {
193
214
  super({
194
215
  id: "filesExplorer.findInWorkspace" ,
195
- title: ( localize2WithPath(_moduleId, 8, "Find in Workspace...")),
216
+ title: ( localize2WithPath(_moduleId, 9, "Find in Workspace...")),
196
217
  category,
197
218
  menu: [
198
219
  {
@@ -219,6 +240,15 @@ registerAction2(class FindInWorkspaceAction extends Action2 {
219
240
  }
220
241
  }
221
242
  });
243
+ function expandSelectSubtree(accessor) {
244
+ const viewsService = accessor.get(IViewsService);
245
+ const searchView = getSearchView(viewsService);
246
+ if (searchView) {
247
+ const viewer = searchView.getControl();
248
+ const selected = viewer.getFocus()[0];
249
+ viewer.expand(selected, true);
250
+ }
251
+ }
222
252
  async function searchWithFolderCommand(accessor, isFromExplorer, isIncludes, resource, folderMatch) {
223
253
  const listService = accessor.get(IListService);
224
254
  const fileService = accessor.get(IFileService);
@@ -317,7 +317,6 @@ let FileMatch = class FileMatch extends Disposable {
317
317
  this.searchInstanceID = searchInstanceID;
318
318
  this.modelService = modelService;
319
319
  this.replaceService = replaceService;
320
- this.labelService = labelService;
321
320
  this.notebookEditorService = notebookEditorService;
322
321
  this._onChange = this._register(( new Emitter()));
323
322
  this.onChange = this._onChange.event;
@@ -14,6 +14,7 @@ var SpeechToTextStatus;
14
14
  SpeechToTextStatus[SpeechToTextStatus["Recognizing"] = 2] = "Recognizing";
15
15
  SpeechToTextStatus[SpeechToTextStatus["Recognized"] = 3] = "Recognized";
16
16
  SpeechToTextStatus[SpeechToTextStatus["Stopped"] = 4] = "Stopped";
17
+ SpeechToTextStatus[SpeechToTextStatus["Error"] = 5] = "Error";
17
18
  })(SpeechToTextStatus || (SpeechToTextStatus = {}))));
18
19
  var KeywordRecognitionStatus;
19
20
  ( ((function(KeywordRecognitionStatus) {
@@ -12,7 +12,7 @@ import { IColorTheme } from '../../../../platform/theme/common/themeService.js';
12
12
  import { IWorkspaceFolder } from '../../../../platform/workspace/common/workspace.js';
13
13
  import { ITerminalStatusList } from './terminalStatusList.js';
14
14
  import { XtermTerminal } from './xterm/xtermTerminal.js';
15
- import { ITerminalConfiguration, ITerminalFont, ITerminalProcessInfo } from '../common/terminal.js';
15
+ import { ITerminalProcessInfo, ITerminalFont } from '../common/terminal.js';
16
16
  import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.service.js';
17
17
  import { IMarker, IBufferRange, ITheme, Terminal } from '@xterm/xterm';
18
18
  import { ScrollPosition } from './xterm/markNavigationAddon.js';
@@ -36,13 +36,6 @@ interface ITerminalContribution extends IDisposable {
36
36
  raw: Terminal;
37
37
  }): void;
38
38
  }
39
- interface ITerminalConfigHelper {
40
- config: ITerminalConfiguration;
41
- panelContainer: HTMLElement | undefined;
42
- configFontIsMonospace(): boolean;
43
- getFont(w: Window): ITerminalFont;
44
- showRecommendations(shellLaunchConfig: IShellLaunchConfig): void;
45
- }
46
39
  declare const enum Direction {
47
40
  Left = 0,
48
41
  Right = 1,
@@ -189,6 +182,11 @@ interface ICreateTerminalOptions {
189
182
  * The terminal's location (editor or panel), it's terminal parent (split to the right), or editor group
190
183
  */
191
184
  location?: ITerminalLocationOptions;
185
+ /**
186
+ * This terminal will not wait for contributed profiles to resolve which means it will proceed
187
+ * when the workbench is not yet loaded.
188
+ */
189
+ skipContributedProfileCheck?: boolean;
192
190
  }
193
191
  interface TerminalEditorLocation {
194
192
  viewColumn: GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE | AUX_WINDOW_GROUP_TYPE;
@@ -786,10 +784,5 @@ interface IRequestAddInstanceToGroupEvent {
786
784
  uri: URI;
787
785
  side: 'before' | 'after';
788
786
  }
789
- declare const enum LinuxDistro {
790
- Unknown = 1,
791
- Fedora = 2,
792
- Ubuntu = 3
793
- }
794
787
 
795
- export { Direction, type IBaseTerminalInstance, type ICreateTerminalOptions, type IDetachedTerminalInstance, type IDetachedXTermOptions, type IDetachedXtermTerminal, type IInternalXtermTerminal, type IMarkTracker, type IRequestAddInstanceToGroupEvent, type ISearchOptions, type ITerminalConfigHelper, type ITerminalContribution, type ITerminalGroup, type ITerminalInstance, type ITerminalInstanceHost, type ITerminalLocationOptions, type ITerminalServiceNativeDelegate, type IXtermAttachToElementOptions, type IXtermColorProvider, type IXtermTerminal, LinuxDistro, TerminalConnectionState, type TerminalEditorLocation };
788
+ export { Direction, type IBaseTerminalInstance, type ICreateTerminalOptions, type IDetachedTerminalInstance, type IDetachedXTermOptions, type IDetachedXtermTerminal, type IInternalXtermTerminal, type IMarkTracker, type IRequestAddInstanceToGroupEvent, type ISearchOptions, type ITerminalContribution, type ITerminalGroup, type ITerminalInstance, type ITerminalInstanceHost, type ITerminalLocationOptions, type ITerminalServiceNativeDelegate, type IXtermAttachToElementOptions, type IXtermColorProvider, type IXtermTerminal, TerminalConnectionState, type TerminalEditorLocation };
@@ -1,13 +1,14 @@
1
1
  import { ServiceIdentifier } from '../../../../platform/instantiation/common/instantiation.js';
2
- import { Event, IDynamicListEventMultiplexer } from '../../../../base/common/event.js';
2
+ import { Event, DynamicListEventMultiplexer, IDynamicListEventMultiplexer } from '../../../../base/common/event.js';
3
3
  import { URI } from '../../../../base/common/uri.js';
4
4
  import { TerminalCapability, ITerminalCapabilityImplMap } from '../../../../platform/terminal/common/capabilities/capabilities.js';
5
5
  import { TerminalLocation, ITerminalBackend, ITerminalLaunchError, IShellLaunchConfig, ITerminalProfile } from '../../../../platform/terminal/common/terminal.js';
6
6
  import { IEditableData } from '../../../common/views.js';
7
- import { IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy, IRemoteTerminalAttachTarget } from '../common/terminal.js';
7
+ import { IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy, IRemoteTerminalAttachTarget, ITerminalConfiguration, ITerminalFont } from '../common/terminal.js';
8
8
  import { GroupIdentifier } from '../../../common/editor.js';
9
9
  import { SIDE_GROUP_TYPE, ACTIVE_GROUP_TYPE, AUX_WINDOW_GROUP_TYPE } from '../../../services/editor/common/editorService.js';
10
- import { ITerminalInstanceHost, ITerminalInstance, IDetachedTerminalInstance, ITerminalConfigHelper, TerminalConnectionState, ITerminalGroup, ICreateTerminalOptions, IDetachedXTermOptions, ITerminalLocationOptions, ITerminalServiceNativeDelegate } from './terminal.js';
10
+ import { ITerminalInstanceHost, ITerminalInstance, IDetachedTerminalInstance, TerminalConnectionState, ITerminalGroup, ICreateTerminalOptions, IDetachedXTermOptions, ITerminalLocationOptions, ITerminalServiceNativeDelegate } from './terminal.js';
11
+ import { IXtermCore } from './xterm-private.js';
11
12
 
12
13
  declare const ITerminalService: ServiceIdentifier<ITerminalService>;
13
14
  interface ITerminalService extends ITerminalInstanceHost {
@@ -16,7 +17,6 @@ interface ITerminalService extends ITerminalInstanceHost {
16
17
  readonly instances: readonly ITerminalInstance[];
17
18
  /** Gets detached terminal instances created via {@link createDetachedXterm}. */
18
19
  readonly detachedInstances: Iterable<IDetachedTerminalInstance>;
19
- readonly configHelper: ITerminalConfigHelper;
20
20
  readonly defaultLocation: TerminalLocation;
21
21
  readonly isProcessSupportRegistered: boolean;
22
22
  readonly connectionState: TerminalConnectionState;
@@ -98,7 +98,7 @@ interface ITerminalService extends ITerminalInstanceHost {
98
98
  * instances and removing old instances as needed.
99
99
  * @param getEvent Maps the instance to the event.
100
100
  */
101
- createOnInstanceEvent<T>(getEvent: (instance: ITerminalInstance) => Event<T>): Event<T>;
101
+ createOnInstanceEvent<T>(getEvent: (instance: ITerminalInstance) => Event<T>): DynamicListEventMultiplexer<ITerminalInstance, T>;
102
102
  /**
103
103
  * Creates a capability event listener that listens to capabilities on all instances,
104
104
  * dynamically adding and removing instances and capabilities as needed.
@@ -110,6 +110,24 @@ interface ITerminalService extends ITerminalInstanceHost {
110
110
  data: K;
111
111
  }>;
112
112
  }
113
+ declare const ITerminalConfigurationService: ServiceIdentifier<ITerminalConfigurationService>;
114
+ /**
115
+ * A service that provides convenient access to the terminal configuration and derived values.
116
+ */
117
+ interface ITerminalConfigurationService {
118
+ readonly _serviceBrand: undefined;
119
+ /**
120
+ * A typed and partially validated representation of the terminal configuration.
121
+ */
122
+ readonly config: Readonly<ITerminalConfiguration>;
123
+ /**
124
+ * Fires when something within the terminal configuration changes.
125
+ */
126
+ readonly onConfigChanged: Event<void>;
127
+ setPanelContainer(panelContainer: HTMLElement): void;
128
+ configFontIsMonospace(): boolean;
129
+ getFont(w: Window, xtermCore?: IXtermCore, excludeDimensions?: boolean): ITerminalFont;
130
+ }
113
131
  declare const ITerminalInstanceService: ServiceIdentifier<ITerminalInstanceService>;
114
132
  /**
115
133
  * A service used to create instances or fetch backends, this services allows services that
@@ -146,4 +164,4 @@ interface ITerminalInstanceService {
146
164
  didRegisterBackend(remoteAuthority?: string): void;
147
165
  }
148
166
 
149
- export { ITerminalInstanceService, ITerminalService };
167
+ export { ITerminalConfigurationService, ITerminalInstanceService, ITerminalService };
@@ -1,6 +1,7 @@
1
1
  import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';
2
2
  const ITerminalService = ( createDecorator('terminalService'));
3
+ const ITerminalConfigurationService = ( createDecorator('terminalConfigurationService'));
3
4
  const ITerminalEditorService = ( createDecorator('terminalEditorService'));
4
5
  const ITerminalGroupService = ( createDecorator('terminalGroupService'));
5
6
  const ITerminalInstanceService = ( createDecorator('terminalInstanceService'));
6
- export { ITerminalEditorService, ITerminalGroupService, ITerminalInstanceService, ITerminalService };
7
+ export { ITerminalConfigurationService, ITerminalEditorService, ITerminalGroupService, ITerminalInstanceService, ITerminalService };
@@ -7,13 +7,12 @@ import { WebglAddon } from '@xterm/addon-webgl';
7
7
  import { SerializeAddon } from '@xterm/addon-serialize';
8
8
  import { ImageAddon } from '@xterm/addon-image';
9
9
  import { IConfigurationService } from '../../../../../platform/configuration/common/configuration.service.js';
10
- import { TerminalConfigHelper } from '../terminalConfigHelper.js';
11
10
  import { Disposable } from '../../../../../base/common/lifecycle.js';
12
11
  import { IShellIntegration } from '../../../../../platform/terminal/common/terminal.js';
13
12
  import { ITerminalLogService } from '../../../../../platform/terminal/common/terminal.service.js';
14
13
  import { ITerminalFont } from '../../common/terminal.js';
15
14
  import { IXtermTerminal, IDetachedXtermTerminal, IInternalXtermTerminal, IMarkTracker, IXtermColorProvider, IXtermAttachToElementOptions } from '../terminal.js';
16
- import { IStorageService } from '../../../../../platform/storage/common/storage.service.js';
15
+ import { ITerminalConfigurationService } from '../terminal.service.js';
17
16
  import { INotificationService } from '../../../../../platform/notification/common/notification.service.js';
18
17
  import { ScrollPosition } from './markNavigationAddon.js';
19
18
  import { IColorTheme } from '../../../../../platform/theme/common/themeService.js';
@@ -31,16 +30,15 @@ import { IAccessibilitySignalService } from '../../../../../platform/accessibili
31
30
  * of the scope of this class.
32
31
  */
33
32
  declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetachedXtermTerminal, IInternalXtermTerminal {
34
- private readonly _configHelper;
35
33
  private readonly _xtermColorProvider;
36
34
  private readonly _capabilities;
37
35
  private readonly _configurationService;
38
36
  private readonly _instantiationService;
39
37
  private readonly _logService;
40
38
  private readonly _notificationService;
41
- private readonly _storageService;
42
39
  private readonly _themeService;
43
40
  private readonly _telemetryService;
41
+ private readonly _terminalConfigurationService;
44
42
  private readonly _clipboardService;
45
43
  private readonly _accessibilitySignalService;
46
44
  /** The raw xterm.js instance */
@@ -72,8 +70,8 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
72
70
  private readonly _onDidRequestRunCommand;
73
71
  readonly onDidRequestRunCommand: Event<{
74
72
  command: ITerminalCommand;
75
- copyAsHtml?: boolean | undefined;
76
- noNewLine?: boolean | undefined;
73
+ copyAsHtml?: boolean;
74
+ noNewLine?: boolean;
77
75
  }>;
78
76
  private readonly _onDidRequestFocus;
79
77
  readonly onDidRequestFocus: Event<void>;
@@ -100,7 +98,7 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
100
98
  * @param xtermCtor The xterm.js constructor, this is passed in so it can be fetched lazily
101
99
  * outside of this class such that {@link raw} is not nullable.
102
100
  */
103
- constructor(xtermCtor: typeof Terminal, _configHelper: TerminalConfigHelper, cols: number, rows: number, _xtermColorProvider: IXtermColorProvider, _capabilities: ITerminalCapabilityStore, shellIntegrationNonce: string, disableShellIntegrationReporting: boolean, _configurationService: IConfigurationService, _instantiationService: IInstantiationService, _logService: ITerminalLogService, _notificationService: INotificationService, _storageService: IStorageService, _themeService: IThemeService, _telemetryService: ITelemetryService, _clipboardService: IClipboardService, contextKeyService: IContextKeyService, _accessibilitySignalService: IAccessibilitySignalService, layoutService: ILayoutService);
101
+ constructor(xtermCtor: typeof Terminal, cols: number, rows: number, _xtermColorProvider: IXtermColorProvider, _capabilities: ITerminalCapabilityStore, shellIntegrationNonce: string, disableShellIntegrationReporting: boolean, _configurationService: IConfigurationService, _instantiationService: IInstantiationService, _logService: ITerminalLogService, _notificationService: INotificationService, _themeService: IThemeService, _telemetryService: ITelemetryService, _terminalConfigurationService: ITerminalConfigurationService, _clipboardService: IClipboardService, contextKeyService: IContextKeyService, _accessibilitySignalService: IAccessibilitySignalService, layoutService: ILayoutService);
104
102
  getBufferReverseIterator(): IterableIterator<string>;
105
103
  getContentsAsHtml(): Promise<string>;
106
104
  getSelectionAsHtml(command?: ITerminalCommand): Promise<string>;
@@ -115,7 +113,6 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
115
113
  forceRedraw(): void;
116
114
  clearDecorations(): void;
117
115
  forceRefresh(): void;
118
- forceUnpause(): void;
119
116
  findNext(term: string, searchOptions: ISearchOptions): Promise<boolean>;
120
117
  findPrevious(term: string, searchOptions: ISearchOptions): Promise<boolean>;
121
118
  private _updateFindColors;
@@ -146,6 +143,9 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
146
143
  private _setCursorWidth;
147
144
  private _enableWebglRenderer;
148
145
  private _disableWebglForThisSession;
146
+ /**
147
+ * @deprecated This will be removed in the future, see https://github.com/microsoft/vscode/issues/209276
148
+ */
149
149
  private _enableCanvasRenderer;
150
150
  protected _getCanvasAddonConstructor(): Promise<typeof CanvasAddon>;
151
151
  private _refreshImageAddon;
@@ -156,7 +156,6 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
156
156
  protected _getSerializeAddonConstructor(): Promise<typeof SerializeAddon>;
157
157
  private _disposeOfCanvasRenderer;
158
158
  private _disposeOfWebglRenderer;
159
- private _measureRenderTime;
160
159
  getXtermTheme(theme?: IColorTheme): ITheme;
161
160
  private _updateTheme;
162
161
  refresh(): void;
@@ -14,17 +14,6 @@ interface IXtermCore {
14
14
  readonly scrollBarWidth: number;
15
15
  _innerRefresh(): void;
16
16
  };
17
- _onData: IEventEmitter<string>;
18
- _onKey: IEventEmitter<{ key: string }>;
19
-
20
- _charSizeService: {
21
- width: number;
22
- height: number;
23
- };
24
-
25
- coreService: {
26
- triggerDataEvent(data: string, wasUserInput?: boolean): void;
27
- };
28
17
 
29
18
  _inputHandler: {
30
19
  _curAttrData: XtermAttributes;
@@ -40,16 +29,9 @@ interface IXtermCore {
40
29
  }
41
30
  },
42
31
  _renderer: {
43
- value?: {
44
- _renderLayers?: any[];
45
- }
32
+ value?: unknown;
46
33
  };
47
- _handleIntersectionChange: any;
48
34
  };
49
35
  }
50
36
 
51
- interface IEventEmitter<T> {
52
- fire(e: T): void;
53
- }
54
-
55
- export type { IEventEmitter, IXtermCore, XtermAttributes };
37
+ export type { IXtermCore, XtermAttributes };
@@ -6,7 +6,7 @@ import { ThemeIcon } from '../../../../base/common/themables.js';
6
6
  import { URI } from '../../../../base/common/uri.js';
7
7
  import { ITerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/capabilities.js';
8
8
  import { IMergedEnvironmentVariableCollection } from '../../../../platform/terminal/common/environmentVariable.js';
9
- import { TitleEventSource, IFixedTerminalDimensions, IProcessProperty, IProcessReadyWindowsPty, ITerminalLaunchError, TerminalLocationString, ITerminalBackend, ITerminalProfileObject } from '../../../../platform/terminal/common/terminal.js';
9
+ import { TitleEventSource, IFixedTerminalDimensions, IProcessProperty, IProcessReadyWindowsPty, ITerminalLaunchError, ITerminalBackend, TerminalLocationString, ITerminalProfileObject } from '../../../../platform/terminal/common/terminal.js';
10
10
  import { IEnvironmentVariableInfo } from './environmentVariable.js';
11
11
 
12
12
  type FontWeight = 'normal' | 'bold' | number;
@@ -51,6 +51,7 @@ interface ITerminalConfiguration {
51
51
  macOptionClickForcesSelection: boolean;
52
52
  gpuAcceleration: 'auto' | 'on' | 'canvas' | 'off';
53
53
  rightClickBehavior: 'default' | 'copyPaste' | 'paste' | 'selectWord' | 'nothing';
54
+ middleClickBehavior: 'default' | 'paste';
54
55
  cursorBlinking: boolean;
55
56
  cursorStyle: 'block' | 'underline' | 'line';
56
57
  cursorStyleInactive: 'outline' | 'block' | 'underline' | 'line' | 'none';
@@ -94,6 +95,7 @@ interface ITerminalConfiguration {
94
95
  windowsEnableConpty: boolean;
95
96
  wordSeparators: string;
96
97
  enableFileLinks: 'off' | 'on' | 'notRemote';
98
+ allowedLinkSchemes: string[];
97
99
  unicodeVersion: '6' | '11';
98
100
  localEchoLatencyThreshold: number;
99
101
  localEchoExcludePrograms: ReadonlyArray<string>;
@@ -188,10 +188,10 @@ const ansiColorMap = {
188
188
  'terminal.ansiGreen': {
189
189
  index: 2,
190
190
  defaults: {
191
- light: '#00BC00',
191
+ light: '#107C10',
192
192
  dark: '#0DBC79',
193
193
  hcDark: '#00cd00',
194
- hcLight: '#00bc00'
194
+ hcLight: '#136C13'
195
195
  }
196
196
  },
197
197
  'terminal.ansiYellow': {
@@ -1,6 +1,7 @@
1
1
  import { CancellationToken } from '../../../../base/common/cancellation.js';
2
2
  import { ResourceMap } from '../../../../base/common/map.js';
3
3
  import { deepClone } from '../../../../base/common/objects.js';
4
+ import '../../../../base/common/arrays.js';
4
5
  import '../../../../base/common/observableInternal/derived.js';
5
6
  import '../../../../base/common/observableInternal/autorun.js';
6
7
  import { observableSignal } from '../../../../base/common/observableInternal/utils.js';
@@ -219,6 +219,7 @@ class TestItemCollection extends Disposable {
219
219
  const update = diffTestItems(this.options.toITestItem(oldActual), this.options.toITestItem(actual));
220
220
  this.options.getApiFor(oldActual).listener = undefined;
221
221
  internal.actual = actual;
222
+ internal.resolveBarrier = undefined;
222
223
  internal.expand = 0 ;
223
224
  if (update) {
224
225
  if (update.hasOwnProperty('tags')) {
@@ -233,6 +234,15 @@ class TestItemCollection extends Disposable {
233
234
  this.removeItem(TestId.joinToString(fullId, child.id));
234
235
  }
235
236
  }
237
+ const expandLevels = internal.expandLevels;
238
+ if (expandLevels !== undefined) {
239
+ queueMicrotask(() => {
240
+ if (internal.expand === 1 ) {
241
+ internal.expandLevels = undefined;
242
+ this.expand(( fullId.toString()), expandLevels);
243
+ }
244
+ });
245
+ }
236
246
  this.documentSynced(internal.actual.uri);
237
247
  }
238
248
  diffTagRefs(newTags, oldTags, extId) {
@@ -1,3 +1,4 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
1
2
  import { DeferredPromise } from '../../../../base/common/async.js';
2
3
  import { VSBuffer } from '../../../../base/common/buffer.js';
3
4
  import { Event, Emitter } from '../../../../base/common/event.js';
@@ -8,8 +9,10 @@ import '../../../../base/common/observableInternal/derived.js';
8
9
  import '../../../../base/common/observableInternal/autorun.js';
9
10
  import '../../../../base/common/observableInternal/utils.js';
10
11
  import '../../../../base/common/cancellation.js';
12
+ import '../../../../base/common/arrays.js';
11
13
  import { language } from '../../../../base/common/platform.js';
12
14
  import { localizeWithPath } from '../../../../nls.js';
15
+ import { ITelemetryService } from '../../../../platform/telemetry/common/telemetry.service.js';
13
16
  import { refreshComputedState } from './getComputedState.js';
14
17
  import { TestId } from './testId.js';
15
18
  import { makeEmptyCounts, terminalStatePriorities, maxPriority, statesInOrder } from './testingStates.js';
@@ -120,7 +123,7 @@ const itemToNode = (controllerId, item, parent) => ({
120
123
  ownComputedState: 0 ,
121
124
  computedState: 0 ,
122
125
  });
123
- class LiveTestResult extends Disposable {
126
+ let LiveTestResult = class LiveTestResult extends Disposable {
124
127
  get completedAt() {
125
128
  return this._completedAt;
126
129
  }
@@ -129,11 +132,12 @@ class LiveTestResult extends Disposable {
129
132
  (this.testById.values())
130
133
  );
131
134
  }
132
- constructor(id, persist, request) {
135
+ constructor(id, persist, request, telemetry) {
133
136
  super();
134
137
  this.id = id;
135
138
  this.persist = persist;
136
139
  this.request = request;
140
+ this.telemetry = telemetry;
137
141
  this.completeEmitter = this._register(( (new Emitter())));
138
142
  this.newTaskEmitter = this._register(( (new Emitter())));
139
143
  this.endTaskEmitter = this._register(( (new Emitter())));
@@ -274,6 +278,11 @@ class LiveTestResult extends Disposable {
274
278
  }
275
279
  this._completedAt = Date.now();
276
280
  this.completeEmitter.fire();
281
+ this.telemetry.publicLog2('test.outcomes', {
282
+ failures: this.counts[6 ] + this.counts[4 ],
283
+ passes: this.counts[3 ],
284
+ controller: ( (this.request.targets.map(t => t.controllerId))).join(',')
285
+ });
277
286
  }
278
287
  markRetired(testIds) {
279
288
  for (const [id, test] of this.testById) {
@@ -349,7 +358,10 @@ class LiveTestResult extends Disposable {
349
358
  }
350
359
  return index;
351
360
  }
352
- }
361
+ };
362
+ LiveTestResult = ( (__decorate([
363
+ ( (__param(3, ITelemetryService)))
364
+ ], LiveTestResult)));
353
365
  class HydratedTestResult {
354
366
  get tests() {
355
367
  return (
@@ -0,0 +1,9 @@
1
+ import { ServiceIdentifier } from '../../../../platform/instantiation/common/instantiation.js';
2
+
3
+ interface IAccessibleViewInformationService {
4
+ _serviceBrand: undefined;
5
+ hasShownAccessibleView(viewId: string): boolean;
6
+ }
7
+ declare const IAccessibleViewInformationService: ServiceIdentifier<IAccessibleViewInformationService>;
8
+
9
+ export { IAccessibleViewInformationService };
@@ -0,0 +1,3 @@
1
+ import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';
2
+ const IAccessibleViewInformationService = ( createDecorator('accessibleViewInformationService'));
3
+ export { IAccessibleViewInformationService };
@@ -2,10 +2,11 @@ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.e
2
2
  import { Emitter } from '../../../../base/common/event.js';
3
3
  import { parse } from '../../../../base/common/glob.js';
4
4
  import { Disposable } from '../../../../base/common/lifecycle.js';
5
- import { isAbsolute, parse as parse$1 } from '../../../../base/common/path.js';
6
- import { relativePath } from '../../../../base/common/resources.js';
5
+ import { isAbsolute, parse as parse$1, dirname as dirname$1 } from '../../../../base/common/path.js';
6
+ import { relativePath, dirname } from '../../../../base/common/resources.js';
7
7
  import { IConfigurationService } from '../../../../platform/configuration/common/configuration.service.js';
8
8
  import { IWorkspaceContextService } from '../../../../platform/workspace/common/workspace.service.js';
9
+ import { MRUCache } from '../../../../base/common/map.js';
9
10
  import '../../../../platform/instantiation/common/instantiation.js';
10
11
  var CustomEditorLabelService_1;
11
12
  let CustomEditorLabelService = class CustomEditorLabelService extends Disposable {
@@ -20,8 +21,9 @@ let CustomEditorLabelService = class CustomEditorLabelService extends Disposable
20
21
  this.onDidChange = this._onDidChange.event;
21
22
  this.patterns = [];
22
23
  this.enabled = true;
24
+ this.cache = ( new MRUCache(1000));
23
25
  this._templateRegexValidation = /[a-zA-Z0-9]/;
24
- this._parsedTemplateExpression = /\$\{(dirname|filename|extname|dirname\((\d+)\))\}/g;
26
+ this._parsedTemplateExpression = /\$\{(dirname|filename|extname|dirname\(([-+]?\d+)\))\}/g;
25
27
  this.storeEnablementState();
26
28
  this.storeCustomPatterns();
27
29
  this.registerListernes();
@@ -36,6 +38,7 @@ let CustomEditorLabelService = class CustomEditorLabelService extends Disposable
36
38
  }
37
39
  }
38
40
  else if (e.affectsConfiguration(CustomEditorLabelService_1.SETTING_ID_PATTERNS)) {
41
+ this.cache.clear();
39
42
  this.storeCustomPatterns();
40
43
  this._onDidChange.fire();
41
44
  }
@@ -77,32 +80,39 @@ let CustomEditorLabelService = class CustomEditorLabelService extends Disposable
77
80
  return weight;
78
81
  }
79
82
  getName(resource) {
80
- if (!this.enabled) {
83
+ if (!this.enabled || this.patterns.length === 0) {
81
84
  return undefined;
82
85
  }
83
- return this.applyPatterns(resource);
86
+ const key = ( resource.toString());
87
+ const cached = this.cache.get(key);
88
+ if (cached !== undefined) {
89
+ return cached ?? undefined;
90
+ }
91
+ const result = this.applyPatterns(resource);
92
+ this.cache.set(key, result ?? null);
93
+ return result;
84
94
  }
85
95
  applyPatterns(resource) {
86
- if (this.patterns.length === 0) {
87
- return undefined;
88
- }
89
96
  const root = this.workspaceContextService.getWorkspaceFolder(resource);
90
97
  let relativePath$1;
91
98
  for (const pattern of this.patterns) {
92
99
  let relevantPath;
93
100
  if (root && !pattern.isAbsolutePath) {
94
- relevantPath = relativePath$1 = relativePath$1 ?? relativePath(root.uri, resource) ?? resource.path;
101
+ if (!relativePath$1) {
102
+ relativePath$1 = relativePath(dirname(root.uri), resource) ?? resource.path;
103
+ }
104
+ relevantPath = relativePath$1;
95
105
  }
96
106
  else {
97
107
  relevantPath = resource.path;
98
108
  }
99
109
  if (pattern.parsedPattern(relevantPath)) {
100
- return this.applyTempate(pattern.template, resource);
110
+ return this.applyTempate(pattern.template, resource, relevantPath);
101
111
  }
102
112
  }
103
113
  return undefined;
104
114
  }
105
- applyTempate(template, resource) {
115
+ applyTempate(template, resource, relevantPath) {
106
116
  let parsedPath;
107
117
  return template.replace(this._parsedTemplateExpression, (match, variable, arg) => {
108
118
  parsedPath = parsedPath ?? parse$1(resource.path);
@@ -113,7 +123,7 @@ let CustomEditorLabelService = class CustomEditorLabelService extends Disposable
113
123
  return parsedPath.ext.slice(1);
114
124
  default: {
115
125
  const n = variable === 'dirname' ? 0 : parseInt(arg);
116
- const nthDir = this.getNthDirname(parsedPath, n);
126
+ const nthDir = this.getNthDirname(dirname$1(relevantPath), n);
117
127
  if (nthDir) {
118
128
  return nthDir;
119
129
  }
@@ -123,11 +133,15 @@ let CustomEditorLabelService = class CustomEditorLabelService extends Disposable
123
133
  });
124
134
  }
125
135
  getNthDirname(path, n) {
126
- const pathFragments = path.dir.split('/');
136
+ path = path.startsWith('/') ? path.slice(1) : path;
137
+ const pathFragments = path.split('/');
127
138
  const length = pathFragments.length;
128
- const nth = length - 1 - n;
129
- if (nth < 0) {
130
- return undefined;
139
+ let nth;
140
+ if (n < 0) {
141
+ nth = Math.abs(n) - 1;
142
+ }
143
+ else {
144
+ nth = length - n - 1;
131
145
  }
132
146
  const nthDir = pathFragments[nth];
133
147
  if (nthDir === undefined || nthDir === '') {