@codingame/monaco-vscode-katex-common 25.1.1 → 26.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 (317) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +23 -2
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +64 -27
  4. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.d.ts +3 -1
  5. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.js +31 -28
  6. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +2 -0
  7. package/vscode/src/vs/platform/actions/browser/buttonbar.js +71 -50
  8. package/vscode/src/vs/platform/editor/browser/editor.js +17 -7
  9. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +112 -129
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +10 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +110 -85
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +5 -5
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +21 -6
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +308 -216
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +153 -148
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.d.ts +27 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +247 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +71 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +347 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +44 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +287 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +20 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +89 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +188 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +677 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentSessionHoverWidget.css +98 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +263 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +34 -25
  29. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +19 -14
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +762 -359
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +22 -1
  32. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +188 -99
  33. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +9 -3
  34. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +166 -113
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +12 -5
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +279 -213
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +28 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +382 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +24 -7
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +128 -52
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +153 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +1218 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionPickerActionItem.css +14 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +39 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +193 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +2 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +93 -89
  54. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome.js +5 -2
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +42 -47
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +58 -56
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +18 -14
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +17 -15
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +6 -2
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +132 -68
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +0 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +68 -47
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +14 -13
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +4 -4
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +36 -24
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +18 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +32 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.d.ts +7 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +15 -4
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +1 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +22 -14
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.d.ts +0 -2
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +34 -27
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +1 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +198 -135
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +2 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +38 -10
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +29 -27
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +0 -2
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.js +41 -36
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +0 -2
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +23 -18
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.js +13 -13
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +0 -3
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +20 -14
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +11 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +291 -152
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +2 -3
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +227 -162
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownDecorationsRenderer.js +68 -72
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +2 -4
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +76 -75
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +2 -5
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +96 -76
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +4 -1
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +74 -38
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +0 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -25
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +107 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +814 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +0 -2
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +34 -29
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +8 -10
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +236 -197
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +123 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +492 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +75 -47
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +2 -4
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +31 -20
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +0 -3
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +42 -36
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +55 -7
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +714 -148
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +7 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +21 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +2 -7
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +143 -153
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +14 -5
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +79 -61
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +10 -4
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +209 -77
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +9 -7
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +71 -54
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.d.ts +18 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +83 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +4 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +248 -190
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +1 -14
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +23 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPullRequestContent.css +5 -41
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +493 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +63 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +9 -1
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +121 -5
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +37 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +51 -45
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +46 -42
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +4 -2
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +99 -67
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +112 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +634 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +49 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +132 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.js +15 -9
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +196 -149
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +17 -1
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +577 -193
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +119 -86
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +10 -2
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +165 -36
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.d.ts +0 -2
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.js +5 -8
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +5 -3
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +75 -65
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +30 -28
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -5
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +102 -106
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +44 -20
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +19 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +67 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +57 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +69 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +122 -82
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +39 -12
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +1110 -597
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +291 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +485 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.js +38 -28
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +9 -20
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +650 -689
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +21 -18
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +102 -36
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +1253 -790
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.d.ts +0 -7
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPartWidgets.js +11 -11
  176. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +34 -0
  177. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +55 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.d.ts +6 -2
  179. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatSelectedTools.js +51 -35
  180. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +22 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +102 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +16 -4
  183. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +192 -44
  184. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +11 -12
  185. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +99 -66
  186. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +47 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +188 -0
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.d.ts +20 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +115 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +129 -167
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +16 -3
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +37 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +143 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +56 -0
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +206 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +152 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +67 -0
  198. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +22 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +170 -0
  200. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
  201. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +80 -19
  202. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.js +20 -28
  203. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.d.ts +2 -1
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +22 -19
  205. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +15 -0
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +122 -0
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +19 -104
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +316 -1040
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +28 -0
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +162 -0
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +21 -0
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +98 -0
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +68 -0
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +416 -0
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +1 -6
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +194 -215
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +0 -1
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +74 -104
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +45 -91
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +22 -0
  221. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +98 -0
  222. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +5 -2
  223. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +96 -68
  224. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.d.ts +7 -0
  225. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +11 -0
  226. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.d.ts +20 -0
  227. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +150 -0
  228. package/vscode/src/vs/workbench/contrib/markdown/browser/markedKatexSupport.js +141 -147
  229. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.d.ts +64 -0
  230. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpToolCallUI.js +200 -0
  231. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +548 -0
  232. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.js +23 -0
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.d.ts +22 -0
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +338 -0
  235. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.d.ts +18 -0
  236. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/notebookVisibleCellObserver.js +58 -0
  237. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.d.ts +75 -0
  238. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +364 -0
  239. package/vscode/src/vs/workbench/contrib/replNotebook/browser/interactiveEditor.css +21 -0
  240. package/vscode/src/vs/workbench/contrib/replNotebook/browser/media/interactive.css +36 -0
  241. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.d.ts +110 -0
  242. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +692 -0
  243. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.d.ts +40 -0
  244. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +158 -0
  245. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.d.ts +80 -21
  246. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +440 -82
  247. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatInputRelatedFilesContrib.d.ts +0 -34
  248. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatInputRelatedFilesContrib.js +0 -139
  249. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +0 -10
  250. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +0 -1081
  251. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.d.ts +0 -199
  252. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +0 -482
  253. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +0 -28
  254. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +0 -37
  255. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +0 -94
  256. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +0 -495
  257. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.d.ts +0 -72
  258. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +0 -454
  259. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.d.ts +0 -13
  260. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +0 -66
  261. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +0 -41
  262. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +0 -372
  263. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +0 -4
  264. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +0 -58
  265. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +0 -26
  266. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +0 -594
  267. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +0 -8
  268. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +0 -55
  269. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +0 -273
  270. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +0 -1746
  271. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +0 -50
  272. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +0 -269
  273. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +0 -258
  274. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +0 -806
  275. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +0 -41
  276. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +0 -116
  277. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +0 -17
  278. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +0 -62
  279. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +0 -27
  280. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +0 -40
  281. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +0 -23
  282. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +0 -295
  283. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +0 -51
  284. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +0 -241
  285. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +0 -24
  286. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +0 -146
  287. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +0 -28
  288. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +0 -90
  289. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +0 -10
  290. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +0 -41
  291. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +0 -21
  292. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +0 -42
  293. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +0 -25
  294. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +0 -77
  295. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +0 -469
  296. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +0 -149
  297. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +0 -823
  298. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +0 -180
  299. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +0 -29
  300. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +0 -102
  301. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +0 -567
  302. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +0 -30
  303. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +0 -189
  304. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +0 -75
  305. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +0 -439
  306. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.d.ts +0 -57
  307. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.js +0 -263
  308. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.d.ts +0 -22
  309. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.js +0 -48
  310. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +0 -13
  311. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +0 -39
  312. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +0 -19
  313. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +0 -89
  314. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +0 -26
  315. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +0 -92
  316. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.d.ts +0 -33
  317. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +0 -108
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-katex-common",
3
- "version": "25.1.1",
3
+ "version": "26.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - common package depending on katex",
6
6
  "keywords": [],
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-api": "25.1.1",
18
+ "@codingame/monaco-vscode-api": "26.0.0",
19
19
  "katex": "0.16.27",
