@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,439 @@
1
+
2
+ import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
3
+ import { Disposable, DisposableStore, dispose } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
+ import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
5
+ import { MultiDiffEditorItem } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService';
6
+ import { DiffElementPlaceholderViewModel, NotebookDocumentMetadataViewModel, SideBySideDiffElementViewModel, SingleSideDiffElementViewModel } from './diffElementViewModel.js';
7
+ import { NOTEBOOK_DIFF_ITEM_DIFF_STATE, NOTEBOOK_DIFF_ITEM_KIND } from './notebookDiffEditorBrowser.js';
8
+ import { CellUri } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookCommon';
9
+ import { raceCancellation } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
10
+ import { computeDiff } from '../../common/notebookDiff.js';
11
+
12
+ class NotebookDiffViewModel extends Disposable {
13
+ get items() {
14
+ return this._items;
15
+ }
16
+ get value() {
17
+ return this.diffEditorItems
18
+ .filter(item => item.type !== 'placeholder')
19
+ .filter(item => {
20
+ if (this._includeUnchanged) {
21
+ return true;
22
+ }
23
+ if (item instanceof NotebookMultiDiffEditorCellItem) {
24
+ return item.type === 'unchanged' && item.containerType === 'unchanged' ? false : true;
25
+ }
26
+ if (item instanceof NotebookMultiDiffEditorMetadataItem) {
27
+ return item.type === 'unchanged' && item.containerType === 'unchanged' ? false : true;
28
+ }
29
+ if (item instanceof NotebookMultiDiffEditorOutputItem) {
30
+ return item.type === 'unchanged' && item.containerType === 'unchanged' ? false : true;
31
+ }
32
+ return true;
33
+ })
34
+ .filter(item => item instanceof NotebookMultiDiffEditorOutputItem ? !this.hideOutput : true)
35
+ .filter(item => item instanceof NotebookMultiDiffEditorMetadataItem ? !this.ignoreMetadata : true);
36
+ }
37
+ get hasUnchangedCells() {
38
+ return this._hasUnchangedCells === true;
39
+ }
40
+ get includeUnchanged() {
41
+ return this._includeUnchanged === true;
42
+ }
43
+ set includeUnchanged(value) {
44
+ this._includeUnchanged = value;
45
+ this._onDidChange.fire();
46
+ }
47
+ constructor(model, notebookEditorWorkerService, configurationService, eventDispatcher, notebookService, diffEditorHeightCalculator, fontInfo, excludeUnchangedPlaceholder) {
48
+ super();
49
+ this.model = model;
50
+ this.notebookEditorWorkerService = notebookEditorWorkerService;
51
+ this.configurationService = configurationService;
52
+ this.eventDispatcher = eventDispatcher;
53
+ this.notebookService = notebookService;
54
+ this.diffEditorHeightCalculator = diffEditorHeightCalculator;
55
+ this.fontInfo = fontInfo;
56
+ this.excludeUnchangedPlaceholder = excludeUnchangedPlaceholder;
57
+ this.placeholderAndRelatedCells = ( new Map());
58
+ this._items = [];
59
+ this._onDidChangeItems = this._register(( new Emitter()));
60
+ this.onDidChangeItems = this._onDidChangeItems.event;
61
+ this.disposables = this._register(( new DisposableStore()));
62
+ this._onDidChange = this._register(( new Emitter()));
63
+ this.diffEditorItems = [];
64
+ this.onDidChange = this._onDidChange.event;
65
+ this.originalCellViewModels = [];
66
+ this.hideOutput = this.model.modified.notebook.transientOptions.transientOutputs || this.configurationService.getValue('notebook.diff.ignoreOutputs');
67
+ this.ignoreMetadata = this.configurationService.getValue('notebook.diff.ignoreMetadata');
68
+ this._register(this.configurationService.onDidChangeConfiguration(e => {
69
+ let triggerChange = false;
70
+ let metadataChanged = false;
71
+ if (e.affectsConfiguration('notebook.diff.ignoreMetadata')) {
72
+ const newValue = this.configurationService.getValue('notebook.diff.ignoreMetadata');
73
+ if (newValue !== undefined && this.ignoreMetadata !== newValue) {
74
+ this.ignoreMetadata = newValue;
75
+ triggerChange = true;
76
+ metadataChanged = true;
77
+ }
78
+ }
79
+ if (e.affectsConfiguration('notebook.diff.ignoreOutputs')) {
80
+ const newValue = this.configurationService.getValue('notebook.diff.ignoreOutputs');
81
+ if (newValue !== undefined && this.hideOutput !== (newValue || this.model.modified.notebook.transientOptions.transientOutputs)) {
82
+ this.hideOutput = newValue || !!(this.model.modified.notebook.transientOptions.transientOutputs);
83
+ triggerChange = true;
84
+ }
85
+ }
86
+ if (metadataChanged) {
87
+ this.toggleNotebookMetadata();
88
+ }
89
+ if (triggerChange) {
90
+ this._onDidChange.fire();
91
+ }
92
+ }));
93
+ }
94
+ dispose() {
95
+ this.clear();
96
+ super.dispose();
97
+ }
98
+ clear() {
99
+ this.disposables.clear();
100
+ dispose(Array.from(( this.placeholderAndRelatedCells.keys())));
101
+ this.placeholderAndRelatedCells.clear();
102
+ dispose(this.originalCellViewModels);
103
+ this.originalCellViewModels = [];
104
+ dispose(this._items);
105
+ this._items.splice(0, this._items.length);
106
+ }
107
+ async computeDiff(token) {
108
+ const diffResult = await raceCancellation(this.notebookEditorWorkerService.computeDiff(this.model.original.resource, this.model.modified.resource), token);
109
+ if (!diffResult || token.isCancellationRequested) {
110
+ return;
111
+ }
112
+ prettyChanges(this.model.original.notebook, this.model.modified.notebook, diffResult.cellsDiff);
113
+ const { cellDiffInfo, firstChangeIndex } = computeDiff(this.model.original.notebook, this.model.modified.notebook, diffResult);
114
+ if (isEqual(cellDiffInfo, this.originalCellViewModels, this.model)) {
115
+ return;
116
+ }
117
+ else {
118
+ await raceCancellation(this.updateViewModels(cellDiffInfo, diffResult.metadataChanged, firstChangeIndex), token);
119
+ if (token.isCancellationRequested) {
120
+ return;
121
+ }
122
+ this.updateDiffEditorItems();
123
+ }
124
+ }
125
+ toggleNotebookMetadata() {
126
+ if (!this.notebookMetadataViewModel) {
127
+ return;
128
+ }
129
+ if (this.ignoreMetadata) {
130
+ if (this._items.length && this._items[0] === this.notebookMetadataViewModel) {
131
+ this._items.splice(0, 1);
132
+ this._onDidChangeItems.fire({ start: 0, deleteCount: 1, elements: [] });
133
+ }
134
+ }
135
+ else {
136
+ if (!this._items.length || this._items[0] !== this.notebookMetadataViewModel) {
137
+ this._items.splice(0, 0, this.notebookMetadataViewModel);
138
+ this._onDidChangeItems.fire({ start: 0, deleteCount: 0, elements: [this.notebookMetadataViewModel] });
139
+ }
140
+ }
141
+ }
142
+ updateDiffEditorItems() {
143
+ this.diffEditorItems = [];
144
+ const originalSourceUri = this.model.original.resource;
145
+ const modifiedSourceUri = this.model.modified.resource;
146
+ this._hasUnchangedCells = false;
147
+ this.items.forEach(item => {
148
+ switch (item.type) {
149
+ case 'delete': {
150
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorCellItem(item.original.uri, undefined, item.type, item.type)));
151
+ const originalMetadata = CellUri.generateCellPropertyUri(originalSourceUri, item.original.handle, Schemas.vscodeNotebookCellMetadata);
152
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorMetadataItem(originalMetadata, undefined, item.type, item.type)));
153
+ const originalOutput = CellUri.generateCellPropertyUri(originalSourceUri, item.original.handle, Schemas.vscodeNotebookCellOutput);
154
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorOutputItem(originalOutput, undefined, item.type, item.type)));
155
+ break;
156
+ }
157
+ case 'insert': {
158
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorCellItem(undefined, item.modified.uri, item.type, item.type)));
159
+ const modifiedMetadata = CellUri.generateCellPropertyUri(modifiedSourceUri, item.modified.handle, Schemas.vscodeNotebookCellMetadata);
160
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorMetadataItem(undefined, modifiedMetadata, item.type, item.type)));
161
+ const modifiedOutput = CellUri.generateCellPropertyUri(modifiedSourceUri, item.modified.handle, Schemas.vscodeNotebookCellOutput);
162
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorOutputItem(undefined, modifiedOutput, item.type, item.type)));
163
+ break;
164
+ }
165
+ case 'modified': {
166
+ const cellType = item.checkIfInputModified() ? item.type : 'unchanged';
167
+ const containerChanged = (item.checkIfInputModified() || item.checkMetadataIfModified() || item.checkIfOutputsModified()) ? item.type : 'unchanged';
168
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorCellItem(item.original.uri, item.modified.uri, cellType, containerChanged)));
169
+ const originalMetadata = CellUri.generateCellPropertyUri(originalSourceUri, item.original.handle, Schemas.vscodeNotebookCellMetadata);
170
+ const modifiedMetadata = CellUri.generateCellPropertyUri(modifiedSourceUri, item.modified.handle, Schemas.vscodeNotebookCellMetadata);
171
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorMetadataItem(
172
+ originalMetadata,
173
+ modifiedMetadata,
174
+ item.checkMetadataIfModified() ? item.type : 'unchanged',
175
+ containerChanged
176
+ )));
177
+ const originalOutput = CellUri.generateCellPropertyUri(originalSourceUri, item.original.handle, Schemas.vscodeNotebookCellOutput);
178
+ const modifiedOutput = CellUri.generateCellPropertyUri(modifiedSourceUri, item.modified.handle, Schemas.vscodeNotebookCellOutput);
179
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorOutputItem(
180
+ originalOutput,
181
+ modifiedOutput,
182
+ item.checkIfOutputsModified() ? item.type : 'unchanged',
183
+ containerChanged
184
+ )));
185
+ break;
186
+ }
187
+ case 'unchanged': {
188
+ this._hasUnchangedCells = true;
189
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorCellItem(item.original.uri, item.modified.uri, item.type, item.type)));
190
+ const originalMetadata = CellUri.generateCellPropertyUri(originalSourceUri, item.original.handle, Schemas.vscodeNotebookCellMetadata);
191
+ const modifiedMetadata = CellUri.generateCellPropertyUri(modifiedSourceUri, item.modified.handle, Schemas.vscodeNotebookCellMetadata);
192
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorMetadataItem(originalMetadata, modifiedMetadata, item.type, item.type)));
193
+ const originalOutput = CellUri.generateCellPropertyUri(originalSourceUri, item.original.handle, Schemas.vscodeNotebookCellOutput);
194
+ const modifiedOutput = CellUri.generateCellPropertyUri(modifiedSourceUri, item.modified.handle, Schemas.vscodeNotebookCellOutput);
195
+ this.diffEditorItems.push(( new NotebookMultiDiffEditorOutputItem(originalOutput, modifiedOutput, item.type, item.type)));
196
+ break;
197
+ }
198
+ }
199
+ });
200
+ this._onDidChange.fire();
201
+ }
202
+ async updateViewModels(cellDiffInfo, metadataChanged, firstChangeIndex) {
203
+ const cellViewModels = await this.createDiffViewModels(cellDiffInfo, metadataChanged);
204
+ const oldLength = this._items.length;
205
+ this.clear();
206
+ this._items.splice(0, oldLength);
207
+ let placeholder = undefined;
208
+ this.originalCellViewModels = cellViewModels;
209
+ cellViewModels.forEach((vm, index) => {
210
+ if (vm.type === 'unchanged' && !this.excludeUnchangedPlaceholder) {
211
+ if (!placeholder) {
212
+ vm.displayIconToHideUnmodifiedCells = true;
213
+ placeholder = ( new DiffElementPlaceholderViewModel(vm.mainDocumentTextModel, vm.editorEventDispatcher, vm.initData));
214
+ this._items.push(placeholder);
215
+ const placeholderItem = placeholder;
216
+ this.disposables.add(placeholderItem.onUnfoldHiddenCells(() => {
217
+ const hiddenCellViewModels = this.placeholderAndRelatedCells.get(placeholderItem);
218
+ if (!Array.isArray(hiddenCellViewModels)) {
219
+ return;
220
+ }
221
+ const start = this._items.indexOf(placeholderItem);
222
+ this._items.splice(start, 1, ...hiddenCellViewModels);
223
+ this._onDidChangeItems.fire({ start, deleteCount: 1, elements: hiddenCellViewModels });
224
+ }));
225
+ this.disposables.add(vm.onHideUnchangedCells(() => {
226
+ const hiddenCellViewModels = this.placeholderAndRelatedCells.get(placeholderItem);
227
+ if (!Array.isArray(hiddenCellViewModels)) {
228
+ return;
229
+ }
230
+ const start = this._items.indexOf(vm);
231
+ this._items.splice(start, hiddenCellViewModels.length, placeholderItem);
232
+ this._onDidChangeItems.fire({ start, deleteCount: hiddenCellViewModels.length, elements: [placeholderItem] });
233
+ }));
234
+ }
235
+ const hiddenCellViewModels = this.placeholderAndRelatedCells.get(placeholder) || [];
236
+ hiddenCellViewModels.push(vm);
237
+ this.placeholderAndRelatedCells.set(placeholder, hiddenCellViewModels);
238
+ placeholder.hiddenCells.push(vm);
239
+ }
240
+ else {
241
+ placeholder = undefined;
242
+ this._items.push(vm);
243
+ }
244
+ });
245
+ this._onDidChangeItems.fire({ start: 0, deleteCount: oldLength, elements: this._items, firstChangeIndex });
246
+ }
247
+ async createDiffViewModels(computedCellDiffs, metadataChanged) {
248
+ const originalModel = this.model.original.notebook;
249
+ const modifiedModel = this.model.modified.notebook;
250
+ const initData = {
251
+ metadataStatusHeight: this.configurationService.getValue('notebook.diff.ignoreMetadata') ? 0 : 25,
252
+ outputStatusHeight: this.configurationService.getValue('notebook.diff.ignoreOutputs') || !!(modifiedModel.transientOptions.transientOutputs) ? 0 : 25,
253
+ fontInfo: this.fontInfo
254
+ };
255
+ const viewModels = [];
256
+ this.notebookMetadataViewModel = this._register(( new NotebookDocumentMetadataViewModel(
257
+ this.model.original.notebook,
258
+ this.model.modified.notebook,
259
+ metadataChanged ? 'modifiedMetadata' : 'unchangedMetadata',
260
+ this.eventDispatcher,
261
+ initData,
262
+ this.notebookService,
263
+ this.diffEditorHeightCalculator
264
+ )));
265
+ if (!this.ignoreMetadata) {
266
+ if (metadataChanged) {
267
+ await this.notebookMetadataViewModel.computeHeights();
268
+ }
269
+ viewModels.push(this.notebookMetadataViewModel);
270
+ }
271
+ const cellViewModels = await Promise.all(( computedCellDiffs.map(async (diff) => {
272
+ switch (diff.type) {
273
+ case 'delete': {
274
+ return ( new SingleSideDiffElementViewModel(
275
+ originalModel,
276
+ modifiedModel,
277
+ originalModel.cells[diff.originalCellIndex],
278
+ undefined,
279
+ 'delete',
280
+ this.eventDispatcher,
281
+ initData,
282
+ this.notebookService,
283
+ this.configurationService,
284
+ this.diffEditorHeightCalculator,
285
+ diff.originalCellIndex
286
+ ));
287
+ }
288
+ case 'insert': {
289
+ return ( new SingleSideDiffElementViewModel(
290
+ modifiedModel,
291
+ originalModel,
292
+ undefined,
293
+ modifiedModel.cells[diff.modifiedCellIndex],
294
+ 'insert',
295
+ this.eventDispatcher,
296
+ initData,
297
+ this.notebookService,
298
+ this.configurationService,
299
+ this.diffEditorHeightCalculator,
300
+ diff.modifiedCellIndex
301
+ ));
302
+ }
303
+ case 'modified': {
304
+ const viewModel = ( new SideBySideDiffElementViewModel(
305
+ this.model.modified.notebook,
306
+ this.model.original.notebook,
307
+ originalModel.cells[diff.originalCellIndex],
308
+ modifiedModel.cells[diff.modifiedCellIndex],
309
+ 'modified',
310
+ this.eventDispatcher,
311
+ initData,
312
+ this.notebookService,
313
+ this.configurationService,
314
+ diff.originalCellIndex,
315
+ this.diffEditorHeightCalculator
316
+ ));
317
+ await viewModel.computeEditorHeights();
318
+ return viewModel;
319
+ }
320
+ case 'unchanged': {
321
+ return ( new SideBySideDiffElementViewModel(
322
+ this.model.modified.notebook,
323
+ this.model.original.notebook,
324
+ originalModel.cells[diff.originalCellIndex],
325
+ modifiedModel.cells[diff.modifiedCellIndex],
326
+ 'unchanged',
327
+ this.eventDispatcher,
328
+ initData,
329
+ this.notebookService,
330
+ this.configurationService,
331
+ diff.originalCellIndex,
332
+ this.diffEditorHeightCalculator
333
+ ));
334
+ }
335
+ }
336
+ })));
337
+ cellViewModels.forEach(vm => viewModels.push(vm));
338
+ return viewModels;
339
+ }
340
+ }
341
+ function prettyChanges(original, modified, diffResult) {
342
+ const changes = diffResult.changes;
343
+ for (let i = 0; i < diffResult.changes.length - 1; i++) {
344
+ const curr = changes[i];
345
+ const next = changes[i + 1];
346
+ const x = curr.originalStart;
347
+ const y = curr.modifiedStart;
348
+ if (curr.originalLength === 1
349
+ && curr.modifiedLength === 0
350
+ && next.originalStart === x + 2
351
+ && next.originalLength === 0
352
+ && next.modifiedStart === y + 1
353
+ && next.modifiedLength === 1
354
+ && original.cells[x].getHashValue() === modified.cells[y + 1].getHashValue()
355
+ && original.cells[x + 1].getHashValue() === modified.cells[y].getHashValue()) {
356
+ curr.originalStart = x;
357
+ curr.originalLength = 0;
358
+ curr.modifiedStart = y;
359
+ curr.modifiedLength = 1;
360
+ next.originalStart = x + 1;
361
+ next.originalLength = 1;
362
+ next.modifiedStart = y + 2;
363
+ next.modifiedLength = 0;
364
+ i++;
365
+ }
366
+ }
367
+ }
368
+ function isEqual(cellDiffInfo, viewModels, model) {
369
+ if (cellDiffInfo.length !== viewModels.length) {
370
+ return false;
371
+ }
372
+ const originalModel = model.original.notebook;
373
+ const modifiedModel = model.modified.notebook;
374
+ for (let i = 0; i < viewModels.length; i++) {
375
+ const a = cellDiffInfo[i];
376
+ const b = viewModels[i];
377
+ if (a.type !== b.type) {
378
+ return false;
379
+ }
380
+ switch (a.type) {
381
+ case 'delete': {
382
+ if (originalModel.cells[a.originalCellIndex].handle !== b.original?.handle) {
383
+ return false;
384
+ }
385
+ continue;
386
+ }
387
+ case 'insert': {
388
+ if (modifiedModel.cells[a.modifiedCellIndex].handle !== b.modified?.handle) {
389
+ return false;
390
+ }
391
+ continue;
392
+ }
393
+ default: {
394
+ if (originalModel.cells[a.originalCellIndex].handle !== b.original?.handle) {
395
+ return false;
396
+ }
397
+ if (modifiedModel.cells[a.modifiedCellIndex].handle !== b.modified?.handle) {
398
+ return false;
399
+ }
400
+ continue;
401
+ }
402
+ }
403
+ }
404
+ return true;
405
+ }
406
+ class NotebookMultiDiffEditorItem extends MultiDiffEditorItem {
407
+ constructor(originalUri, modifiedUri, goToFileUri, type, containerType, kind, contextKeys) {
408
+ super(originalUri, modifiedUri, goToFileUri, undefined, contextKeys);
409
+ this.type = type;
410
+ this.containerType = containerType;
411
+ this.kind = kind;
412
+ }
413
+ }
414
+ class NotebookMultiDiffEditorCellItem extends NotebookMultiDiffEditorItem {
415
+ constructor(originalUri, modifiedUri, type, containerType) {
416
+ super(originalUri, modifiedUri, modifiedUri || originalUri, type, containerType, 'Cell', {
417
+ [NOTEBOOK_DIFF_ITEM_KIND.key]: 'Cell',
418
+ [NOTEBOOK_DIFF_ITEM_DIFF_STATE.key]: type
419
+ });
420
+ }
421
+ }
422
+ class NotebookMultiDiffEditorMetadataItem extends NotebookMultiDiffEditorItem {
423
+ constructor(originalUri, modifiedUri, type, containerType) {
424
+ super(originalUri, modifiedUri, modifiedUri || originalUri, type, containerType, 'Metadata', {
425
+ [NOTEBOOK_DIFF_ITEM_KIND.key]: 'Metadata',
426
+ [NOTEBOOK_DIFF_ITEM_DIFF_STATE.key]: type
427
+ });
428
+ }
429
+ }
430
+ class NotebookMultiDiffEditorOutputItem extends NotebookMultiDiffEditorItem {
431
+ constructor(originalUri, modifiedUri, type, containerType) {
432
+ super(originalUri, modifiedUri, modifiedUri || originalUri, type, containerType, 'Output', {
433
+ [NOTEBOOK_DIFF_ITEM_KIND.key]: 'Output',
434
+ [NOTEBOOK_DIFF_ITEM_DIFF_STATE.key]: type
435
+ });
436
+ }
437
+ }
438
+
439
+ export { NotebookDiffViewModel, NotebookMultiDiffEditorItem, prettyChanges };
@@ -0,0 +1,57 @@
1
+ import * as DOM from "@codingame/monaco-vscode-api/vscode/vs/base/browser/dom";
2
+ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
3
+ import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
4
+ import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
5
+ import { IEditorOpenContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
6
+ import { IEditorGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService";
7
+ import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
8
+ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
9
+ import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
10
+ import { INotebookEditorWorkerService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/services/notebookWorkerService.service";
11
+ import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
12
+ import { EditorPane } from "@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/editor/editorPane";
13
+ import { NotebookOptions } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/browser/notebookOptions";
14
+ import { INotebookService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/notebook/common/notebookService.service";
15
+ import { NotebookMultiDiffEditorInput } from "./notebookMultiDiffEditorInput.js";
16
+ import type { IMultiDiffEditorOptions } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl";
17
+ import type { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
18
+ import { type IDiffElementViewModelBase } from "./diffElementViewModel.js";
19
+ export declare class NotebookMultiTextDiffEditor extends EditorPane {
20
+ private readonly instantiationService;
21
+ private readonly _parentContextKeyService;
22
+ private readonly notebookEditorWorkerService;
23
+ private readonly configurationService;
24
+ private readonly notebookService;
25
+ private _multiDiffEditorWidget?;
26
+ static readonly ID: string;
27
+ private _fontInfo;
28
+ protected _scopeContextKeyService: IContextKeyService;
29
+ private readonly modelSpecificResources;
30
+ private _model?;
31
+ private viewModel?;
32
+ private widgetViewModel?;
33
+ get textModel(): import("@codingame/monaco-vscode-notebook-service-override/vscode/vs/workbench/contrib/notebook/common/model/notebookTextModel").NotebookTextModel | undefined;
34
+ private _notebookOptions;
35
+ get notebookOptions(): NotebookOptions;
36
+ private readonly ctxAllCollapsed;
37
+ private readonly ctxHasUnchangedCells;
38
+ private readonly ctxHiddenUnchangedCells;
39
+ constructor(group: IEditorGroup, instantiationService: IInstantiationService, themeService: IThemeService, _parentContextKeyService: IContextKeyService, notebookEditorWorkerService: INotebookEditorWorkerService, configurationService: IConfigurationService, telemetryService: ITelemetryService, storageService: IStorageService, notebookService: INotebookService);
40
+ private get fontInfo();
41
+ layout(dimension: DOM.Dimension, position?: DOM.IDomPosition): void;
42
+ private createFontInfo;
43
+ protected createEditor(parent: HTMLElement): void;
44
+ setInput(input: NotebookMultiDiffEditorInput, options: IMultiDiffEditorOptions | undefined, context: IEditorOpenContext, token: CancellationToken): Promise<void>;
45
+ private _detachModel;
46
+ _generateFontFamily(): string;
47
+ setOptions(options: IMultiDiffEditorOptions | undefined): void;
48
+ getControl(): import("@codingame/monaco-vscode-api/vscode/vs/editor/browser/widget/diffEditor/diffEditorWidget").DiffEditorWidget | undefined;
49
+ focus(): void;
50
+ hasFocus(): boolean;
51
+ clearInput(): void;
52
+ expandAll(): void;
53
+ collapseAll(): void;
54
+ hideUnchanged(): void;
55
+ showUnchanged(): void;
56
+ getDiffElementViewModel(uri: URI): IDiffElementViewModelBase | undefined;
57
+ }