@codingame/monaco-vscode-katex-common 24.1.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 (262) hide show
  1. package/empty.js +1 -0
  2. package/package.json +45 -0
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +37 -0
  4. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +127 -0
  5. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.d.ts +27 -0
  6. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.js +81 -0
  7. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +44 -0
  8. package/vscode/src/vs/platform/actions/browser/buttonbar.js +172 -0
  9. package/vscode/src/vs/platform/editor/browser/editor.d.ts +12 -0
  10. package/vscode/src/vs/platform/editor/browser/editor.js +51 -0
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +41 -0
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +295 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.d.ts +2 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +60 -0
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +65 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +650 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +2 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +364 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.d.ts +38 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +207 -0
  21. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.d.ts +17 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +216 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.d.ts +24 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +114 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentModel.d.ts +34 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentModel.js +141 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentWidgets.d.ts +169 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatAttachmentWidgets.js +951 -0
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentMarkdownRenderer.d.ts +19 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentMarkdownRenderer.js +109 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAgentCommandContentPart.d.ts +12 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAgentCommandContentPart.js +47 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAnonymousRateLimitedPart.d.ts +13 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAnonymousRateLimitedPart.js +49 -0
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAttachmentsContentPart.d.ts +27 -0
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAttachmentsContentPart.js +160 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatChangesSummaryPart.d.ts +40 -0
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatChangesSummaryPart.js +286 -0
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCodeCitationContentPart.d.ts +13 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCodeCitationContentPart.js +49 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollapsibleContentPart.d.ts +34 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollapsibleContentPart.js +101 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.d.ts +14 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +30 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.d.ts +11 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +37 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.d.ts +17 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +69 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationWidget.d.ts +116 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationWidget.js +417 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentCodePools.d.ts +20 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatContentCodePools.js +66 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatElicitationContentPart.d.ts +25 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatElicitationContentPart.js +123 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatErrorConfirmationPart.d.ts +18 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatErrorConfirmationPart.js +60 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatErrorContentPart.d.ts +16 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatErrorContentPart.js +46 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatExtensionsContentPart.d.ts +19 -0
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatExtensionsContentPart.js +57 -0
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.d.ts +94 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +567 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMcpServersInteractionContentPart.d.ts +34 -0
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMcpServersInteractionContentPart.js +224 -0
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMultiDiffContentPart.d.ts +34 -0
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMultiDiffContentPart.js +259 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.d.ts +38 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +160 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatPullRequestContentPart.d.ts +16 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatPullRequestContentPart.js +55 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatQuotaExceededPart.d.ts +17 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatQuotaExceededPart.js +117 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.d.ts +66 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +528 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatSuggestNextWidget.d.ts +31 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatSuggestNextWidget.js +160 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.d.ts +17 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +49 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.d.ts +18 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +91 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.service.d.ts +13 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.service.js +6 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatThinkingContentPart.d.ts +54 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatThinkingContentPart.js +429 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTodoListWidget.d.ts +40 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTodoListWidget.js +347 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatToolInputOutputContentPart.d.ts +56 -0
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatToolInputOutputContentPart.js +164 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatToolOutputContentSubPart.d.ts +32 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatToolOutputContentSubPart.js +224 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.d.ts +35 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +173 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatConfirmationWidget.css +341 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatExtensionsContent.css +27 -0
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatMarkdownPart.css +23 -0
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatMcpServersInteractionContent.css +14 -0
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatPullRequestContent.css +75 -0
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatTerminalToolProgressPart.css +221 -0
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/media/chatThinkingContent.css +162 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +41 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +94 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.d.ts +15 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +96 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +18 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +147 -0
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatResultListSubPart.d.ts +14 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatResultListSubPart.js +23 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +68 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +353 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +100 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +1085 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +39 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +275 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +32 -0
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +119 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.d.ts +19 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolInvocationSubPart.js +36 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +21 -0
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolOutputPart.js +130 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +25 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +225 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolProgressPart.d.ts +24 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/toolInvocationParts/chatToolProgressPart.js +101 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDiffBlockPart.d.ts +42 -0
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDiffBlockPart.js +127 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDragAndDrop.d.ts +43 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDragAndDrop.js +388 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +49 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +721 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.d.ts +13 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +52 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatInlineAnchorWidget.d.ts +39 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatInlineAnchorWidget.js +409 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.d.ts +334 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +2008 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPartWidgets.d.ts +52 -0
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPartWidgets.js +93 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.d.ts +217 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +1573 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.d.ts +43 -0
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +249 -0
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatOptions.d.ts +50 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatOptions.js +84 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatSelectedTools.d.ts +32 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatSelectedTools.js +174 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +31 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +101 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.d.ts +19 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/common.js +76 -0
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/media/chatSessionAction.css +39 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.d.ts +292 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +2014 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css +171 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.d.ts +173 -0
  155. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +797 -0
  156. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatImplicitContext.d.ts +54 -0
  157. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatImplicitContext.js +345 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions.d.ts +10 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputCompletions.js +1069 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputRelatedFilesContrib.d.ts +34 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputRelatedFilesContrib.js +139 -0
  162. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css +2880 -0
  163. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css +87 -0
  164. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatCodeBlockPill.css +139 -0
  165. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatInlineAnchorWidget.css +61 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatViewWelcome.css +209 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/modelPicker/modePickerActionItem.d.ts +28 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/modelPicker/modePickerActionItem.js +135 -0
  169. package/vscode/src/vs/workbench/contrib/chat/browser/modelPicker/modelPickerActionItem.d.ts +28 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/modelPicker/modelPickerActionItem.js +147 -0
  171. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +71 -0
  172. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +279 -0
  173. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome.d.ts +28 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcome.js +28 -0
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.d.ts +13 -0
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +38 -0
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.d.ts +55 -0
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatWidgetHistoryService.js +176 -0
  179. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.d.ts +45 -0
  180. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +207 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +48 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +373 -0
  183. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +171 -0
  184. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +1442 -0
  185. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.d.ts +199 -0
  186. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +482 -0
  187. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +28 -0
  188. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +37 -0
  189. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +95 -0
  190. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +497 -0
  191. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.d.ts +76 -0
  192. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +464 -0
  193. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +124 -0
  194. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +562 -0
  195. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +42 -0
  196. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +279 -0
  197. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +411 -0
  198. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.d.ts +13 -0
  199. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +66 -0
  200. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +61 -0
  201. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +154 -0
  202. package/vscode/src/vs/workbench/contrib/markdown/browser/markedKatexSupport.d.ts +19 -0
  203. package/vscode/src/vs/workbench/contrib/markdown/browser/markedKatexSupport.js +201 -0
  204. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +41 -0
  205. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +372 -0
  206. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +4 -0
  207. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +58 -0
  208. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +26 -0
  209. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +594 -0
  210. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
  211. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
  212. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
  213. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1746 -0
  214. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
  215. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +269 -0
  216. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
  217. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +806 -0
  218. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
  219. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +116 -0
  220. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
  221. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +62 -0
  222. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
  223. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +295 -0
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +241 -0
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +146 -0
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +90 -0
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +41 -0
  234. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
  235. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +42 -0
  236. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
  237. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +77 -0
  238. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
  239. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
  240. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +823 -0
  241. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
  242. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +29 -0
  243. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
  244. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +567 -0
  245. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
  246. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +189 -0
  247. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
  248. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +439 -0
  249. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.d.ts +57 -0
  250. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditor.js +263 -0
  251. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.d.ts +22 -0
  252. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookMultiDiffEditorInput.js +48 -0
  253. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
  254. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
  255. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
  256. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +89 -0
  257. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
  258. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
  259. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.d.ts +33 -0
  260. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +108 -0
  261. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.d.ts +34 -0
  262. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +145 -0
