@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,6 +7,47 @@ declare module 'vscode' {
7
7
 
8
8
  // https://github.com/microsoft/vscode/issues/30066/
9
9
 
10
+ /**
11
+ * Identifies a {@linkcode DocumentDropEdit} or {@linkcode DocumentPasteEdit}
12
+ */
13
+ class DocumentDropOrPasteEditKind {
14
+ static readonly Empty: DocumentDropOrPasteEditKind;
15
+
16
+ private constructor(value: string);
17
+
18
+ /**
19
+ * The raw string value of the kind.
20
+ */
21
+ readonly value: string;
22
+
23
+ /**
24
+ * Create a new kind by appending additional scopes to the current kind.
25
+ *
26
+ * Does not modify the current kind.
27
+ */
28
+ append(...parts: string[]): DocumentDropOrPasteEditKind;
29
+
30
+ /**
31
+ * Checks if this kind intersects `other`.
32
+ *
33
+ * The kind `"text.plain"` for example intersects `text`, `"text.plain"` and `"text.plain.list"`,
34
+ * but not `"unicorn"`, or `"textUnicorn.plain"`.
35
+ *
36
+ * @param other Kind to check.
37
+ */
38
+ intersects(other: DocumentDropOrPasteEditKind): boolean;
39
+
40
+ /**
41
+ * Checks if `other` is a sub-kind of this `DocumentDropOrPasteEditKind`.
42
+ *
43
+ * The kind `"text.plain"` for example contains `"text.plain"` and `"text.plain.list"`,
44
+ * but not `"text"` or `"unicorn.text.plain"`.
45
+ *
46
+ * @param other Kind to check.
47
+ */
48
+ contains(other: DocumentDropOrPasteEditKind): boolean;
49
+ }
50
+
10
51
  /**
11
52
  * The reason why paste edits were requested.
12
53
  */
@@ -30,7 +71,7 @@ declare module 'vscode' {
30
71
  /**
31
72
  * Requested kind of paste edits to return.
32
73
  */
33
- readonly only: DocumentPasteEditKind | undefined;
74
+ readonly only: DocumentDropOrPasteEditKind | undefined;
34
75
 
35
76
  /**
36
77
  * The reason why paste edits were requested.
@@ -44,18 +85,18 @@ declare module 'vscode' {
44
85
  interface DocumentPasteEditProvider<T extends DocumentPasteEdit = DocumentPasteEdit> {
45
86
 
46
87
  /**
47
- * Optional method invoked after the user copies text in a file.
88
+ * Optional method invoked after the user copies from a {@link TextEditor text editor}.
48
89
  *
49
- * This allows the provider to attach copy metadata to the {@link DataTransfer}
50
- * which is then passed back to providers in {@linkcode provideDocumentPasteEdits}.
90
+ * This allows the provider to attach metadata about the copied text to the {@link DataTransfer}. This data
91
+ * transfer is then passed back to providers in {@linkcode provideDocumentPasteEdits}.
51
92
  *
52
- * Note that currently any changes to the {@linkcode DataTransfer} are isolated to the current editor session.
53
- * This means that added metadata cannot be seen by other applications.
93
+ * Note that currently any changes to the {@linkcode DataTransfer} are isolated to the current editor window.
94
+ * This means that any added metadata cannot be seen by other editor windows or by other applications.
54
95
  *
55
- * @param document Document where the copy took place.
96
+ * @param document Text document where the copy took place.
56
97
  * @param ranges Ranges being copied in {@linkcode document}.
57
- * @param dataTransfer The data transfer associated with the copy. You can store additional values on this for later use in {@linkcode provideDocumentPasteEdits}.
58
- * This object is only valid for the duration of this method.
98
+ * @param dataTransfer The data transfer associated with the copy. You can store additional values on this for
99
+ * later use in {@linkcode provideDocumentPasteEdits}. This object is only valid for the duration of this method.
59
100
  * @param token A cancellation token.
60
101
  *
61
102
  * @return Optional thenable that resolves when all changes to the `dataTransfer` are complete.
@@ -63,17 +104,20 @@ declare module 'vscode' {
63
104
  prepareDocumentPaste?(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, token: CancellationToken): void | Thenable<void>;
64
105
 
65
106
  /**
66
- * Invoked before the user pastes into a document.
107
+ * Invoked before the user pastes into a {@link TextEditor text editor}.
67
108
  *
68
109
  * Returned edits can replace the standard pasting behavior.
69
110
  *
70
111
  * @param document Document being pasted into
71
112
  * @param ranges Range in the {@linkcode document} to paste into.
72
- * @param dataTransfer The {@link DataTransfer data transfer} associated with the paste. This object is only valid for the duration of the paste operation.
113
+ * @param dataTransfer The {@link DataTransfer data transfer} associated with the paste. This object is only
114
+ * valid for the duration of the paste operation.
73
115
  * @param context Additional context for the paste.
74
116
  * @param token A cancellation token.
75
117
  *
76
- * @return Set of potential {@link DocumentPasteEdit edits} that apply the paste. Return `undefined` to use standard pasting.
118
+ * @return Set of potential {@link DocumentPasteEdit edits} that can apply the paste. Only a single returned
119
+ * {@linkcode DocumentPasteEdit} is applied at a time. If multiple edits are returned from all providers, then
120
+ * the first is automatically applied and a widget is shown that lets the user switch to the other edits.
77
121
  */
78
122
  provideDocumentPasteEdits?(document: TextDocument, ranges: readonly Range[], dataTransfer: DataTransfer, context: DocumentPasteEditContext, token: CancellationToken): ProviderResult<T[]>;
79
123
 
@@ -81,7 +125,7 @@ declare module 'vscode' {
81
125
  * Optional method which fills in the {@linkcode DocumentPasteEdit.additionalEdit} before the edit is applied.
82
126
  *
83
127
  * This is called once per edit and should be used if generating the complete edit may take a long time.
84
- * Resolve can only be used to change {@link DocumentPasteEdit.additionalEdit}.
128
+ * Resolve can only be used to change {@linkcode DocumentPasteEdit.additionalEdit}.
85
129
  *
86
130
  * @param pasteEdit The {@linkcode DocumentPasteEdit} to resolve.
87
131
  * @param token A cancellation token.
@@ -93,7 +137,7 @@ declare module 'vscode' {
93
137
  }
94
138
 
95
139
  /**
96
- * An edit applied on paste.
140
+ * An edit the applies a paste operation.
97
141
  */
98
142
  class DocumentPasteEdit {
99
143
 
@@ -103,14 +147,14 @@ declare module 'vscode' {
103
147
  title: string;
104
148
 
105
149
  /**
106
- * {@link DocumentPasteEditKind Kind} of the edit.
107
- *
108
- * Used to identify specific types of edits.
150
+ * {@link DocumentDropOrPasteEditKind Kind} of the edit.
109
151
  */
110
- kind: DocumentPasteEditKind;
152
+ kind: DocumentDropOrPasteEditKind;
111
153
 
112
154
  /**
113
155
  * The text or snippet to insert at the pasted locations.
156
+ *
157
+ * If your edit requires more advanced insertion logic, set this to an empty string and provide an {@link DocumentPasteEdit.additionalEdit additional edit} instead.
114
158
  */
115
159
  insertText: string | SnippetString;
116
160
 
@@ -120,47 +164,32 @@ declare module 'vscode' {
120
164
  additionalEdit?: WorkspaceEdit;
121
165
 
122
166
  /**
123
- * Controls the ordering of paste edits provided by multiple providers.
167
+ * Controls ordering when multiple paste edits can potentially be applied.
124
168
  *
125
- * If this edit yields to another, it will be shown lower in the list of paste edit.
169
+ * If this edit yields to another, it will be shown lower in the list of possible paste edits shown to the user.
126
170
  */
127
- yieldTo?: readonly DocumentPasteEditKind[];
171
+ yieldTo?: readonly DocumentDropOrPasteEditKind[];
128
172
 
129
173
  /**
130
174
  * Create a new paste edit.
131
175
  *
132
176
  * @param insertText The text or snippet to insert at the pasted locations.
133
177
  * @param title Human readable label that describes the edit.
134
- * @param kind {@link DocumentPasteEditKind Kind} of the edit.
178
+ * @param kind {@link DocumentDropOrPasteEditKind Kind} of the edit.
135
179
  */
136
- constructor(insertText: string | SnippetString, title: string, kind: DocumentPasteEditKind);
180
+ constructor(insertText: string | SnippetString, title: string, kind: DocumentDropOrPasteEditKind);
137
181
  }
138
182
 
139
-
140
183
  /**
141
- * TODO: Share with code action kind?
184
+ * Provides additional metadata about how a {@linkcode DocumentPasteEditProvider} works.
142
185
  */
143
- class DocumentPasteEditKind {
144
- static readonly Empty: DocumentPasteEditKind;
145
-
146
- // TODO: Add `Text` any others?
147
-
148
- private constructor(value: string);
149
-
150
- readonly value: string;
151
-
152
- append(...parts: string[]): CodeActionKind;
153
- intersects(other: CodeActionKind): boolean;
154
- contains(other: CodeActionKind): boolean;
155
- }
156
-
157
186
  interface DocumentPasteProviderMetadata {
158
187
  /**
159
- * List of {@link DocumentPasteEditKind kinds} that the provider may return in {@linkcode DocumentPasteEditProvider.provideDocumentPasteEdits provideDocumentPasteEdits}.
188
+ * List of {@link DocumentDropOrPasteEditKind kinds} that the provider may return in {@linkcode DocumentPasteEditProvider.provideDocumentPasteEdits provideDocumentPasteEdits}.
160
189
  *
161
- * The provider will only be invoked when one of these kinds is being requested. For normal pasting, all providers will be invoked.
190
+ * This is used to filter out providers when a specific {@link DocumentDropOrPasteEditKind kind} of edit is requested.
162
191
  */
163
- readonly providedPasteEditKinds: readonly DocumentPasteEditKind[];
192
+ readonly providedPasteEditKinds: readonly DocumentDropOrPasteEditKind[];
164
193
 
165
194
  /**
166
195
  * Mime types that {@linkcode DocumentPasteEditProvider.prepareDocumentPaste prepareDocumentPaste} may add on copy.
@@ -175,12 +204,79 @@ declare module 'vscode' {
175
204
  * Use `text/uri-list` for resources dropped from the explorer or other tree views in the workbench.
176
205
  *
177
206
  * Use `files` to indicate that the provider should be invoked if any {@link DataTransferFile files} are present in the {@linkcode DataTransfer}.
178
- * Note that {@linkcode DataTransferFile} entries are only created when dropping content from outside the editor, such as
207
+ * Note that {@linkcode DataTransferFile} entries are only created when pasting content from outside the editor, such as
179
208
  * from the operating system.
180
209
  */
181
210
  readonly pasteMimeTypes?: readonly string[];
182
211
  }
183
212
 
213
+ /**
214
+ * TODO on finalization:
215
+ * - Add ctor(insertText: string | SnippetString, title?: string, kind?: DocumentDropOrPasteEditKind); Can't be done as this is an extension to an existing class
216
+ */
217
+
218
+ export interface DocumentDropEdit {
219
+ /**
220
+ * Human readable label that describes the edit.
221
+ */
222
+ title?: string;
223
+
224
+ /**
225
+ * {@link DocumentDropOrPasteEditKind Kind} of the edit.
226
+ */
227
+ kind: DocumentDropOrPasteEditKind;
228
+
229
+ /**
230
+ * Controls the ordering or multiple edits. If this provider yield to edits, it will be shown lower in the list.
231
+ */
232
+ yieldTo?: readonly DocumentDropOrPasteEditKind[];
233
+ }
234
+
235
+ export interface DocumentDropEditProvider<T extends DocumentDropEdit = DocumentDropEdit> {
236
+ // Overload that allows returning multiple edits
237
+ // Will be merged in on finalization
238
+ provideDocumentDropEdits(document: TextDocument, position: Position, dataTransfer: DataTransfer, token: CancellationToken): ProviderResult<DocumentDropEdit | DocumentDropEdit[]>;
239
+
240
+ /**
241
+ * Optional method which fills in the {@linkcode DocumentDropEdit.additionalEdit} before the edit is applied.
242
+ *
243
+ * This is called once per edit and should be used if generating the complete edit may take a long time.
244
+ * Resolve can only be used to change {@link DocumentDropEdit.additionalEdit}.
245
+ *
246
+ * @param pasteEdit The {@linkcode DocumentDropEdit} to resolve.
247
+ * @param token A cancellation token.
248
+ *
249
+ * @returns The resolved edit or a thenable that resolves to such. It is OK to return the given
250
+ * `edit`. If no result is returned, the given `edit` is used.
251
+ */
252
+ resolveDocumentDropEdit?(edit: T, token: CancellationToken): ProviderResult<T>;
253
+ }
254
+
255
+ /**
256
+ * Provides additional metadata about how a {@linkcode DocumentDropEditProvider} works.
257
+ */
258
+ export interface DocumentDropEditProviderMetadata {
259
+ /**
260
+ * List of {@link DocumentDropOrPasteEditKind kinds} that the provider may return in {@linkcode DocumentDropEditProvider.provideDocumentDropEdits provideDocumentDropEdits}.
261
+ *
262
+ * This is used to filter out providers when a specific {@link DocumentDropOrPasteEditKind kind} of edit is requested.
263
+ */
264
+ readonly providedDropEditKinds?: readonly DocumentDropOrPasteEditKind[];
265
+
266
+ /**
267
+ * List of {@link DataTransfer} mime types that the provider can handle.
268
+ *
269
+ * This can either be an exact mime type such as `image/png`, or a wildcard pattern such as `image/*`.
270
+ *
271
+ * Use `text/uri-list` for resources dropped from the explorer or other tree views in the workbench.
272
+ *
273
+ * Use `files` to indicate that the provider should be invoked if any {@link DataTransferFile files} are present in the {@link DataTransfer}.
274
+ * Note that {@link DataTransferFile} entries are only created when dropping content from outside the editor, such as
275
+ * from the operating system.
276
+ */
277
+ readonly dropMimeTypes: readonly string[];
278
+ }
279
+
184
280
  namespace languages {
185
281
  /**
186
282
  * Registers a new {@linkcode DocumentPasteEditProvider}.
@@ -192,5 +288,10 @@ declare module 'vscode' {
192
288
  * @returns A {@link Disposable} that unregisters this provider when disposed of.
193
289
  */
194
290
  export function registerDocumentPasteEditProvider(selector: DocumentSelector, provider: DocumentPasteEditProvider, metadata: DocumentPasteProviderMetadata): Disposable;
291
+
292
+ /**
293
+ * Overload which adds extra metadata. Will be removed on finalization.
294
+ */
295
+ export function registerDocumentDropEditProvider(selector: DocumentSelector, provider: DocumentDropEditProvider, metadata?: DocumentDropEditProviderMetadata): Disposable;
195
296
  }
196
297
  }
@@ -0,0 +1,76 @@
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
+ /**
9
+ * A hover represents additional information for a symbol or word. Hovers are
10
+ * rendered in a tooltip-like widget.
11
+ */
12
+ export class VerboseHover extends Hover {
13
+
14
+ /**
15
+ * Can increase the verbosity of the hover
16
+ */
17
+ canIncreaseVerbosity?: boolean;
18
+
19
+ /**
20
+ * Can decrease the verbosity of the hover
21
+ */
22
+ canDecreaseVerbosity?: boolean;
23
+
24
+ /**
25
+ * Creates a new hover object.
26
+ *
27
+ * @param contents The contents of the hover.
28
+ * @param range The range to which the hover applies.
29
+ */
30
+ constructor(contents: MarkdownString | MarkedString | Array<MarkdownString | MarkedString>, range?: Range, canIncreaseVerbosity?: boolean, canDecreaseVerbosity?: boolean);
31
+ }
32
+
33
+ export interface HoverContext {
34
+
35
+ /**
36
+ * Whether to increase or decrease the hover's verbosity
37
+ */
38
+ readonly action?: HoverVerbosityAction;
39
+
40
+ /**
41
+ * The previous hover sent for the same position
42
+ */
43
+ readonly previousHover?: Hover;
44
+ }
45
+
46
+ export enum HoverVerbosityAction {
47
+ /**
48
+ * Increase the hover verbosity
49
+ */
50
+ Increase = 0,
51
+ /**
52
+ * Decrease the hover verbosity
53
+ */
54
+ Decrease = 1
55
+ }
56
+
57
+ /**
58
+ * The hover provider class
59
+ */
60
+ export interface HoverProvider {
61
+
62
+ /**
63
+ * Provide a hover for the given position and document. Multiple hovers at the same
64
+ * position will be merged by the editor. A hover can have a range which defaults
65
+ * to the word range at the position when omitted.
66
+ *
67
+ * @param document The document in which the command was invoked.
68
+ * @param position The position at which the command was invoked.
69
+ * @param token A cancellation token.
70
+ * @oaram context A hover context.
71
+ * @returns A hover or a thenable that resolves to such. The lack of a result can be
72
+ * signaled by returning `undefined` or `null`.
73
+ */
74
+ provideHover(document: TextDocument, position: Position, token: CancellationToken, context?: HoverContext): ProviderResult<VerboseHover>;
75
+ }
76
+ }
@@ -110,28 +110,12 @@ declare module 'vscode' {
110
110
  handleInteractiveEditorResponseFeedback?(session: S, response: R, kind: InteractiveEditorResponseFeedbackKind): void;
111
111
  }
112
112
 
113
- export interface InteractiveSession {
114
- }
115
-
116
- export interface InteractiveSessionProvider<S extends InteractiveSession = InteractiveSession> {
117
- prepareSession(token: CancellationToken): ProviderResult<S>;
118
- }
119
-
120
- export interface InteractiveSessionDynamicRequest {
121
- /**
122
- * The message that will be displayed in the UI
123
- */
124
- message: string;
125
- }
126
-
127
113
  export namespace interactive {
128
114
  // current version of the proposal.
129
115
  export const _version: 1 | number;
130
116
 
131
- export function registerInteractiveSessionProvider(id: string, provider: InteractiveSessionProvider): Disposable;
132
-
133
117
  export function registerInteractiveEditorSessionProvider(provider: InteractiveEditorSessionProvider, metadata?: InteractiveEditorSessionProviderMetadata): Disposable;
134
118
 
135
- export function transferChatSession(session: InteractiveSession, toWorkspace: Uri): void;
119
+ export function transferActiveChat(toWorkspace: Uri): void;
136
120
  }
137
121
  }
@@ -98,9 +98,38 @@ declare module 'vscode' {
98
98
  */
99
99
  export type LanguageModelChatMessage = LanguageModelChatSystemMessage | LanguageModelChatUserMessage | LanguageModelChatAssistantMessage;
100
100
 
101
+ /**
102
+ * Represents information about a registered language model.
103
+ */
104
+ export interface LanguageModelInformation {
105
+ /**
106
+ * The identifier of the language model.
107
+ */
108
+ readonly id: string;
109
+
110
+ /**
111
+ * The human-readable name of the language model.
112
+ */
113
+ readonly name: string;
114
+
115
+ /**
116
+ * The version of the language model.
117
+ */
118
+ readonly version: string;
119
+
120
+ /**
121
+ * The number of available tokens that can be used when sending requests
122
+ * to the language model.
123
+ *
124
+ * @see {@link lm.sendChatRequest}
125
+ */
126
+ readonly tokens: number;
127
+ }
128
+
101
129
  /**
102
130
  * An event describing the change in the set of available language models.
103
131
  */
132
+ // TODO@API use LanguageModelInformation instead of string?
104
133
  export interface LanguageModelChangeEvent {
105
134
  /**
106
135
  * Added language models.
@@ -173,6 +202,24 @@ declare module 'vscode' {
173
202
  */
174
203
  export namespace lm {
175
204
 
205
+ /**
206
+ * The identifiers of all language models that are currently available.
207
+ */
208
+ export const languageModels: readonly string[];
209
+
210
+ /**
211
+ * An event that is fired when the set of available language models changes.
212
+ */
213
+ export const onDidChangeLanguageModels: Event<LanguageModelChangeEvent>;
214
+
215
+ /**
216
+ * Retrieve information about a language model.
217
+ *
218
+ * @param languageModel A language model identifier.
219
+ * @returns A {@link LanguageModelInformation} instance or `undefined` if the language model does not exist.
220
+ */
221
+ export function getLanguageModelInformation(languageModel: string): LanguageModelInformation | undefined;
222
+
176
223
  /**
177
224
  * Make a chat request using a language model.
178
225
  *
@@ -198,14 +245,16 @@ declare module 'vscode' {
198
245
  export function sendChatRequest(languageModel: string, messages: LanguageModelChatMessage[], options: LanguageModelChatRequestOptions, token: CancellationToken): Thenable<LanguageModelChatResponse>;
199
246
 
200
247
  /**
201
- * The identifiers of all language models that are currently available.
202
- */
203
- export const languageModels: readonly string[];
204
-
205
- /**
206
- * An event that is fired when the set of available language models changes.
248
+ * Uses the language model specific tokenzier and computes the length in token of a given message.
249
+ *
250
+ * *Note* that this function will throw when the language model does not exist.
251
+ *
252
+ * @param languageModel A language model identifier.
253
+ * @param text A string or a message instance.
254
+ * @param token Optional cancellation token.
255
+ * @returns A thenable that resolves to the length of the message in tokens.
207
256
  */
208
- export const onDidChangeLanguageModels: Event<LanguageModelChangeEvent>;
257
+ export function computeTokenLength(languageModel: string, text: string | LanguageModelChatMessage, token?: CancellationToken): Thenable<number>;
209
258
  }
210
259
 
211
260
  /**
@@ -228,10 +277,6 @@ declare module 'vscode' {
228
277
  * model does not exist or consent hasn't been asked for.
229
278
  */
230
279
  canSendRequest(languageModelId: string): boolean | undefined;
231
-
232
- // TODO@API SYNC or ASYNC?
233
- // TODO@API future
234
- // retrieveQuota(languageModelId: string): { remaining: number; resets: Date };
235
280
  }
236
281
 
237
282
  export interface ExtensionContext {
@@ -11,6 +11,11 @@ declare module 'vscode' {
11
11
  AIGenerated = 1
12
12
  }
13
13
 
14
+ export enum NewSymbolNameTriggerKind {
15
+ Invoke = 0,
16
+ Automatic = 1,
17
+ }
18
+
14
19
  export class NewSymbolName {
15
20
  readonly newSymbolName: string;
16
21
  readonly tags?: readonly NewSymbolNameTag[];
@@ -19,6 +24,12 @@ declare module 'vscode' {
19
24
  }
20
25
 
21
26
  export interface NewSymbolNamesProvider {
27
+
28
+ /**
29
+ * @default false
30
+ */
31
+ readonly supportsAutomaticTriggerKind?: Thenable<boolean>;
32
+
22
33
  /**
23
34
  * Provide possible new names for the symbol at the given range.
24
35
  *
@@ -27,7 +38,7 @@ declare module 'vscode' {
27
38
  * @param token A cancellation token.
28
39
  * @return A list of new symbol names.
29
40
  */
30
- provideNewSymbolNames(document: TextDocument, range: Range, token: CancellationToken): ProviderResult<NewSymbolName[]>;
41
+ provideNewSymbolNames(document: TextDocument, range: Range, triggerKind: NewSymbolNameTriggerKind, token: CancellationToken): ProviderResult<NewSymbolName[]>;
31
42
  }
32
43
 
33
44
  export namespace languages {
@@ -38,13 +38,13 @@ declare module 'vscode' {
38
38
 
39
39
  export interface SourceControlHistoryItemGroup {
40
40
  readonly id: string;
41
- readonly label: string;
41
+ readonly name: string;
42
42
  readonly base?: Omit<SourceControlRemoteHistoryItemGroup, 'base'>;
43
43
  }
44
44
 
45
45
  export interface SourceControlRemoteHistoryItemGroup {
46
46
  readonly id: string;
47
- readonly label: string;
47
+ readonly name: string;
48
48
  }
49
49
 
50
50
  export interface SourceControlHistoryItemStatistics {
@@ -56,8 +56,8 @@ declare module 'vscode' {
56
56
  export interface SourceControlHistoryItem {
57
57
  readonly id: string;
58
58
  readonly parentIds: string[];
59
- readonly label: string;
60
- readonly description?: string;
59
+ readonly message: string;
60
+ readonly author?: string;
61
61
  readonly icon?: Uri | { light: Uri; dark: Uri } | ThemeIcon;
62
62
  readonly timestamp?: number;
63
63
  readonly statistics?: SourceControlHistoryItemStatistics;
@@ -15,7 +15,8 @@ declare module 'vscode' {
15
15
  Started = 1,
16
16
  Recognizing = 2,
17
17
  Recognized = 3,
18
- Stopped = 4
18
+ Stopped = 4,
19
+ Error = 5
19
20
  }
20
21
 
21
22
  export interface SpeechToTextEvent {