20
20
  "marked": "14.0.0"
21
21
  },
@@ -1,8 +1,10 @@
1
1
  import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionWidget.service";
2
2
  import { IAction } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
3
3
  import { BaseDropdown, IActionProvider, IBaseDropdownOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/dropdown/dropdown";
4
+ import { IActionListItemHover } from "@codingame/monaco-vscode-api/vscode/vs/platform/actionWidget/browser/actionList";
4
5
  import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables";
5
6
  import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
7
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
6
8
  export interface IActionWidgetDropdownAction extends IAction {
7
9
  category?: {
8
10
  label: string;
@@ -11,6 +13,14 @@ export interface IActionWidgetDropdownAction extends IAction {
11
13
  };
12
14
  icon?: ThemeIcon;
13
15
  description?: string;
16
+ /**
17
+ * Optional flyout hover configuration shown when focusing/hovering over the action.
18
+ */
19
+ hover?: IActionListItemHover;
20
+ /**
21
+ * Optional toolbar actions shown when the item is focused or hovered.
22
+ */
23
+ toolbarActions?: IAction[];
14
24
  }
15
25
  export interface IActionWidgetDropdownActionProvider {
16
26
  getActions(): IActionWidgetDropdownAction[];
@@ -21,6 +31,15 @@ export interface IActionWidgetDropdownOptions extends IBaseDropdownOptions {
21
31
  readonly actionBarActions?: IAction[];
22
32
  readonly actionBarActionProvider?: IActionProvider;
23
33
  readonly showItemKeybindings?: boolean;
34
+ getAnchor?: () => HTMLElement;
35
+ /**
36
+ * Name used for telemetry tracking when the dropdown closes.
37
+ * If not provided, no telemetry will be sent.
38
+ */
39
+ readonly reporter?: {
40
+ name: string;
41
+ includeOptions?: boolean;
42
+ };
24
43
  }
25
44
  /**
26
45
  * Action widget dropdown is a dropdown that uses the action widget under the hood to simulate a native dropdown menu
@@ -30,8 +49,10 @@ export declare class ActionWidgetDropdown extends BaseDropdown {
30
49
  private readonly _options;
31
50
  private readonly actionWidgetService;
32
51
  private readonly keybindingService;
33
- private enabled;
34
- constructor(container: HTMLElement, _options: IActionWidgetDropdownOptions, actionWidgetService: IActionWidgetService, keybindingService: IKeybindingService);
52
+ private readonly telemetryService;
53
+ private _enabled;
54
+ constructor(container: HTMLElement, _options: IActionWidgetDropdownOptions, actionWidgetService: IActionWidgetService, keybindingService: IKeybindingService, telemetryService: ITelemetryService);
35
55
  show(): void;
36
56
  setEnabled(enabled: boolean): void;
57
+ private _emitCloseEvent;
37
58
  }
@@ -7,35 +7,47 @@ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/th
7
7
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
8
8
  import { getActiveElement, isHTMLElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
9
9
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
10
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
10
11
 
11
12
  let ActionWidgetDropdown = class ActionWidgetDropdown extends BaseDropdown {
12
- constructor(container, _options, actionWidgetService, keybindingService) {
13
+ constructor(
14
+ container,
15
+ _options,
16
+ actionWidgetService,
17
+ keybindingService,
18
+ telemetryService
19
+ ) {
13
20
  super(container, _options);
14
21
  this._options = _options;
15
22
  this.actionWidgetService = actionWidgetService;
16
23
  this.keybindingService = keybindingService;
17
- this.enabled = true;
24
+ this.telemetryService = telemetryService;
25
+ this._enabled = true;
18
26
  }
19
27
  show() {
20
- if (!this.enabled) {
28
+ if (!this._enabled) {
21
29
  return;
22
30
  }
23
31
  let actionBarActions = this._options.actionBarActions ?? this._options.actionBarActionProvider?.getActions() ?? [];
24
32
  const actions = this._options.actions ?? this._options.actionProvider?.getActions() ?? [];
33
+ const optionBeforeOpen = actions.find(a => a.checked);
34
+ let selectedOption = optionBeforeOpen;
25
35
  const actionWidgetItems = [];
26
36
  const actionsByCategory = ( new Map());
27
37
  for (const action of actions) {
28
38
  let category = action.category;
29
39
  if (!category) {
30
- category = { label: '', order: Number.MIN_SAFE_INTEGER };
40
+ category = {
41
+ label: "",
42
+ order: Number.MIN_SAFE_INTEGER
43
+ };
31
44
  }
32
45
  if (!( actionsByCategory.has(category.label))) {
33
46
  actionsByCategory.set(category.label, []);
34
47
  }
35
48
  actionsByCategory.get(category.label).push(action);
36
49
  }
37
- const sortedCategories = Array.from(actionsByCategory.entries())
38
- .sort((a, b) => {
50
+ const sortedCategories = Array.from(actionsByCategory.entries()).sort((a, b) => {
39
51
  const aOrder = a[1][0]?.category?.order ?? Number.MAX_SAFE_INTEGER;
40
52
  const bOrder = b[1][0]?.category?.order ?? Number.MAX_SAFE_INTEGER;
41
53
  return aOrder - bOrder;
@@ -49,7 +61,7 @@ let ActionWidgetDropdown = class ActionWidgetDropdown extends BaseDropdown {
49
61
  label: categoryLabel,
50
62
  canPreview: false,
51
63
  disabled: false,
52
- hideIcon: false,
64
+ hideIcon: false
53
65
  });
54
66
  }
55
67
  for (const action of categoryActions) {
@@ -57,30 +69,34 @@ let ActionWidgetDropdown = class ActionWidgetDropdown extends BaseDropdown {
57
69
  item: action,
58
70
  tooltip: action.tooltip,
59
71
  description: action.description,
72
+ hover: action.hover,
73
+ toolbarActions: action.toolbarActions,
60
74
  kind: ActionListItemKind.Action,
61
75
  canPreview: false,
62
- group: { title: '', icon: action.icon ?? ThemeIcon.fromId(action.checked ? Codicon.check.id : Codicon.blank.id) },
76
+ group: {
77
+ title: "",
78
+ icon: action.icon ?? ThemeIcon.fromId(action.checked ? Codicon.check.id : Codicon.blank.id)
79
+ },
63
80
  disabled: !action.enabled,
64
81
  hideIcon: false,
65
82
  label: action.label,
66
- keybinding: this._options.showItemKeybindings ?
67
- this.keybindingService.lookupKeybinding(action.id) :
68
- undefined,
83
+ keybinding: this._options.showItemKeybindings ? this.keybindingService.lookupKeybinding(action.id) : undefined
69
84
  });
70
85
  }
71
86
  if (i < sortedCategories.length - 1) {
72
87
  actionWidgetItems.push({
73
- label: '',
88
+ label: "",
74
89
  kind: ActionListItemKind.Separator,
75
90
  canPreview: false,
76
91
  disabled: false,
77
- hideIcon: false,
92
+ hideIcon: false
78
93
  });
79
94
  }
80
95
  }
81
96
  const previouslyFocusedElement = getActiveElement();
82
97
  const actionWidgetDelegate = {
83
98
  onSelect: (action, preview) => {
99
+ selectedOption = action;
84
100
  this.actionWidgetService.hide();
85
101
  action.run();
86
102
  },
@@ -88,6 +104,7 @@ let ActionWidgetDropdown = class ActionWidgetDropdown extends BaseDropdown {
88
104
  if (isHTMLElement(previouslyFocusedElement)) {
89
105
  previouslyFocusedElement.focus();
90
106
  }
107
+ this._emitCloseEvent(optionBeforeOpen, selectedOption);
91
108
  }
92
109
  };
93
110
  actionBarActions = ( actionBarActions.map(action => ({
@@ -101,27 +118,47 @@ let ActionWidgetDropdown = class ActionWidgetDropdown extends BaseDropdown {
101
118
  isChecked(element) {
102
119
  return element.kind === ActionListItemKind.Action && !!element?.item?.checked;
103
120
  },
104
- getRole: (e) => {
121
+ getRole: e => {
105
122
  switch (e.kind) {
106
- case ActionListItemKind.Action:
107
- return 'menuitemcheckbox';
108
- case ActionListItemKind.Separator:
109
- return 'separator';
110
- default:
111
- return 'separator';
123
+ case ActionListItemKind.Action:
124
+ return "menuitemcheckbox";
125
+ case ActionListItemKind.Separator:
126
+ return "separator";
127
+ default:
128
+ return "separator";
112
129
  }
113
130
  },
114
- getWidgetRole: () => 'menu',
131
+ getWidgetRole: () => "menu"
115
132
  };
116
- this.actionWidgetService.show(this._options.label ?? '', false, actionWidgetItems, actionWidgetDelegate, this.element, undefined, actionBarActions, accessibilityProvider);
133
+ this.actionWidgetService.show(
134
+ this._options.label ?? "",
135
+ false,
136
+ actionWidgetItems,
137
+ actionWidgetDelegate,
138
+ this._options.getAnchor?.() ?? this.element,
139
+ undefined,
140
+ actionBarActions,
141
+ accessibilityProvider
142
+ );
117
143
  }
118
144
  setEnabled(enabled) {
119
- this.enabled = enabled;
145
+ this._enabled = enabled;
146
+ }
147
+ _emitCloseEvent(optionBeforeOpen, selectedOption) {
148
+ const optionBefore = optionBeforeOpen;
149
+ const optionAfter = selectedOption;
150
+ if (this._options.reporter) {
151
+ this.telemetryService.publicLog2("actionWidgetDropdownClosed", {
152
+ name: this._options.reporter.name,
153
+ selectionChanged: optionBefore?.id !== optionAfter?.id,
154
+ optionIdBefore: this._options.reporter.includeOptions ? optionBefore?.id : undefined,
155
+ optionIdAfter: this._options.reporter.includeOptions ? optionAfter?.id : undefined,
156
+ optionLabelBefore: this._options.reporter.includeOptions ? optionBefore?.label : undefined,
157
+ optionLabelAfter: this._options.reporter.includeOptions ? optionAfter?.label : undefined
158
+ });
159
+ }
120
160
  }
121
161
  };
122
- ActionWidgetDropdown = ( __decorate([
123
- ( __param(2, IActionWidgetService)),
124
- ( __param(3, IKeybindingService))
125
- ], ActionWidgetDropdown));
162
+ ActionWidgetDropdown = ( __decorate([( __param(2, IActionWidgetService)), ( __param(3, IKeybindingService)), ( __param(4, ITelemetryService))], ActionWidgetDropdown));
126
163
 
127
164
  export { ActionWidgetDropdown };
@@ -5,6 +5,7 @@ import { IActionWidgetService } from "@codingame/monaco-vscode-api/vscode/vs/pla
5
5
  import { IActionWidgetDropdownOptions } from "../../actionWidget/browser/actionWidgetDropdown.js";
6
6
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
7
7
  import { IKeybindingService } from "@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service";
8
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
8
9
  /**
9
10
  * Action view item for the custom action widget dropdown widget.
10
11
  * Very closely based off of `DropdownMenuActionViewItem`, would be good to have some code re-use in the future
@@ -14,9 +15,10 @@ export declare class ActionWidgetDropdownActionViewItem extends BaseActionViewIt
14
15
  private readonly _actionWidgetService;
15
16
  private readonly _keybindingService;
16
17
  private readonly _contextKeyService;
18
+ private readonly _telemetryService;
17
19
  private actionWidgetDropdown;
18
20
  private actionItem;
19
- constructor(action: IAction, actionWidgetOptions: Omit<IActionWidgetDropdownOptions, "label" | "labelRenderer">, _actionWidgetService: IActionWidgetService, _keybindingService: IKeybindingService, _contextKeyService: IContextKeyService);
21
+ constructor(action: IAction, actionWidgetOptions: Omit<IActionWidgetDropdownOptions, "label" | "labelRenderer">, _actionWidgetService: IActionWidgetService, _keybindingService: IKeybindingService, _contextKeyService: IContextKeyService, _telemetryService: ITelemetryService);
20
22
  render(container: HTMLElement): void;
21
23
  protected renderLabel(element: HTMLElement): IDisposable | null;
22
24
  protected updateAriaLabel(): void;
@@ -8,38 +8,49 @@ import { IActionWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/pla
8
8
  import { ActionWidgetDropdown } from '../../actionWidget/browser/actionWidgetDropdown.js';
9
9
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
10
10
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
11
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
11
12
 
12
13
  let ActionWidgetDropdownActionViewItem = class ActionWidgetDropdownActionViewItem extends BaseActionViewItem {
13
- constructor(action, actionWidgetOptions, _actionWidgetService, _keybindingService, _contextKeyService) {
14
+ constructor(
15
+ action,
16
+ actionWidgetOptions,
17
+ _actionWidgetService,
18
+ _keybindingService,
19
+ _contextKeyService,
20
+ _telemetryService
21
+ ) {
14
22
  super(undefined, action);
15
23
  this.actionWidgetOptions = actionWidgetOptions;
16
24
  this._actionWidgetService = _actionWidgetService;
17
25
  this._keybindingService = _keybindingService;
18
26
  this._contextKeyService = _contextKeyService;
27
+ this._telemetryService = _telemetryService;
19
28
  this.actionItem = null;
20
29
  }
21
30
  render(container) {
22
31
  this.actionItem = container;
23
- const labelRenderer = (el) => {
24
- this.element = append(el, $('a.action-label'));
32
+ const labelRenderer = el => {
33
+ this.element = append(el, $("a.action-label"));
25
34
  return this.renderLabel(this.element);
26
35
  };
27
- this.actionWidgetDropdown = this._register(( new ActionWidgetDropdown(
28
- container,
29
- { ...this.actionWidgetOptions, labelRenderer },
30
- this._actionWidgetService,
31
- this._keybindingService
32
- )));
36
+ this.actionWidgetDropdown = this._register(( new ActionWidgetDropdown(container, {
37
+ ...this.actionWidgetOptions,
38
+ labelRenderer
39
+ }, this._actionWidgetService, this._keybindingService, this._telemetryService)));
33
40
  this._register(this.actionWidgetDropdown.onDidChangeVisibility(visible => {
34
- this.element?.setAttribute('aria-expanded', `${visible}`);
41
+ this.element?.setAttribute("aria-expanded", `${visible}`);
35
42
  }));
36
43
  this.updateTooltip();
37
44
  this.updateEnabled();
38
45
  }
39
46
  renderLabel(element) {
40
- element.classList.add('codicon');
47
+ element.classList.add("codicon");
41
48
  if (this._action.label) {
42
- this._register(getBaseLayerHoverDelegate().setupManagedHover(this.options.hoverDelegate ?? getDefaultHoverDelegate('mouse'), element, this._action.label));
49
+ this._register(getBaseLayerHoverDelegate().setupManagedHover(
50
+ this.options.hoverDelegate ?? getDefaultHoverDelegate("mouse"),
51
+ element,
52
+ this._action.label
53
+ ));
43
54
  }
44
55
  return null;
45
56
  }
@@ -49,33 +60,25 @@ let ActionWidgetDropdownActionViewItem = class ActionWidgetDropdownActionViewIte
49
60
  }
50
61
  }
51
62
  setAriaLabelAttributes(element) {
52
- element.setAttribute('role', 'button');
53
- element.setAttribute('aria-haspopup', 'true');
54
- element.setAttribute('aria-expanded', 'false');
55
- element.ariaLabel = (this.getTooltip() + ' - ' + (element.textContent || this._action.label)) || '';
63
+ element.setAttribute("role", "button");
64
+ element.setAttribute("aria-haspopup", "true");
65
+ element.setAttribute("aria-expanded", "false");
66
+ element.ariaLabel = (this.getTooltip() + " - " + (element.textContent || this._action.label)) || "";
56
67
  }
57
68
  getTooltip() {
58
- const keybinding = this._keybindingService.lookupKeybinding(this.action.id, this._contextKeyService);
59
- const keybindingLabel = keybinding && keybinding.getLabel();
60
69
  const tooltip = this.action.tooltip ?? this.action.label;
61
- return keybindingLabel
62
- ? `${tooltip} (${keybindingLabel})`
63
- : tooltip;
70
+ return this._keybindingService.appendKeybinding(tooltip, this.action.id, this._contextKeyService);
64
71
  }
65
72
  show() {
66
73
  this.actionWidgetDropdown?.show();
67
74
  }
68
75
  updateEnabled() {
69
76
  const disabled = !this.action.enabled;
70
- this.actionItem?.classList.toggle('disabled', disabled);
71
- this.element?.classList.toggle('disabled', disabled);
77
+ this.actionItem?.classList.toggle("disabled", disabled);
78
+ this.element?.classList.toggle("disabled", disabled);
72
79
  this.actionWidgetDropdown?.setEnabled(!disabled);
73
80
  }
74
81
  };
75
- ActionWidgetDropdownActionViewItem = ( __decorate([
76
- ( __param(2, IActionWidgetService)),
77
- ( __param(3, IKeybindingService)),
78
- ( __param(4, IContextKeyService))
79
- ], ActionWidgetDropdownActionViewItem));
82
+ ActionWidgetDropdownActionViewItem = ( __decorate([( __param(2, IActionWidgetService)), ( __param(3, IKeybindingService)), ( __param(4, IContextKeyService)), ( __param(5, ITelemetryService))], ActionWidgetDropdownActionViewItem));
80
83
 
81
84
  export { ActionWidgetDropdownActionViewItem };
@@ -18,6 +18,8 @@ export type IButtonConfigProvider = (action: IAction, index: number) => {
18
18
  export interface IWorkbenchButtonBarOptions {
19
19
  telemetrySource?: string;
20
20
  buttonConfigProvider?: IButtonConfigProvider;
21
+ small?: boolean;
22
+ disableWhileRunning?: boolean;
21
23
  }
22
24
  export declare class WorkbenchButtonBar extends ButtonBar {
23
25
  private readonly _options;
@@ -18,7 +18,14 @@ import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platf
18
18
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
19
19
 
20
20
  let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
21
- constructor(container, _options, _contextMenuService, _keybindingService, telemetryService, _hoverService) {
21
+ constructor(
22
+ container,
23
+ _options,
24
+ _contextMenuService,
25
+ _keybindingService,
26
+ telemetryService,
27
+ _hoverService
28
+ ) {
22
29
  super(container);
23
30
  this._options = _options;
24
31
  this._contextMenuService = _contextMenuService;
@@ -31,7 +38,10 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
31
38
  this._actionRunner = this._store.add(( new ActionRunner()));
32
39
  if (_options?.telemetrySource) {
33
40
  this._actionRunner.onDidRun(e => {
34
- telemetryService.publicLog2('workbenchActionExecuted', { id: e.action.id, from: _options.telemetrySource });
41
+ telemetryService.publicLog2("workbenchActionExecuted", {
42
+ id: e.action.id,
43
+ from: _options.telemetrySource
44
+ });
35
45
  }, undefined, this._store);
36
46
  }
37
47
  }
@@ -42,7 +52,9 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
42
52
  super.dispose();
43
53
  }
44
54
  update(actions, secondary) {
45
- const conifgProvider = this._options?.buttonConfigProvider ?? (() => ({ showLabel: true }));
55
+ const conifgProvider = this._options?.buttonConfigProvider ?? (() => ({
56
+ showLabel: true
57
+ }));
46
58
  this._updateStore.clear();
47
59
  this.clear();
48
60
  const hoverDelegate = this._updateStore.add(createInstantHoverDelegate());
@@ -51,18 +63,9 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
51
63
  const actionOrSubmenu = actions[i];
52
64
  let action;
53
65
  let btn;
54
- let tooltip = '';
55
- const kb = actionOrSubmenu instanceof SubmenuAction ? '' : this._keybindingService.lookupKeybinding(actionOrSubmenu.id);
56
- if (kb) {
57
- tooltip = ( localize(
58
- 1757,
59
- "{0} ({1})",
60
- actionOrSubmenu.tooltip || actionOrSubmenu.label,
61
- kb.getLabel()
62
- ));
63
- }
64
- else {
65
- tooltip = actionOrSubmenu.tooltip || actionOrSubmenu.label;
66
+ let tooltip = actionOrSubmenu.tooltip || actionOrSubmenu.label;
67
+ if (!(actionOrSubmenu instanceof SubmenuAction)) {
68
+ tooltip = this._keybindingService.appendKeybinding(tooltip, actionOrSubmenu.id);
66
69
  }
67
70
  if (actionOrSubmenu instanceof SubmenuAction && actionOrSubmenu.actions.length > 0) {
68
71
  const [first, ...rest] = actionOrSubmenu.actions;
@@ -74,80 +77,105 @@ let WorkbenchButtonBar = class WorkbenchButtonBar extends ButtonBar {
74
77
  contextMenuProvider: this._contextMenuService,
75
78
  ariaLabel: tooltip,
76
79
  supportIcons: true,
80
+ small: this._options?.small
77
81
  });
78
- }
79
- else {
82
+ } else {
80
83
  action = actionOrSubmenu;
81
84
  btn = this.addButton({
82
85
  secondary: conifgProvider(action, i)?.isSecondary ?? secondary,
83
86
  ariaLabel: tooltip,
84
87
  supportIcons: true,
88
+ small: this._options?.small
85
89
  });
86
90
  }
87
91
  btn.enabled = action.enabled;
88
92
  btn.checked = action.checked ?? false;
89
- btn.element.classList.add('default-colors');
93
+ btn.element.classList.add("default-colors");
90
94
  const showLabel = conifgProvider(action, i)?.showLabel ?? true;
91
95
  if (showLabel) {
92
96
  btn.label = action.label;
93
- }
94
- else {
95
- btn.element.classList.add('monaco-text-button');
97
+ } else {
98
+ btn.element.classList.add("monaco-text-button");
96
99
  }
97
100
  if (conifgProvider(action, i)?.showIcon) {
98
101
  if (action instanceof MenuItemAction && ThemeIcon.isThemeIcon(action.item.icon)) {
99
102
  if (!showLabel) {
100
103
  btn.icon = action.item.icon;
101
- }
102
- else {
104
+ } else {
103
105
  btn.label = `$(${action.item.icon.id}) ${action.label}`;
104
106
  }
105
- }
106
- else if (action.class) {
107
- btn.element.classList.add(...action.class.split(' '));
107
+ } else if (action.class) {
108
+ btn.element.classList.add(...action.class.split(" "));
108
109
  }
109
110
  }
110
111
  this._updateStore.add(this._hoverService.setupManagedHover(hoverDelegate, btn.element, tooltip));
111
112
  this._updateStore.add(btn.onDidClick(async () => {
112
- this._actionRunner.run(action);
113
+ if (this._options?.disableWhileRunning) {
114
+ btn.enabled = false;
115
+ try {
116
+ await this._actionRunner.run(action);
117
+ } finally {
118
+ btn.enabled = action.enabled;
119
+ }
120
+ } else {
121
+ this._actionRunner.run(action);
122
+ }
113
123
  }));
114
124
  }
115
125
  if (secondary.length > 0) {
116
126
  const btn = this.addButton({
117
127
  secondary: true,
118
- ariaLabel: ( localize(1758, "More Actions"))
128
+ ariaLabel: ( localize(1758, "More Actions")),
129
+ small: this._options?.small
119
130
  });
120
131
  btn.icon = Codicon.dropDownButton;
121
- btn.element.classList.add('default-colors', 'monaco-text-button');
132
+ btn.element.classList.add("default-colors", "monaco-text-button");
122
133
  btn.enabled = true;
123
- this._updateStore.add(this._hoverService.setupManagedHover(hoverDelegate, btn.element, ( localize(1758, "More Actions"))));
134
+ this._updateStore.add(
135
+ this._hoverService.setupManagedHover(hoverDelegate, btn.element, ( localize(1758, "More Actions")))
136
+ );
124
137
  this._updateStore.add(btn.onDidClick(async () => {
125
138
  this._contextMenuService.showContextMenu({
126
139
  getAnchor: () => btn.element,
127
140
  getActions: () => secondary,
128
141
  actionRunner: this._actionRunner,
129
- onHide: () => btn.element.setAttribute('aria-expanded', 'false')
142
+ onHide: () => btn.element.setAttribute("aria-expanded", "false")
130
143
  });
131
- btn.element.setAttribute('aria-expanded', 'true');
144
+ btn.element.setAttribute("aria-expanded", "true");
132
145
  }));
133
146
  }
134
147
  this._onDidChange.fire(this);
135
148
  }
136
149
  };
137
- WorkbenchButtonBar = ( __decorate([
138
- ( __param(2, IContextMenuService)),
139
- ( __param(3, IKeybindingService)),
140
- ( __param(4, ITelemetryService)),
141
- ( __param(5, IHoverService))
142
- ], WorkbenchButtonBar));
150
+ WorkbenchButtonBar = ( __decorate([( __param(2, IContextMenuService)), ( __param(3, IKeybindingService)), ( __param(4, ITelemetryService)), ( __param(5, IHoverService))], WorkbenchButtonBar));
143
151
  let MenuWorkbenchButtonBar = class MenuWorkbenchButtonBar extends WorkbenchButtonBar {
144
- constructor(container, menuId, options, menuService, contextKeyService, contextMenuService, keybindingService, telemetryService, hoverService) {
145
- super(container, options, contextMenuService, keybindingService, telemetryService, hoverService);
152
+ constructor(
153
+ container,
154
+ menuId,
155
+ options,
156
+ menuService,
157
+ contextKeyService,
158
+ contextMenuService,
159
+ keybindingService,
160
+ telemetryService,
161
+ hoverService
162
+ ) {
163
+ super(
164
+ container,
165
+ options,
166
+ contextMenuService,
167
+ keybindingService,
168
+ telemetryService,
169
+ hoverService
170
+ );
146
171
  const menu = menuService.createMenu(menuId, contextKeyService);
147
172
  this._store.add(menu);
148
173
  const update = () => {
149
174
  this.clear();
150
- const actions = getActionBarActions(menu.getActions(options?.menuOptions), options?.toolbarOptions?.primaryGroup);
175
+ const actions = getActionBarActions(
176
+ menu.getActions(options?.menuOptions),
177
+ options?.toolbarOptions?.primaryGroup
178
+ );
151
179
  super.update(actions.primary, actions.secondary);
152
180
  };
153
181
  this._store.add(menu.onDidChange(update));
@@ -157,16 +185,9 @@ let MenuWorkbenchButtonBar = class MenuWorkbenchButtonBar extends WorkbenchButto
157
185
  super.dispose();
158
186
  }
159
187
  update(_actions) {
160
- throw ( new Error('Use Menu or WorkbenchButtonBar'));
188
+ throw ( new Error("Use Menu or WorkbenchButtonBar"));
161
189
  }
162
190
  };
163
- MenuWorkbenchButtonBar = ( __decorate([
164
- ( __param(3, IMenuService)),
165
- ( __param(4, IContextKeyService)),
166
- ( __param(5, IContextMenuService)),
167
- ( __param(6, IKeybindingService)),
168
- ( __param(7, ITelemetryService)),
169
- ( __param(8, IHoverService))
170
- ], MenuWorkbenchButtonBar));
191
+ MenuWorkbenchButtonBar = ( __decorate([( __param(3, IMenuService)), ( __param(4, IContextKeyService)), ( __param(5, IContextMenuService)), ( __param(6, IKeybindingService)), ( __param(7, ITelemetryService)), ( __param(8, IHoverService))], MenuWorkbenchButtonBar));
171
192
 
172
193
  export { MenuWorkbenchButtonBar, WorkbenchButtonBar };
@@ -34,17 +34,27 @@ function toOpenEditorOptions(event, isDoubleClick) {
34
34
  let preserveFocus = undefined;
35
35
  if (event.equals(KeyCode.Enter) || (isMacintosh && event.equals(KeyMod.CtrlCmd | KeyCode.DownArrow))) {
36
36
  preserveFocus = false;
37
- }
38
- else if (event.equals(KeyCode.Space)) {
37
+ } else if (event.equals(KeyCode.Space)) {
39
38
  preserveFocus = true;
40
39
  }
41
- if (typeof preserveFocus === 'undefined') {
40
+ if (typeof preserveFocus === "undefined") {
42
41
  return;
43
42
  }
44
- return { editorOptions: { preserveFocus, pinned: !preserveFocus }, openToSide: false };
45
- }
46
- else {
47
- return { editorOptions: { preserveFocus: !isDoubleClick, pinned: isDoubleClick || event.middleButton }, openToSide: event.ctrlKey || event.metaKey || event.altKey };
43
+ return {
44
+ editorOptions: {
45
+ preserveFocus,
46
+ pinned: !preserveFocus
47
+ },
48
+ openToSide: false
49
+ };
50
+ } else {
51
+ return {
52
+ editorOptions: {
53
+ preserveFocus: !isDoubleClick,
54
+ pinned: isDoubleClick || event.middleButton
55
+ },
56
+ openToSide: event.ctrlKey || event.metaKey || event.altKey
57
+ };
48
58
  }
49
59
  }
50
60