@@ -0,0 +1,13 @@
1
+ import { IButtonStyles } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button";
2
+ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
+ import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
4
+ import { IChatFollowup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
5
+ import { ChatAgentLocation } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants";
6
+ export declare class ChatFollowups<T extends IChatFollowup> extends Disposable {
7
+ private readonly location;
8
+ private readonly options;
9
+ private readonly clickHandler;
10
+ private readonly chatAgentService;
11
+ constructor(container: HTMLElement, followups: T[], location: ChatAgentLocation, options: IButtonStyles | undefined, clickHandler: (followup: T) => void, chatAgentService: IChatAgentService);
12
+ private renderFollowup;
13
+ }
@@ -0,0 +1,52 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { $ as $$1, append } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
5
+ import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
6
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
7
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
8
+ import { IChatAgentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service';
9
+ import { formatChatQuestion } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatParserTypes';
10
+
11
+ const $ = $$1;
12
+ let ChatFollowups = class ChatFollowups extends Disposable {
13
+ constructor(container, followups, location, options, clickHandler, chatAgentService) {
14
+ super();
15
+ this.location = location;
16
+ this.options = options;
17
+ this.clickHandler = clickHandler;
18
+ this.chatAgentService = chatAgentService;
19
+ const followupsContainer = append(container, $('.interactive-session-followups'));
20
+ followups.forEach(followup => this.renderFollowup(followupsContainer, followup));
21
+ }
22
+ renderFollowup(container, followup) {
23
+ if (!this.chatAgentService.getDefaultAgent(this.location)) {
24
+ return;
25
+ }
26
+ const tooltipPrefix = formatChatQuestion(this.chatAgentService, this.location, '', followup.agentId, followup.subCommand);
27
+ if (tooltipPrefix === undefined) {
28
+ return;
29
+ }
30
+ const baseTitle = followup.kind === 'reply' ?
31
+ (followup.title || followup.message)
32
+ : followup.title;
33
+ const message = followup.kind === 'reply' ? followup.message : followup.title;
34
+ const tooltip = (tooltipPrefix +
35
+ (followup.tooltip || message)).trim();
36
+ const button = this._register(( new Button(container, { ...this.options, title: tooltip })));
37
+ if (followup.kind === 'reply') {
38
+ button.element.classList.add('interactive-followup-reply');
39
+ }
40
+ else if (followup.kind === 'command') {
41
+ button.element.classList.add('interactive-followup-command');
42
+ }
43
+ button.element.ariaLabel = ( localize(5293, "Follow up question: {0}", baseTitle));
44
+ button.label = ( new MarkdownString(baseTitle));
45
+ this._register(button.onDidClick(() => this.clickHandler(followup)));
46
+ }
47
+ };
48
+ ChatFollowups = ( __decorate([
49
+ ( __param(5, IChatAgentService))
50
+ ], ChatFollowups));
51
+
52
+ export { ChatFollowups };
@@ -0,0 +1,39 @@
1
+ import { Disposable, DisposableStore } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
+ import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
+ import { IRange } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
4
+ import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
5
+ import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
6
+ import { IMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service";
7
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
8
+ import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service";
9
+ import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
10
+ import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
11
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
12
+ import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service";
13
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
14
+ import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
15
+ import { INotebookDocumentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/notebook/common/notebookDocumentService.service";
16
+ import { IWorkspaceSymbol } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/search/common/search";
17
+ import { IChatContentInlineReference } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService";
18
+ import { IChatMarkdownAnchorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service";
19
+ type ContentRefData = {
20
+ readonly kind: "symbol";
21
+ readonly symbol: IWorkspaceSymbol;
22
+ } | {
23
+ readonly kind?: undefined;
24
+ readonly uri: URI;
25
+ readonly range?: IRange;
26
+ };
27
+ export declare function renderFileWidgets(element: HTMLElement, instantiationService: IInstantiationService, chatMarkdownAnchorService: IChatMarkdownAnchorService, disposables: DisposableStore): void;
28
+ export declare class InlineAnchorWidget extends Disposable {
29
+ private readonly element;
30
+ readonly inlineReference: IChatContentInlineReference;
31
+ private readonly notebookDocumentService;
32
+ static readonly className = "chat-inline-anchor-widget";
33
+ private readonly _chatResourceContext;
34
+ readonly data: ContentRefData;
35
+ constructor(element: HTMLAnchorElement | HTMLElement, inlineReference: IChatContentInlineReference, originalContextKeyService: IContextKeyService, contextMenuService: IContextMenuService, fileService: IFileService, hoverService: IHoverService, instantiationService: IInstantiationService, labelService: ILabelService, languageService: ILanguageService, menuService: IMenuService, modelService: IModelService, telemetryService: ITelemetryService, themeService: IThemeService, notebookDocumentService: INotebookDocumentService);
36
+ getHTMLElement(): HTMLElement;
37
+ private getCellIndex;
38
+ }
39
+ export {};
@@ -0,0 +1,409 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { $, addDisposableListener, EventType, getWindow, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { StandardMouseEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/mouseEvent';
5
+ import { getDefaultHoverDelegate } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hoverDelegateFactory';
6
+ import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
7
+ import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
8
+ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
9
+ import { ICodeEditorService } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/services/codeEditorService.service';
10
+ import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
11
+ import { SymbolKinds } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
12
+ import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
13
+ import { getIconClasses } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/getIconClasses';
14
+ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
15
+ import { DefinitionAction } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/gotoSymbol/browser/goToCommands';
16
+ import { localize, localize2 } from '@codingame/monaco-vscode-api/vscode/vs/nls';
17
+ import { getFlatContextMenuActions } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/browser/menuEntryActionViewItem';
18
+ import { MenuId, registerAction2, Action2 } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
19
+ import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
20
+ import { IClipboardService } from '@codingame/monaco-vscode-api/vscode/vs/platform/clipboard/common/clipboardService.service';
21
+ import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
22
+ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
23
+ import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
24
+ import { FileKind } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
25
+ import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
26
+ import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
27
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
28
+ import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
29
+ import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
30
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
31
+ import { FolderThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService';
32
+ import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
33
+ import { fillEditorsDragData } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/dnd';
34
+ import { ResourceContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
35
+ import { SIDE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService';
36
+ import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
37
+ import { INotebookDocumentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/notebook/common/notebookDocumentService.service';
38
+ import { ExplorerFolderContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/files/common/files';
39
+ import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
40
+ import { chatAttachmentResourceContextKey, hookUpSymbolAttachmentDragAndContextMenu } from './chatAttachmentWidgets.js';
41
+ import { IChatMarkdownAnchorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownAnchorService.service';
42
+
43
+ var InlineAnchorWidget_1;
44
+ function renderFileWidgets(element, instantiationService, chatMarkdownAnchorService, disposables) {
45
+ const links = element.querySelectorAll('a');
46
+ links.forEach(a => {
47
+ if (!a.textContent?.trim()) {
48
+ const href = a.getAttribute('data-href');
49
+ const uri = href ? ( URI.parse(href)) : undefined;
50
+ if (uri?.scheme) {
51
+ const widget = instantiationService.createInstance(InlineAnchorWidget, a, { kind: 'inlineReference', inlineReference: uri });
52
+ disposables.add(chatMarkdownAnchorService.register(widget));
53
+ disposables.add(widget);
54
+ }
55
+ }
56
+ });
57
+ }
58
+ let InlineAnchorWidget = class InlineAnchorWidget extends Disposable {
59
+ static { InlineAnchorWidget_1 = this; }
60
+ static { this.className = 'chat-inline-anchor-widget'; }
61
+ constructor(element, inlineReference, originalContextKeyService, contextMenuService, fileService, hoverService, instantiationService, labelService, languageService, menuService, modelService, telemetryService, themeService, notebookDocumentService) {
62
+ super();
63
+ this.element = element;
64
+ this.inlineReference = inlineReference;
65
+ this.notebookDocumentService = notebookDocumentService;
66
+ this.data = 'uri' in inlineReference.inlineReference
67
+ ? inlineReference.inlineReference
68
+ : 'name' in inlineReference.inlineReference
69
+ ? { kind: 'symbol', symbol: inlineReference.inlineReference }
70
+ : { uri: inlineReference.inlineReference };
71
+ const contextKeyService = this._register(originalContextKeyService.createScoped(element));
72
+ this._chatResourceContext = chatAttachmentResourceContextKey.bindTo(contextKeyService);
73
+ element.classList.add(InlineAnchorWidget_1.className, 'show-file-icons');
74
+ let iconText;
75
+ let iconClasses;
76
+ let location;
77
+ let updateContextKeys;
78
+ if (this.data.kind === 'symbol') {
79
+ const symbol = this.data.symbol;
80
+ location = this.data.symbol.location;
81
+ iconText = [this.data.symbol.name];
82
+ iconClasses = ['codicon', ...getIconClasses(modelService, languageService, undefined, undefined, SymbolKinds.toIcon(symbol.kind))];
83
+ this._store.add(instantiationService.invokeFunction(accessor => hookUpSymbolAttachmentDragAndContextMenu(accessor, element, contextKeyService, { value: symbol.location, name: symbol.name, kind: symbol.kind }, MenuId.ChatInlineSymbolAnchorContext)));
84
+ }
85
+ else {
86
+ location = this.data;
87
+ const filePathLabel = labelService.getUriBasenameLabel(location.uri);
88
+ if (location.range && this.data.kind !== 'symbol') {
89
+ const suffix = location.range.startLineNumber === location.range.endLineNumber
90
+ ? `:${location.range.startLineNumber}`
91
+ : `:${location.range.startLineNumber}-${location.range.endLineNumber}`;
92
+ iconText = [filePathLabel, $('span.label-suffix', undefined, suffix)];
93
+ }
94
+ else if (location.uri.scheme === 'vscode-notebook-cell' && this.data.kind !== 'symbol') {
95
+ iconText = [`${filePathLabel} • cell${this.getCellIndex(location.uri)}`];
96
+ }
97
+ else {
98
+ iconText = [filePathLabel];
99
+ }
100
+ let fileKind = location.uri.path.endsWith('/') ? FileKind.FOLDER : FileKind.FILE;
101
+ const recomputeIconClasses = () => getIconClasses(modelService, languageService, location.uri, fileKind, fileKind === FileKind.FOLDER && !themeService.getFileIconTheme().hasFolderIcons ? FolderThemeIcon : undefined);
102
+ iconClasses = recomputeIconClasses();
103
+ const refreshIconClasses = () => {
104
+ iconEl.classList.remove(...iconClasses);
105
+ iconClasses = recomputeIconClasses();
106
+ iconEl.classList.add(...iconClasses);
107
+ };
108
+ this._register(themeService.onDidFileIconThemeChange(() => {
109
+ refreshIconClasses();
110
+ }));
111
+ const isFolderContext = ExplorerFolderContext.bindTo(contextKeyService);
112
+ fileService.stat(location.uri)
113
+ .then(stat => {
114
+ isFolderContext.set(stat.isDirectory);
115
+ if (stat.isDirectory) {
116
+ fileKind = FileKind.FOLDER;
117
+ refreshIconClasses();
118
+ }
119
+ })
120
+ .catch(() => { });
121
+ this._register(addDisposableListener(element, EventType.CONTEXT_MENU, async (domEvent) => {
122
+ const event = ( new StandardMouseEvent(getWindow(domEvent), domEvent));
123
+ EventHelper.stop(domEvent, true);
124
+ try {
125
+ await updateContextKeys?.();
126
+ }
127
+ catch (e) {
128
+ console.error(e);
129
+ }
130
+ if (this._store.isDisposed) {
131
+ return;
132
+ }
133
+ contextMenuService.showContextMenu({
134
+ contextKeyService,
135
+ getAnchor: () => event,
136
+ getActions: () => {
137
+ const menu = menuService.getMenuActions(MenuId.ChatInlineResourceAnchorContext, contextKeyService, { arg: location.uri });
138
+ return getFlatContextMenuActions(menu);
139
+ },
140
+ });
141
+ }));
142
+ if (location.range) {
143
+ if (location.range.startLineNumber === location.range.endLineNumber) {
144
+ element.setAttribute('aria-label', ( localize(5294, "{0} line {1}", filePathLabel, location.range.startLineNumber)));
145
+ }
146
+ else {
147
+ element.setAttribute('aria-label', ( localize(
148
+ 5295,
149
+ "{0} lines {1} to {2}",
150
+ filePathLabel,
151
+ location.range.startLineNumber,
152
+ location.range.endLineNumber
153
+ )));
154
+ }
155
+ }
156
+ }
157
+ const resourceContextKey = this._register(( new ResourceContextKey(contextKeyService, fileService, languageService, modelService)));
158
+ resourceContextKey.set(location.uri);
159
+ this._chatResourceContext.set(( location.uri.toString()));
160
+ const iconEl = $('span.icon');
161
+ iconEl.classList.add(...iconClasses);
162
+ element.replaceChildren(iconEl, $('span.icon-label', {}, ...iconText));
163
+ const fragment = location.range ? `${location.range.startLineNumber},${location.range.startColumn}` : '';
164
+ element.setAttribute('data-href', ( (fragment ? location.uri.with({ fragment }) : location.uri).toString()));
165
+ const relativeLabel = labelService.getUriLabel(location.uri, { relative: true });
166
+ this._register(hoverService.setupManagedHover(getDefaultHoverDelegate('element'), element, relativeLabel));
167
+ if (this.data.kind !== 'symbol') {
168
+ element.draggable = true;
169
+ this._register(addDisposableListener(element, 'dragstart', e => {
170
+ const stat = {
171
+ resource: location.uri,
172
+ selection: location.range,
173
+ };
174
+ instantiationService.invokeFunction(accessor => fillEditorsDragData(accessor, [stat], e));
175
+ e.dataTransfer?.setDragImage(element, 0, 0);
176
+ }));
177
+ }
178
+ }
179
+ getHTMLElement() {
180
+ return this.element;
181
+ }
182
+ getCellIndex(location) {
183
+ const notebook = this.notebookDocumentService.getNotebook(location);
184
+ const index = notebook?.getCellIndex(location) ?? -1;
185
+ return index >= 0 ? ` ${index + 1}` : '';
186
+ }
187
+ };
188
+ InlineAnchorWidget = InlineAnchorWidget_1 = ( __decorate([
189
+ ( __param(2, IContextKeyService)),
190
+ ( __param(3, IContextMenuService)),
191
+ ( __param(4, IFileService)),
192
+ ( __param(5, IHoverService)),
193
+ ( __param(6, IInstantiationService)),
194
+ ( __param(7, ILabelService)),
195
+ ( __param(8, ILanguageService)),
196
+ ( __param(9, IMenuService)),
197
+ ( __param(10, IModelService)),
198
+ ( __param(11, ITelemetryService)),
199
+ ( __param(12, IThemeService)),
200
+ ( __param(13, INotebookDocumentService))
201
+ ], InlineAnchorWidget));
202
+ registerAction2(class AddFileToChatAction extends Action2 {
203
+ static { this.id = 'chat.inlineResourceAnchor.addFileToChat'; }
204
+ constructor() {
205
+ super({
206
+ id: AddFileToChatAction.id,
207
+ title: ( localize2(5296, "Add File to Chat")),
208
+ menu: [{
209
+ id: MenuId.ChatInlineResourceAnchorContext,
210
+ group: 'chat',
211
+ order: 1,
212
+ when: ( ExplorerFolderContext.negate()),
213
+ }]
214
+ });
215
+ }
216
+ async run(accessor, resource) {
217
+ const chatWidgetService = accessor.get(IChatWidgetService);
218
+ const widget = chatWidgetService.lastFocusedWidget;
219
+ if (widget) {
220
+ widget.attachmentModel.addFile(resource);
221
+ }
222
+ }
223
+ });
224
+ registerAction2(class CopyResourceAction extends Action2 {
225
+ static { this.id = 'chat.inlineResourceAnchor.copyResource'; }
226
+ constructor() {
227
+ super({
228
+ id: CopyResourceAction.id,
229
+ title: ( localize2(5297, "Copy")),
230
+ f1: false,
231
+ precondition: chatAttachmentResourceContextKey,
232
+ keybinding: {
233
+ weight: KeybindingWeight.WorkbenchContrib,
234
+ primary: KeyMod.CtrlCmd | KeyCode.KeyC,
235
+ }
236
+ });
237
+ }
238
+ async run(accessor) {
239
+ const chatWidgetService = accessor.get(IChatMarkdownAnchorService);
240
+ const clipboardService = accessor.get(IClipboardService);
241
+ const anchor = chatWidgetService.lastFocusedAnchor;
242
+ if (!anchor) {
243
+ return;
244
+ }
245
+ const resource = anchor.data.kind === 'symbol' ? anchor.data.symbol.location.uri : anchor.data.uri;
246
+ clipboardService.writeResources([resource]);
247
+ }
248
+ });
249
+ registerAction2(class OpenToSideResourceAction extends Action2 {
250
+ static { this.id = 'chat.inlineResourceAnchor.openToSide'; }
251
+ constructor() {
252
+ super({
253
+ id: OpenToSideResourceAction.id,
254
+ title: ( localize2(5298, "Open to the Side")),
255
+ f1: false,
256
+ precondition: chatAttachmentResourceContextKey,
257
+ keybinding: {
258
+ weight: KeybindingWeight.ExternalExtension + 2,
259
+ primary: KeyMod.CtrlCmd | KeyCode.Enter,
260
+ mac: {
261
+ primary: KeyMod.WinCtrl | KeyCode.Enter
262
+ },
263
+ },
264
+ menu: ( [MenuId.ChatInlineSymbolAnchorContext, MenuId.ChatInputSymbolAttachmentContext].map(id => ({
265
+ id: id,
266
+ group: 'navigation',
267
+ order: 1
268
+ })))
269
+ });
270
+ }
271
+ async run(accessor, arg) {
272
+ const editorService = accessor.get(IEditorService);
273
+ const target = this.getTarget(accessor, arg);
274
+ if (!target) {
275
+ return;
276
+ }
277
+ const input = URI.isUri(target)
278
+ ? { resource: target }
279
+ : {
280
+ resource: target.uri, options: {
281
+ selection: {
282
+ startColumn: target.range.startColumn,
283
+ startLineNumber: target.range.startLineNumber,
284
+ }
285
+ }
286
+ };
287
+ await editorService.openEditors([input], SIDE_GROUP);
288
+ }
289
+ getTarget(accessor, arg) {
290
+ const chatWidgetService = accessor.get(IChatMarkdownAnchorService);
291
+ if (arg) {
292
+ return arg;
293
+ }
294
+ const anchor = chatWidgetService.lastFocusedAnchor;
295
+ if (!anchor) {
296
+ return undefined;
297
+ }
298
+ return anchor.data.kind === 'symbol' ? anchor.data.symbol.location : anchor.data.uri;
299
+ }
300
+ });
301
+ registerAction2(class GoToDefinitionAction extends Action2 {
302
+ static { this.id = 'chat.inlineSymbolAnchor.goToDefinition'; }
303
+ constructor() {
304
+ super({
305
+ id: GoToDefinitionAction.id,
306
+ title: {
307
+ ...( localize2(5299, "Go to Definition")),
308
+ mnemonicTitle: ( localize(5300, "Go to &&Definition")),
309
+ },
310
+ menu: ( [MenuId.ChatInlineSymbolAnchorContext, MenuId.ChatInputSymbolAttachmentContext].map(id => ({
311
+ id,
312
+ group: '4_symbol_nav',
313
+ order: 1.1,
314
+ when: EditorContextKeys.hasDefinitionProvider,
315
+ })))
316
+ });
317
+ }
318
+ async run(accessor, location) {
319
+ const editorService = accessor.get(ICodeEditorService);
320
+ const instantiationService = accessor.get(IInstantiationService);
321
+ await openEditorWithSelection(editorService, location);
322
+ const action = ( new DefinitionAction(
323
+ { openToSide: false, openInPeek: false, muteMessage: true },
324
+ { title: { value: '', original: '' }, id: '', precondition: undefined }
325
+ ));
326
+ return instantiationService.invokeFunction(accessor => action.run(accessor));
327
+ }
328
+ });
329
+ async function openEditorWithSelection(editorService, location) {
330
+ await editorService.openCodeEditor({
331
+ resource: location.uri, options: {
332
+ selection: {
333
+ startColumn: location.range.startColumn,
334
+ startLineNumber: location.range.startLineNumber,
335
+ }
336
+ }
337
+ }, null);
338
+ }
339
+ async function runGoToCommand(accessor, command, location) {
340
+ const editorService = accessor.get(ICodeEditorService);
341
+ const commandService = accessor.get(ICommandService);
342
+ await openEditorWithSelection(editorService, location);
343
+ return commandService.executeCommand(command);
344
+ }
345
+ registerAction2(class GoToTypeDefinitionsAction extends Action2 {
346
+ static { this.id = 'chat.inlineSymbolAnchor.goToTypeDefinitions'; }
347
+ constructor() {
348
+ super({
349
+ id: GoToTypeDefinitionsAction.id,
350
+ title: {
351
+ ...( localize2(5301, "Go to Type Definitions")),
352
+ mnemonicTitle: ( localize(5302, "Go to &&Type Definitions")),
353
+ },
354
+ menu: ( [MenuId.ChatInlineSymbolAnchorContext, MenuId.ChatInputSymbolAttachmentContext].map(id => ({
355
+ id,
356
+ group: '4_symbol_nav',
357
+ order: 1.1,
358
+ when: EditorContextKeys.hasTypeDefinitionProvider,
359
+ }))),
360
+ });
361
+ }
362
+ async run(accessor, location) {
363
+ await runGoToCommand(accessor, 'editor.action.goToTypeDefinition', location);
364
+ }
365
+ });
366
+ registerAction2(class GoToImplementations extends Action2 {
367
+ static { this.id = 'chat.inlineSymbolAnchor.goToImplementations'; }
368
+ constructor() {
369
+ super({
370
+ id: GoToImplementations.id,
371
+ title: {
372
+ ...( localize2(5303, "Go to Implementations")),
373
+ mnemonicTitle: ( localize(5304, "Go to &&Implementations")),
374
+ },
375
+ menu: ( [MenuId.ChatInlineSymbolAnchorContext, MenuId.ChatInputSymbolAttachmentContext].map(id => ({
376
+ id,
377
+ group: '4_symbol_nav',
378
+ order: 1.2,
379
+ when: EditorContextKeys.hasImplementationProvider,
380
+ }))),
381
+ });
382
+ }
383
+ async run(accessor, location) {
384
+ await runGoToCommand(accessor, 'editor.action.goToImplementation', location);
385
+ }
386
+ });
387
+ registerAction2(class GoToReferencesAction extends Action2 {
388
+ static { this.id = 'chat.inlineSymbolAnchor.goToReferences'; }
389
+ constructor() {
390
+ super({
391
+ id: GoToReferencesAction.id,
392
+ title: {
393
+ ...( localize2(5305, "Go to References")),
394
+ mnemonicTitle: ( localize(5306, "Go to &&References")),
395
+ },
396
+ menu: ( [MenuId.ChatInlineSymbolAnchorContext, MenuId.ChatInputSymbolAttachmentContext].map(id => ({
397
+ id,
398
+ group: '4_symbol_nav',
399
+ order: 1.3,
400
+ when: EditorContextKeys.hasReferenceProvider,
401
+ }))),
402
+ });
403
+ }
404
+ async run(accessor, location) {
405
+ await runGoToCommand(accessor, 'editor.action.goToReferences', location);
406
+ }
407
+ });
408
+
409
+ export { InlineAnchorWidget, renderFileWidgets };