@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
@@ -7,62 +7,124 @@ declare module 'vscode' {
7
7
 
8
8
  // https://github.com/microsoft/vscode/issues/145234
9
9
 
10
+ /**
11
+ * A command that was executed in a terminal.
12
+ */
10
13
  export interface TerminalShellExecution {
11
- // TODO: This is circular, is that fine? Should we add a `TerminalShellExecutionEvent`?
12
14
  /**
13
- * The {@link Terminal} the command was executed in.
14
- */
15
- readonly terminal: Terminal;
16
-
17
- /**
18
- * The full command line that was executed, including both the command and arguments.
19
- * The accuracy of this value depends on the shell integration implementation:
15
+ * The command line that was executed. The {@link TerminalShellExecutionCommandLineConfidence confidence}
16
+ * of this value depends on the specific shell's shell integration implementation. This
17
+ * value may become more accurate after {@link window.onDidEndTerminalShellExecution} is
18
+ * fired.
20
19
  *
21
- * - It may be undefined or the empty string until {@link onDidEndTerminalShellExecution} is
22
- * fired.
23
- * - It may be inaccurate initially if the command line is pulled from the buffer directly
24
- * via the [`OSC 633/133 ; A`, `B` and `C` sequences](https://code.visualstudio.com/docs/terminal/shell-integration#_vs-code-custom-sequences-osc-633-st).
25
- * - It may contain line continuation characters and/or parts of the right prompt.
26
- * - It may be inaccurate if the shell integration does not support command line reporting
27
- * via the [`OSC 633 ; E` sequence](https://code.visualstudio.com/docs/terminal/shell-integration#_vs-code-custom-sequences-osc-633-st).
20
+ * @example
21
+ * // Log the details of the command line on start and end
22
+ * window.onDidStartTerminalShellExecution(event => {
23
+ * const commandLine = event.execution.commandLine;
24
+ * console.log(`Command started\n${summarizeCommandLine(commandLine)}`);
25
+ * });
26
+ * window.onDidEndTerminalShellExecution(event => {
27
+ * const commandLine = event.execution.commandLine;
28
+ * console.log(`Command ended\n${summarizeCommandLine(commandLine)}`);
29
+ * });
30
+ * function summarizeCommandLine(commandLine: TerminalShellExecutionCommandLine) {
31
+ * return [
32
+ * ` Command line: ${command.ommandLine.value}`,
33
+ * ` Confidence: ${command.ommandLine.confidence}`,
34
+ * ` Trusted: ${command.ommandLine.isTrusted}
35
+ * ].join('\n');
36
+ * }
28
37
  */
29
- readonly commandLine: string | undefined;
38
+ readonly commandLine: TerminalShellExecutionCommandLine;
30
39
 
31
40
  /**
32
41
  * The working directory that was reported by the shell when this command executed. This
33
- * will be a {@link Uri} if the string reported by the shell can reliably be mapped to the
34
- * connected machine. This requires the shell integration to support working directory
35
- * reporting via the [`OSC 633 ; P`](https://code.visualstudio.com/docs/terminal/shell-integration#_vs-code-custom-sequences-osc-633-st)
36
- * or `OSC 1337 ; CurrentDir=<Cwd> ST` sequences.
37
- */
38
- readonly cwd: Uri | string | undefined;
39
-
40
- /**
41
- * The exit code reported by the shell.
42
+ * {@link Uri} may represent a file on another machine (eg. ssh into another machine). This
43
+ * requires the shell integration to support working directory reporting.
42
44
  */
43
- readonly exitCode: Thenable<number | undefined>;
45
+ readonly cwd: Uri | undefined;
44
46
 
45
47
  /**
46
48
  * Creates a stream of raw data (including escape sequences) that is written to the
47
- * terminal. This will only include data that was written after `stream` was called for the
48
- * first time, ie. you must call `dataStream` immediately after the command is executed via
49
- * {@link executeCommand} or {@link onDidStartTerminalShellExecution} to not miss any data.
49
+ * terminal. This will only include data that was written after `read` was called for
50
+ * the first time, ie. you must call `read` immediately after the command is executed via
51
+ * {@link TerminalShellIntegration.executeCommand} or
52
+ * {@link window.onDidStartTerminalShellExecution} to not miss any data.
50
53
  *
51
54
  * @example
52
55
  * // Log all data written to the terminal for a command
53
56
  * const command = term.shellIntegration.executeCommand({ commandLine: 'echo "Hello world"' });
54
- * const stream = command.createDataStream();
57
+ * const stream = command.read();
55
58
  * for await (const data of stream) {
56
59
  * console.log(data);
57
60
  * }
58
61
  */
59
- createDataStream(): AsyncIterable<string>;
62
+ read(): AsyncIterable<string>;
63
+ }
64
+
65
+ /**
66
+ * A command line that was executed in a terminal.
67
+ */
68
+ export interface TerminalShellExecutionCommandLine {
69
+ /**
70
+ * The full command line that was executed, including both the command and its arguments.
71
+ */
72
+ readonly value: string;
73
+
74
+ /**
75
+ * Whether the command line value came from a trusted source and is therefore safe to
76
+ * execute without user additional confirmation, such as a notification that asks "Do you
77
+ * want to execute (command)?". This verification is likely only needed if you are going to
78
+ * execute the command again.
79
+ *
80
+ * This is `true` only when the command line was reported explicitly by the shell
81
+ * integration script (ie. {@link TerminalShellExecutionCommandLineConfidence.High high confidence})
82
+ * and it used a nonce for verification.
83
+ */
84
+ readonly isTrusted: boolean;
85
+
86
+ /**
87
+ * The confidence of the command line value which is determined by how the value was
88
+ * obtained. This depends upon the implementation of the shell integration script.
89
+ */
90
+ readonly confidence: TerminalShellExecutionCommandLineConfidence;
91
+ }
92
+
93
+ /**
94
+ * The confidence of a {@link TerminalShellExecutionCommandLine} value.
95
+ */
96
+ enum TerminalShellExecutionCommandLineConfidence {
97
+ /**
98
+ * The command line value confidence is low. This means that the value was read from the
99
+ * terminal buffer using markers reported by the shell integration script. Additionally one
100
+ * of the following conditions will be met:
101
+ *
102
+ * - The command started on the very left-most column which is unusual, or
103
+ * - The command is multi-line which is more difficult to accurately detect due to line
104
+ * continuation characters and right prompts.
105
+ * - Command line markers were not reported by the shell integration script.
106
+ */
107
+ Low = 0,
108
+
109
+ /**
110
+ * The command line value confidence is medium. This means that the value was read from the
111
+ * terminal buffer using markers reported by the shell integration script. The command is
112
+ * single-line and does not start on the very left-most column (which is unusual).
113
+ */
114
+ Medium = 1,
115
+
116
+ /**
117
+ * The command line value confidence is high. This means that the value was explicitly sent
118
+ * from the shell integration script or the command was executed via the
119
+ * {@link TerminalShellIntegration.executeCommand} API.
120
+ */
121
+ High = 2
60
122
  }
61
123
 
62
124
  export interface Terminal {
63
125
  /**
64
126
  * An object that contains [shell integration](https://code.visualstudio.com/docs/terminal/shell-integration)-powered
65
- * features for the terminal. This will always be undefined immediately after the terminal
127
+ * features for the terminal. This will always be `undefined` immediately after the terminal
66
128
  * is created. Listen to {@link window.onDidActivateTerminalShellIntegration} to be notified
67
129
  * when shell integration is activated for a terminal.
68
130
  *
@@ -73,13 +135,16 @@ declare module 'vscode' {
73
135
  readonly shellIntegration: TerminalShellIntegration | undefined;
74
136
  }
75
137
 
138
+ /**
139
+ * [Shell integration](https://code.visualstudio.com/docs/terminal/shell-integration)-powered capabilities owned by a terminal.
140
+ */
76
141
  export interface TerminalShellIntegration {
77
- // TODO: Is this fine to share the TerminalShellIntegrationChangeEvent event?
78
142
  /**
79
- * The current working directory of the terminal. This will be a {@link Uri} if the string
80
- * reported by the shell can reliably be mapped to the connected machine.
143
+ * The current working directory of the terminal. This {@link Uri} may represent a file on
144
+ * another machine (eg. ssh into another machine). This requires the shell integration to
145
+ * support working directory reporting.
81
146
  */
82
- readonly cwd: Uri | string | undefined;
147
+ readonly cwd: Uri | undefined;
83
148
 
84
149
  /**
85
150
  * Execute a command, sending ^C as necessary to interrupt any running command if needed.
@@ -178,12 +243,53 @@ declare module 'vscode' {
178
243
  * The terminal that shell integration has been activated in.
179
244
  */
180
245
  readonly terminal: Terminal;
246
+
181
247
  /**
182
248
  * The shell integration object.
183
249
  */
184
250
  readonly shellIntegration: TerminalShellIntegration;
185
251
  }
186
252
 
253
+ export interface TerminalShellExecutionStartEvent {
254
+ /**
255
+ * The terminal that shell integration has been activated in.
256
+ */
257
+ readonly terminal: Terminal;
258
+
259
+ /**
260
+ * The shell integration object.
261
+ */
262
+ readonly shellIntegration: TerminalShellIntegration;
263
+
264
+ /**
265
+ * The terminal shell execution that has ended.
266
+ */
267
+ readonly execution: TerminalShellExecution;
268
+ }
269
+
270
+ export interface TerminalShellExecutionEndEvent {
271
+ /**
272
+ * The terminal that shell integration has been activated in.
273
+ */
274
+ readonly terminal: Terminal;
275
+
276
+ /**
277
+ * The shell integration object.
278
+ */
279
+ readonly shellIntegration: TerminalShellIntegration;
280
+
281
+ /**
282
+ * The terminal shell execution that has ended.
283
+ */
284
+ readonly execution: TerminalShellExecution;
285
+
286
+ /**
287
+ * The exit code reported by the shell. `undefined` means the shell did not report an exit
288
+ * code or the shell reported a command started before the command finished.
289
+ */
290
+ readonly exitCode: number | undefined;
291
+ }
292
+
187
293
  export namespace window {
188
294
  /**
189
295
  * Fires when shell integration activates or one of its properties changes in a terminal.
@@ -195,13 +301,13 @@ declare module 'vscode' {
195
301
  * [shell integration](https://code.visualstudio.com/docs/terminal/shell-integration) is
196
302
  * activated for the terminal.
197
303
  */
198
- export const onDidStartTerminalShellExecution: Event<TerminalShellExecution>;
304
+ export const onDidStartTerminalShellExecution: Event<TerminalShellExecutionStartEvent>;
199
305
 
200
306
  /**
201
307
  * This will be fired when a terminal command is ended. This event will fire only when
202
308
  * [shell integration](https://code.visualstudio.com/docs/terminal/shell-integration) is
203
309
  * activated for the terminal.
204
310
  */
205
- export const onDidEndTerminalShellExecution: Event<TerminalShellExecution>;
311
+ export const onDidEndTerminalShellExecution: Event<TerminalShellExecutionEndEvent>;
206
312
  }
207
313
  }
@@ -0,0 +1,28 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ declare module 'vscode' {
7
+
8
+ // See https://github.com/microsoft/vscode/issues/209491
9
+
10
+ export class TestRunRequest2 extends TestRunRequest {
11
+ /**
12
+ * Controls how test Test Results view is focused. If true, the editor
13
+ * will keep the maintain the user's focus. If false, the editor will
14
+ * prefer to move focus into the Test Results view, although
15
+ * this may be configured by users.
16
+ */
17
+ readonly preserveFocus: boolean;
18
+
19
+ /**
20
+ * @param include Array of specific tests to run, or undefined to run all tests
21
+ * @param exclude An array of tests to exclude from the run.
22
+ * @param profile The run profile used for this request.
23
+ * @param continuous Whether to run tests continuously as source changes.
24
+ * @param preserveFocus Whether to preserve the user's focus when the run is started
25
+ */
26
+ constructor(include?: readonly TestItem[], exclude?: readonly TestItem[], profile?: TestRunProfile, continuous?: boolean);
27
+ }
28
+ }
@@ -1,21 +0,0 @@
1
- import { IDisposable } from '../../../common/lifecycle.js';
2
-
3
- /**
4
- * Copied from src\vs\workbench\services\hover\browser\hover.ts
5
- * @deprecated Use IHoverService
6
- */
7
- interface IHoverAction {
8
- label: string;
9
- commandId: string;
10
- iconClass?: string;
11
- run(target: HTMLElement): void;
12
- }
13
- interface IUpdatableHoverOptions {
14
- actions?: IHoverAction[];
15
- linkHandler?(url: string): void;
16
- }
17
- interface IHoverWidget extends IDisposable {
18
- readonly isDisposed: boolean;
19
- }
20
-
21
- export type { IHoverWidget, IUpdatableHoverOptions };
@@ -1,214 +0,0 @@
1
- import { addDisposableListener, EventType, getWindow } from '../../dom.js';
2
- import { TimeoutTimer } from '../../../common/async.js';
3
- import { CancellationTokenSource } from '../../../common/cancellation.js';
4
- import { isMarkdownString } from '../../../common/htmlContent.js';
5
- import { stripIcons } from '../../../common/iconLabels.js';
6
- import { DisposableStore } from '../../../common/lifecycle.js';
7
- import { isString, isFunction } from '../../../common/types.js';
8
- import { localizeWithPath } from '../../../../nls.js';
9
- const _moduleId = "vs/base/browser/ui/hover/updatableHoverWidget";
10
- function setupNativeHover(htmlElement, tooltip) {
11
- if (isString(tooltip)) {
12
- htmlElement.title = stripIcons(tooltip);
13
- }
14
- else if (tooltip?.markdownNotSupportedFallback) {
15
- htmlElement.title = tooltip.markdownNotSupportedFallback;
16
- }
17
- else {
18
- htmlElement.removeAttribute('title');
19
- }
20
- }
21
- class UpdatableHoverWidget {
22
- constructor(hoverDelegate, target, fadeInAnimation) {
23
- this.hoverDelegate = hoverDelegate;
24
- this.target = target;
25
- this.fadeInAnimation = fadeInAnimation;
26
- }
27
- async update(content, focus, options) {
28
- if (this._cancellationTokenSource) {
29
- this._cancellationTokenSource.dispose(true);
30
- this._cancellationTokenSource = undefined;
31
- }
32
- if (this.isDisposed) {
33
- return;
34
- }
35
- let resolvedContent;
36
- if (content === undefined || isString(content) || content instanceof HTMLElement) {
37
- resolvedContent = content;
38
- }
39
- else if (!isFunction(content.markdown)) {
40
- resolvedContent = content.markdown ?? content.markdownNotSupportedFallback;
41
- }
42
- else {
43
- if (!this._hoverWidget) {
44
- this.show(( localizeWithPath(_moduleId, 0, "Loading...")), focus);
45
- }
46
- this._cancellationTokenSource = ( (new CancellationTokenSource()));
47
- const token = this._cancellationTokenSource.token;
48
- resolvedContent = await content.markdown(token);
49
- if (resolvedContent === undefined) {
50
- resolvedContent = content.markdownNotSupportedFallback;
51
- }
52
- if (this.isDisposed || token.isCancellationRequested) {
53
- return;
54
- }
55
- }
56
- this.show(resolvedContent, focus, options);
57
- }
58
- show(content, focus, options) {
59
- const oldHoverWidget = this._hoverWidget;
60
- if (this.hasContent(content)) {
61
- const hoverOptions = {
62
- content,
63
- target: this.target,
64
- appearance: {
65
- showPointer: this.hoverDelegate.placement === 'element',
66
- skipFadeInAnimation: !this.fadeInAnimation || !!oldHoverWidget,
67
- },
68
- position: {
69
- hoverPosition: 2 ,
70
- },
71
- ...options
72
- };
73
- this._hoverWidget = this.hoverDelegate.showHover(hoverOptions, focus);
74
- }
75
- oldHoverWidget?.dispose();
76
- }
77
- hasContent(content) {
78
- if (!content) {
79
- return false;
80
- }
81
- if (isMarkdownString(content)) {
82
- return !!content.value;
83
- }
84
- return true;
85
- }
86
- get isDisposed() {
87
- return this._hoverWidget?.isDisposed;
88
- }
89
- dispose() {
90
- this._hoverWidget?.dispose();
91
- this._cancellationTokenSource?.dispose(true);
92
- this._cancellationTokenSource = undefined;
93
- }
94
- }
95
- function getHoverTargetElement(element, stopElement) {
96
- stopElement = stopElement ?? getWindow(element).document.body;
97
- while (!element.hasAttribute('custom-hover') && element !== stopElement) {
98
- element = element.parentElement;
99
- }
100
- return element;
101
- }
102
- function setupCustomHover(hoverDelegate, htmlElement, content, options) {
103
- htmlElement.setAttribute('custom-hover', 'true');
104
- if (htmlElement.title !== '') {
105
- console.warn('HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute.');
106
- console.trace('Stack trace:', htmlElement.title);
107
- htmlElement.title = '';
108
- }
109
- let hoverPreparation;
110
- let hoverWidget;
111
- const hideHover = (disposeWidget, disposePreparation) => {
112
- const hadHover = hoverWidget !== undefined;
113
- if (disposeWidget) {
114
- hoverWidget?.dispose();
115
- hoverWidget = undefined;
116
- }
117
- if (disposePreparation) {
118
- hoverPreparation?.dispose();
119
- hoverPreparation = undefined;
120
- }
121
- if (hadHover) {
122
- hoverDelegate.onDidHideHover?.();
123
- hoverWidget = undefined;
124
- }
125
- };
126
- const triggerShowHover = (delay, focus, target) => {
127
- return (
128
- (new TimeoutTimer(async () => {
129
- if (!hoverWidget || hoverWidget.isDisposed) {
130
- hoverWidget = ( (new UpdatableHoverWidget(hoverDelegate, target || htmlElement, delay > 0)));
131
- await hoverWidget.update(typeof content === 'function' ? content() : content, focus, options);
132
- }
133
- }, delay))
134
- );
135
- };
136
- let isMouseDown = false;
137
- const mouseDownEmitter = addDisposableListener(htmlElement, EventType.MOUSE_DOWN, () => {
138
- isMouseDown = true;
139
- hideHover(true, true);
140
- }, true);
141
- const mouseUpEmitter = addDisposableListener(htmlElement, EventType.MOUSE_UP, () => {
142
- isMouseDown = false;
143
- }, true);
144
- const mouseLeaveEmitter = addDisposableListener(htmlElement, EventType.MOUSE_LEAVE, (e) => {
145
- isMouseDown = false;
146
- hideHover(false, e.fromElement === htmlElement);
147
- }, true);
148
- const onMouseOver = (e) => {
149
- if (hoverPreparation) {
150
- return;
151
- }
152
- const toDispose = ( (new DisposableStore()));
153
- const target = {
154
- targetElements: [htmlElement],
155
- dispose: () => { }
156
- };
157
- if (hoverDelegate.placement === undefined || hoverDelegate.placement === 'mouse') {
158
- const onMouseMove = (e) => {
159
- target.x = e.x + 10;
160
- if ((e.target instanceof HTMLElement) && getHoverTargetElement(e.target, htmlElement) !== htmlElement) {
161
- hideHover(true, true);
162
- }
163
- };
164
- toDispose.add(addDisposableListener(htmlElement, EventType.MOUSE_MOVE, onMouseMove, true));
165
- }
166
- hoverPreparation = toDispose;
167
- if ((e.target instanceof HTMLElement) && getHoverTargetElement(e.target, htmlElement) !== htmlElement) {
168
- return;
169
- }
170
- toDispose.add(triggerShowHover(hoverDelegate.delay, false, target));
171
- };
172
- const mouseOverDomEmitter = addDisposableListener(htmlElement, EventType.MOUSE_OVER, onMouseOver, true);
173
- const onFocus = () => {
174
- if (isMouseDown || hoverPreparation) {
175
- return;
176
- }
177
- const target = {
178
- targetElements: [htmlElement],
179
- dispose: () => { }
180
- };
181
- const toDispose = ( (new DisposableStore()));
182
- const onBlur = () => hideHover(true, true);
183
- toDispose.add(addDisposableListener(htmlElement, EventType.BLUR, onBlur, true));
184
- toDispose.add(triggerShowHover(hoverDelegate.delay, false, target));
185
- hoverPreparation = toDispose;
186
- };
187
- let focusDomEmitter;
188
- const tagName = htmlElement.tagName.toLowerCase();
189
- if (tagName !== 'input' && tagName !== 'textarea') {
190
- focusDomEmitter = addDisposableListener(htmlElement, EventType.FOCUS, onFocus, true);
191
- }
192
- const hover = {
193
- show: focus => {
194
- hideHover(false, true);
195
- },
196
- hide: () => {
197
- hideHover(true, true);
198
- },
199
- update: async (newContent, hoverOptions) => {
200
- content = newContent;
201
- await hoverWidget?.update(content, undefined, hoverOptions);
202
- },
203
- dispose: () => {
204
- mouseOverDomEmitter.dispose();
205
- mouseLeaveEmitter.dispose();
206
- mouseDownEmitter.dispose();
207
- mouseUpEmitter.dispose();
208
- focusDomEmitter?.dispose();
209
- hideHover(true, true);
210
- }
211
- };
212
- return hover;
213
- }
214
- export { setupCustomHover, setupNativeHover };
@@ -1,32 +0,0 @@
1
- import { IHoverOptions } from '../../../../platform/hover/browser/hover.js';
2
- import { IHoverService } from '../../../../platform/hover/browser/hover.service.js';
3
- import { IContextMenuService } from '../../../../platform/contextview/browser/contextView.service.js';
4
- import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
5
- import { Disposable } from '../../../../base/common/lifecycle.js';
6
- import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.service.js';
7
- import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.service.js';
8
- import { ILayoutService } from '../../../../platform/layout/browser/layoutService.service.js';
9
- import { IHoverWidget } from '../../../../base/browser/ui/hover/updatableHoverWidget.js';
10
-
11
- declare class HoverService extends Disposable implements IHoverService {
12
- private readonly _instantiationService;
13
- private readonly _keybindingService;
14
- private readonly _layoutService;
15
- private readonly _accessibilityService;
16
- readonly _serviceBrand: undefined;
17
- private _contextViewHandler;
18
- private _currentHoverOptions;
19
- private _currentHover;
20
- private _lastHoverOptions;
21
- private _lastFocusedElementBeforeOpen;
22
- constructor(_instantiationService: IInstantiationService, contextMenuService: IContextMenuService, _keybindingService: IKeybindingService, _layoutService: ILayoutService, _accessibilityService: IAccessibilityService);
23
- showHover(options: IHoverOptions, focus?: boolean, skipLastFocusedUpdate?: boolean): IHoverWidget | undefined;
24
- hideHover(): void;
25
- private doHideHover;
26
- private _intersectionChange;
27
- showAndFocusLastHover(): void;
28
- private _keyDown;
29
- private _keyUp;
30
- }
31
-
32
- export { HoverService };