@openclaw/diffs 2026.8.1-beta.2 → 2026.8.1

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 (1239) hide show
  1. package/README.md +7 -7
  2. package/dist/assets/viewer-runtime.js +134 -161
  3. package/dist/browser.runtime-DTKAejqd.js +406 -0
  4. package/dist/index.js +25 -582
  5. package/dist/viewer-assets-D3qrnaxI.js +106 -0
  6. package/node_modules/@pierre/diffs/README.md +9 -0
  7. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts +94 -7
  8. package/node_modules/@pierre/diffs/dist/components/CodeView.d.ts.map +1 -1
  9. package/node_modules/@pierre/diffs/dist/components/CodeView.js +333 -47
  10. package/node_modules/@pierre/diffs/dist/components/CodeView.js.map +1 -1
  11. package/node_modules/@pierre/diffs/dist/components/File.d.ts +22 -4
  12. package/node_modules/@pierre/diffs/dist/components/File.d.ts.map +1 -1
  13. package/node_modules/@pierre/diffs/dist/components/File.js +143 -23
  14. package/node_modules/@pierre/diffs/dist/components/File.js.map +1 -1
  15. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts +83 -19
  16. package/node_modules/@pierre/diffs/dist/components/FileDiff.d.ts.map +1 -1
  17. package/node_modules/@pierre/diffs/dist/components/FileDiff.js +461 -46
  18. package/node_modules/@pierre/diffs/dist/components/FileDiff.js.map +1 -1
  19. package/node_modules/@pierre/diffs/dist/components/FileStream.d.ts.map +1 -1
  20. package/node_modules/@pierre/diffs/dist/components/FileStream.js +2 -1
  21. package/node_modules/@pierre/diffs/dist/components/FileStream.js.map +1 -1
  22. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts +2 -2
  23. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.d.ts.map +1 -1
  24. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js +9 -4
  25. package/node_modules/@pierre/diffs/dist/components/UnresolvedFile.js.map +1 -1
  26. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts +7 -3
  27. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.d.ts.map +1 -1
  28. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js +87 -60
  29. package/node_modules/@pierre/diffs/dist/components/VirtualizedFile.js.map +1 -1
  30. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts +30 -5
  31. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  32. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js +277 -56
  33. package/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js.map +1 -1
  34. package/node_modules/@pierre/diffs/dist/components/Virtualizer.d.ts +17 -3
  35. package/node_modules/@pierre/diffs/dist/components/Virtualizer.d.ts.map +1 -1
  36. package/node_modules/@pierre/diffs/dist/components/Virtualizer.js +44 -5
  37. package/node_modules/@pierre/diffs/dist/components/Virtualizer.js.map +1 -1
  38. package/node_modules/@pierre/diffs/dist/constants.d.ts +4 -1
  39. package/node_modules/@pierre/diffs/dist/constants.d.ts.map +1 -1
  40. package/node_modules/@pierre/diffs/dist/constants.js +4 -1
  41. package/node_modules/@pierre/diffs/dist/constants.js.map +1 -1
  42. package/node_modules/@pierre/diffs/dist/edit/index.d.ts +6 -0
  43. package/node_modules/@pierre/diffs/dist/edit/index.js +3 -0
  44. package/node_modules/@pierre/diffs/dist/editor/command.d.ts +15 -0
  45. package/node_modules/@pierre/diffs/dist/editor/command.d.ts.map +1 -0
  46. package/node_modules/@pierre/diffs/dist/editor/command.js +128 -0
  47. package/node_modules/@pierre/diffs/dist/editor/command.js.map +1 -0
  48. package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts +76 -0
  49. package/node_modules/@pierre/diffs/dist/editor/editStack.d.ts.map +1 -0
  50. package/node_modules/@pierre/diffs/dist/editor/editStack.js +259 -0
  51. package/node_modules/@pierre/diffs/dist/editor/editStack.js.map +1 -0
  52. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts +118 -0
  53. package/node_modules/@pierre/diffs/dist/editor/editor.d.ts.map +1 -0
  54. package/node_modules/@pierre/diffs/dist/editor/editor.js +2880 -0
  55. package/node_modules/@pierre/diffs/dist/editor/editor.js.map +1 -0
  56. package/node_modules/@pierre/diffs/dist/editor/editor2.js +6 -0
  57. package/node_modules/@pierre/diffs/dist/editor/editor2.js.map +1 -0
  58. package/node_modules/@pierre/diffs/dist/editor/languages.d.ts +26 -0
  59. package/node_modules/@pierre/diffs/dist/editor/languages.d.ts.map +1 -0
  60. package/node_modules/@pierre/diffs/dist/editor/languages.js +363 -0
  61. package/node_modules/@pierre/diffs/dist/editor/languages.js.map +1 -0
  62. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts +9 -0
  63. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.d.ts.map +1 -0
  64. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js +212 -0
  65. package/node_modules/@pierre/diffs/dist/editor/lineAnnotations.js.map +1 -0
  66. package/node_modules/@pierre/diffs/dist/editor/marker.d.ts +38 -0
  67. package/node_modules/@pierre/diffs/dist/editor/marker.d.ts.map +1 -0
  68. package/node_modules/@pierre/diffs/dist/editor/marker.js +245 -0
  69. package/node_modules/@pierre/diffs/dist/editor/marker.js.map +1 -0
  70. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts +9 -0
  71. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.d.ts.map +1 -0
  72. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.js +138 -0
  73. package/node_modules/@pierre/diffs/dist/editor/matchBrackets.js.map +1 -0
  74. package/node_modules/@pierre/diffs/dist/editor/pieceTable.d.ts +40 -0
  75. package/node_modules/@pierre/diffs/dist/editor/pieceTable.d.ts.map +1 -0
  76. package/node_modules/@pierre/diffs/dist/editor/pieceTable.js +706 -0
  77. package/node_modules/@pierre/diffs/dist/editor/pieceTable.js.map +1 -0
  78. package/node_modules/@pierre/diffs/dist/editor/platform.d.ts +11 -0
  79. package/node_modules/@pierre/diffs/dist/editor/platform.d.ts.map +1 -0
  80. package/node_modules/@pierre/diffs/dist/editor/platform.js +31 -0
  81. package/node_modules/@pierre/diffs/dist/editor/platform.js.map +1 -0
  82. package/node_modules/@pierre/diffs/dist/editor/popover.d.ts +65 -0
  83. package/node_modules/@pierre/diffs/dist/editor/popover.d.ts.map +1 -0
  84. package/node_modules/@pierre/diffs/dist/editor/popover.js +191 -0
  85. package/node_modules/@pierre/diffs/dist/editor/popover.js.map +1 -0
  86. package/node_modules/@pierre/diffs/dist/editor/searchPanel.d.ts +41 -0
  87. package/node_modules/@pierre/diffs/dist/editor/searchPanel.d.ts.map +1 -0
  88. package/node_modules/@pierre/diffs/dist/editor/searchPanel.js +318 -0
  89. package/node_modules/@pierre/diffs/dist/editor/searchPanel.js.map +1 -0
  90. package/node_modules/@pierre/diffs/dist/editor/selection.d.ts +211 -0
  91. package/node_modules/@pierre/diffs/dist/editor/selection.d.ts.map +1 -0
  92. package/node_modules/@pierre/diffs/dist/editor/selection.js +1626 -0
  93. package/node_modules/@pierre/diffs/dist/editor/selection.js.map +1 -0
  94. package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts +47 -0
  95. package/node_modules/@pierre/diffs/dist/editor/selectionAction.d.ts.map +1 -0
  96. package/node_modules/@pierre/diffs/dist/editor/selectionAction.js +66 -0
  97. package/node_modules/@pierre/diffs/dist/editor/selectionAction.js.map +1 -0
  98. package/node_modules/@pierre/diffs/dist/editor/sprite.d.ts +8 -0
  99. package/node_modules/@pierre/diffs/dist/editor/sprite.d.ts.map +1 -0
  100. package/node_modules/@pierre/diffs/dist/editor/sprite.js +45 -0
  101. package/node_modules/@pierre/diffs/dist/editor/sprite.js.map +1 -0
  102. package/node_modules/@pierre/diffs/dist/editor/stateStorage.d.ts +15 -0
  103. package/node_modules/@pierre/diffs/dist/editor/stateStorage.d.ts.map +1 -0
  104. package/node_modules/@pierre/diffs/dist/editor/stateStorage.js +65 -0
  105. package/node_modules/@pierre/diffs/dist/editor/stateStorage.js.map +1 -0
  106. package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts +67 -0
  107. package/node_modules/@pierre/diffs/dist/editor/textDocument.d.ts.map +1 -0
  108. package/node_modules/@pierre/diffs/dist/editor/textDocument.js +278 -0
  109. package/node_modules/@pierre/diffs/dist/editor/textDocument.js.map +1 -0
  110. package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts +61 -0
  111. package/node_modules/@pierre/diffs/dist/editor/textMeasure.d.ts.map +1 -0
  112. package/node_modules/@pierre/diffs/dist/editor/textMeasure.js +209 -0
  113. package/node_modules/@pierre/diffs/dist/editor/textMeasure.js.map +1 -0
  114. package/node_modules/@pierre/diffs/dist/editor/tokenizer.d.ts +41 -0
  115. package/node_modules/@pierre/diffs/dist/editor/tokenizer.d.ts.map +1 -0
  116. package/node_modules/@pierre/diffs/dist/editor/tokenizer.js +596 -0
  117. package/node_modules/@pierre/diffs/dist/editor/tokenizer.js.map +1 -0
  118. package/node_modules/@pierre/diffs/dist/editor/utils.d.ts +22 -0
  119. package/node_modules/@pierre/diffs/dist/editor/utils.d.ts.map +1 -0
  120. package/node_modules/@pierre/diffs/dist/editor/utils.js +78 -0
  121. package/node_modules/@pierre/diffs/dist/editor/utils.js.map +1 -0
  122. package/node_modules/@pierre/diffs/dist/index.d.ts +12 -9
  123. package/node_modules/@pierre/diffs/dist/index.js +13 -10
  124. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.d.ts +20 -2
  125. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.d.ts.map +1 -1
  126. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js +155 -79
  127. package/node_modules/@pierre/diffs/dist/managers/InteractionManager.js.map +1 -1
  128. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.d.ts +10 -2
  129. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.d.ts.map +1 -1
  130. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.js +33 -13
  131. package/node_modules/@pierre/diffs/dist/managers/ResizeManager.js.map +1 -1
  132. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.d.ts +2 -1
  133. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  134. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.js +7 -3
  135. package/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.js.map +1 -1
  136. package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts +29 -3
  137. package/node_modules/@pierre/diffs/dist/react/CodeView.d.ts.map +1 -1
  138. package/node_modules/@pierre/diffs/dist/react/CodeView.js +111 -30
  139. package/node_modules/@pierre/diffs/dist/react/CodeView.js.map +1 -1
  140. package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts +20 -0
  141. package/node_modules/@pierre/diffs/dist/react/EditContext.d.ts.map +1 -0
  142. package/node_modules/@pierre/diffs/dist/react/EditContext.js +27 -0
  143. package/node_modules/@pierre/diffs/dist/react/EditContext.js.map +1 -0
  144. package/node_modules/@pierre/diffs/dist/react/File.d.ts +4 -1
  145. package/node_modules/@pierre/diffs/dist/react/File.d.ts.map +1 -1
  146. package/node_modules/@pierre/diffs/dist/react/File.js +5 -2
  147. package/node_modules/@pierre/diffs/dist/react/File.js.map +1 -1
  148. package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts +4 -1
  149. package/node_modules/@pierre/diffs/dist/react/FileDiff.d.ts.map +1 -1
  150. package/node_modules/@pierre/diffs/dist/react/FileDiff.js +5 -2
  151. package/node_modules/@pierre/diffs/dist/react/FileDiff.js.map +1 -1
  152. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts +7 -5
  153. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.d.ts.map +1 -1
  154. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js +5 -2
  155. package/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js.map +1 -1
  156. package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts +4 -1
  157. package/node_modules/@pierre/diffs/dist/react/PatchDiff.d.ts.map +1 -1
  158. package/node_modules/@pierre/diffs/dist/react/PatchDiff.js +5 -2
  159. package/node_modules/@pierre/diffs/dist/react/PatchDiff.js.map +1 -1
  160. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts +2 -1
  161. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.d.ts.map +1 -1
  162. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.js +2 -1
  163. package/node_modules/@pierre/diffs/dist/react/UnresolvedFile.js.map +1 -1
  164. package/node_modules/@pierre/diffs/dist/react/index.d.ts +4 -3
  165. package/node_modules/@pierre/diffs/dist/react/index.js +3 -2
  166. package/node_modules/@pierre/diffs/dist/react/types.d.ts +11 -0
  167. package/node_modules/@pierre/diffs/dist/react/types.d.ts.map +1 -1
  168. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts +2 -0
  169. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  170. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js +16 -8
  171. package/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js.map +1 -1
  172. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts +2 -0
  173. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  174. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js +16 -8
  175. package/node_modules/@pierre/diffs/dist/react/utils/renderFileChildren.js.map +1 -1
  176. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts +6 -2
  177. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  178. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js +21 -6
  179. package/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js.map +1 -1
  180. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts +7 -2
  181. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.d.ts.map +1 -1
  182. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js +21 -6
  183. package/node_modules/@pierre/diffs/dist/react/utils/useFileInstance.js.map +1 -1
  184. package/node_modules/@pierre/diffs/dist/react/utils/useUnresolvedFileInstance.js +4 -4
  185. package/node_modules/@pierre/diffs/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
  186. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts +47 -2
  187. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  188. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js +361 -37
  189. package/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js.map +1 -1
  190. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts +26 -1
  191. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.d.ts.map +1 -1
  192. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js +240 -55
  193. package/node_modules/@pierre/diffs/dist/renderers/FileRenderer.js.map +1 -1
  194. package/node_modules/@pierre/diffs/dist/ssr/index.d.ts +2 -2
  195. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts +11 -10
  196. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.d.ts.map +1 -1
  197. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.js +17 -7
  198. package/node_modules/@pierre/diffs/dist/ssr/preloadDiffs.js.map +1 -1
  199. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.d.ts.map +1 -1
  200. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.js +2 -0
  201. package/node_modules/@pierre/diffs/dist/ssr/preloadFile.js.map +1 -1
  202. package/node_modules/@pierre/diffs/dist/style.js +1 -1
  203. package/node_modules/@pierre/diffs/dist/types.d.ts +336 -5
  204. package/node_modules/@pierre/diffs/dist/types.d.ts.map +1 -1
  205. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.d.ts +20 -0
  206. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.d.ts.map +1 -0
  207. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.js +29 -0
  208. package/node_modules/@pierre/diffs/dist/utils/annotationHelpers.js.map +1 -0
  209. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.d.ts +5 -0
  210. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.d.ts.map +1 -0
  211. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.js +11 -0
  212. package/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.js.map +1 -0
  213. package/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.js +1 -1
  214. package/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.js.map +1 -1
  215. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts +2 -2
  216. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  217. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.js +6 -1
  218. package/node_modules/@pierre/diffs/dist/utils/areManagedSnapshotsEqual.js.map +1 -1
  219. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.d.ts +5 -0
  220. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.d.ts.map +1 -0
  221. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.js +15 -0
  222. package/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.js.map +1 -0
  223. package/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.js +6 -1
  224. package/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.js.map +1 -1
  225. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts +7 -0
  226. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -0
  227. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js +16 -0
  228. package/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js.map +1 -0
  229. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.d.ts +3 -1
  230. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
  231. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js +8 -1
  232. package/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js.map +1 -1
  233. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.d.ts +21 -0
  234. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.d.ts.map +1 -0
  235. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.js +80 -0
  236. package/node_modules/@pierre/diffs/dist/utils/computeFileOffsets.js.map +1 -0
  237. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.d.ts +5 -0
  238. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.d.ts.map +1 -0
  239. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.js +19 -0
  240. package/node_modules/@pierre/diffs/dist/utils/createCodeViewHeaderFooterHostElement.js.map +1 -0
  241. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  242. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.js +5 -1
  243. package/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.js.map +1 -1
  244. package/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.js +9 -0
  245. package/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.js.map +1 -1
  246. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts +66 -0
  247. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.d.ts.map +1 -0
  248. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js +437 -0
  249. package/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js.map +1 -0
  250. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.d.ts +14 -0
  251. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.d.ts.map +1 -0
  252. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.js +24 -0
  253. package/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.js.map +1 -0
  254. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  255. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js +3 -1
  256. package/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js.map +1 -1
  257. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  258. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.js +2 -1
  259. package/node_modules/@pierre/diffs/dist/utils/getFileRendererOptions.js.map +1 -1
  260. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  261. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js +2 -0
  262. package/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js.map +1 -1
  263. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.d.ts +7 -0
  264. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.d.ts.map +1 -0
  265. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.js +12 -0
  266. package/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.js.map +1 -0
  267. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  268. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.js +2 -1
  269. package/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.js.map +1 -1
  270. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.d.ts +20 -0
  271. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.d.ts.map +1 -0
  272. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.js +34 -0
  273. package/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.js.map +1 -0
  274. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.d.ts +10 -0
  275. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.d.ts.map +1 -0
  276. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js +141 -0
  277. package/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js.map +1 -0
  278. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.d.ts +5 -0
  279. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.d.ts.map +1 -0
  280. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.js +12 -0
  281. package/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.js.map +1 -0
  282. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.d.ts.map +1 -1
  283. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js +20 -15
  284. package/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js.map +1 -1
  285. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts +1 -1
  286. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  287. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js +26 -5
  288. package/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js.map +1 -1
  289. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  290. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.js +9 -6
  291. package/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.js.map +1 -1
  292. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.d.ts.map +1 -1
  293. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js +6 -3
  294. package/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js.map +1 -1
  295. package/node_modules/@pierre/diffs/dist/utils/platform.d.ts +14 -0
  296. package/node_modules/@pierre/diffs/dist/utils/platform.d.ts.map +1 -0
  297. package/node_modules/@pierre/diffs/dist/utils/platform.js +32 -0
  298. package/node_modules/@pierre/diffs/dist/utils/platform.js.map +1 -0
  299. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts +33 -0
  300. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.d.ts.map +1 -0
  301. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js +148 -0
  302. package/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js.map +1 -0
  303. package/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js +1 -1
  304. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  305. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js +5 -14
  306. package/node_modules/@pierre/diffs/dist/utils/renderFileWithHighlighter.js.map +1 -1
  307. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.d.ts.map +1 -1
  308. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.js +18 -2
  309. package/node_modules/@pierre/diffs/dist/utils/resolveRegion.js.map +1 -1
  310. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.d.ts +7 -3
  311. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
  312. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.js +1 -1
  313. package/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.js.map +1 -1
  314. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.d.ts +24 -0
  315. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.d.ts.map +1 -0
  316. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js +236 -0
  317. package/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js.map +1 -0
  318. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.d.ts +43 -2
  319. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  320. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js +107 -5
  321. package/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js.map +1 -1
  322. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts +9 -3
  323. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  324. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js +86 -18
  325. package/node_modules/@pierre/diffs/dist/worker/WorkerPoolManager.js.map +1 -1
  326. package/node_modules/@pierre/diffs/dist/worker/index.d.ts +2 -2
  327. package/node_modules/@pierre/diffs/dist/worker/types.d.ts +11 -1
  328. package/node_modules/@pierre/diffs/dist/worker/types.d.ts.map +1 -1
  329. package/node_modules/@pierre/diffs/dist/worker/wasm-B9ZqxnKj.js.map +1 -1
  330. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js +116 -95
  331. package/node_modules/@pierre/diffs/dist/worker/worker-portable.js.map +1 -1
  332. package/node_modules/@pierre/diffs/dist/worker/worker.js +102 -80
  333. package/node_modules/@pierre/diffs/dist/worker/worker.js.map +1 -1
  334. package/node_modules/@pierre/diffs/node_modules/@pierre/theme/LICENSE +189 -21
  335. package/node_modules/@pierre/diffs/node_modules/@pierre/theme/NOTICE.md +32 -0
  336. package/node_modules/@pierre/diffs/node_modules/@pierre/theme/package.json +3 -2
  337. package/node_modules/@pierre/diffs/node_modules/@pierre/theming/LICENSE.md +189 -0
  338. package/node_modules/@pierre/diffs/node_modules/@pierre/theming/README.md +9 -0
  339. package/node_modules/@pierre/diffs/node_modules/@pierre/theming/package.json +5 -5
  340. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/LICENSE +22 -0
  341. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/README.md +7 -0
  342. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/1c-query.d.mts +3 -0
  343. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/1c-query.mjs +2 -0
  344. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/1c.d.mts +3 -0
  345. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/1c.mjs +2 -0
  346. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/abap.d.mts +3 -0
  347. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/abap.mjs +5 -0
  348. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/actionscript-3.d.mts +3 -0
  349. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/actionscript-3.mjs +5 -0
  350. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ada.d.mts +3 -0
  351. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ada.mjs +5 -0
  352. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/adoc.d.mts +3 -0
  353. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/adoc.mjs +2 -0
  354. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-expression.d.mts +3 -0
  355. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-expression.mjs +5 -0
  356. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-html.d.mts +3 -0
  357. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-html.mjs +16 -0
  358. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-inline-style.d.mts +3 -0
  359. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-inline-style.mjs +8 -0
  360. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-inline-template.d.mts +3 -0
  361. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-inline-template.mjs +10 -0
  362. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-let-declaration.d.mts +3 -0
  363. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-let-declaration.mjs +8 -0
  364. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-template-blocks.d.mts +3 -0
  365. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-template-blocks.mjs +10 -0
  366. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-template.d.mts +3 -0
  367. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-template.mjs +8 -0
  368. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-ts.d.mts +3 -0
  369. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/angular-ts.mjs +18 -0
  370. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/apache.d.mts +3 -0
  371. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/apache.mjs +5 -0
  372. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/apex.d.mts +3 -0
  373. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/apex.mjs +5 -0
  374. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/apl.d.mts +3 -0
  375. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/apl.mjs +16 -0
  376. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/applescript.d.mts +3 -0
  377. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/applescript.mjs +5 -0
  378. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ara.d.mts +3 -0
  379. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ara.mjs +5 -0
  380. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/asciidoc.d.mts +3 -0
  381. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/asciidoc.mjs +5 -0
  382. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/asm.d.mts +3 -0
  383. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/asm.mjs +5 -0
  384. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/astro.d.mts +3 -0
  385. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/astro.mjs +18 -0
  386. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/awk.d.mts +3 -0
  387. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/awk.mjs +5 -0
  388. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ballerina.d.mts +3 -0
  389. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ballerina.mjs +5 -0
  390. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bash.d.mts +3 -0
  391. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bash.mjs +2 -0
  392. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bat.d.mts +3 -0
  393. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bat.mjs +5 -0
  394. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/batch.d.mts +3 -0
  395. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/batch.mjs +2 -0
  396. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/be.d.mts +3 -0
  397. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/be.mjs +2 -0
  398. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/beancount.d.mts +3 -0
  399. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/beancount.mjs +5 -0
  400. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/berry.d.mts +3 -0
  401. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/berry.mjs +5 -0
  402. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bibtex.d.mts +3 -0
  403. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bibtex.mjs +5 -0
  404. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bicep.d.mts +3 -0
  405. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bicep.mjs +5 -0
  406. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bird.d.mts +3 -0
  407. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bird.mjs +2 -0
  408. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bird2.d.mts +3 -0
  409. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bird2.mjs +5 -0
  410. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/blade.d.mts +3 -0
  411. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/blade.mjs +20 -0
  412. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bsl.d.mts +3 -0
  413. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/bsl.mjs +8 -0
  414. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/c.d.mts +3 -0
  415. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/c.mjs +5 -0
  416. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/c3.d.mts +3 -0
  417. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/c3.mjs +5 -0
  418. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cadence.d.mts +3 -0
  419. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cadence.mjs +5 -0
  420. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cairo.d.mts +3 -0
  421. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cairo.mjs +8 -0
  422. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cdc.d.mts +3 -0
  423. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cdc.mjs +2 -0
  424. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cjs.d.mts +3 -0
  425. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cjs.mjs +2 -0
  426. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/clarity.d.mts +3 -0
  427. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/clarity.mjs +5 -0
  428. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/clj.d.mts +3 -0
  429. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/clj.mjs +2 -0
  430. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/clojure.d.mts +3 -0
  431. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/clojure.mjs +5 -0
  432. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/closure-templates.d.mts +3 -0
  433. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/closure-templates.mjs +2 -0
  434. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cmake.d.mts +3 -0
  435. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cmake.mjs +5 -0
  436. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cmd.d.mts +3 -0
  437. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cmd.mjs +2 -0
  438. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cobol.d.mts +3 -0
  439. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cobol.mjs +10 -0
  440. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/codeowners.d.mts +3 -0
  441. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/codeowners.mjs +5 -0
  442. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/codeql.d.mts +3 -0
  443. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/codeql.mjs +5 -0
  444. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/coffee.d.mts +3 -0
  445. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/coffee.mjs +8 -0
  446. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/coffeescript.d.mts +3 -0
  447. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/coffeescript.mjs +2 -0
  448. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/common-lisp.d.mts +3 -0
  449. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/common-lisp.mjs +5 -0
  450. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/console.d.mts +3 -0
  451. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/console.mjs +2 -0
  452. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/coq.d.mts +3 -0
  453. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/coq.mjs +5 -0
  454. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cpp-macro.d.mts +3 -0
  455. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cpp-macro.mjs +12 -0
  456. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cpp.d.mts +3 -0
  457. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cpp.mjs +14 -0
  458. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cql.d.mts +3 -0
  459. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cql.mjs +2 -0
  460. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/crystal.d.mts +3 -0
  461. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/crystal.mjs +18 -0
  462. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cs.d.mts +3 -0
  463. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cs.mjs +2 -0
  464. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/csharp.d.mts +3 -0
  465. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/csharp.mjs +5 -0
  466. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/css.d.mts +3 -0
  467. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/css.mjs +5 -0
  468. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/csv.d.mts +3 -0
  469. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/csv.mjs +5 -0
  470. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cts.d.mts +3 -0
  471. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cts.mjs +2 -0
  472. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cue.d.mts +3 -0
  473. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cue.mjs +5 -0
  474. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cypher.d.mts +3 -0
  475. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/cypher.mjs +5 -0
  476. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/d.d.mts +3 -0
  477. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/d.mjs +5 -0
  478. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/dart.d.mts +3 -0
  479. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/dart.mjs +5 -0
  480. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/dax.d.mts +3 -0
  481. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/dax.mjs +5 -0
  482. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/desktop.d.mts +3 -0
  483. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/desktop.mjs +5 -0
  484. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/diff.d.mts +3 -0
  485. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/diff.mjs +5 -0
  486. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/docker.d.mts +3 -0
  487. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/docker.mjs +5 -0
  488. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/dockerfile.d.mts +3 -0
  489. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/dockerfile.mjs +2 -0
  490. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/dotenv.d.mts +3 -0
  491. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/dotenv.mjs +5 -0
  492. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/dream-maker.d.mts +3 -0
  493. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/dream-maker.mjs +5 -0
  494. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/edge.d.mts +3 -0
  495. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/edge.mjs +12 -0
  496. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/elisp.d.mts +3 -0
  497. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/elisp.mjs +2 -0
  498. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/elixir.d.mts +3 -0
  499. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/elixir.mjs +8 -0
  500. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/elm.d.mts +3 -0
  501. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/elm.mjs +8 -0
  502. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/emacs-lisp.d.mts +3 -0
  503. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +5 -0
  504. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/erb.d.mts +3 -0
  505. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/erb.mjs +10 -0
  506. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/erl.d.mts +3 -0
  507. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/erl.mjs +2 -0
  508. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/erlang.d.mts +3 -0
  509. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/erlang.mjs +8 -0
  510. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/es-tag-css.d.mts +3 -0
  511. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/es-tag-css.mjs +12 -0
  512. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/es-tag-glsl.d.mts +3 -0
  513. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/es-tag-glsl.mjs +12 -0
  514. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/es-tag-html.d.mts +3 -0
  515. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/es-tag-html.mjs +12 -0
  516. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/es-tag-sql.d.mts +3 -0
  517. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/es-tag-sql.mjs +10 -0
  518. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/es-tag-xml.d.mts +3 -0
  519. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/es-tag-xml.mjs +8 -0
  520. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f.d.mts +3 -0
  521. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f.mjs +2 -0
  522. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f03.d.mts +3 -0
  523. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f03.mjs +2 -0
  524. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f08.d.mts +3 -0
  525. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f08.mjs +2 -0
  526. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f18.d.mts +3 -0
  527. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f18.mjs +2 -0
  528. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f77.d.mts +3 -0
  529. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f77.mjs +2 -0
  530. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f90.d.mts +3 -0
  531. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f90.mjs +2 -0
  532. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f95.d.mts +3 -0
  533. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/f95.mjs +2 -0
  534. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fennel.d.mts +3 -0
  535. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fennel.mjs +5 -0
  536. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fish.d.mts +3 -0
  537. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fish.mjs +5 -0
  538. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fluent.d.mts +3 -0
  539. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fluent.mjs +5 -0
  540. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/for.d.mts +3 -0
  541. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/for.mjs +2 -0
  542. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fortran-fixed-form.d.mts +3 -0
  543. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fortran-fixed-form.mjs +8 -0
  544. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fortran-free-form.d.mts +3 -0
  545. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fortran-free-form.mjs +5 -0
  546. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fs.d.mts +3 -0
  547. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fs.mjs +2 -0
  548. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fsharp.d.mts +3 -0
  549. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fsharp.mjs +8 -0
  550. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fsl.d.mts +3 -0
  551. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/fsl.mjs +2 -0
  552. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ftl.d.mts +3 -0
  553. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ftl.mjs +2 -0
  554. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gd.d.mts +3 -0
  555. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gd.mjs +2 -0
  556. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gdresource.d.mts +3 -0
  557. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gdresource.mjs +10 -0
  558. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gdscript.d.mts +3 -0
  559. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gdscript.mjs +5 -0
  560. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gdshader.d.mts +3 -0
  561. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gdshader.mjs +5 -0
  562. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/genie.d.mts +3 -0
  563. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/genie.mjs +5 -0
  564. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gherkin.d.mts +3 -0
  565. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gherkin.mjs +5 -0
  566. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/git-commit.d.mts +3 -0
  567. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/git-commit.mjs +8 -0
  568. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/git-rebase.d.mts +3 -0
  569. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/git-rebase.mjs +8 -0
  570. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gjs.d.mts +3 -0
  571. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gjs.mjs +2 -0
  572. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gleam.d.mts +3 -0
  573. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gleam.mjs +5 -0
  574. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/glimmer-js.d.mts +3 -0
  575. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/glimmer-js.mjs +14 -0
  576. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/glimmer-ts.d.mts +3 -0
  577. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/glimmer-ts.mjs +14 -0
  578. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/glsl.d.mts +3 -0
  579. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/glsl.mjs +8 -0
  580. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gn.d.mts +3 -0
  581. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gn.mjs +5 -0
  582. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gnuplot.d.mts +3 -0
  583. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gnuplot.mjs +5 -0
  584. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/go.d.mts +3 -0
  585. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/go.mjs +5 -0
  586. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gql.d.mts +3 -0
  587. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gql.mjs +2 -0
  588. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/graphql.d.mts +3 -0
  589. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/graphql.mjs +14 -0
  590. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/groovy.d.mts +3 -0
  591. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/groovy.mjs +5 -0
  592. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gts.d.mts +3 -0
  593. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/gts.mjs +2 -0
  594. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hack.d.mts +3 -0
  595. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hack.mjs +10 -0
  596. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/haml.d.mts +3 -0
  597. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/haml.mjs +10 -0
  598. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/handlebars.d.mts +3 -0
  599. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/handlebars.mjs +14 -0
  600. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/haskell.d.mts +3 -0
  601. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/haskell.mjs +5 -0
  602. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/haxe.d.mts +3 -0
  603. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/haxe.mjs +5 -0
  604. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hbs.d.mts +3 -0
  605. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hbs.mjs +2 -0
  606. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hcl.d.mts +3 -0
  607. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hcl.mjs +5 -0
  608. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hjson.d.mts +3 -0
  609. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hjson.mjs +5 -0
  610. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hlsl.d.mts +3 -0
  611. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hlsl.mjs +5 -0
  612. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hs.d.mts +3 -0
  613. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hs.mjs +2 -0
  614. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/html-derivative.d.mts +3 -0
  615. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/html-derivative.mjs +8 -0
  616. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/html.d.mts +3 -0
  617. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/html.mjs +10 -0
  618. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/http.d.mts +3 -0
  619. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/http.mjs +14 -0
  620. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hurl.d.mts +3 -0
  621. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hurl.mjs +12 -0
  622. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hxml.d.mts +3 -0
  623. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hxml.mjs +8 -0
  624. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hy.d.mts +3 -0
  625. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/hy.mjs +5 -0
  626. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/imba.d.mts +3 -0
  627. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/imba.mjs +5 -0
  628. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/index.d.mts +3 -0
  629. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/index.mjs +353 -0
  630. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ini.d.mts +3 -0
  631. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ini.mjs +5 -0
  632. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jade.d.mts +3 -0
  633. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jade.mjs +2 -0
  634. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/java.d.mts +3 -0
  635. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/java.mjs +5 -0
  636. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/javascript.d.mts +3 -0
  637. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/javascript.mjs +5 -0
  638. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jinja-html.d.mts +3 -0
  639. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jinja-html.mjs +8 -0
  640. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jinja.d.mts +3 -0
  641. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jinja.mjs +8 -0
  642. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jison.d.mts +3 -0
  643. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jison.mjs +8 -0
  644. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jl.d.mts +3 -0
  645. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jl.mjs +2 -0
  646. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/js.d.mts +3 -0
  647. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/js.mjs +2 -0
  648. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/json.d.mts +3 -0
  649. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/json.mjs +5 -0
  650. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/json5.d.mts +3 -0
  651. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/json5.mjs +5 -0
  652. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jsonc.d.mts +3 -0
  653. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jsonc.mjs +5 -0
  654. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jsonl.d.mts +3 -0
  655. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jsonl.mjs +5 -0
  656. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jsonnet.d.mts +3 -0
  657. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jsonnet.mjs +5 -0
  658. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jssm.d.mts +3 -0
  659. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jssm.mjs +5 -0
  660. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jsx.d.mts +3 -0
  661. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/jsx.mjs +5 -0
  662. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/julia.d.mts +3 -0
  663. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/julia.mjs +16 -0
  664. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/just.d.mts +3 -0
  665. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/just.mjs +18 -0
  666. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kdl.d.mts +3 -0
  667. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kdl.mjs +5 -0
  668. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kotlin.d.mts +3 -0
  669. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kotlin.mjs +5 -0
  670. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kql.d.mts +3 -0
  671. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kql.mjs +2 -0
  672. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kt.d.mts +3 -0
  673. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kt.mjs +2 -0
  674. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kts.d.mts +3 -0
  675. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kts.mjs +2 -0
  676. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kusto.d.mts +3 -0
  677. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/kusto.mjs +5 -0
  678. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/latex.d.mts +3 -0
  679. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/latex.mjs +8 -0
  680. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/lean.d.mts +3 -0
  681. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/lean.mjs +5 -0
  682. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/lean4.d.mts +3 -0
  683. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/lean4.mjs +2 -0
  684. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/less.d.mts +3 -0
  685. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/less.mjs +5 -0
  686. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/liquid.d.mts +3 -0
  687. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/liquid.mjs +14 -0
  688. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/lisp.d.mts +3 -0
  689. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/lisp.mjs +2 -0
  690. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/lit.d.mts +3 -0
  691. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/lit.mjs +2 -0
  692. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/llvm.d.mts +3 -0
  693. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/llvm.mjs +5 -0
  694. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/log.d.mts +3 -0
  695. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/log.mjs +5 -0
  696. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/logo.d.mts +3 -0
  697. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/logo.mjs +5 -0
  698. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/lua.d.mts +3 -0
  699. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/lua.mjs +8 -0
  700. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/luau.d.mts +3 -0
  701. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/luau.mjs +5 -0
  702. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/make.d.mts +3 -0
  703. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/make.mjs +5 -0
  704. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/makefile.d.mts +3 -0
  705. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/makefile.mjs +2 -0
  706. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/markdown-nix.d.mts +3 -0
  707. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/markdown-nix.mjs +5 -0
  708. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/markdown-vue.d.mts +3 -0
  709. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/markdown-vue.mjs +5 -0
  710. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/markdown.d.mts +3 -0
  711. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/markdown.mjs +5 -0
  712. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/marko.d.mts +3 -0
  713. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/marko.mjs +14 -0
  714. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/matlab.d.mts +3 -0
  715. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/matlab.mjs +5 -0
  716. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mbt.d.mts +3 -0
  717. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mbt.mjs +2 -0
  718. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mbti.d.mts +3 -0
  719. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mbti.mjs +2 -0
  720. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/md.d.mts +3 -0
  721. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/md.mjs +2 -0
  722. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mdc.d.mts +3 -0
  723. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mdc.mjs +12 -0
  724. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mdx.d.mts +3 -0
  725. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mdx.mjs +5 -0
  726. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mediawiki.d.mts +3 -0
  727. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mediawiki.mjs +2 -0
  728. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mermaid.d.mts +3 -0
  729. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mermaid.mjs +5 -0
  730. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mips.d.mts +3 -0
  731. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mips.mjs +2 -0
  732. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mipsasm.d.mts +3 -0
  733. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mipsasm.mjs +5 -0
  734. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mjs.d.mts +3 -0
  735. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mjs.mjs +2 -0
  736. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mmd.d.mts +3 -0
  737. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mmd.mjs +2 -0
  738. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mojo.d.mts +3 -0
  739. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mojo.mjs +5 -0
  740. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/moonbit.d.mts +3 -0
  741. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/moonbit.mjs +5 -0
  742. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/move.d.mts +3 -0
  743. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/move.mjs +5 -0
  744. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mts.d.mts +3 -0
  745. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/mts.mjs +2 -0
  746. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nar.d.mts +3 -0
  747. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nar.mjs +2 -0
  748. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/narrat.d.mts +3 -0
  749. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/narrat.mjs +5 -0
  750. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nextflow-groovy.d.mts +3 -0
  751. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nextflow-groovy.mjs +5 -0
  752. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nextflow.d.mts +3 -0
  753. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nextflow.mjs +8 -0
  754. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nf.d.mts +3 -0
  755. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nf.mjs +2 -0
  756. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nginx.d.mts +3 -0
  757. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nginx.mjs +8 -0
  758. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nim.d.mts +3 -0
  759. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nim.mjs +20 -0
  760. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nix.d.mts +3 -0
  761. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nix.mjs +8 -0
  762. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nu.d.mts +3 -0
  763. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nu.mjs +2 -0
  764. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nushell.d.mts +3 -0
  765. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/nushell.mjs +5 -0
  766. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/objc.d.mts +3 -0
  767. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/objc.mjs +2 -0
  768. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/objective-c.d.mts +3 -0
  769. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/objective-c.mjs +5 -0
  770. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/objective-cpp.d.mts +3 -0
  771. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/objective-cpp.mjs +5 -0
  772. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ocaml.d.mts +3 -0
  773. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ocaml.mjs +5 -0
  774. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/odin.d.mts +3 -0
  775. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/odin.mjs +5 -0
  776. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/openscad.d.mts +3 -0
  777. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/openscad.mjs +5 -0
  778. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/pascal.d.mts +3 -0
  779. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/pascal.mjs +5 -0
  780. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/perl.d.mts +3 -0
  781. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/perl.mjs +16 -0
  782. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/perl6.d.mts +3 -0
  783. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/perl6.mjs +2 -0
  784. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/php.d.mts +3 -0
  785. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/php.mjs +18 -0
  786. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/pkl.d.mts +3 -0
  787. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/pkl.mjs +5 -0
  788. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/plsql.d.mts +3 -0
  789. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/plsql.mjs +5 -0
  790. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/po.d.mts +3 -0
  791. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/po.mjs +5 -0
  792. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/polar.d.mts +3 -0
  793. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/polar.mjs +5 -0
  794. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/postcss.d.mts +3 -0
  795. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/postcss.mjs +5 -0
  796. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/pot.d.mts +3 -0
  797. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/pot.mjs +2 -0
  798. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/potx.d.mts +3 -0
  799. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/potx.mjs +2 -0
  800. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/powerquery.d.mts +3 -0
  801. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/powerquery.mjs +5 -0
  802. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/powershell.d.mts +3 -0
  803. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/powershell.mjs +5 -0
  804. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/prisma.d.mts +3 -0
  805. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/prisma.mjs +5 -0
  806. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/prolog.d.mts +3 -0
  807. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/prolog.mjs +5 -0
  808. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/properties.d.mts +3 -0
  809. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/properties.mjs +2 -0
  810. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/proto.d.mts +3 -0
  811. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/proto.mjs +5 -0
  812. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/protobuf.d.mts +3 -0
  813. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/protobuf.mjs +2 -0
  814. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ps.d.mts +3 -0
  815. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ps.mjs +2 -0
  816. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ps1.d.mts +3 -0
  817. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ps1.mjs +2 -0
  818. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/pug.d.mts +3 -0
  819. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/pug.mjs +12 -0
  820. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/puppet.d.mts +3 -0
  821. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/puppet.mjs +5 -0
  822. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/purescript.d.mts +3 -0
  823. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/purescript.mjs +5 -0
  824. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/py.d.mts +3 -0
  825. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/py.mjs +2 -0
  826. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/python.d.mts +3 -0
  827. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/python.mjs +5 -0
  828. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ql.d.mts +3 -0
  829. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ql.mjs +2 -0
  830. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/qml.d.mts +3 -0
  831. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/qml.mjs +8 -0
  832. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/qmldir.d.mts +3 -0
  833. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/qmldir.mjs +5 -0
  834. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/qss.d.mts +3 -0
  835. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/qss.mjs +5 -0
  836. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/r.d.mts +3 -0
  837. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/r.mjs +5 -0
  838. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/racket.d.mts +3 -0
  839. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/racket.mjs +5 -0
  840. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/raku.d.mts +3 -0
  841. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/raku.mjs +5 -0
  842. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/razor.d.mts +3 -0
  843. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/razor.mjs +10 -0
  844. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rb.d.mts +3 -0
  845. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rb.mjs +2 -0
  846. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/reg.d.mts +3 -0
  847. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/reg.mjs +5 -0
  848. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/regex.d.mts +3 -0
  849. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/regex.mjs +2 -0
  850. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/regexp.d.mts +3 -0
  851. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/regexp.mjs +5 -0
  852. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rel.d.mts +3 -0
  853. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rel.mjs +5 -0
  854. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/riscv.d.mts +3 -0
  855. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/riscv.mjs +5 -0
  856. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ron.d.mts +3 -0
  857. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ron.mjs +5 -0
  858. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rosmsg.d.mts +3 -0
  859. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rosmsg.mjs +5 -0
  860. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rs.d.mts +3 -0
  861. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rs.mjs +2 -0
  862. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rst.d.mts +3 -0
  863. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rst.mjs +22 -0
  864. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ruby.d.mts +3 -0
  865. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ruby.mjs +30 -0
  866. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rust.d.mts +3 -0
  867. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/rust.mjs +5 -0
  868. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sas.d.mts +3 -0
  869. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sas.mjs +8 -0
  870. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sass.d.mts +3 -0
  871. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sass.mjs +5 -0
  872. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/scad.d.mts +3 -0
  873. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/scad.mjs +2 -0
  874. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/scala.d.mts +3 -0
  875. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/scala.mjs +5 -0
  876. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/scheme.d.mts +3 -0
  877. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/scheme.mjs +5 -0
  878. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/scss.d.mts +3 -0
  879. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/scss.mjs +8 -0
  880. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sdbl.d.mts +3 -0
  881. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sdbl.mjs +5 -0
  882. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sh.d.mts +3 -0
  883. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sh.mjs +2 -0
  884. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/shader.d.mts +3 -0
  885. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/shader.mjs +2 -0
  886. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/shaderlab.d.mts +3 -0
  887. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/shaderlab.mjs +8 -0
  888. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/shell.d.mts +3 -0
  889. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/shell.mjs +2 -0
  890. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/shellscript.d.mts +3 -0
  891. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/shellscript.mjs +5 -0
  892. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/shellsession.d.mts +3 -0
  893. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/shellsession.mjs +8 -0
  894. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/smalltalk.d.mts +3 -0
  895. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/smalltalk.mjs +5 -0
  896. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/solidity.d.mts +3 -0
  897. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/solidity.mjs +5 -0
  898. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/soy.d.mts +3 -0
  899. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/soy.mjs +8 -0
  900. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sparql.d.mts +3 -0
  901. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sparql.mjs +8 -0
  902. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/spl.d.mts +3 -0
  903. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/spl.mjs +2 -0
  904. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/splunk.d.mts +3 -0
  905. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/splunk.mjs +5 -0
  906. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sql.d.mts +3 -0
  907. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/sql.mjs +5 -0
  908. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ssh-config.d.mts +3 -0
  909. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ssh-config.mjs +5 -0
  910. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/stata.d.mts +3 -0
  911. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/stata.mjs +8 -0
  912. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/styl.d.mts +3 -0
  913. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/styl.mjs +2 -0
  914. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/stylus.d.mts +3 -0
  915. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/stylus.mjs +5 -0
  916. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/surql.d.mts +3 -0
  917. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/surql.mjs +2 -0
  918. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/surrealql.d.mts +3 -0
  919. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/surrealql.mjs +8 -0
  920. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/svelte.d.mts +3 -0
  921. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/svelte.mjs +14 -0
  922. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/swift.d.mts +3 -0
  923. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/swift.mjs +5 -0
  924. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/system-verilog.d.mts +3 -0
  925. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/system-verilog.mjs +5 -0
  926. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/systemd.d.mts +3 -0
  927. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/systemd.mjs +5 -0
  928. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/talon.d.mts +3 -0
  929. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/talon.mjs +2 -0
  930. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/talonscript.d.mts +3 -0
  931. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/talonscript.mjs +5 -0
  932. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tasl.d.mts +3 -0
  933. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tasl.mjs +5 -0
  934. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tcl.d.mts +3 -0
  935. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tcl.mjs +5 -0
  936. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/templ.d.mts +3 -0
  937. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/templ.mjs +12 -0
  938. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/terraform.d.mts +3 -0
  939. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/terraform.mjs +5 -0
  940. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tex.d.mts +3 -0
  941. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tex.mjs +8 -0
  942. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tf.d.mts +3 -0
  943. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tf.mjs +2 -0
  944. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tfvars.d.mts +3 -0
  945. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tfvars.mjs +2 -0
  946. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/toml.d.mts +3 -0
  947. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/toml.mjs +5 -0
  948. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tres.d.mts +3 -0
  949. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tres.mjs +2 -0
  950. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ts-tags.d.mts +3 -0
  951. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ts-tags.mjs +18 -0
  952. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ts.d.mts +3 -0
  953. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/ts.mjs +2 -0
  954. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tscn.d.mts +3 -0
  955. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tscn.mjs +2 -0
  956. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tsp.d.mts +3 -0
  957. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tsp.mjs +2 -0
  958. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tsv.d.mts +3 -0
  959. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tsv.mjs +5 -0
  960. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tsx.d.mts +3 -0
  961. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/tsx.mjs +5 -0
  962. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/turtle.d.mts +3 -0
  963. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/turtle.mjs +5 -0
  964. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/twig.d.mts +3 -0
  965. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/twig.mjs +18 -0
  966. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/typ.d.mts +3 -0
  967. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/typ.mjs +2 -0
  968. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/typescript.d.mts +3 -0
  969. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/typescript.mjs +5 -0
  970. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/typespec.d.mts +3 -0
  971. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/typespec.mjs +5 -0
  972. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/typst.d.mts +3 -0
  973. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/typst.mjs +5 -0
  974. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/v.d.mts +3 -0
  975. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/v.mjs +5 -0
  976. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vala.d.mts +3 -0
  977. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vala.mjs +5 -0
  978. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vb.d.mts +3 -0
  979. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vb.mjs +5 -0
  980. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/verilog.d.mts +3 -0
  981. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/verilog.mjs +5 -0
  982. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vhdl.d.mts +3 -0
  983. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vhdl.mjs +5 -0
  984. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vim.d.mts +3 -0
  985. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vim.mjs +2 -0
  986. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/viml.d.mts +3 -0
  987. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/viml.mjs +5 -0
  988. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vimscript.d.mts +3 -0
  989. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vimscript.mjs +2 -0
  990. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue-directives.d.mts +3 -0
  991. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue-directives.mjs +5 -0
  992. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue-html.d.mts +3 -0
  993. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue-html.mjs +8 -0
  994. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue-interpolations.d.mts +3 -0
  995. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue-interpolations.mjs +5 -0
  996. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue-sfc-style-variable-injection.d.mts +3 -0
  997. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue-sfc-style-variable-injection.mjs +8 -0
  998. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue-vine.d.mts +3 -0
  999. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue-vine.mjs +18 -0
  1000. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue.d.mts +3 -0
  1001. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vue.mjs +26 -0
  1002. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vy.d.mts +3 -0
  1003. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vy.mjs +2 -0
  1004. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vyper.d.mts +3 -0
  1005. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/vyper.mjs +5 -0
  1006. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wasm.d.mts +3 -0
  1007. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wasm.mjs +5 -0
  1008. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wenyan.d.mts +3 -0
  1009. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wenyan.mjs +5 -0
  1010. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wgsl.d.mts +3 -0
  1011. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wgsl.mjs +5 -0
  1012. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wiki.d.mts +3 -0
  1013. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wiki.mjs +2 -0
  1014. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wikitext.d.mts +3 -0
  1015. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wikitext.mjs +5 -0
  1016. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wit.d.mts +3 -0
  1017. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wit.mjs +5 -0
  1018. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wl.d.mts +3 -0
  1019. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wl.mjs +2 -0
  1020. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wolfram.d.mts +3 -0
  1021. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/wolfram.mjs +5 -0
  1022. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/xml.d.mts +3 -0
  1023. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/xml.mjs +8 -0
  1024. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/xsl.d.mts +3 -0
  1025. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/xsl.mjs +8 -0
  1026. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/yaml.d.mts +3 -0
  1027. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/yaml.mjs +5 -0
  1028. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/yml.d.mts +3 -0
  1029. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/yml.mjs +2 -0
  1030. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/zenscript.d.mts +3 -0
  1031. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/zenscript.mjs +5 -0
  1032. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/zig.d.mts +3 -0
  1033. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/zig.mjs +5 -0
  1034. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/zsh.d.mts +3 -0
  1035. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/dist/zsh.mjs +2 -0
  1036. package/node_modules/@pierre/diffs/node_modules/@shikijs/langs/package.json +387 -0
  1037. package/node_modules/@pierre/diffs/package.json +13 -4
  1038. package/node_modules/@shikijs/langs/dist/actionscript-3.mjs +1 -1
  1039. package/node_modules/@shikijs/langs/dist/actionscript.d.mts +3 -0
  1040. package/node_modules/@shikijs/langs/dist/actionscript.mjs +2 -0
  1041. package/node_modules/@shikijs/langs/dist/ahk.d.mts +3 -0
  1042. package/node_modules/@shikijs/langs/dist/ahk.mjs +5 -0
  1043. package/node_modules/@shikijs/langs/dist/ahk1.d.mts +3 -0
  1044. package/node_modules/@shikijs/langs/dist/ahk1.mjs +2 -0
  1045. package/node_modules/@shikijs/langs/dist/ahk2.d.mts +3 -0
  1046. package/node_modules/@shikijs/langs/dist/ahk2.mjs +5 -0
  1047. package/node_modules/@shikijs/langs/dist/apex.mjs +1 -1
  1048. package/node_modules/@shikijs/langs/dist/as3.d.mts +3 -0
  1049. package/node_modules/@shikijs/langs/dist/as3.mjs +2 -0
  1050. package/node_modules/@shikijs/langs/dist/asciidoc.mjs +1 -1
  1051. package/node_modules/@shikijs/langs/dist/bat.mjs +1 -1
  1052. package/node_modules/@shikijs/langs/dist/bird2.mjs +1 -1
  1053. package/node_modules/@shikijs/langs/dist/bsl.mjs +1 -1
  1054. package/node_modules/@shikijs/langs/dist/c3.mjs +1 -1
  1055. package/node_modules/@shikijs/langs/dist/chapel.d.mts +3 -0
  1056. package/node_modules/@shikijs/langs/dist/chapel.mjs +8 -0
  1057. package/node_modules/@shikijs/langs/dist/chpl.d.mts +3 -0
  1058. package/node_modules/@shikijs/langs/dist/chpl.mjs +2 -0
  1059. package/node_modules/@shikijs/langs/dist/clarity.mjs +1 -1
  1060. package/node_modules/@shikijs/langs/dist/cmd.mjs +2 -2
  1061. package/node_modules/@shikijs/langs/dist/coq.mjs +1 -1
  1062. package/node_modules/@shikijs/langs/dist/cpp-macro.mjs +1 -3
  1063. package/node_modules/@shikijs/langs/dist/cpp.mjs +1 -3
  1064. package/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +1 -1
  1065. package/node_modules/@shikijs/langs/dist/gdscript.mjs +1 -1
  1066. package/node_modules/@shikijs/langs/dist/hack.mjs +1 -1
  1067. package/node_modules/@shikijs/langs/dist/haxe.mjs +1 -1
  1068. package/node_modules/@shikijs/langs/dist/hxml.mjs +1 -1
  1069. package/node_modules/@shikijs/langs/dist/index.mjs +14 -0
  1070. package/node_modules/@shikijs/langs/dist/just.mjs +1 -1
  1071. package/node_modules/@shikijs/langs/dist/justfile.d.mts +3 -0
  1072. package/node_modules/@shikijs/langs/dist/justfile.mjs +2 -0
  1073. package/node_modules/@shikijs/langs/dist/llvm.mjs +1 -1
  1074. package/node_modules/@shikijs/langs/dist/luau.mjs +1 -1
  1075. package/node_modules/@shikijs/langs/dist/mdc.mjs +1 -1
  1076. package/node_modules/@shikijs/langs/dist/mermaid.mjs +1 -1
  1077. package/node_modules/@shikijs/langs/dist/mojo.mjs +1 -1
  1078. package/node_modules/@shikijs/langs/dist/moonbit.mjs +1 -1
  1079. package/node_modules/@shikijs/langs/dist/move.mjs +1 -1
  1080. package/node_modules/@shikijs/langs/dist/nsis.d.mts +3 -0
  1081. package/node_modules/@shikijs/langs/dist/nsis.mjs +5 -0
  1082. package/node_modules/@shikijs/langs/dist/nushell.mjs +1 -1
  1083. package/node_modules/@shikijs/langs/dist/org.d.mts +3 -0
  1084. package/node_modules/@shikijs/langs/dist/org.mjs +100 -0
  1085. package/node_modules/@shikijs/langs/dist/powershell.mjs +1 -1
  1086. package/node_modules/@shikijs/langs/dist/prisma.mjs +1 -1
  1087. package/node_modules/@shikijs/langs/dist/pwsh.d.mts +3 -0
  1088. package/node_modules/@shikijs/langs/dist/pwsh.mjs +2 -0
  1089. package/node_modules/@shikijs/langs/dist/r.mjs +1 -1
  1090. package/node_modules/@shikijs/langs/dist/rbs.d.mts +3 -0
  1091. package/node_modules/@shikijs/langs/dist/rbs.mjs +5 -0
  1092. package/node_modules/@shikijs/langs/dist/ruby-signature.d.mts +3 -0
  1093. package/node_modules/@shikijs/langs/dist/ruby-signature.mjs +2 -0
  1094. package/node_modules/@shikijs/langs/dist/scala.mjs +1 -1
  1095. package/node_modules/@shikijs/langs/dist/smalltalk.mjs +1 -1
  1096. package/node_modules/@shikijs/langs/dist/smithy.d.mts +3 -0
  1097. package/node_modules/@shikijs/langs/dist/smithy.mjs +5 -0
  1098. package/node_modules/@shikijs/langs/dist/solidity.mjs +1 -1
  1099. package/node_modules/@shikijs/langs/dist/surrealql.mjs +1 -1
  1100. package/node_modules/@shikijs/langs/dist/swift.mjs +1 -1
  1101. package/node_modules/@shikijs/langs/dist/system-verilog.mjs +1 -1
  1102. package/node_modules/@shikijs/langs/dist/twig.mjs +1 -1
  1103. package/node_modules/@shikijs/langs/dist/typst.mjs +116 -1
  1104. package/node_modules/@shikijs/langs/dist/v.mjs +1 -1
  1105. package/node_modules/@shikijs/langs/dist/vb.mjs +1 -1
  1106. package/node_modules/@shikijs/langs/dist/verilog.mjs +1 -1
  1107. package/node_modules/@shikijs/langs/dist/vue.mjs +1 -1
  1108. package/node_modules/@shikijs/langs/node_modules/@shikijs/types/dist/index.d.mts +0 -1
  1109. package/node_modules/@shikijs/langs/node_modules/@shikijs/types/package.json +2 -2
  1110. package/node_modules/@shikijs/langs/package.json +18 -4
  1111. package/node_modules/typebox/build/format/date.d.mts +1 -1
  1112. package/node_modules/typebox/build/format/date.mjs +1 -1
  1113. package/node_modules/typebox/build/format/date_time.d.mts +2 -2
  1114. package/node_modules/typebox/build/format/date_time.mjs +3 -3
  1115. package/node_modules/typebox/build/format/email.d.mts +1 -1
  1116. package/node_modules/typebox/build/format/email.mjs +2 -2
  1117. package/node_modules/typebox/build/format/hostname.mjs +2 -10
  1118. package/node_modules/typebox/build/format/idn_email.d.mts +1 -1
  1119. package/node_modules/typebox/build/format/idn_email.mjs +3 -3
  1120. package/node_modules/typebox/build/format/idn_hostname.d.mts +1 -0
  1121. package/node_modules/typebox/build/format/idn_hostname.mjs +3 -11
  1122. package/node_modules/typebox/build/format/idna/format/bidi.d.mts +3 -0
  1123. package/node_modules/typebox/build/format/idna/format/bidi.mjs +98 -0
  1124. package/node_modules/typebox/build/format/idna/format/puny.d.mts +3 -0
  1125. package/node_modules/typebox/build/format/idna/format/puny.mjs +144 -0
  1126. package/node_modules/typebox/build/format/idna/hostname.d.mts +1 -0
  1127. package/node_modules/typebox/build/format/idna/hostname.mjs +16 -0
  1128. package/node_modules/typebox/build/format/idna/idn-hostname.d.mts +1 -0
  1129. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +23 -0
  1130. package/node_modules/typebox/build/format/idna/index.d.mts +2 -0
  1131. package/node_modules/typebox/build/format/idna/index.mjs +2 -0
  1132. package/node_modules/typebox/build/format/idna/label/ascii.d.mts +1 -0
  1133. package/node_modules/typebox/build/format/idna/label/ascii.mjs +9 -0
  1134. package/node_modules/typebox/build/format/idna/label/puny.d.mts +1 -0
  1135. package/node_modules/typebox/build/format/idna/label/puny.mjs +28 -0
  1136. package/node_modules/typebox/build/format/idna/label/unicode.d.mts +1 -0
  1137. package/node_modules/typebox/build/format/idna/label/unicode.mjs +106 -0
  1138. package/node_modules/typebox/build/format/idna/pattern/pattern.d.mts +30 -0
  1139. package/node_modules/typebox/build/format/idna/pattern/pattern.mjs +70 -0
  1140. package/node_modules/typebox/build/format/ipv4.d.mts +0 -1
  1141. package/node_modules/typebox/build/format/ipv4.mjs +2 -32
  1142. package/node_modules/typebox/build/format/ipv6.mjs +2 -61
  1143. package/node_modules/typebox/build/format/iri.d.mts +2 -2
  1144. package/node_modules/typebox/build/format/iri.mjs +26 -8
  1145. package/node_modules/typebox/build/format/iri_reference.d.mts +2 -2
  1146. package/node_modules/typebox/build/format/iri_reference.mjs +9 -55
  1147. package/node_modules/typebox/build/format/regex.d.mts +1 -2
  1148. package/node_modules/typebox/build/format/regex.mjs +2 -6
  1149. package/node_modules/typebox/build/format/time.d.mts +2 -2
  1150. package/node_modules/typebox/build/format/time.mjs +19 -14
  1151. package/node_modules/typebox/build/format/uri.d.mts +1 -1
  1152. package/node_modules/typebox/build/format/uri.mjs +3 -130
  1153. package/node_modules/typebox/build/format/uri_reference.d.mts +1 -1
  1154. package/node_modules/typebox/build/format/uri_reference.mjs +2 -3
  1155. package/node_modules/typebox/build/format/uri_template.d.mts +2 -3
  1156. package/node_modules/typebox/build/format/uri_template.mjs +4 -5
  1157. package/node_modules/typebox/build/format/url.d.mts +3 -3
  1158. package/node_modules/typebox/build/format/url.mjs +4 -5
  1159. package/node_modules/typebox/build/guard/emit.d.mts +3 -1
  1160. package/node_modules/typebox/build/guard/emit.mjs +12 -5
  1161. package/node_modules/typebox/build/guard/guard.d.mts +8 -2
  1162. package/node_modules/typebox/build/guard/guard.mjs +25 -4
  1163. package/node_modules/typebox/build/guard/string.d.mts +2 -2
  1164. package/node_modules/typebox/build/guard/string.mjs +7 -7
  1165. package/node_modules/typebox/build/schema/engine/_context.mjs +3 -3
  1166. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -2
  1167. package/node_modules/typebox/build/schema/engine/_regexp.d.mts +2 -0
  1168. package/node_modules/typebox/build/schema/engine/_regexp.mjs +4 -0
  1169. package/node_modules/typebox/build/schema/engine/_stack.mjs +12 -13
  1170. package/node_modules/typebox/build/schema/engine/additionalItems.mjs +17 -7
  1171. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +4 -3
  1172. package/node_modules/typebox/build/schema/engine/contains.mjs +18 -6
  1173. package/node_modules/typebox/build/schema/engine/enum.mjs +1 -1
  1174. package/node_modules/typebox/build/schema/engine/items.mjs +26 -6
  1175. package/node_modules/typebox/build/schema/engine/maxContains.mjs +3 -3
  1176. package/node_modules/typebox/build/schema/engine/minContains.mjs +14 -4
  1177. package/node_modules/typebox/build/schema/engine/not.mjs +4 -2
  1178. package/node_modules/typebox/build/schema/engine/oneOf.mjs +7 -6
  1179. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -2
  1180. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +4 -3
  1181. package/node_modules/typebox/build/schema/engine/ref.mjs +1 -7
  1182. package/node_modules/typebox/build/schema/engine/schema.mjs +13 -4
  1183. package/node_modules/typebox/build/schema/engine/type.mjs +1 -1
  1184. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +4 -1
  1185. package/node_modules/typebox/build/schema/resolve/resolve.mjs +202 -1
  1186. package/node_modules/typebox/build/schema/static/propertyNames.d.mts +5 -0
  1187. package/node_modules/typebox/build/schema/static/propertyNames.mjs +3 -0
  1188. package/node_modules/typebox/build/schema/static/schema.d.mts +3 -0
  1189. package/node_modules/typebox/build/schema/types/index.d.mts +0 -2
  1190. package/node_modules/typebox/build/schema/types/index.mjs +0 -2
  1191. package/node_modules/typebox/build/system/memory/clone.mjs +14 -11
  1192. package/node_modules/typebox/build/system/memory/discard.mjs +6 -5
  1193. package/node_modules/typebox/build/system/settings/settings.d.mts +9 -0
  1194. package/node_modules/typebox/build/system/settings/settings.mjs +2 -0
  1195. package/node_modules/typebox/build/type/engine/call/distribute_arguments.d.mts +6 -1
  1196. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +16 -3
  1197. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +34 -4
  1198. package/node_modules/typebox/build/type/engine/evaluate/broaden.d.mts +5 -5
  1199. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +20 -26
  1200. package/node_modules/typebox/build/type/engine/evaluate/compare.d.mts +6 -10
  1201. package/node_modules/typebox/build/type/engine/evaluate/compare.mjs +9 -13
  1202. package/node_modules/typebox/build/type/engine/evaluate/composite.d.mts +7 -4
  1203. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +12 -19
  1204. package/node_modules/typebox/build/type/engine/evaluate/distribute.d.mts +4 -20
  1205. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +8 -20
  1206. package/node_modules/typebox/build/type/engine/evaluate/evaluate.d.mts +4 -4
  1207. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +11 -8
  1208. package/node_modules/typebox/build/type/engine/evaluate/flatten.d.mts +1 -1
  1209. package/node_modules/typebox/build/type/engine/evaluate/flatten.mjs +3 -4
  1210. package/node_modules/typebox/build/type/engine/evaluate/narrow.d.mts +17 -2
  1211. package/node_modules/typebox/build/type/engine/evaluate/narrow.mjs +26 -6
  1212. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +3 -4
  1213. package/node_modules/typebox/build/type/engine/extract/operation.d.mts +1 -1
  1214. package/node_modules/typebox/build/type/engine/extract/operation.mjs +3 -4
  1215. package/node_modules/typebox/build/type/engine/priority/priority.d.mts +2 -2
  1216. package/node_modules/typebox/build/type/engine/priority/priority.mjs +3 -4
  1217. package/node_modules/typebox/build/type/script/mapping.d.mts +32 -29
  1218. package/node_modules/typebox/build/type/script/mapping.mjs +18 -25
  1219. package/node_modules/typebox/build/type/script/parser.d.mts +19 -25
  1220. package/node_modules/typebox/build/type/script/parser.mjs +27 -23
  1221. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -2
  1222. package/node_modules/typebox/build/value/errors/errors.mjs +1 -1
  1223. package/node_modules/typebox/package.json +27 -27
  1224. package/node_modules/typebox/readme.md +79 -82
  1225. package/package.json +9 -8
  1226. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.d.ts +0 -50
  1227. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.d.ts.map +0 -1
  1228. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.js +0 -49
  1229. package/node_modules/@pierre/diffs/dist/utils/iterateOverFile.js.map +0 -1
  1230. package/node_modules/typebox/build/format/_idna.d.mts +0 -2
  1231. package/node_modules/typebox/build/format/_idna.mjs +0 -246
  1232. package/node_modules/typebox/build/format/_puny.d.mts +0 -1
  1233. package/node_modules/typebox/build/format/_puny.mjs +0 -77
  1234. package/node_modules/typebox/build/schema/resolve/ref.d.mts +0 -3
  1235. package/node_modules/typebox/build/schema/resolve/ref.mjs +0 -146
  1236. package/node_modules/typebox/build/schema/types/contentEncoding.d.mts +0 -9
  1237. package/node_modules/typebox/build/schema/types/contentEncoding.mjs +0 -13
  1238. package/node_modules/typebox/build/schema/types/contentMediaType.d.mts +0 -9
  1239. package/node_modules/typebox/build/schema/types/contentMediaType.mjs +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"File.js","names":[],"sources":["../../src/components/File.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\nimport { toHtml } from 'hast-util-to-html';\n\nimport {\n CUSTOM_HEADER_SLOT_ID,\n DEFAULT_THEMES,\n DEFAULT_TOKENIZE_MAX_LENGTH,\n DIFFS_TAG_NAME,\n EMPTY_RENDER_RANGE,\n HEADER_METADATA_SLOT_ID,\n HEADER_PREFIX_SLOT_ID,\n THEME_CSS_ATTRIBUTE,\n UNSAFE_CSS_ATTRIBUTE,\n} from '../constants';\nimport {\n type GetHoveredLineResult,\n InteractionManager,\n type InteractionManagerBaseOptions,\n pluckInteractionOptions,\n type SelectionWriteOptions,\n} from '../managers/InteractionManager';\nimport { ResizeManager } from '../managers/ResizeManager';\nimport { FileRenderer, type FileRenderResult } from '../renderers/FileRenderer';\nimport { SVGSpriteSheet } from '../sprite';\nimport type {\n AppliedThemeStyleCache,\n BaseCodeOptions,\n FileContents,\n LineAnnotation,\n PostRenderPhase,\n PrePropertiesConfig,\n RenderFileMetadata,\n RenderRange,\n SelectedLineRange,\n ThemeTypes,\n} from '../types';\nimport { areFilesEqual } from '../utils/areFilesEqual';\nimport { areLineAnnotationsEqual } from '../utils/areLineAnnotationsEqual';\nimport { arePrePropertiesEqual } from '../utils/arePrePropertiesEqual';\nimport { areRenderRangesEqual } from '../utils/areRenderRangesEqual';\nimport { areThemesEqual } from '../utils/areThemesEqual';\nimport { createAnnotationWrapperNode } from '../utils/createAnnotationWrapperNode';\nimport { createGutterUtilityContentNode } from '../utils/createGutterUtilityContentNode';\nimport { createUnsafeCSSStyleNode } from '../utils/createUnsafeCSSStyleNode';\nimport {\n patchScrollbarGutterSize,\n wrapThemeCSS,\n wrapUnsafeCSS,\n} from '../utils/cssWrappers';\nimport { getFileRendererOptions } from '../utils/getFileRendererOptions';\nimport { getLineAnnotationName } from '../utils/getLineAnnotationName';\nimport { getOrCreateCodeNode } from '../utils/getOrCreateCodeNode';\nimport { upsertHostThemeStyle } from '../utils/hostTheme';\nimport { isFilePlainText } from '../utils/isFilePlainText';\nimport { isStyleNode } from '../utils/isStyleNode';\nimport { prerenderHTMLIfNecessary } from '../utils/prerenderHTMLIfNecessary';\nimport { getMeasuredScrollbarGutter } from '../utils/scrollbarGutter';\nimport { setPreNodeProperties } from '../utils/setWrapperNodeProps';\nimport type { WorkerPoolManager } from '../worker';\nimport { DiffsContainerLoaded } from './web-components';\n\nconst EMPTY_STRINGS: string[] = [];\n\nexport interface FileRenderProps<LAnnotation> {\n file: FileContents;\n fileContainer?: HTMLElement;\n containerWrapper?: HTMLElement;\n deferManagers?: boolean;\n forceRender?: boolean;\n preventEmit?: boolean;\n lineAnnotations?: LineAnnotation<LAnnotation>[];\n renderRange?: RenderRange;\n}\n\nexport interface FileHydrateProps<LAnnotation> extends Omit<\n FileRenderProps<LAnnotation>,\n 'fileContainer'\n> {\n fileContainer: HTMLElement;\n prerenderedHTML?: string;\n}\n\nexport interface FileOptions<LAnnotation>\n extends BaseCodeOptions, InteractionManagerBaseOptions<'file'> {\n disableFileHeader?: boolean;\n renderHeaderPrefix?: RenderFileMetadata;\n renderHeaderMetadata?: RenderFileMetadata;\n renderCustomHeader?: RenderFileMetadata;\n /**\n * When true, errors during rendering are rethrown instead of being caught\n * and displayed in the DOM. Useful for testing or when you want to handle\n * errors yourself.\n */\n disableErrorHandling?: boolean;\n renderAnnotation?(\n annotation: LineAnnotation<LAnnotation>\n ): HTMLElement | undefined;\n renderGutterUtility?(\n getHoveredRow: () => GetHoveredLineResult<'file'> | undefined\n ): HTMLElement | null | undefined;\n\n onPostRender?(\n node: HTMLElement,\n instance: File<LAnnotation>,\n phase: PostRenderPhase\n ): unknown;\n}\n\ninterface AnnotationElementCache<LAnnotation> {\n element: HTMLElement;\n annotation: LineAnnotation<LAnnotation>;\n}\n\ninterface ColumnElements {\n gutter: HTMLElement;\n content: HTMLElement;\n}\n\ninterface HydrationSetup<LAnnotation> {\n file: FileContents;\n lineAnnotations: LineAnnotation<LAnnotation>[] | undefined;\n}\n\nlet instanceId = -1;\n\nexport class File<LAnnotation = undefined> {\n static LoadedCustomComponent: boolean = DiffsContainerLoaded;\n\n readonly __id: string = `file:${++instanceId}`;\n readonly type = 'file';\n\n protected fileContainer: HTMLElement | undefined;\n protected spriteSVG: SVGElement | undefined;\n protected pre: HTMLPreElement | undefined;\n protected code: HTMLElement | undefined;\n protected bufferBefore: HTMLElement | undefined;\n protected bufferAfter: HTMLElement | undefined;\n protected themeCSSStyle: HTMLStyleElement | undefined;\n protected appliedThemeCSS: AppliedThemeStyleCache | undefined;\n protected hasAdoptedThemeCSS = false;\n protected unsafeCSSStyle: HTMLStyleElement | undefined;\n protected appliedUnsafeCSS: string | undefined;\n protected gutterUtilityContent: HTMLElement | undefined;\n protected errorWrapper: HTMLElement | undefined;\n protected placeHolder: HTMLElement | undefined;\n protected lastRenderedHeaderHTML: string | undefined;\n protected cachedHeaderHTML: string | undefined;\n protected appliedPreAttributes: PrePropertiesConfig | undefined;\n protected lastRowCount: number | undefined;\n private mounted = false;\n\n protected headerElement: HTMLElement | undefined;\n protected headerCustom: HTMLElement | undefined;\n protected headerPrefix: HTMLElement | undefined;\n protected headerMetadata: HTMLElement | undefined;\n\n protected fileRenderer: FileRenderer<LAnnotation>;\n protected resizeManager: ResizeManager;\n protected interactionManager: InteractionManager<'file'>;\n\n protected annotationCache: Map<string, AnnotationElementCache<LAnnotation>> =\n new Map();\n protected lineAnnotations: LineAnnotation<LAnnotation>[] = [];\n protected managersDirty = false;\n\n public file: FileContents | undefined;\n protected renderRange: RenderRange | undefined;\n protected enabled = true;\n\n constructor(\n public options: FileOptions<LAnnotation> = { theme: DEFAULT_THEMES },\n private workerManager?: WorkerPoolManager | undefined,\n private isContainerManaged = false\n ) {\n this.fileRenderer = new FileRenderer<LAnnotation>(\n options,\n this.handleHighlightRender,\n this.workerManager\n );\n this.resizeManager = new ResizeManager();\n this.interactionManager = new InteractionManager(\n 'file',\n pluckInteractionOptions(options)\n );\n this.workerManager?.subscribeToThemeChanges(this);\n }\n\n private handleHighlightRender = (): void => {\n this.rerender();\n };\n\n public rerender(): void {\n if (!this.enabled || this.file == null) return;\n this.render({\n file: this.file,\n forceRender: true,\n renderRange: this.renderRange,\n });\n }\n\n public onThemeChange(): void {\n this.fileRenderer.clearRenderCache();\n this.rerender();\n }\n\n public setOptions(options: FileOptions<LAnnotation> | undefined): void {\n if (options == null) return;\n this.options = options;\n this.cachedHeaderHTML = undefined;\n this.syncInteractionOptions();\n }\n\n protected syncInteractionOptions(): void {\n this.interactionManager.setOptions(pluckInteractionOptions(this.options));\n }\n\n private mergeOptions(options: Partial<FileOptions<LAnnotation>>): void {\n this.options = { ...this.options, ...options };\n }\n\n public setThemeType(themeType: ThemeTypes): void {\n if ((this.options.themeType ?? 'system') === themeType) {\n return;\n }\n this.mergeOptions({ themeType });\n this.applyCachedThemeState(themeType);\n }\n\n private applyCachedThemeState(themeType: ThemeTypes): boolean {\n if (\n typeof this.options.theme === 'string' ||\n this.fileContainer == null ||\n this.appliedThemeCSS == null\n ) {\n return false;\n }\n const effectiveThemeType = this.appliedThemeCSS.baseThemeType ?? themeType;\n if (this.appliedThemeCSS.themeType === effectiveThemeType) {\n return false;\n }\n this.applyThemeState(\n this.fileContainer,\n this.appliedThemeCSS.themeStyles,\n themeType,\n this.appliedThemeCSS.baseThemeType\n );\n return true;\n }\n\n private hasThemeChanged(): boolean {\n return (\n this.appliedThemeCSS != null &&\n !areThemesEqual(\n this.appliedThemeCSS.theme,\n this.options.theme ?? DEFAULT_THEMES\n )\n );\n }\n\n public getHoveredLine = (): GetHoveredLineResult<'file'> | undefined => {\n return this.interactionManager.getHoveredLine();\n };\n\n public setLineAnnotations(\n lineAnnotations: LineAnnotation<LAnnotation>[]\n ): void {\n this.lineAnnotations = lineAnnotations;\n }\n\n public setSelectedLines(\n range: SelectedLineRange | null,\n options?: SelectionWriteOptions\n ): void {\n this.interactionManager.setSelection(range, options);\n }\n\n public flushManagers(): void {\n if (!this.managersDirty || this.pre == null) {\n this.managersDirty = false;\n return;\n }\n\n const { overflow = 'scroll' } = this.options;\n this.interactionManager.setup(this.pre);\n this.resizeManager.setup(this.pre, overflow === 'wrap');\n this.managersDirty = false;\n }\n\n public cleanUp(recycle = false): void {\n this.emitPostRender(true);\n this.resizeManager.cleanUp();\n this.interactionManager.cleanUp();\n this.managersDirty = false;\n this.workerManager?.unsubscribeToThemeChanges(this);\n this.renderRange = undefined;\n\n // Clean up the elements\n if (!this.isContainerManaged) {\n this.fileContainer?.remove();\n }\n this.fileContainer = undefined;\n this.mounted = false;\n if (!recycle) {\n this.lineAnnotations = [];\n }\n this.annotationCache.clear();\n this.pre = undefined;\n this.bufferBefore = undefined;\n this.bufferAfter = undefined;\n this.appliedPreAttributes = undefined;\n this.lastRowCount = undefined;\n this.headerElement = undefined;\n this.headerPrefix = undefined;\n this.headerMetadata = undefined;\n this.headerCustom = undefined;\n this.lastRenderedHeaderHTML = undefined;\n if (!recycle) {\n this.cachedHeaderHTML = undefined;\n }\n this.errorWrapper = undefined;\n this.themeCSSStyle = undefined;\n this.appliedThemeCSS = undefined;\n this.hasAdoptedThemeCSS = false;\n this.unsafeCSSStyle = undefined;\n this.appliedUnsafeCSS = undefined;\n this.placeHolder = undefined;\n this.unsafeCSSStyle = undefined;\n\n if (recycle) {\n this.fileRenderer.recycle();\n } else {\n this.fileRenderer.cleanUp();\n this.workerManager = undefined;\n this.file = undefined;\n }\n\n this.enabled = false;\n }\n\n public virtualizedSetup(): void {\n this.enabled = true;\n this.workerManager?.subscribeToThemeChanges(this);\n }\n\n public hydrate(props: FileHydrateProps<LAnnotation>): void {\n const {\n fileContainer,\n prerenderedHTML,\n preventEmit = false,\n file,\n lineAnnotations,\n } = props;\n this.hydrateElements(fileContainer, prerenderedHTML);\n if (\n shouldRenderCode(this.pre, file, this.options.collapsed) ||\n shouldRenderHeader(\n this.headerElement,\n file,\n this.options.disableFileHeader\n )\n ) {\n this.render({ ...props, preventEmit: true });\n }\n // Otherwise orchestrate our setup.\n else {\n this.hydrationSetup({ file, lineAnnotations });\n }\n if (!preventEmit) {\n this.emitPostRender();\n }\n }\n\n protected hydrateElements(\n fileContainer: HTMLElement,\n prerenderedHTML: string | undefined\n ): void {\n if (this.fileContainer !== fileContainer) {\n this.emitPostRender(true);\n }\n prerenderHTMLIfNecessary(fileContainer, prerenderedHTML);\n for (const element of Array.from(\n fileContainer.shadowRoot?.children ?? []\n )) {\n if (element instanceof SVGElement) {\n this.spriteSVG = element;\n continue;\n }\n if (!(element instanceof HTMLElement)) {\n continue;\n }\n if (element instanceof HTMLPreElement) {\n this.pre = element;\n this.appliedPreAttributes = undefined;\n continue;\n }\n if (\n element instanceof HTMLStyleElement &&\n element.hasAttribute(THEME_CSS_ATTRIBUTE)\n ) {\n this.themeCSSStyle = element;\n continue;\n }\n if (\n element instanceof HTMLStyleElement &&\n element.hasAttribute(UNSAFE_CSS_ATTRIBUTE)\n ) {\n this.unsafeCSSStyle = element;\n this.appliedUnsafeCSS = element.textContent;\n continue;\n }\n if ('diffsHeader' in element.dataset) {\n this.headerElement = element;\n this.lastRenderedHeaderHTML = undefined;\n continue;\n }\n }\n if (this.pre != null) {\n this.syncCodeNodeFromPre(this.pre);\n this.pre.removeAttribute('data-dehydrated');\n }\n this.fileContainer = fileContainer;\n this.hydrateMeasuredScrollbar();\n }\n\n protected hydrationSetup({\n file,\n lineAnnotations,\n }: HydrationSetup<LAnnotation>): void {\n this.lineAnnotations = lineAnnotations ?? this.lineAnnotations;\n this.file = file;\n this.fileRenderer.setOptions(getFileRendererOptions(this.options));\n this.syncInteractionOptions();\n if (this.pre == null) {\n return;\n }\n this.fileRenderer.hydrate(file);\n this.renderAnnotations();\n this.renderGutterUtility();\n this.injectUnsafeCSS();\n this.managersDirty = true;\n this.flushManagers();\n }\n\n public getOrCreateLineCache(\n file: FileContents | undefined = this.file\n ): string[] {\n return file != null\n ? this.fileRenderer.getOrCreateLineCache(file)\n : EMPTY_STRINGS;\n }\n\n public render({\n file,\n fileContainer,\n forceRender = false,\n preventEmit = false,\n containerWrapper,\n deferManagers = false,\n lineAnnotations,\n renderRange,\n }: FileRenderProps<LAnnotation>): boolean {\n const { collapsed = false, themeType = 'system' } = this.options;\n if (!this.enabled) {\n throw new Error(\n 'File.render: attempting to call render after cleaned up'\n );\n }\n const nextRenderRange = collapsed ? undefined : renderRange;\n const previousRenderRange = this.renderRange;\n const themeChanged = this.hasThemeChanged();\n const annotationsChanged =\n lineAnnotations != null &&\n (lineAnnotations.length > 0 || this.lineAnnotations.length > 0)\n ? lineAnnotations !== this.lineAnnotations\n : false;\n const didFileChange = !areFilesEqual(this.file, file);\n if (\n !collapsed &&\n !forceRender &&\n areRenderRangesEqual(nextRenderRange, this.renderRange) &&\n !didFileChange &&\n !annotationsChanged &&\n !themeChanged\n ) {\n return this.applyCachedThemeState(themeType);\n }\n\n this.renderRange = nextRenderRange;\n if (didFileChange) {\n this.cachedHeaderHTML = undefined;\n }\n this.file = file;\n this.fileRenderer.setOptions(getFileRendererOptions(this.options));\n this.syncInteractionOptions();\n if (lineAnnotations != null) {\n this.setLineAnnotations(lineAnnotations);\n }\n this.fileRenderer.setLineAnnotations(this.lineAnnotations);\n\n const { disableErrorHandling = false, disableFileHeader = false } =\n this.options;\n if (disableFileHeader) {\n // Remove existing header from DOM\n if (this.headerElement != null) {\n this.headerElement.remove();\n this.headerElement = undefined;\n this.lastRenderedHeaderHTML = undefined;\n }\n this.clearHeaderSlots();\n }\n\n fileContainer = this.getOrCreateFileContainerNode(\n fileContainer,\n containerWrapper\n );\n this.applyCachedThemeState(themeType);\n\n if (collapsed) {\n this.removeRenderedCode();\n this.clearAuxiliaryNodes();\n\n try {\n const fileResult = this.fileRenderer.renderFile(\n file,\n EMPTY_RENDER_RANGE\n );\n if (fileResult != null) {\n this.applyThemeState(\n fileContainer,\n fileResult.themeStyles,\n themeType,\n fileResult.baseThemeType\n );\n }\n if (fileResult?.headerAST != null) {\n this.applyHeaderToDOM(fileResult.headerAST, fileContainer);\n }\n this.injectUnsafeCSS();\n } catch (error: unknown) {\n if (disableErrorHandling) {\n throw error;\n }\n console.error(error);\n if (error instanceof Error) {\n this.applyErrorToDOM(error, fileContainer);\n }\n }\n if (!preventEmit) {\n this.emitPostRender();\n }\n return true;\n }\n\n try {\n const pre = this.getOrCreatePreNode(fileContainer);\n if (\n !this.canPartiallyRender(\n forceRender,\n annotationsChanged,\n didFileChange || themeChanged\n ) ||\n !this.applyPartialRender(previousRenderRange, nextRenderRange)\n ) {\n const fileResult = this.fileRenderer.renderFile(file, nextRenderRange);\n if (fileResult == null) {\n if (this.workerManager?.isInitialized() === false) {\n void this.workerManager.initialize().then(() => this.rerender());\n }\n return false;\n }\n this.applyThemeState(\n fileContainer,\n fileResult.themeStyles,\n themeType,\n fileResult.baseThemeType\n );\n if (fileResult.headerAST != null) {\n this.applyHeaderToDOM(fileResult.headerAST, fileContainer);\n }\n this.applyFullRender(fileResult, pre);\n }\n\n this.applyBuffers(pre, nextRenderRange);\n this.injectUnsafeCSS();\n this.managersDirty = true;\n if (!deferManagers) {\n this.flushManagers();\n }\n this.renderAnnotations();\n this.renderGutterUtility();\n } catch (error: unknown) {\n if (disableErrorHandling) {\n throw error;\n }\n console.error(error);\n if (error instanceof Error) {\n this.applyErrorToDOM(error, fileContainer);\n }\n }\n if (!preventEmit) {\n this.emitPostRender();\n }\n return true;\n }\n\n private emitPostRender(unmount = false) {\n const {\n fileContainer,\n options: { onPostRender },\n } = this;\n\n if (unmount) {\n if (!this.mounted) {\n return;\n }\n this.mounted = false;\n if (fileContainer == null) {\n return;\n }\n onPostRender?.(fileContainer, this, 'unmount');\n return;\n }\n\n if (fileContainer == null) {\n return;\n }\n\n const phase: PostRenderPhase = this.mounted ? 'update' : 'mount';\n this.mounted = true;\n onPostRender?.(fileContainer, this, phase);\n }\n\n private removeRenderedCode(): void {\n this.resizeManager.cleanUp();\n this.interactionManager.cleanUp();\n\n this.bufferBefore?.remove();\n this.bufferBefore = undefined;\n this.bufferAfter?.remove();\n this.bufferAfter = undefined;\n\n this.code?.remove();\n this.code = undefined;\n\n this.pre?.remove();\n this.pre = undefined;\n\n this.appliedPreAttributes = undefined;\n this.lastRowCount = undefined;\n }\n\n private clearAuxiliaryNodes(): void {\n for (const { element } of this.annotationCache.values()) {\n element.remove();\n }\n this.annotationCache.clear();\n\n this.gutterUtilityContent?.remove();\n this.gutterUtilityContent = undefined;\n }\n\n private canPartiallyRender(\n forceRender: boolean,\n annotationsChanged: boolean,\n didContentChange: boolean\n ): boolean {\n if (forceRender || annotationsChanged || didContentChange) {\n return false;\n }\n return true;\n }\n\n public renderPlaceholder(height: number): boolean {\n if (this.fileContainer == null) {\n return false;\n }\n this.emitPostRender(true);\n this.cleanChildNodes();\n\n if (this.placeHolder == null) {\n const shadowRoot =\n this.fileContainer.shadowRoot ??\n this.fileContainer.attachShadow({ mode: 'open' });\n this.placeHolder = document.createElement('div');\n this.placeHolder.dataset.placeholder = '';\n shadowRoot.appendChild(this.placeHolder);\n }\n this.placeHolder.style.setProperty('height', `${height}px`);\n return true;\n }\n\n public primeHighlightCache(): void {\n const { file, workerManager } = this;\n if (\n file == null ||\n file.cacheKey == null ||\n workerManager == null ||\n isFilePlainText(file)\n ) {\n return;\n }\n const lines = this.fileRenderer.getOrCreateLineCache(file);\n if (\n lines.length >\n (this.options.tokenizeMaxLength ?? DEFAULT_TOKENIZE_MAX_LENGTH)\n ) {\n return;\n }\n workerManager.primeFileHighlightCache(file);\n }\n\n private cleanChildNodes() {\n this.resizeManager.cleanUp();\n this.interactionManager.cleanUp();\n\n this.bufferAfter?.remove();\n this.bufferBefore?.remove();\n this.code?.remove();\n this.errorWrapper?.remove();\n this.headerElement?.remove();\n this.gutterUtilityContent?.remove();\n this.headerPrefix?.remove();\n this.headerMetadata?.remove();\n this.headerCustom?.remove();\n this.pre?.remove();\n this.spriteSVG?.remove();\n this.themeCSSStyle?.remove();\n this.unsafeCSSStyle?.remove();\n\n this.bufferAfter = undefined;\n this.bufferBefore = undefined;\n this.code = undefined;\n this.errorWrapper = undefined;\n this.headerElement = undefined;\n this.gutterUtilityContent = undefined;\n this.headerPrefix = undefined;\n this.headerMetadata = undefined;\n this.headerCustom = undefined;\n this.pre = undefined;\n this.spriteSVG = undefined;\n this.themeCSSStyle = undefined;\n this.appliedThemeCSS = undefined;\n this.hasAdoptedThemeCSS = false;\n this.unsafeCSSStyle = undefined;\n this.appliedUnsafeCSS = undefined;\n\n this.lastRenderedHeaderHTML = undefined;\n this.lastRowCount = undefined;\n\n this.mounted = false;\n }\n\n private renderAnnotations(): void {\n if (this.isContainerManaged || this.fileContainer == null) {\n for (const { element } of this.annotationCache.values()) {\n element.remove();\n }\n this.annotationCache.clear();\n return;\n }\n const staleAnnotations = new Map(this.annotationCache);\n const { renderAnnotation } = this.options;\n if (renderAnnotation != null && this.lineAnnotations.length > 0) {\n for (const [index, annotation] of this.lineAnnotations.entries()) {\n const id = `${index}-${getLineAnnotationName(annotation)}`;\n let cache = this.annotationCache.get(id);\n if (\n cache == null ||\n !areLineAnnotationsEqual(annotation, cache.annotation)\n ) {\n cache?.element.remove();\n const content = renderAnnotation(annotation);\n // If we can't render anything, then we should not render anything\n // and clear the annotation cache if necessary.\n if (content == null) {\n continue;\n }\n cache = {\n element: createAnnotationWrapperNode(\n getLineAnnotationName(annotation)\n ),\n annotation,\n };\n cache.element.appendChild(content);\n this.fileContainer.appendChild(cache.element);\n this.annotationCache.set(id, cache);\n }\n staleAnnotations.delete(id);\n }\n }\n for (const [id, { element }] of staleAnnotations.entries()) {\n this.annotationCache.delete(id);\n element.remove();\n }\n }\n\n private renderGutterUtility() {\n const { renderGutterUtility } = this.options;\n if (this.fileContainer == null || renderGutterUtility == null) {\n this.gutterUtilityContent?.remove();\n this.gutterUtilityContent = undefined;\n return;\n }\n const element = renderGutterUtility(this.interactionManager.getHoveredLine);\n if (element != null && this.gutterUtilityContent != null) {\n return;\n } else if (element == null) {\n this.gutterUtilityContent?.remove();\n this.gutterUtilityContent = undefined;\n return;\n }\n const gutterUtilityContent = createGutterUtilityContentNode();\n gutterUtilityContent.appendChild(element);\n this.fileContainer.appendChild(gutterUtilityContent);\n this.gutterUtilityContent = gutterUtilityContent;\n }\n\n private injectUnsafeCSS(): void {\n const { unsafeCSS } = this.options;\n const shadowRoot = this.fileContainer?.shadowRoot;\n if (shadowRoot == null) {\n return;\n }\n\n if (unsafeCSS == null || unsafeCSS === '') {\n if (this.unsafeCSSStyle != null) {\n this.unsafeCSSStyle.remove();\n this.unsafeCSSStyle = undefined;\n }\n this.appliedUnsafeCSS = undefined;\n return;\n }\n\n if (\n this.unsafeCSSStyle?.parentNode === shadowRoot &&\n this.appliedUnsafeCSS === unsafeCSS\n ) {\n return;\n }\n\n // Create or update the style element\n this.unsafeCSSStyle ??= createUnsafeCSSStyleNode();\n if (this.unsafeCSSStyle.parentNode !== shadowRoot) {\n shadowRoot.appendChild(this.unsafeCSSStyle);\n }\n // Wrap in @layer unsafe to match SSR behavior\n this.unsafeCSSStyle.textContent = wrapUnsafeCSS(unsafeCSS);\n this.appliedUnsafeCSS = unsafeCSS;\n }\n\n private applyThemeState(\n container: HTMLElement,\n themeStyles: string,\n themeType: ThemeTypes,\n baseThemeType?: 'light' | 'dark'\n ): void {\n const shadowRoot =\n container.shadowRoot ?? container.attachShadow({ mode: 'open' });\n const effectiveThemeType = baseThemeType ?? themeType;\n const currentTheme = this.options.theme ?? DEFAULT_THEMES;\n const theme =\n typeof currentTheme === 'string' ? currentTheme : { ...currentTheme };\n const scrollbarGutter = getMeasuredScrollbarGutter(shadowRoot);\n if (\n this.themeCSSStyle?.parentNode === shadowRoot &&\n this.appliedThemeCSS?.themeStyles === themeStyles &&\n this.appliedThemeCSS.themeType === effectiveThemeType &&\n this.appliedThemeCSS.scrollbarGutter === scrollbarGutter\n ) {\n this.appliedThemeCSS.theme = theme;\n return;\n }\n if (\n this.hasAdoptedThemeCSS &&\n this.themeCSSStyle?.parentNode === shadowRoot\n ) {\n this.hasAdoptedThemeCSS = false;\n this.appliedThemeCSS = {\n theme,\n themeStyles,\n themeType: effectiveThemeType,\n baseThemeType,\n scrollbarGutter,\n };\n return;\n }\n this.themeCSSStyle = upsertHostThemeStyle({\n shadowRoot,\n currentNode: this.themeCSSStyle,\n themeCSS: wrapThemeCSS(themeStyles, effectiveThemeType, scrollbarGutter),\n });\n this.appliedThemeCSS =\n this.themeCSSStyle != null\n ? {\n theme,\n themeStyles,\n themeType: effectiveThemeType,\n baseThemeType,\n scrollbarGutter,\n }\n : undefined;\n }\n\n private hydrateMeasuredScrollbar(): void {\n const shadowRoot = this.fileContainer?.shadowRoot;\n if (shadowRoot == null || this.themeCSSStyle == null) {\n return;\n }\n this.themeCSSStyle.textContent = patchScrollbarGutterSize(\n this.themeCSSStyle.textContent ?? '',\n getMeasuredScrollbarGutter(shadowRoot)\n );\n }\n\n private applyFullRender(result: FileRenderResult, pre: HTMLPreElement): void {\n this.cleanupErrorWrapper();\n this.applyPreNodeAttributes(pre, result);\n this.code = getOrCreateCodeNode({ code: this.code });\n this.code.innerHTML = this.fileRenderer.renderPartialHTML(\n this.fileRenderer.renderCodeAST(result)\n );\n pre.replaceChildren(this.code);\n this.lastRowCount = result.rowCount;\n }\n\n private applyPartialRender(\n previousRenderRange: RenderRange | undefined,\n renderRange: RenderRange | undefined\n ): boolean {\n if (previousRenderRange == null || renderRange == null) {\n return false;\n }\n const { file, code } = this;\n const columns = code != null ? this.getColumns(code) : undefined;\n if (file == null || code == null || columns == null) {\n return false;\n }\n\n const previousStart = previousRenderRange.startingLine;\n const nextStart = renderRange.startingLine;\n const previousEnd =\n previousRenderRange.totalLines === Infinity\n ? Number.POSITIVE_INFINITY\n : previousStart + previousRenderRange.totalLines;\n const nextEnd =\n renderRange.totalLines === Infinity\n ? Number.POSITIVE_INFINITY\n : nextStart + renderRange.totalLines;\n\n const overlapStart = Math.max(previousStart, nextStart);\n const overlapEnd = Math.min(previousEnd, nextEnd);\n if (overlapEnd <= overlapStart) {\n return false;\n }\n\n if (\n !this.trimDOMToOverlap(columns.gutter, overlapStart, overlapEnd) ||\n !this.trimDOMToOverlap(columns.content, overlapStart, overlapEnd)\n ) {\n return false;\n }\n\n let { length: rowCount } = columns.content.children;\n\n const renderChunk = (\n startingLine: number,\n totalLines: number\n ): FileRenderResult | undefined => {\n if (totalLines <= 0) {\n return undefined;\n }\n return this.fileRenderer.renderFile(file, {\n startingLine,\n totalLines,\n bufferBefore: 0,\n bufferAfter: 0,\n });\n };\n\n const prependResult =\n nextStart < overlapStart\n ? renderChunk(nextStart, overlapStart - nextStart)\n : undefined;\n if (prependResult === undefined && nextStart < overlapStart) {\n return false;\n }\n\n const appendTotalLines =\n nextEnd === Number.POSITIVE_INFINITY\n ? Number.POSITIVE_INFINITY\n : Math.max(0, nextEnd - overlapEnd);\n const appendResult =\n nextEnd > overlapEnd\n ? renderChunk(overlapEnd, appendTotalLines)\n : undefined;\n if (appendResult === undefined && nextEnd > overlapEnd) {\n return false;\n }\n\n this.cleanupErrorWrapper();\n if (prependResult != null) {\n columns.gutter.insertAdjacentHTML(\n 'afterbegin',\n this.fileRenderer.renderPartialHTML(prependResult.gutterAST)\n );\n columns.content.insertAdjacentHTML(\n 'afterbegin',\n this.fileRenderer.renderPartialHTML(prependResult.contentAST)\n );\n rowCount += prependResult.rowCount;\n }\n\n if (appendResult != null) {\n columns.gutter.insertAdjacentHTML(\n 'beforeend',\n this.fileRenderer.renderPartialHTML(appendResult.gutterAST)\n );\n columns.content.insertAdjacentHTML(\n 'beforeend',\n this.fileRenderer.renderPartialHTML(appendResult.contentAST)\n );\n rowCount += appendResult.rowCount;\n }\n\n if (this.lastRowCount !== rowCount) {\n columns.gutter.style.setProperty('grid-row', `span ${rowCount}`);\n columns.content.style.setProperty('grid-row', `span ${rowCount}`);\n this.lastRowCount = rowCount;\n }\n\n return true;\n }\n\n private getColumns(code: HTMLElement): ColumnElements | undefined {\n const gutter = code.children[0];\n const content = code.children[1];\n if (\n !(gutter instanceof HTMLElement) ||\n !(content instanceof HTMLElement) ||\n gutter.dataset.gutter == null ||\n content.dataset.content == null\n ) {\n return undefined;\n }\n return { gutter, content };\n }\n\n private trimDOMToOverlap(\n container: HTMLElement,\n overlapStart: number,\n overlapEnd: number\n ): boolean {\n const boundaryIndices = this.getDOMBoundaryIndices(container, [\n overlapStart,\n overlapEnd,\n ]);\n const startIndex =\n boundaryIndices.get(overlapStart) ?? container.children.length;\n const endIndex =\n boundaryIndices.get(overlapEnd) ?? container.children.length;\n\n if (startIndex > endIndex) {\n return false;\n }\n\n for (let i = container.children.length - 1; i >= endIndex; i -= 1) {\n container.children[i]?.remove();\n }\n for (let i = startIndex - 1; i >= 0; i -= 1) {\n container.children[i]?.remove();\n }\n return true;\n }\n\n private getDOMBoundaryIndices(\n container: HTMLElement,\n boundaries: number[]\n ): Map<number, number> {\n const sortedBoundaries = [...new Set(boundaries)].sort((a, b) => a - b);\n const boundaryIndices = new Map<number, number>();\n if (sortedBoundaries.length === 0) {\n return boundaryIndices;\n }\n let boundaryIndex = 0;\n let nextBoundary = sortedBoundaries[boundaryIndex];\n const { children } = container;\n\n if (nextBoundary === 0) {\n boundaryIndices.set(0, 0);\n boundaryIndex += 1;\n nextBoundary = sortedBoundaries[boundaryIndex];\n }\n\n for (let i = 0; i < children.length; i += 1) {\n const child = children[i];\n if (!(child instanceof HTMLElement)) {\n continue;\n }\n const lineIndex = this.getLineIndexFromDOMNode(child);\n if (lineIndex == null) {\n continue;\n }\n while (nextBoundary != null && lineIndex >= nextBoundary) {\n boundaryIndices.set(nextBoundary, i);\n boundaryIndex += 1;\n nextBoundary = sortedBoundaries[boundaryIndex];\n }\n if (boundaryIndex >= sortedBoundaries.length) {\n break;\n }\n }\n\n for (const boundary of sortedBoundaries) {\n if (!boundaryIndices.has(boundary)) {\n boundaryIndices.set(boundary, children.length);\n }\n }\n return boundaryIndices;\n }\n\n private getLineIndexFromDOMNode(node: HTMLElement): number | undefined {\n const lineIndexAttr = node.dataset.lineIndex;\n if (lineIndexAttr == null) {\n return undefined;\n }\n const parsed = Number(lineIndexAttr);\n return Number.isNaN(parsed) ? undefined : parsed;\n }\n\n private applyBuffers(\n pre: HTMLPreElement,\n renderRange: RenderRange | undefined\n ) {\n if (renderRange == null || this.shouldDisableVirtualizationBuffers()) {\n if (this.bufferBefore != null) {\n this.bufferBefore.remove();\n this.bufferBefore = undefined;\n }\n if (this.bufferAfter != null) {\n this.bufferAfter.remove();\n this.bufferAfter = undefined;\n }\n return;\n }\n\n if (renderRange.bufferBefore > 0) {\n if (this.bufferBefore == null) {\n this.bufferBefore = document.createElement('div');\n this.bufferBefore.dataset.virtualizerBuffer = 'before';\n pre.before(this.bufferBefore);\n }\n this.bufferBefore.style.setProperty(\n 'height',\n `${renderRange.bufferBefore}px`\n );\n this.bufferBefore.style.setProperty('contain', 'strict');\n } else if (this.bufferBefore != null) {\n this.bufferBefore.remove();\n this.bufferBefore = undefined;\n }\n\n if (renderRange.bufferAfter > 0) {\n if (this.bufferAfter == null) {\n this.bufferAfter = document.createElement('div');\n this.bufferAfter.dataset.virtualizerBuffer = 'after';\n pre.after(this.bufferAfter);\n }\n this.bufferAfter.style.setProperty(\n 'height',\n `${renderRange.bufferAfter}px`\n );\n this.bufferAfter.style.setProperty('contain', 'strict');\n } else if (this.bufferAfter != null) {\n this.bufferAfter.remove();\n this.bufferAfter = undefined;\n }\n }\n\n protected shouldDisableVirtualizationBuffers(): boolean {\n return this.options.disableVirtualizationBuffers ?? false;\n }\n\n private applyHeaderToDOM(\n headerAST: HASTElement,\n container: HTMLElement\n ): void {\n const { file } = this;\n if (file == null) return;\n this.cleanupErrorWrapper();\n this.placeHolder?.remove();\n this.placeHolder = undefined;\n const headerHTML = this.cachedHeaderHTML ?? toHtml(headerAST);\n this.cachedHeaderHTML = headerHTML;\n if (headerHTML !== this.lastRenderedHeaderHTML) {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = headerHTML;\n const newHeader = tempDiv.firstElementChild;\n if (!(newHeader instanceof HTMLElement)) {\n return;\n }\n if (this.headerElement != null) {\n container.shadowRoot?.replaceChild(newHeader, this.headerElement);\n } else {\n container.shadowRoot?.prepend(newHeader);\n }\n this.headerElement = newHeader;\n this.lastRenderedHeaderHTML = headerHTML;\n }\n\n if (this.isContainerManaged) return;\n\n const { renderHeaderPrefix, renderCustomHeader, renderHeaderMetadata } =\n this.options;\n\n if (renderCustomHeader != null) {\n const content = renderCustomHeader(file) ?? undefined;\n this.headerCustom = this.upsertHeaderSlotElement(\n container,\n this.headerCustom,\n CUSTOM_HEADER_SLOT_ID,\n content\n );\n this.headerPrefix?.remove();\n this.headerMetadata?.remove();\n this.headerPrefix = undefined;\n this.headerMetadata = undefined;\n } else {\n const prefix = renderHeaderPrefix?.(file) ?? undefined;\n const content = renderHeaderMetadata?.(file) ?? undefined;\n this.headerPrefix = this.upsertHeaderSlotElement(\n container,\n this.headerPrefix,\n HEADER_PREFIX_SLOT_ID,\n prefix\n );\n this.headerMetadata = this.upsertHeaderSlotElement(\n container,\n this.headerMetadata,\n HEADER_METADATA_SLOT_ID,\n content\n );\n this.headerCustom?.remove();\n this.headerCustom = undefined;\n }\n }\n\n private clearHeaderSlots(): void {\n this.headerPrefix?.remove();\n this.headerMetadata?.remove();\n this.headerCustom?.remove();\n this.headerPrefix = undefined;\n this.headerMetadata = undefined;\n this.headerCustom = undefined;\n }\n\n // Header slot callbacks are presence-based render hooks, not reactive views.\n private upsertHeaderSlotElement(\n container: HTMLElement,\n current: HTMLElement | undefined,\n slot: string,\n content: Element | string | number | undefined\n ): HTMLElement | undefined {\n if (content == null) {\n current?.remove();\n return undefined;\n }\n const element = current ?? this.createHeaderSlotElement(slot);\n if (current == null) {\n container.appendChild(element);\n }\n this.replaceHeaderSlotContent(element, content);\n return element;\n }\n\n private replaceHeaderSlotContent(\n element: HTMLElement,\n content: Element | string | number\n ): void {\n element.replaceChildren();\n if (content instanceof Element) {\n element.appendChild(content);\n } else {\n element.innerText = `${content}`;\n }\n }\n\n private createHeaderSlotElement(slot: string): HTMLElement {\n const element = document.createElement('div');\n element.slot = slot;\n return element;\n }\n\n protected getOrCreateFileContainerNode(\n fileContainer?: HTMLElement,\n parentNode?: HTMLElement\n ): HTMLElement {\n const { fileContainer: previousContainer } = this;\n const nextContainer =\n fileContainer ??\n previousContainer ??\n document.createElement(DIFFS_TAG_NAME);\n const containerChanged = previousContainer !== nextContainer;\n if (containerChanged) {\n this.emitPostRender(true);\n }\n this.fileContainer = nextContainer;\n if (previousContainer != null && containerChanged) {\n this.lastRenderedHeaderHTML = undefined;\n this.headerElement = undefined;\n }\n if (parentNode != null && this.fileContainer.parentNode !== parentNode) {\n parentNode.appendChild(this.fileContainer);\n }\n if (containerChanged) {\n this.adoptReusableShellElements(this.fileContainer);\n }\n this.ensureSpriteSVG(this.fileContainer);\n return this.fileContainer;\n }\n\n // NOTE(amadeus): Technically this method is not safe for use outside of\n // the CodeView component, however I don't think in practice it really\n // should matter, but maybe there's some system we need in place to prevent\n // this from running outside of that environment?\n //\n // It's making very specific assumptions that all the elements will have the\n // correct content based on CodeView global options\n private adoptReusableShellElements(fileContainer: HTMLElement): void {\n const { shadowRoot } = fileContainer;\n if (shadowRoot == null) {\n return;\n }\n\n for (const element of shadowRoot.children) {\n if (element instanceof SVGElement) {\n this.spriteSVG ??= element;\n } else if (\n isStyleNode(element) &&\n element.hasAttribute(THEME_CSS_ATTRIBUTE)\n ) {\n this.themeCSSStyle ??= element;\n this.hasAdoptedThemeCSS = true;\n } else if (\n isStyleNode(element) &&\n element.hasAttribute(UNSAFE_CSS_ATTRIBUTE)\n ) {\n this.unsafeCSSStyle ??= element;\n this.appliedUnsafeCSS ??= this.options.unsafeCSS ?? undefined;\n }\n }\n }\n\n private ensureSpriteSVG(fileContainer: HTMLElement): void {\n const shadowRoot =\n fileContainer.shadowRoot ?? fileContainer.attachShadow({ mode: 'open' });\n if (this.spriteSVG == null) {\n const fragment = document.createElement('div');\n fragment.innerHTML = SVGSpriteSheet;\n const firstChild = fragment.firstChild;\n if (firstChild instanceof SVGElement) {\n this.spriteSVG = firstChild;\n }\n }\n if (this.spriteSVG != null && this.spriteSVG.parentNode !== shadowRoot) {\n shadowRoot.appendChild(this.spriteSVG);\n }\n }\n\n private getOrCreatePreNode(container: HTMLElement): HTMLPreElement {\n const shadowRoot =\n container.shadowRoot ?? container.attachShadow({ mode: 'open' });\n // If we haven't created a pre element yet, lets go ahead and do that\n if (this.pre == null) {\n this.pre = document.createElement('pre');\n this.appliedPreAttributes = undefined;\n this.code = undefined;\n shadowRoot.appendChild(this.pre);\n }\n // If we have a new parent container for the pre element, lets go ahead and\n // move it into the new container\n else if (this.pre.parentNode !== shadowRoot) {\n container.shadowRoot?.appendChild(this.pre);\n this.appliedPreAttributes = undefined;\n }\n\n this.placeHolder?.remove();\n this.placeHolder = undefined;\n\n return this.pre;\n }\n\n private syncCodeNodeFromPre(pre: HTMLPreElement): void {\n this.code = undefined;\n for (const child of Array.from(pre.children)) {\n if (!(child instanceof HTMLElement)) {\n continue;\n }\n if (child.hasAttribute('data-code')) {\n this.code = child;\n return;\n }\n }\n }\n\n private applyPreNodeAttributes(\n pre: HTMLPreElement,\n { totalLines }: FileRenderResult\n ): void {\n const { overflow = 'scroll', disableLineNumbers = false } = this.options;\n const preProperties: PrePropertiesConfig = {\n type: 'file',\n split: false,\n overflow,\n disableLineNumbers,\n diffIndicators: 'none',\n disableBackground: true,\n totalLines,\n };\n if (arePrePropertiesEqual(preProperties, this.appliedPreAttributes)) {\n return;\n }\n setPreNodeProperties(pre, preProperties);\n this.appliedPreAttributes = preProperties;\n }\n\n private applyErrorToDOM(error: Error, container: HTMLElement) {\n this.cleanupErrorWrapper();\n this.pre?.remove();\n this.pre = undefined;\n this.appliedPreAttributes = undefined;\n const shadowRoot =\n container.shadowRoot ?? container.attachShadow({ mode: 'open' });\n this.errorWrapper ??= document.createElement('div');\n this.errorWrapper.dataset.errorWrapper = '';\n this.errorWrapper.textContent = '';\n shadowRoot.appendChild(this.errorWrapper);\n const errorMessage = document.createElement('div');\n errorMessage.dataset.errorMessage = '';\n errorMessage.innerText = error.message;\n this.errorWrapper.appendChild(errorMessage);\n const errorStack = document.createElement('pre');\n errorStack.dataset.errorStack = '';\n errorStack.innerText = error.stack ?? 'No Error Stack';\n this.errorWrapper.appendChild(errorStack);\n }\n\n private cleanupErrorWrapper() {\n this.errorWrapper?.remove();\n this.errorWrapper = undefined;\n }\n}\n\nfunction shouldRenderCode(\n pre: HTMLPreElement | undefined,\n file: FileContents | undefined,\n collapsed = false\n): boolean {\n return !collapsed && pre == null && file != null;\n}\n\nfunction shouldRenderHeader(\n headerElement: HTMLElement | undefined,\n file: FileContents | undefined,\n disableFileHeader: boolean = false\n): boolean {\n return headerElement == null && file != null && !disableFileHeader;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"File.js","names":[],"sources":["../../src/components/File.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\nimport { toHtml } from 'hast-util-to-html';\n\nimport {\n CUSTOM_HEADER_SLOT_ID,\n DEFAULT_THEMES,\n DEFAULT_TOKENIZE_MAX_LENGTH,\n DIFFS_TAG_NAME,\n EMPTY_RENDER_RANGE,\n HEADER_FILENAME_SUFFIX_SLOT_ID,\n HEADER_METADATA_SLOT_ID,\n HEADER_PREFIX_SLOT_ID,\n THEME_CSS_ATTRIBUTE,\n UNSAFE_CSS_ATTRIBUTE,\n} from '../constants';\nimport {\n type GetHoveredLineResult,\n InteractionManager,\n type InteractionManagerBaseOptions,\n pluckInteractionOptions,\n type SelectionWriteOptions,\n} from '../managers/InteractionManager';\nimport { ResizeManager } from '../managers/ResizeManager';\nimport { FileRenderer, type FileRenderResult } from '../renderers/FileRenderer';\nimport { SVGSpriteSheet } from '../sprite';\nimport type {\n AppliedThemeStyleCache,\n BaseCodeOptions,\n DiffsEditableComponent,\n DiffsEditor,\n DiffsTextDocument,\n EditorActiveLineOptions,\n FileContents,\n HighlightedToken,\n LineAnnotation,\n PostRenderPhase,\n PrePropertiesConfig,\n RenderFileMetadata,\n RenderRange,\n SelectedLineRange,\n ThemeTypes,\n} from '../types';\nimport { areFilesEqual } from '../utils/areFilesEqual';\nimport { areLineAnnotationsEqual } from '../utils/areLineAnnotationsEqual';\nimport { arePrePropertiesEqual } from '../utils/arePrePropertiesEqual';\nimport { areRenderRangesEqual } from '../utils/areRenderRangesEqual';\nimport { areThemesEqual } from '../utils/areThemesEqual';\nimport { createAnnotationWrapperNode } from '../utils/createAnnotationWrapperNode';\nimport { createGutterUtilityContentNode } from '../utils/createGutterUtilityContentNode';\nimport { createUnsafeCSSStyleNode } from '../utils/createUnsafeCSSStyleNode';\nimport {\n patchScrollbarGutterSize,\n wrapThemeCSS,\n wrapUnsafeCSS,\n} from '../utils/cssWrappers';\nimport { getFileRendererOptions } from '../utils/getFileRendererOptions';\nimport { getLineAnnotationName } from '../utils/getLineAnnotationName';\nimport { getOrCreateCodeNode } from '../utils/getOrCreateCodeNode';\nimport { guardWebKitScrollDuringRebuild } from '../utils/guardWebKitScrollDuringRebuild';\nimport { upsertHostThemeStyle } from '../utils/hostTheme';\nimport { isFilePlainText } from '../utils/isFilePlainText';\nimport { isStyleNode } from '../utils/isStyleNode';\nimport { isSafari } from '../utils/platform';\nimport { prerenderHTMLIfNecessary } from '../utils/prerenderHTMLIfNecessary';\nimport { getMeasuredScrollbarGutter } from '../utils/scrollbarGutter';\nimport { setPreNodeProperties } from '../utils/setWrapperNodeProps';\nimport type { WorkerPoolManager } from '../worker';\nimport { DiffsContainerLoaded } from './web-components';\n\nconst EMPTY_STRINGS: string[] = [''];\n\nexport interface FileRenderProps<LAnnotation> {\n file: FileContents;\n fileContainer?: HTMLElement;\n containerWrapper?: HTMLElement;\n deferManagers?: boolean;\n forceRender?: boolean;\n preventEmit?: boolean;\n lineAnnotations?: LineAnnotation<LAnnotation>[];\n renderRange?: RenderRange;\n}\n\nexport interface FileHydrateProps<LAnnotation> extends Omit<\n FileRenderProps<LAnnotation>,\n 'fileContainer'\n> {\n fileContainer: HTMLElement;\n prerenderedHTML?: string;\n}\n\nexport interface FileOptions<LAnnotation>\n extends BaseCodeOptions, InteractionManagerBaseOptions<'file'> {\n disableFileHeader?: boolean;\n renderHeaderPrefix?: RenderFileMetadata;\n renderHeaderFilenameSuffix?: RenderFileMetadata;\n renderHeaderMetadata?: RenderFileMetadata;\n renderCustomHeader?: RenderFileMetadata;\n /**\n * When true, errors during rendering are rethrown instead of being caught\n * and displayed in the DOM. Useful for testing or when you want to handle\n * errors yourself.\n */\n disableErrorHandling?: boolean;\n renderAnnotation?(\n annotation: LineAnnotation<LAnnotation>\n ): HTMLElement | undefined;\n renderGutterUtility?(\n getHoveredRow: () => GetHoveredLineResult<'file'> | undefined\n ): HTMLElement | null | undefined;\n\n onPostRender?(\n node: HTMLElement,\n instance: File<LAnnotation>,\n phase: PostRenderPhase\n ): unknown;\n}\n\ninterface AnnotationElementCache<LAnnotation> {\n element: HTMLElement;\n annotation: LineAnnotation<LAnnotation>;\n}\n\ninterface ColumnElements {\n gutter: HTMLElement;\n content: HTMLElement;\n}\n\ninterface HydrationSetup<LAnnotation> {\n file: FileContents;\n lineAnnotations: LineAnnotation<LAnnotation>[] | undefined;\n}\n\nlet instanceId = -1;\n\nexport class File<\n LAnnotation = undefined,\n> implements DiffsEditableComponent<LAnnotation> {\n static LoadedCustomComponent: boolean = DiffsContainerLoaded;\n\n readonly __id: string = `file:${++instanceId}`;\n readonly type = 'file';\n\n protected fileContainer: HTMLElement | undefined;\n protected spriteSVG: SVGElement | undefined;\n protected pre: HTMLPreElement | undefined;\n protected code: HTMLElement | undefined;\n protected bufferBefore: HTMLElement | undefined;\n protected bufferAfter: HTMLElement | undefined;\n protected themeCSSStyle: HTMLStyleElement | undefined;\n protected appliedThemeCSS: AppliedThemeStyleCache | undefined;\n protected hasAdoptedThemeCSS = false;\n protected unsafeCSSStyle: HTMLStyleElement | undefined;\n protected appliedUnsafeCSS: string | undefined;\n protected gutterUtilityContent: HTMLElement | undefined;\n protected errorWrapper: HTMLElement | undefined;\n protected placeHolder: HTMLElement | undefined;\n protected lastRenderedHeaderHTML: string | undefined;\n protected cachedHeaderHTML: string | undefined;\n protected appliedPreAttributes: PrePropertiesConfig | undefined;\n protected lastRowCount: number | undefined;\n private mounted = false;\n\n protected headerElement: HTMLElement | undefined;\n protected headerCustom: HTMLElement | undefined;\n protected headerPrefix: HTMLElement | undefined;\n protected headerFilenameSuffix: HTMLElement | undefined;\n protected headerMetadata: HTMLElement | undefined;\n\n protected fileRenderer: FileRenderer<LAnnotation>;\n protected resizeManager: ResizeManager;\n protected interactionManager: InteractionManager<'file'>;\n\n protected annotationCache: Map<string, AnnotationElementCache<LAnnotation>> =\n new Map();\n protected lineAnnotations: LineAnnotation<LAnnotation>[] = [];\n protected managersDirty = false;\n\n public file: FileContents | undefined;\n protected renderRange: RenderRange | undefined;\n protected enabled = true;\n\n protected editor: DiffsEditor<LAnnotation> | undefined;\n\n constructor(\n public options: FileOptions<LAnnotation> = { theme: DEFAULT_THEMES },\n private workerManager?: WorkerPoolManager | undefined,\n private isContainerManaged = false\n ) {\n this.fileRenderer = new FileRenderer<LAnnotation>(\n options,\n this.handleHighlightRender,\n this.workerManager\n );\n this.resizeManager = new ResizeManager();\n this.interactionManager = new InteractionManager(\n 'file',\n pluckInteractionOptions(options)\n );\n this.workerManager?.subscribeToThemeChanges(this);\n }\n\n private handleHighlightRender = (): void => {\n this.rerender();\n };\n\n public rerender(): void {\n if (!this.enabled || this.file == null) return;\n this.render({\n file: this.file,\n forceRender: true,\n renderRange: this.renderRange,\n });\n }\n\n public __getCurrentFile(): FileContents | undefined {\n return this.file;\n }\n\n public onThemeChange(): void {\n this.fileRenderer.clearRenderCache();\n this.rerender();\n }\n\n public setOptions(options: FileOptions<LAnnotation> | undefined): void {\n if (options == null) return;\n this.options = options;\n this.cachedHeaderHTML = undefined;\n this.syncInteractionOptions();\n }\n\n protected syncInteractionOptions(): void {\n this.interactionManager.setOptions(pluckInteractionOptions(this.options));\n }\n\n private mergeOptions(options: Partial<FileOptions<LAnnotation>>): void {\n this.options = { ...this.options, ...options };\n }\n\n public setThemeType(themeType: ThemeTypes): void {\n if ((this.options.themeType ?? 'system') === themeType) {\n return;\n }\n this.mergeOptions({ themeType });\n this.applyCachedThemeState(themeType);\n }\n\n private applyCachedThemeState(themeType: ThemeTypes): boolean {\n if (\n typeof this.options.theme === 'string' ||\n this.fileContainer == null ||\n this.appliedThemeCSS == null\n ) {\n return false;\n }\n const effectiveThemeType = this.appliedThemeCSS.baseThemeType ?? themeType;\n if (this.appliedThemeCSS.themeType === effectiveThemeType) {\n return false;\n }\n this.applyThemeState(\n this.fileContainer,\n this.appliedThemeCSS.themeStyles,\n themeType,\n this.appliedThemeCSS.baseThemeType\n );\n return true;\n }\n\n private hasThemeChanged(): boolean {\n return (\n this.appliedThemeCSS != null &&\n !areThemesEqual(\n this.appliedThemeCSS.theme,\n this.options.theme ?? DEFAULT_THEMES\n )\n );\n }\n\n public getHoveredLine = (): GetHoveredLineResult<'file'> | undefined => {\n return this.interactionManager.getHoveredLine();\n };\n\n public setLineAnnotations(\n lineAnnotations: LineAnnotation<LAnnotation>[]\n ): void {\n this.lineAnnotations = lineAnnotations;\n }\n\n public setSelectedLines(\n range: SelectedLineRange | null,\n options?: SelectionWriteOptions\n ): void {\n this.interactionManager.setSelection(range, options);\n }\n\n public setEditorActiveLine(\n lineNumber: number | null,\n options?: EditorActiveLineOptions\n ): void {\n this.interactionManager.setEditorActiveLine(lineNumber, {\n lineNumberOnly: options?.lineNumberOnly,\n side: options?.side ?? 'additions',\n });\n }\n\n public getCodeScrollLeft(): number {\n return this.code?.scrollLeft ?? 0;\n }\n\n public setCodeScrollLeft(position: number): void {\n if (this.code != null) {\n this.code.scrollLeft = position;\n }\n }\n\n public __getEffectiveCodeOptions(): BaseCodeOptions {\n return { ...this.options, ...this.fileRenderer.getEffectiveCodeOptions() };\n }\n\n public flushManagers(): void {\n if (!this.managersDirty || this.pre == null) {\n this.managersDirty = false;\n return;\n }\n\n const { overflow = 'scroll' } = this.options;\n this.interactionManager.setup(this.pre);\n this.resizeManager.setup(this.pre, {\n disableAnnotations: overflow === 'wrap',\n columnVariables: this.shouldApplyColumnVariables(overflow)\n ? 'apply'\n : 'measure',\n });\n this.managersDirty = false;\n }\n\n protected shouldApplyColumnVariables(overflow: 'scroll' | 'wrap'): boolean {\n return overflow === 'scroll' && this.lineAnnotations.length > 0;\n }\n\n public cleanUp(recycle = false): void {\n this.emitPostRender(true);\n // Persist editor state while the code scroller still exists.\n this.editor?.cleanUp(recycle);\n this.editor = undefined;\n this.resizeManager.cleanUp();\n this.interactionManager.cleanUp();\n this.managersDirty = false;\n this.workerManager?.unsubscribeToThemeChanges(this);\n this.renderRange = undefined;\n\n // Clean up the elements\n if (!this.isContainerManaged) {\n this.fileContainer?.remove();\n }\n this.fileContainer = undefined;\n this.mounted = false;\n if (!recycle) {\n this.lineAnnotations = [];\n }\n this.clearAuxiliaryNodes();\n this.pre = undefined;\n this.code = undefined;\n this.bufferBefore?.remove();\n this.bufferBefore = undefined;\n this.bufferAfter?.remove();\n this.bufferAfter = undefined;\n this.appliedPreAttributes = undefined;\n this.lastRowCount = undefined;\n this.headerElement = undefined;\n this.headerPrefix = undefined;\n this.headerFilenameSuffix = undefined;\n this.headerMetadata = undefined;\n this.headerCustom = undefined;\n this.lastRenderedHeaderHTML = undefined;\n if (!recycle) {\n this.cachedHeaderHTML = undefined;\n }\n this.errorWrapper?.remove();\n this.errorWrapper = undefined;\n this.spriteSVG = undefined;\n this.themeCSSStyle = undefined;\n this.appliedThemeCSS = undefined;\n this.hasAdoptedThemeCSS = false;\n this.unsafeCSSStyle = undefined;\n this.appliedUnsafeCSS = undefined;\n this.placeHolder?.remove();\n this.placeHolder = undefined;\n\n if (recycle) {\n this.fileRenderer.recycle();\n } else {\n this.fileRenderer.cleanUp();\n this.workerManager = undefined;\n this.file = undefined;\n }\n this.enabled = false;\n }\n\n public virtualizedSetup(): void {\n this.enabled = true;\n this.workerManager?.subscribeToThemeChanges(this);\n }\n\n public hydrate(props: FileHydrateProps<LAnnotation>): void {\n const {\n fileContainer,\n prerenderedHTML,\n preventEmit = false,\n file,\n lineAnnotations,\n } = props;\n if (!this.enabled) {\n throw new Error(\n 'File.hydrate: attempting to call hydrate after cleaned up'\n );\n }\n if (this.fileContainer != null) {\n throw new Error(\n 'File.hydrate: hydrate can only be called before the instance has rendered or hydrated'\n );\n }\n this.hydrateElements(fileContainer, prerenderedHTML);\n if (\n shouldRenderCode(this.pre, file, this.options.collapsed) ||\n shouldRenderHeader(\n this.headerElement,\n file,\n this.options.disableFileHeader\n )\n ) {\n this.render({ ...props, preventEmit: true });\n }\n // Otherwise orchestrate our setup.\n else {\n this.hydrationSetup({ file, lineAnnotations });\n }\n if (!preventEmit) {\n this.emitPostRender();\n }\n }\n\n protected hydrateElements(\n fileContainer: HTMLElement,\n prerenderedHTML: string | undefined\n ): void {\n if (this.fileContainer !== fileContainer) {\n this.emitPostRender(true);\n }\n prerenderHTMLIfNecessary(fileContainer, prerenderedHTML);\n for (const element of Array.from(\n fileContainer.shadowRoot?.children ?? []\n )) {\n if (element instanceof SVGElement) {\n this.spriteSVG = element;\n continue;\n }\n if (!(element instanceof HTMLElement)) {\n continue;\n }\n if (element instanceof HTMLPreElement) {\n this.pre = element;\n this.appliedPreAttributes = undefined;\n continue;\n }\n if (\n element instanceof HTMLStyleElement &&\n element.hasAttribute(THEME_CSS_ATTRIBUTE)\n ) {\n this.themeCSSStyle = element;\n continue;\n }\n if (\n element instanceof HTMLStyleElement &&\n element.hasAttribute(UNSAFE_CSS_ATTRIBUTE)\n ) {\n this.unsafeCSSStyle = element;\n this.appliedUnsafeCSS = element.textContent;\n continue;\n }\n if ('diffsHeader' in element.dataset) {\n this.headerElement = element;\n this.lastRenderedHeaderHTML = undefined;\n continue;\n }\n }\n if (this.pre != null) {\n this.syncCodeNodeFromPre(this.pre);\n this.pre.removeAttribute('data-dehydrated');\n }\n this.fileContainer = fileContainer;\n this.hydrateMeasuredScrollbar();\n }\n\n protected hydrationSetup({\n file,\n lineAnnotations,\n }: HydrationSetup<LAnnotation>): void {\n this.lineAnnotations = lineAnnotations ?? this.lineAnnotations;\n this.file = file;\n this.fileRenderer.setOptions(getFileRendererOptions(this.options));\n this.syncInteractionOptions();\n if (this.pre == null) {\n return;\n }\n this.fileRenderer.hydrate(file);\n this.renderAnnotations();\n this.renderGutterUtility();\n this.injectUnsafeCSS();\n this.managersDirty = true;\n this.flushManagers();\n }\n\n public getOrCreateLineCache(\n file: FileContents | undefined = this.file\n ): string[] {\n return file != null\n ? this.fileRenderer.getOrCreateLineCache(file)\n : EMPTY_STRINGS;\n }\n\n protected updateBuffers(renderRange: RenderRange): void {\n if (this.pre != null) {\n this.applyBuffers(this.pre, renderRange);\n }\n }\n\n private syncRenderViewToEditor(): void {\n const editor = this.editor;\n const fileContainer = this.fileContainer;\n const file = this.file;\n const lineAnnotations = this.lineAnnotations;\n const renderRange = this.renderRange;\n if (editor != null && fileContainer != null && file != null) {\n void this.fileRenderer.initializeHighlighter().then((highlighter) => {\n if (\n !this.enabled ||\n this.editor !== editor ||\n this.fileContainer !== fileContainer ||\n this.file !== file\n ) {\n return;\n }\n editor.__syncRenderView(\n highlighter,\n fileContainer,\n file,\n lineAnnotations,\n renderRange\n );\n });\n }\n }\n\n public attachEditor(editor: DiffsEditor<LAnnotation>): () => void {\n this.editor?.cleanUp();\n this.editor = editor;\n this.fileRenderer.beginEditSession();\n const preparedFile =\n this.file == null ? undefined : editor.__prepareFile?.(this.file);\n if (preparedFile !== undefined && preparedFile !== this.file) {\n this.renderPreparedFile({\n file: preparedFile,\n forceRender: true,\n preventEmit: true,\n renderRange: this.renderRange,\n });\n } else if (this.fileRenderer.editorRenderReady()) {\n this.syncRenderViewToEditor();\n } else {\n // The current markup is missing the editor's token metadata, or its\n // highlight is still pending: render through the session, which also\n // syncs the render view once it paints.\n this.rerender();\n }\n return () => {\n this.editor = undefined;\n this.fileRenderer.endEditSession();\n };\n }\n\n // normally triggered by the host when the document line count changes\n public applyDocumentChange(\n textDocument: DiffsTextDocument,\n newLineAnnotations?: LineAnnotation<LAnnotation>[]\n ): void {\n this.fileRenderer.applyDocumentChange(textDocument);\n if (\n newLineAnnotations != null &&\n newLineAnnotations !== this.lineAnnotations &&\n this.file != null\n ) {\n this.setLineAnnotations(newLineAnnotations);\n this.fileRenderer.setLineAnnotations(this.lineAnnotations);\n this.renderAnnotations();\n }\n }\n\n public updateRenderCache(\n dirtyLines: Map<number, Array<HighlightedToken>>,\n themeType: 'dark' | 'light',\n options?: {\n lineCountChangeInFlight?: boolean;\n }\n ): void {\n this.fileRenderer.updateRenderCache(\n dirtyLines,\n themeType,\n options?.lineCountChangeInFlight\n );\n }\n\n public render(props: FileRenderProps<LAnnotation>): boolean {\n if (!this.enabled) {\n throw new Error(\n 'File.render: attempting to call render after cleaned up'\n );\n }\n\n const file = this.editor?.__prepareFile?.(props.file) ?? props.file;\n return this.renderPreparedFile(\n file === props.file ? props : { ...props, file }\n );\n }\n\n // Renders a file whose persisted document has already been restored. The\n // virtualized subclass overrides this phase so layout uses the same file.\n protected renderPreparedFile({\n file,\n fileContainer,\n forceRender = false,\n preventEmit = false,\n containerWrapper,\n deferManagers = false,\n lineAnnotations,\n renderRange,\n }: FileRenderProps<LAnnotation>): boolean {\n // postpone background tokenizing to next frame for avoiding UI freeze\n // during render\n this.editor?.__postponeBgTokenizeToNextFrame();\n\n const { collapsed = false, themeType = 'system' } = this.options;\n const nextRenderRange = collapsed ? undefined : renderRange;\n const previousRenderRange = this.renderRange;\n const themeChanged = this.hasThemeChanged();\n const annotationsChanged =\n lineAnnotations != null &&\n (lineAnnotations.length > 0 || this.lineAnnotations.length > 0)\n ? lineAnnotations !== this.lineAnnotations\n : false;\n const didFileChange =\n !areFilesEqual(this.file, file) ||\n this.fileRenderer.hasUnkeyedFileContentsChanged(file);\n if (\n !collapsed &&\n !forceRender &&\n areRenderRangesEqual(nextRenderRange, this.renderRange) &&\n !didFileChange &&\n !annotationsChanged &&\n !themeChanged\n ) {\n return this.applyCachedThemeState(themeType);\n }\n\n this.renderRange = nextRenderRange;\n if (didFileChange) {\n this.cachedHeaderHTML = undefined;\n }\n this.file = file;\n this.fileRenderer.setOptions(getFileRendererOptions(this.options));\n this.syncInteractionOptions();\n if (lineAnnotations != null) {\n this.setLineAnnotations(lineAnnotations);\n }\n this.fileRenderer.setLineAnnotations(this.lineAnnotations);\n\n const { disableErrorHandling = false, disableFileHeader = false } =\n this.options;\n if (disableFileHeader) {\n // Remove existing header from DOM\n if (this.headerElement != null) {\n this.headerElement.remove();\n this.headerElement = undefined;\n this.lastRenderedHeaderHTML = undefined;\n }\n this.clearHeaderSlots();\n }\n\n fileContainer = this.getOrCreateFileContainerNode(\n fileContainer,\n containerWrapper\n );\n this.applyCachedThemeState(themeType);\n\n if (collapsed) {\n this.removeRenderedCode();\n this.clearAuxiliaryNodes();\n\n try {\n const fileResult = this.fileRenderer.renderFile(\n file,\n EMPTY_RENDER_RANGE\n );\n if (fileResult != null) {\n this.applyThemeState(\n fileContainer,\n fileResult.themeStyles,\n themeType,\n fileResult.baseThemeType\n );\n }\n if (fileResult?.headerAST != null) {\n this.applyHeaderToDOM(fileResult.headerAST, fileContainer);\n }\n this.injectUnsafeCSS();\n } catch (error: unknown) {\n if (disableErrorHandling) {\n throw error;\n }\n console.error(error);\n if (error instanceof Error) {\n this.applyErrorToDOM(error, fileContainer);\n }\n }\n if (!preventEmit) {\n this.emitPostRender();\n }\n return true;\n }\n\n try {\n const pre = this.getOrCreatePreNode(fileContainer);\n if (\n !this.canPartiallyRender(\n forceRender,\n annotationsChanged,\n didFileChange || themeChanged\n ) ||\n !this.applyPartialRender(previousRenderRange, nextRenderRange)\n ) {\n const fileResult = this.fileRenderer.renderFile(file, nextRenderRange);\n if (fileResult == null) {\n if (this.workerManager?.isInitialized() === false) {\n void this.workerManager.initialize().then(() => this.rerender());\n }\n return false;\n }\n this.applyThemeState(\n fileContainer,\n fileResult.themeStyles,\n themeType,\n fileResult.baseThemeType\n );\n if (fileResult.headerAST != null) {\n this.applyHeaderToDOM(fileResult.headerAST, fileContainer);\n }\n this.applyFullRender(fileResult, pre);\n }\n\n this.applyBuffers(pre, nextRenderRange);\n this.injectUnsafeCSS();\n this.renderAnnotations();\n this.renderGutterUtility();\n\n this.managersDirty = true;\n if (!deferManagers) {\n this.flushManagers();\n }\n\n if (this.editor != null) {\n this.syncRenderViewToEditor();\n }\n } catch (error: unknown) {\n if (disableErrorHandling) {\n throw error;\n }\n console.error(error);\n if (error instanceof Error) {\n this.applyErrorToDOM(error, fileContainer);\n }\n }\n if (!preventEmit) {\n this.emitPostRender();\n }\n return true;\n }\n\n private emitPostRender(unmount = false) {\n const {\n fileContainer,\n options: { onPostRender },\n } = this;\n\n if (unmount) {\n if (!this.mounted) {\n return;\n }\n this.mounted = false;\n if (fileContainer == null) {\n return;\n }\n onPostRender?.(fileContainer, this, 'unmount');\n return;\n }\n\n if (fileContainer == null) {\n return;\n }\n\n const phase: PostRenderPhase = this.mounted ? 'update' : 'mount';\n this.mounted = true;\n onPostRender?.(fileContainer, this, phase);\n }\n\n private removeRenderedCode(): void {\n this.resizeManager.cleanUp();\n this.interactionManager.cleanUp();\n\n this.bufferBefore?.remove();\n this.bufferBefore = undefined;\n this.bufferAfter?.remove();\n this.bufferAfter = undefined;\n\n this.code?.remove();\n this.code = undefined;\n\n this.pre?.remove();\n this.pre = undefined;\n\n this.appliedPreAttributes = undefined;\n this.lastRowCount = undefined;\n }\n\n private clearAuxiliaryNodes(): void {\n for (const { element } of this.annotationCache.values()) {\n element.remove();\n }\n this.annotationCache.clear();\n\n this.gutterUtilityContent?.remove();\n this.gutterUtilityContent = undefined;\n }\n\n private canPartiallyRender(\n forceRender: boolean,\n annotationsChanged: boolean,\n didContentChange: boolean\n ): boolean {\n if (forceRender || annotationsChanged || didContentChange) {\n return false;\n }\n return true;\n }\n\n public renderPlaceholder(height: number): boolean {\n if (this.fileContainer == null) {\n return false;\n }\n this.emitPostRender(true);\n this.cleanChildNodes();\n\n if (this.placeHolder == null) {\n const shadowRoot =\n this.fileContainer.shadowRoot ??\n this.fileContainer.attachShadow({ mode: 'open' });\n this.placeHolder = document.createElement('div');\n this.placeHolder.dataset.placeholder = '';\n shadowRoot.appendChild(this.placeHolder);\n }\n this.placeHolder.style.setProperty('height', `${height}px`);\n return true;\n }\n\n public async primeHighlightCache(\n file: FileContents | undefined = this.file\n ): Promise<void> {\n const { workerManager } = this;\n if (\n file == null ||\n workerManager == null ||\n !workerManager.isWorkingPool() ||\n file.cacheKey == null ||\n isFilePlainText(file)\n ) {\n return;\n }\n const tokenizeMaxLength =\n this.options.tokenizeMaxLength ?? DEFAULT_TOKENIZE_MAX_LENGTH;\n const lines = this.fileRenderer.getOrCreateLineCache(file);\n if (lines.length > tokenizeMaxLength) {\n return;\n }\n\n await workerManager\n .primeFileHighlightCache(file)\n .catch((error: unknown) => {\n console.error(error);\n });\n }\n\n private cleanChildNodes() {\n this.resizeManager.cleanUp();\n this.interactionManager.cleanUp();\n this.clearAuxiliaryNodes();\n\n this.bufferAfter?.remove();\n this.bufferBefore?.remove();\n this.code?.remove();\n this.errorWrapper?.remove();\n this.headerElement?.remove();\n this.headerPrefix?.remove();\n this.headerFilenameSuffix?.remove();\n this.headerMetadata?.remove();\n this.headerCustom?.remove();\n this.pre?.remove();\n this.spriteSVG?.remove();\n this.themeCSSStyle?.remove();\n this.unsafeCSSStyle?.remove();\n\n this.bufferAfter = undefined;\n this.bufferBefore = undefined;\n this.code = undefined;\n this.errorWrapper = undefined;\n this.headerElement = undefined;\n this.headerPrefix = undefined;\n this.headerFilenameSuffix = undefined;\n this.headerMetadata = undefined;\n this.headerCustom = undefined;\n this.pre = undefined;\n this.spriteSVG = undefined;\n this.themeCSSStyle = undefined;\n this.appliedThemeCSS = undefined;\n this.hasAdoptedThemeCSS = false;\n this.unsafeCSSStyle = undefined;\n this.appliedUnsafeCSS = undefined;\n\n this.lastRenderedHeaderHTML = undefined;\n this.lastRowCount = undefined;\n\n this.mounted = false;\n }\n\n private renderAnnotations(): void {\n if (this.isContainerManaged || this.fileContainer == null) {\n for (const { element } of this.annotationCache.values()) {\n element.remove();\n }\n this.annotationCache.clear();\n return;\n }\n const staleAnnotations = new Map(this.annotationCache);\n const { renderAnnotation } = this.options;\n if (renderAnnotation != null && this.lineAnnotations.length > 0) {\n for (const [index, annotation] of this.lineAnnotations.entries()) {\n const id = `${index}-${getLineAnnotationName(annotation)}`;\n let cache = this.annotationCache.get(id);\n if (\n cache == null ||\n !areLineAnnotationsEqual(annotation, cache.annotation)\n ) {\n cache?.element.remove();\n const content = renderAnnotation(annotation);\n // If we can't render anything, then we should not render anything\n // and clear the annotation cache if necessary.\n if (content == null) {\n continue;\n }\n cache = {\n element: createAnnotationWrapperNode(\n getLineAnnotationName(annotation)\n ),\n annotation,\n };\n cache.element.appendChild(content);\n this.fileContainer.appendChild(cache.element);\n this.annotationCache.set(id, cache);\n }\n staleAnnotations.delete(id);\n }\n }\n for (const [id, { element }] of staleAnnotations.entries()) {\n this.annotationCache.delete(id);\n element.remove();\n }\n }\n\n private renderGutterUtility() {\n const { renderGutterUtility } = this.options;\n if (this.fileContainer == null || renderGutterUtility == null) {\n this.gutterUtilityContent?.remove();\n this.gutterUtilityContent = undefined;\n return;\n }\n const element = renderGutterUtility(this.interactionManager.getHoveredLine);\n if (element != null && this.gutterUtilityContent != null) {\n return;\n } else if (element == null) {\n this.gutterUtilityContent?.remove();\n this.gutterUtilityContent = undefined;\n return;\n }\n const gutterUtilityContent = createGutterUtilityContentNode();\n gutterUtilityContent.appendChild(element);\n this.fileContainer.appendChild(gutterUtilityContent);\n this.gutterUtilityContent = gutterUtilityContent;\n }\n\n private injectUnsafeCSS(): void {\n const { unsafeCSS } = this.options;\n const shadowRoot = this.fileContainer?.shadowRoot;\n if (shadowRoot == null) {\n return;\n }\n\n if (unsafeCSS == null || unsafeCSS === '') {\n if (this.unsafeCSSStyle != null) {\n this.unsafeCSSStyle.remove();\n this.unsafeCSSStyle = undefined;\n }\n this.appliedUnsafeCSS = undefined;\n return;\n }\n\n if (\n this.unsafeCSSStyle?.parentNode === shadowRoot &&\n this.appliedUnsafeCSS === unsafeCSS\n ) {\n return;\n }\n\n // Create or update the style element\n this.unsafeCSSStyle ??= createUnsafeCSSStyleNode();\n if (this.unsafeCSSStyle.parentNode !== shadowRoot) {\n shadowRoot.appendChild(this.unsafeCSSStyle);\n }\n // Wrap in @layer unsafe to match SSR behavior\n this.unsafeCSSStyle.textContent = wrapUnsafeCSS(unsafeCSS);\n this.appliedUnsafeCSS = unsafeCSS;\n }\n\n private applyThemeState(\n container: HTMLElement,\n themeStyles: string,\n themeType: ThemeTypes,\n baseThemeType?: 'light' | 'dark'\n ): void {\n const shadowRoot =\n container.shadowRoot ?? container.attachShadow({ mode: 'open' });\n const effectiveThemeType = baseThemeType ?? themeType;\n const currentTheme = this.options.theme ?? DEFAULT_THEMES;\n const theme =\n typeof currentTheme === 'string' ? currentTheme : { ...currentTheme };\n const scrollbarGutter = getMeasuredScrollbarGutter(shadowRoot);\n if (\n this.themeCSSStyle?.parentNode === shadowRoot &&\n this.appliedThemeCSS?.themeStyles === themeStyles &&\n this.appliedThemeCSS.themeType === effectiveThemeType &&\n this.appliedThemeCSS.scrollbarGutter === scrollbarGutter\n ) {\n this.appliedThemeCSS.theme = theme;\n return;\n }\n if (\n this.hasAdoptedThemeCSS &&\n this.themeCSSStyle?.parentNode === shadowRoot\n ) {\n this.hasAdoptedThemeCSS = false;\n this.appliedThemeCSS = {\n theme,\n themeStyles,\n themeType: effectiveThemeType,\n baseThemeType,\n scrollbarGutter,\n };\n return;\n }\n this.themeCSSStyle = upsertHostThemeStyle({\n shadowRoot,\n currentNode: this.themeCSSStyle,\n themeCSS: wrapThemeCSS(themeStyles, effectiveThemeType, scrollbarGutter),\n });\n this.appliedThemeCSS =\n this.themeCSSStyle != null\n ? {\n theme,\n themeStyles,\n themeType: effectiveThemeType,\n baseThemeType,\n scrollbarGutter,\n }\n : undefined;\n }\n\n private hydrateMeasuredScrollbar(): void {\n const shadowRoot = this.fileContainer?.shadowRoot;\n if (shadowRoot == null || this.themeCSSStyle == null) {\n return;\n }\n this.themeCSSStyle.textContent = patchScrollbarGutterSize(\n this.themeCSSStyle.textContent ?? '',\n getMeasuredScrollbarGutter(shadowRoot)\n );\n }\n\n // A boolean check to ensure that edit mode in WebKit doesn't cause potential\n // scroll jumps to due bugs with WebKit. The workarounds have performance\n // implications so we avoid running the workarounds on browsers or scenarios\n // where they are not applicable\n protected shouldGuardRebuildScroll(): boolean {\n return this.editor != null && isSafari();\n }\n\n private applyFullRender(result: FileRenderResult, pre: HTMLPreElement): void {\n this.cleanupErrorWrapper();\n this.applyPreNodeAttributes(pre, result);\n const code = (this.code = getOrCreateCodeNode({ code: this.code }));\n const codeAst = this.fileRenderer.renderCodeAST(result);\n this.editor?.__captureFocusForDOMReplacement();\n const applyColumns = () => {\n if (code.childElementCount >= 2) {\n for (let i = 0; i < 2; i++) {\n const domEl = code.children[i] as HTMLElement;\n const astEl = codeAst[i] as HASTElement;\n domEl.innerHTML = toHtml(astEl.children);\n domEl.style.cssText = astEl.properties.style as string;\n }\n } else {\n code.innerHTML = toHtml(codeAst);\n }\n if (!pre.contains(code)) {\n pre.replaceChildren(code);\n }\n };\n if (this.shouldGuardRebuildScroll()) {\n guardWebKitScrollDuringRebuild(pre, applyColumns);\n } else {\n applyColumns();\n }\n this.lastRowCount = result.rowCount;\n }\n\n private applyPartialRender(\n previousRenderRange: RenderRange | undefined,\n renderRange: RenderRange | undefined\n ): boolean {\n if (previousRenderRange == null || renderRange == null) {\n return false;\n }\n const { file, code } = this;\n const columns = code != null ? this.getColumns(code) : undefined;\n if (file == null || code == null || columns == null) {\n return false;\n }\n\n const previousStart = previousRenderRange.startingLine;\n const nextStart = renderRange.startingLine;\n const previousEnd =\n previousRenderRange.totalLines === Infinity\n ? Number.POSITIVE_INFINITY\n : previousStart + previousRenderRange.totalLines;\n const nextEnd =\n renderRange.totalLines === Infinity\n ? Number.POSITIVE_INFINITY\n : nextStart + renderRange.totalLines;\n\n const overlapStart = Math.max(previousStart, nextStart);\n const overlapEnd = Math.min(previousEnd, nextEnd);\n if (overlapEnd <= overlapStart) {\n return false;\n }\n\n if (\n !this.trimDOMToOverlap(columns.gutter, overlapStart, overlapEnd) ||\n !this.trimDOMToOverlap(columns.content, overlapStart, overlapEnd)\n ) {\n throw new Error('File.applyPartialRender: failed to trim to overlap');\n }\n\n let { length: rowCount } = columns.content.children;\n\n const renderChunk = (\n startingLine: number,\n totalLines: number\n ): FileRenderResult | undefined => {\n if (totalLines <= 0) {\n return undefined;\n }\n return this.fileRenderer.renderFile(file, {\n startingLine,\n totalLines,\n bufferBefore: 0,\n bufferAfter: 0,\n });\n };\n\n const prependResult =\n nextStart < overlapStart\n ? renderChunk(nextStart, overlapStart - nextStart)\n : undefined;\n if (prependResult === undefined && nextStart < overlapStart) {\n return false;\n }\n\n const appendTotalLines =\n nextEnd === Number.POSITIVE_INFINITY\n ? Number.POSITIVE_INFINITY\n : Math.max(0, nextEnd - overlapEnd);\n const appendResult =\n nextEnd > overlapEnd\n ? renderChunk(overlapEnd, appendTotalLines)\n : undefined;\n if (appendResult === undefined && nextEnd > overlapEnd) {\n return false;\n }\n\n this.cleanupErrorWrapper();\n if (prependResult != null) {\n columns.gutter.insertAdjacentHTML(\n 'afterbegin',\n this.fileRenderer.renderPartialHTML(prependResult.gutterAST)\n );\n columns.content.insertAdjacentHTML(\n 'afterbegin',\n this.fileRenderer.renderPartialHTML(prependResult.contentAST)\n );\n rowCount += prependResult.rowCount;\n }\n\n if (appendResult != null) {\n columns.gutter.insertAdjacentHTML(\n 'beforeend',\n this.fileRenderer.renderPartialHTML(appendResult.gutterAST)\n );\n columns.content.insertAdjacentHTML(\n 'beforeend',\n this.fileRenderer.renderPartialHTML(appendResult.contentAST)\n );\n rowCount += appendResult.rowCount;\n }\n\n if (this.lastRowCount !== rowCount) {\n columns.gutter.style.setProperty('grid-row', `span ${rowCount}`);\n columns.content.style.setProperty('grid-row', `span ${rowCount}`);\n this.lastRowCount = rowCount;\n }\n\n return true;\n }\n\n private getColumns(code: HTMLElement): ColumnElements | undefined {\n const gutter = code.children[0];\n const content = code.children[1];\n if (\n !(gutter instanceof HTMLElement) ||\n !(content instanceof HTMLElement) ||\n gutter.dataset.gutter == null ||\n content.dataset.content == null\n ) {\n return undefined;\n }\n return { gutter, content };\n }\n\n private trimDOMToOverlap(\n container: HTMLElement,\n overlapStart: number,\n overlapEnd: number\n ): boolean {\n const boundaryIndices = this.getDOMBoundaryIndices(container, [\n overlapStart,\n overlapEnd,\n ]);\n const startIndex =\n boundaryIndices.get(overlapStart) ?? container.children.length;\n const endIndex =\n boundaryIndices.get(overlapEnd) ?? container.children.length;\n\n if (startIndex > endIndex) {\n return false;\n }\n\n for (let i = container.children.length - 1; i >= endIndex; i -= 1) {\n container.children[i]?.remove();\n }\n for (let i = startIndex - 1; i >= 0; i -= 1) {\n container.children[i]?.remove();\n }\n return true;\n }\n\n private getDOMBoundaryIndices(\n container: HTMLElement,\n boundaries: number[]\n ): Map<number, number> {\n const sortedBoundaries = [...new Set(boundaries)].sort((a, b) => a - b);\n const boundaryIndices = new Map<number, number>();\n if (sortedBoundaries.length === 0) {\n return boundaryIndices;\n }\n let boundaryIndex = 0;\n let nextBoundary = sortedBoundaries[boundaryIndex];\n const { children } = container;\n\n if (nextBoundary === 0) {\n boundaryIndices.set(0, 0);\n boundaryIndex += 1;\n nextBoundary = sortedBoundaries[boundaryIndex];\n }\n\n for (let i = 0; i < children.length; i += 1) {\n const child = children[i];\n if (!(child instanceof HTMLElement)) {\n continue;\n }\n const lineIndex = this.getLineIndexFromDOMNode(child);\n if (lineIndex == null) {\n continue;\n }\n while (nextBoundary != null && lineIndex >= nextBoundary) {\n boundaryIndices.set(nextBoundary, i);\n boundaryIndex += 1;\n nextBoundary = sortedBoundaries[boundaryIndex];\n }\n if (boundaryIndex >= sortedBoundaries.length) {\n break;\n }\n }\n\n for (const boundary of sortedBoundaries) {\n if (!boundaryIndices.has(boundary)) {\n boundaryIndices.set(boundary, children.length);\n }\n }\n return boundaryIndices;\n }\n\n private getLineIndexFromDOMNode(node: HTMLElement): number | undefined {\n const lineIndexAttr = node.dataset.lineIndex;\n if (lineIndexAttr == null) {\n return undefined;\n }\n const parsed = Number(lineIndexAttr);\n return Number.isNaN(parsed) ? undefined : parsed;\n }\n\n private applyBuffers(\n pre: HTMLPreElement,\n renderRange: RenderRange | undefined\n ) {\n if (renderRange == null || this.shouldDisableVirtualizationBuffers()) {\n if (this.bufferBefore != null) {\n this.bufferBefore.remove();\n this.bufferBefore = undefined;\n }\n if (this.bufferAfter != null) {\n this.bufferAfter.remove();\n this.bufferAfter = undefined;\n }\n return;\n }\n\n if (renderRange.bufferBefore > 0) {\n if (this.bufferBefore == null) {\n this.bufferBefore = document.createElement('div');\n this.bufferBefore.dataset.virtualizerBuffer = 'before';\n pre.before(this.bufferBefore);\n }\n this.bufferBefore.style.setProperty(\n 'height',\n `${renderRange.bufferBefore}px`\n );\n this.bufferBefore.style.setProperty('contain', 'strict');\n } else if (this.bufferBefore != null) {\n this.bufferBefore.remove();\n this.bufferBefore = undefined;\n }\n\n if (renderRange.bufferAfter > 0) {\n if (this.bufferAfter == null) {\n this.bufferAfter = document.createElement('div');\n this.bufferAfter.dataset.virtualizerBuffer = 'after';\n pre.after(this.bufferAfter);\n }\n this.bufferAfter.style.setProperty(\n 'height',\n `${renderRange.bufferAfter}px`\n );\n this.bufferAfter.style.setProperty('contain', 'strict');\n } else if (this.bufferAfter != null) {\n this.bufferAfter.remove();\n this.bufferAfter = undefined;\n }\n }\n\n protected shouldDisableVirtualizationBuffers(): boolean {\n return this.options.disableVirtualizationBuffers ?? false;\n }\n\n private applyHeaderToDOM(\n headerAST: HASTElement,\n container: HTMLElement\n ): void {\n const { file } = this;\n if (file == null) return;\n this.cleanupErrorWrapper();\n this.placeHolder?.remove();\n this.placeHolder = undefined;\n const headerHTML = this.cachedHeaderHTML ?? toHtml(headerAST);\n this.cachedHeaderHTML = headerHTML;\n if (headerHTML !== this.lastRenderedHeaderHTML) {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = headerHTML;\n const newHeader = tempDiv.firstElementChild;\n if (!(newHeader instanceof HTMLElement)) {\n return;\n }\n if (this.headerElement != null) {\n container.shadowRoot?.replaceChild(newHeader, this.headerElement);\n } else {\n container.shadowRoot?.prepend(newHeader);\n }\n this.headerElement = newHeader;\n this.lastRenderedHeaderHTML = headerHTML;\n }\n\n if (this.isContainerManaged) return;\n\n const {\n renderHeaderPrefix,\n renderHeaderFilenameSuffix,\n renderCustomHeader,\n renderHeaderMetadata,\n } = this.options;\n\n if (renderCustomHeader != null) {\n const content = renderCustomHeader(file) ?? undefined;\n this.headerCustom = this.upsertHeaderSlotElement(\n container,\n this.headerCustom,\n CUSTOM_HEADER_SLOT_ID,\n content\n );\n this.headerPrefix?.remove();\n this.headerFilenameSuffix?.remove();\n this.headerMetadata?.remove();\n this.headerPrefix = undefined;\n this.headerFilenameSuffix = undefined;\n this.headerMetadata = undefined;\n } else {\n const prefix = renderHeaderPrefix?.(file) ?? undefined;\n const suffix = renderHeaderFilenameSuffix?.(file) ?? undefined;\n const content = renderHeaderMetadata?.(file) ?? undefined;\n this.headerPrefix = this.upsertHeaderSlotElement(\n container,\n this.headerPrefix,\n HEADER_PREFIX_SLOT_ID,\n prefix\n );\n this.headerFilenameSuffix = this.upsertHeaderSlotElement(\n container,\n this.headerFilenameSuffix,\n HEADER_FILENAME_SUFFIX_SLOT_ID,\n suffix\n );\n this.headerMetadata = this.upsertHeaderSlotElement(\n container,\n this.headerMetadata,\n HEADER_METADATA_SLOT_ID,\n content\n );\n this.headerCustom?.remove();\n this.headerCustom = undefined;\n }\n }\n\n private clearHeaderSlots(): void {\n this.headerPrefix?.remove();\n this.headerFilenameSuffix?.remove();\n this.headerMetadata?.remove();\n this.headerCustom?.remove();\n this.headerPrefix = undefined;\n this.headerFilenameSuffix = undefined;\n this.headerMetadata = undefined;\n this.headerCustom = undefined;\n }\n\n // Header slot callbacks are presence-based render hooks, not reactive views.\n private upsertHeaderSlotElement(\n container: HTMLElement,\n current: HTMLElement | undefined,\n slot: string,\n content: Element | string | number | undefined\n ): HTMLElement | undefined {\n if (content == null) {\n current?.remove();\n return undefined;\n }\n const element = current ?? this.createHeaderSlotElement(slot);\n if (current == null) {\n container.appendChild(element);\n }\n this.replaceHeaderSlotContent(element, content);\n return element;\n }\n\n private replaceHeaderSlotContent(\n element: HTMLElement,\n content: Element | string | number\n ): void {\n element.replaceChildren();\n if (content instanceof Element) {\n element.appendChild(content);\n } else {\n element.innerText = `${content}`;\n }\n }\n\n private createHeaderSlotElement(slot: string): HTMLElement {\n const element = document.createElement('div');\n element.slot = slot;\n return element;\n }\n\n protected getOrCreateFileContainerNode(\n fileContainer?: HTMLElement,\n parentNode?: HTMLElement\n ): HTMLElement {\n const { fileContainer: previousContainer } = this;\n const nextContainer =\n fileContainer ??\n previousContainer ??\n document.createElement(DIFFS_TAG_NAME);\n const containerChanged = previousContainer !== nextContainer;\n if (previousContainer != null && containerChanged) {\n this.editor?.__captureFocusForDOMReplacement();\n }\n if (containerChanged) {\n this.emitPostRender(true);\n }\n this.fileContainer = nextContainer;\n if (previousContainer != null && containerChanged) {\n this.lastRenderedHeaderHTML = undefined;\n this.headerElement = undefined;\n }\n if (parentNode != null && this.fileContainer.parentNode !== parentNode) {\n parentNode.appendChild(this.fileContainer);\n }\n if (containerChanged) {\n this.adoptReusableShellElements(this.fileContainer);\n }\n this.ensureSpriteSVG(this.fileContainer);\n return this.fileContainer;\n }\n\n // NOTE(amadeus): Technically this method is not safe for use outside of\n // the CodeView component, however I don't think in practice it really\n // should matter, but maybe there's some system we need in place to prevent\n // this from running outside of that environment?\n //\n // It's making very specific assumptions that all the elements will have the\n // correct content based on CodeView global options\n private adoptReusableShellElements(fileContainer: HTMLElement): void {\n const { shadowRoot } = fileContainer;\n if (shadowRoot == null) {\n return;\n }\n\n for (const element of shadowRoot.children) {\n if (element instanceof SVGElement) {\n this.spriteSVG ??= element;\n } else if (\n isStyleNode(element) &&\n element.hasAttribute(THEME_CSS_ATTRIBUTE)\n ) {\n this.themeCSSStyle ??= element;\n this.hasAdoptedThemeCSS = true;\n } else if (\n isStyleNode(element) &&\n element.hasAttribute(UNSAFE_CSS_ATTRIBUTE)\n ) {\n this.unsafeCSSStyle ??= element;\n this.appliedUnsafeCSS ??= this.options.unsafeCSS ?? undefined;\n }\n }\n }\n\n private ensureSpriteSVG(fileContainer: HTMLElement): void {\n const shadowRoot =\n fileContainer.shadowRoot ?? fileContainer.attachShadow({ mode: 'open' });\n if (this.spriteSVG == null) {\n const fragment = document.createElement('div');\n fragment.innerHTML = SVGSpriteSheet;\n const firstChild = fragment.firstChild;\n if (firstChild instanceof SVGElement) {\n this.spriteSVG = firstChild;\n }\n }\n if (this.spriteSVG != null && this.spriteSVG.parentNode !== shadowRoot) {\n shadowRoot.appendChild(this.spriteSVG);\n }\n }\n\n private getOrCreatePreNode(container: HTMLElement): HTMLPreElement {\n const shadowRoot =\n container.shadowRoot ?? container.attachShadow({ mode: 'open' });\n // If we haven't created a pre element yet, lets go ahead and do that\n if (this.pre == null) {\n this.pre = document.createElement('pre');\n this.appliedPreAttributes = undefined;\n this.code = undefined;\n shadowRoot.appendChild(this.pre);\n }\n // If we have a new parent container for the pre element, lets go ahead and\n // move it into the new container\n else if (this.pre.parentNode !== shadowRoot) {\n this.editor?.__captureFocusForDOMReplacement();\n container.shadowRoot?.appendChild(this.pre);\n this.appliedPreAttributes = undefined;\n }\n\n this.placeHolder?.remove();\n this.placeHolder = undefined;\n\n return this.pre;\n }\n\n private syncCodeNodeFromPre(pre: HTMLPreElement): void {\n this.code = undefined;\n for (const child of Array.from(pre.children)) {\n if (!(child instanceof HTMLElement)) {\n continue;\n }\n if (child.hasAttribute('data-code')) {\n this.code = child;\n return;\n }\n }\n }\n\n private applyPreNodeAttributes(\n pre: HTMLPreElement,\n { totalLines }: FileRenderResult\n ): void {\n const { overflow = 'scroll', disableLineNumbers = false } = this.options;\n const preProperties: PrePropertiesConfig = {\n type: 'file',\n split: false,\n overflow,\n disableLineNumbers,\n diffIndicators: 'none',\n disableBackground: true,\n totalLines,\n };\n if (arePrePropertiesEqual(preProperties, this.appliedPreAttributes)) {\n return;\n }\n setPreNodeProperties(pre, preProperties);\n this.appliedPreAttributes = preProperties;\n }\n\n private applyErrorToDOM(error: Error, container: HTMLElement) {\n this.cleanupErrorWrapper();\n this.pre?.remove();\n this.pre = undefined;\n this.appliedPreAttributes = undefined;\n const shadowRoot =\n container.shadowRoot ?? container.attachShadow({ mode: 'open' });\n this.errorWrapper ??= document.createElement('div');\n this.errorWrapper.dataset.errorWrapper = '';\n this.errorWrapper.textContent = '';\n shadowRoot.appendChild(this.errorWrapper);\n const errorMessage = document.createElement('div');\n errorMessage.dataset.errorMessage = '';\n errorMessage.innerText = error.message;\n this.errorWrapper.appendChild(errorMessage);\n const errorStack = document.createElement('pre');\n errorStack.dataset.errorStack = '';\n errorStack.innerText = error.stack ?? 'No Error Stack';\n this.errorWrapper.appendChild(errorStack);\n }\n\n private cleanupErrorWrapper() {\n this.errorWrapper?.remove();\n this.errorWrapper = undefined;\n }\n}\n\nfunction shouldRenderCode(\n pre: HTMLPreElement | undefined,\n file: FileContents | undefined,\n collapsed = false\n): boolean {\n return !collapsed && pre == null && file != null;\n}\n\nfunction shouldRenderHeader(\n headerElement: HTMLElement | undefined,\n file: FileContents | undefined,\n disableFileHeader: boolean = false\n): boolean {\n return headerElement == null && file != null && !disableFileHeader;\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AppliedThemeStyleCache, BaseDiffOptions, CustomPreProperties, DiffLineAnnotation, ExpansionDirections, FileContents, FileDiffMetadata, HunkData, HunkSeparators, PostRenderPhase, PrePropertiesConfig, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, SelectedLineRange, ThemeTypes } from "../types.js";
1
+ import { AppliedThemeStyleCache, BaseCodeOptions, BaseDiffOptions, CustomPreProperties, DiffLineAnnotation, DiffsEditableComponent, DiffsEditor, DiffsTextDocument, EditorActiveLineOptions, ExpansionDirections, FileContents, FileDiffMetadata, HighlightedToken, HunkData, HunkSeparators, MaybeDiffFileInput, PostRenderPhase, PrePropertiesConfig, RenderHeaderFilenameSuffixCallback, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, SelectedLineRange, ThemeTypes } from "../types.js";
2
2
  import { GetHoveredLineResult, GetLineIndexUtility, InteractionManager, InteractionManagerBaseOptions, SelectionWriteOptions } from "../managers/InteractionManager.js";
3
3
  import { WorkerPoolManager } from "../worker/WorkerPoolManager.js";
4
4
  import { ResizeManager } from "../managers/ResizeManager.js";
@@ -6,10 +6,11 @@ import { ScrollSyncManager } from "../managers/ScrollSyncManager.js";
6
6
  import { DiffHunksRenderer, DiffHunksRendererOptions, HunksRenderResult } from "../renderers/DiffHunksRenderer.js";
7
7
 
8
8
  //#region src/components/FileDiff.d.ts
9
- interface FileDiffRenderProps<LAnnotation> {
9
+ type LoadedPartialDiffContents = Awaited<ReturnType<NonNullable<BaseDiffOptions['loadDiffFiles']>>>;
10
+ type DeferredSelectedLinesWrite = [range: SelectedLineRange | null, options: SelectionWriteOptions | undefined];
11
+ type DeferredEditorActiveLineWrite = [lineNumber: number | null, options: EditorActiveLineOptions | undefined];
12
+ interface FileDiffRenderBaseProps<LAnnotation> {
10
13
  fileDiff?: FileDiffMetadata;
11
- oldFile?: FileContents;
12
- newFile?: FileContents;
13
14
  deferManagers?: boolean;
14
15
  forceRender?: boolean;
15
16
  preventEmit?: boolean;
@@ -18,10 +19,11 @@ interface FileDiffRenderProps<LAnnotation> {
18
19
  lineAnnotations?: DiffLineAnnotation<LAnnotation>[];
19
20
  renderRange?: RenderRange;
20
21
  }
21
- interface FileDiffHydrationProps<LAnnotation> extends Omit<FileDiffRenderProps<LAnnotation>, 'fileContainer'> {
22
+ type FileDiffRenderProps<LAnnotation> = FileDiffRenderBaseProps<LAnnotation> & MaybeDiffFileInput;
23
+ type FileDiffHydrationProps<LAnnotation> = Omit<FileDiffRenderBaseProps<LAnnotation>, 'fileContainer'> & MaybeDiffFileInput & {
22
24
  fileContainer: HTMLElement;
23
25
  prerenderedHTML?: string;
24
- }
26
+ };
25
27
  type FileDiffType = 'file-diff' | 'unresolved-file';
26
28
  interface FileDiffOptions<LAnnotation> extends Omit<BaseDiffOptions, 'hunkSeparators'>, InteractionManagerBaseOptions<'diff'> {
27
29
  hunkSeparators?: Exclude<HunkSeparators, 'custom'>
@@ -32,6 +34,7 @@ interface FileDiffOptions<LAnnotation> extends Omit<BaseDiffOptions, 'hunkSepara
32
34
  | ((hunk: HunkData, instance: FileDiff<LAnnotation>) => HTMLElement | DocumentFragment | null | undefined);
33
35
  disableFileHeader?: boolean;
34
36
  renderHeaderPrefix?: RenderHeaderPrefixCallback;
37
+ renderHeaderFilenameSuffix?: RenderHeaderFilenameSuffixCallback;
35
38
  renderHeaderMetadata?: RenderHeaderMetadataCallback;
36
39
  renderCustomHeader?: RenderHeaderMetadataCallback;
37
40
  /**
@@ -52,13 +55,15 @@ interface CustomHunkElementCache {
52
55
  element: HTMLElement;
53
56
  hunkData: HunkData;
54
57
  }
55
- interface HydrationSetup<LAnnotation> {
58
+ interface PendingFileLoad {
59
+ fileDiff: FileDiffMetadata;
60
+ promise: Promise<void>;
61
+ }
62
+ type HydrationSetup<LAnnotation> = {
56
63
  fileDiff: FileDiffMetadata | undefined;
57
64
  lineAnnotations: DiffLineAnnotation<LAnnotation>[] | undefined;
58
- oldFile?: FileContents;
59
- newFile?: FileContents;
60
- }
61
- declare class FileDiff<LAnnotation = undefined> {
65
+ } & MaybeDiffFileInput;
66
+ declare class FileDiff<LAnnotation = undefined> implements DiffsEditableComponent<LAnnotation> {
62
67
  options: FileDiffOptions<LAnnotation>;
63
68
  protected workerManager?: WorkerPoolManager | undefined;
64
69
  protected isContainerManaged: boolean;
@@ -81,6 +86,7 @@ declare class FileDiff<LAnnotation = undefined> {
81
86
  protected gutterUtilityContent: HTMLElement | undefined;
82
87
  protected headerElement: HTMLElement | undefined;
83
88
  protected headerPrefix: HTMLElement | undefined;
89
+ protected headerFilenameSuffix: HTMLElement | undefined;
84
90
  protected headerMetadata: HTMLElement | undefined;
85
91
  protected headerCustom: HTMLElement | undefined;
86
92
  protected separatorCache: Map<string, CustomHunkElementCache>;
@@ -93,16 +99,22 @@ declare class FileDiff<LAnnotation = undefined> {
93
99
  protected annotationCache: Map<string, AnnotationElementCache<LAnnotation>>;
94
100
  protected lineAnnotations: DiffLineAnnotation<LAnnotation>[];
95
101
  protected managersDirty: boolean;
96
- protected deletionFile: FileContents | undefined;
97
- protected additionFile: FileContents | undefined;
102
+ protected deletionFile?: FileContents | null;
103
+ protected additionFile?: FileContents | null;
98
104
  fileDiff: FileDiffMetadata | undefined;
99
105
  protected renderRange: RenderRange | undefined;
106
+ protected pendingFiles: PendingFileLoad | undefined;
100
107
  protected appliedPreAttributes: PrePropertiesConfig | undefined;
101
108
  protected lastRenderedHeaderHTML: string | undefined;
102
109
  protected cachedHeaderHTML: string | undefined;
103
110
  protected lastRowCount: number | undefined;
104
111
  private mounted;
105
112
  protected enabled: boolean;
113
+ protected editor: DiffsEditor<LAnnotation> | undefined;
114
+ protected refreshViewTimeout: ReturnType<typeof setTimeout> | undefined;
115
+ protected lineStateRefreshPending: boolean;
116
+ protected deferredSelectedLines: DeferredSelectedLinesWrite | undefined;
117
+ protected deferredEditorActiveLine: DeferredEditorActiveLineWrite | undefined;
106
118
  constructor(options?: FileDiffOptions<LAnnotation>, workerManager?: WorkerPoolManager | undefined, isContainerManaged?: boolean);
107
119
  protected handleHighlightRender: () => void;
108
120
  protected getHunksRendererOptions(options: FileDiffOptions<LAnnotation>): DiffHunksRendererOptions;
@@ -118,10 +130,23 @@ declare class FileDiff<LAnnotation = undefined> {
118
130
  setLineAnnotations(lineAnnotations: DiffLineAnnotation<LAnnotation>[]): void;
119
131
  private canPartiallyRender;
120
132
  setSelectedLines(range: SelectedLineRange | null, options?: SelectionWriteOptions): void;
133
+ setEditorActiveLine(lineNumber: number | null, options?: EditorActiveLineOptions): void;
134
+ protected flushDeferredLineState(): void;
121
135
  flushManagers(): void;
136
+ protected shouldApplyColumnVariables(overflow: 'scroll' | 'wrap'): boolean;
137
+ getCodeScrollLeft(): number;
138
+ setCodeScrollLeft(position: number): void;
139
+ __getEffectiveCodeOptions(): BaseCodeOptions;
122
140
  cleanUp(recycle?: boolean): void;
123
141
  virtualizedSetup(): void;
124
- hydrate(props: FileDiffHydrationProps<LAnnotation>): void;
142
+ hydrate({
143
+ fileContainer,
144
+ prerenderedHTML,
145
+ preventEmit,
146
+ lineAnnotations,
147
+ fileDiff,
148
+ ...fileInputProps
149
+ }: FileDiffHydrationProps<LAnnotation>): void;
125
150
  protected hydrateElements(fileContainer: HTMLElement, prerenderedHTML: string | undefined): void;
126
151
  protected hydrationSetup({
127
152
  fileDiff,
@@ -133,9 +158,11 @@ declare class FileDiff<LAnnotation = undefined> {
133
158
  onThemeChange(): void;
134
159
  handleExpandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number) => void;
135
160
  expandHunk: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number) => void;
161
+ protected loadFilesIfNecessary(): void;
162
+ private loadFilesForDiff;
163
+ protected handleFilesLoaded(expectedDiff: FileDiffMetadata, files: LoadedPartialDiffContents): Promise<void>;
164
+ protected setHydratedState(files: LoadedPartialDiffContents): void;
136
165
  render({
137
- oldFile,
138
- newFile,
139
166
  fileDiff,
140
167
  deferManagers,
141
168
  forceRender,
@@ -143,13 +170,43 @@ declare class FileDiff<LAnnotation = undefined> {
143
170
  lineAnnotations,
144
171
  fileContainer,
145
172
  containerWrapper,
146
- renderRange
173
+ renderRange,
174
+ ...fileInputProps
147
175
  }: FileDiffRenderProps<LAnnotation>): boolean;
148
176
  protected emitPostRender(unmount?: boolean): void;
177
+ protected get fileDiffCache(): FileDiffMetadata | undefined;
178
+ private syncRenderViewToEditor;
179
+ private computeEditorRenderRange;
180
+ attachEditor(editor: DiffsEditor<LAnnotation>): (recycle?: boolean) => void;
181
+ private finishEditSession;
182
+ /**
183
+ * Run the genuine session-end recompute: restore recompute-shaped hunks (a
184
+ * context-only region collapses away, boundaries re-derive), preserve
185
+ * expansion state best-effort via old-side anchors, and repaint through
186
+ * the session render path — which also invalidates virtualized layout,
187
+ * since nothing else does at exit now that editing does not flip
188
+ * expandUnchanged. Marker-guarded and idempotent; CodeView also calls this
189
+ * when reaping a session whose detach closure was consumed by a recycle.
190
+ * Safe on a cleaned-up instance: the recompute is pure metadata work and
191
+ * the deferred rerender is enabled-guarded. Returns true when a recompute
192
+ * ran.
193
+ */
194
+ completeEditSession(): boolean;
195
+ applyDocumentChange(textDocument: DiffsTextDocument, newLineAnnotations?: DiffLineAnnotation<LAnnotation>[]): void;
196
+ updateRenderCache(dirtyLines: Map<number, Array<HighlightedToken>>, themeType: 'dark' | 'light', options?: {
197
+ shouldRefreshDiffsView?: boolean;
198
+ lineCountChangeInFlight?: boolean;
199
+ }): void;
200
+ isLineRenderable(lineNumber: number): boolean;
201
+ getNearestRenderableLine(lineNumber: number, direction: 'up' | 'down'): number | undefined;
202
+ revealLine(lineNumber: number): boolean;
203
+ protected shouldSelfHealEditSession(): boolean;
204
+ protected escalateEditSessionRender(): void;
205
+ private handleEditSessionRender;
149
206
  private removeRenderedCode;
150
207
  private clearAuxiliaryNodes;
151
208
  renderPlaceholder(height: number): boolean;
152
- primeHighlightCache(): void;
209
+ primeHighlightCache(fileDiff?: FileDiffMetadata | undefined): Promise<void>;
153
210
  private cleanChildNodes;
154
211
  private renderSeparators;
155
212
  protected renderAnnotations(): void;
@@ -167,9 +224,14 @@ declare class FileDiff<LAnnotation = undefined> {
167
224
  protected injectUnsafeCSS(): void;
168
225
  private applyThemeState;
169
226
  private hydrateMeasuredScrollbar;
227
+ protected shouldGuardRebuildScroll(): boolean;
170
228
  private applyHunksToDOM;
229
+ private applyCodeColumnsInPlace;
230
+ private replaceCodeColumns;
171
231
  private applyPartialRender;
172
232
  private insertPartialHTML;
233
+ private refreshSplitDiffView;
234
+ private refreshUnifiedDiffView;
173
235
  private renderPartialColumn;
174
236
  private mergeBuffersIfNecessary;
175
237
  private applyRowSpan;
@@ -177,7 +239,9 @@ declare class FileDiff<LAnnotation = undefined> {
177
239
  private trimColumns;
178
240
  private getBufferSize;
179
241
  private updateBufferSize;
242
+ private getColumnPair;
180
243
  private getCodeColumns;
244
+ protected updateBuffers(renderRange: RenderRange): void;
181
245
  private applyBuffers;
182
246
  protected shouldDisableVirtualizationBuffers(): boolean;
183
247
  protected applyPreNodeAttributes(pre: HTMLPreElement, {
@@ -189,5 +253,5 @@ declare class FileDiff<LAnnotation = undefined> {
189
253
  private cleanupErrorWrapper;
190
254
  }
191
255
  //#endregion
192
- export { FileDiff, FileDiffHydrationProps, FileDiffOptions, FileDiffRenderProps, FileDiffType };
256
+ export { FileDiff, FileDiffHydrationProps, FileDiffOptions, FileDiffRenderBaseProps, FileDiffRenderProps, FileDiffType };
193
257
  //# sourceMappingURL=FileDiff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileDiff.d.ts","names":[],"sources":["../../src/components/FileDiff.ts"],"mappings":"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"}
1
+ {"version":3,"file":"FileDiff.d.ts","names":[],"sources":["../../src/components/FileDiff.ts"],"mappings":"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"}