@pierre/diffs 1.4.0 → 1.4.2

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 (485) hide show
  1. package/dist/components/CodeView.d.ts +6 -4
  2. package/dist/components/CodeView.d.ts.map +1 -1
  3. package/dist/components/CodeView.js +44 -7
  4. package/dist/components/CodeView.js.map +1 -1
  5. package/dist/components/File.d.ts +10 -18
  6. package/dist/components/File.d.ts.map +1 -1
  7. package/dist/components/File.js +70 -53
  8. package/dist/components/File.js.map +1 -1
  9. package/dist/components/FileDiff.d.ts +16 -40
  10. package/dist/components/FileDiff.d.ts.map +1 -1
  11. package/dist/components/FileDiff.js +94 -61
  12. package/dist/components/FileDiff.js.map +1 -1
  13. package/dist/components/FileStream.d.ts +1 -0
  14. package/dist/components/FileStream.d.ts.map +1 -1
  15. package/dist/components/FileStream.js +1 -1
  16. package/dist/components/UnresolvedFile.d.ts +1 -1
  17. package/dist/components/UnresolvedFile.d.ts.map +1 -1
  18. package/dist/components/UnresolvedFile.js +2 -1
  19. package/dist/components/UnresolvedFile.js.map +1 -1
  20. package/dist/components/VirtualizedFile.d.ts +3 -8
  21. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  22. package/dist/components/VirtualizedFile.js +19 -17
  23. package/dist/components/VirtualizedFile.js.map +1 -1
  24. package/dist/components/VirtualizedFileDiff.d.ts +3 -8
  25. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  26. package/dist/components/VirtualizedFileDiff.js +19 -17
  27. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  28. package/dist/components/Virtualizer.d.ts +1 -5
  29. package/dist/components/Virtualizer.d.ts.map +1 -1
  30. package/dist/components/Virtualizer.js.map +1 -1
  31. package/dist/components/VirtulizerDevelopment.d.ts +0 -1
  32. package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
  33. package/dist/components/web-components.d.ts.map +1 -1
  34. package/dist/components/web-components.js +2 -1
  35. package/dist/components/web-components.js.map +1 -1
  36. package/dist/constants.d.ts +0 -1
  37. package/dist/constants.d.ts.map +1 -1
  38. package/dist/editor/EditStateManager.d.ts +0 -1
  39. package/dist/editor/EditStateManager.d.ts.map +1 -1
  40. package/dist/editor/EditStateManager.js.map +1 -1
  41. package/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts +0 -1
  42. package/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts.map +1 -1
  43. package/dist/editor/command.d.ts +2 -1
  44. package/dist/editor/command.d.ts.map +1 -1
  45. package/dist/editor/editPrediction.d.ts +3 -2
  46. package/dist/editor/editPrediction.d.ts.map +1 -1
  47. package/dist/editor/editPrediction.js +11 -11
  48. package/dist/editor/editPrediction.js.map +1 -1
  49. package/dist/editor/editStack.d.ts +0 -1
  50. package/dist/editor/editStack.d.ts.map +1 -1
  51. package/dist/editor/editStack.js.map +1 -1
  52. package/dist/editor/editor.d.ts +2 -6
  53. package/dist/editor/editor.d.ts.map +1 -1
  54. package/dist/editor/editor.js +32 -23
  55. package/dist/editor/editor.js.map +1 -1
  56. package/dist/editor/editor2.js.map +1 -1
  57. package/dist/editor/languages.d.ts +0 -1
  58. package/dist/editor/languages.d.ts.map +1 -1
  59. package/dist/editor/languages.js +1 -1
  60. package/dist/editor/languages.js.map +1 -1
  61. package/dist/editor/lineAnnotations.d.ts +0 -1
  62. package/dist/editor/lineAnnotations.d.ts.map +1 -1
  63. package/dist/editor/lineAnnotations.js +2 -1
  64. package/dist/editor/lineAnnotations.js.map +1 -1
  65. package/dist/editor/marker.d.ts +0 -1
  66. package/dist/editor/marker.d.ts.map +1 -1
  67. package/dist/editor/marker.js +5 -3
  68. package/dist/editor/marker.js.map +1 -1
  69. package/dist/editor/matchBrackets.d.ts +0 -1
  70. package/dist/editor/matchBrackets.d.ts.map +1 -1
  71. package/dist/editor/pieceTable.d.ts +0 -1
  72. package/dist/editor/pieceTable.d.ts.map +1 -1
  73. package/dist/editor/pieceTable.js.map +1 -1
  74. package/dist/editor/platform.d.ts +1 -5
  75. package/dist/editor/platform.d.ts.map +1 -1
  76. package/dist/editor/platform.js.map +1 -1
  77. package/dist/editor/popover.d.ts +12 -12
  78. package/dist/editor/popover.d.ts.map +1 -1
  79. package/dist/editor/popover.js.map +1 -1
  80. package/dist/editor/searchPanel.d.ts +0 -1
  81. package/dist/editor/searchPanel.d.ts.map +1 -1
  82. package/dist/editor/searchPanel.js +16 -12
  83. package/dist/editor/searchPanel.js.map +1 -1
  84. package/dist/editor/selection.d.ts +0 -1
  85. package/dist/editor/selection.d.ts.map +1 -1
  86. package/dist/editor/selection.js.map +1 -1
  87. package/dist/editor/selectionAction.d.ts +0 -1
  88. package/dist/editor/selectionAction.d.ts.map +1 -1
  89. package/dist/editor/selectionAction.js.map +1 -1
  90. package/dist/editor/sprite.d.ts.map +1 -1
  91. package/dist/editor/textDocument.d.ts +0 -1
  92. package/dist/editor/textDocument.d.ts.map +1 -1
  93. package/dist/editor/textDocument.js.map +1 -1
  94. package/dist/editor/textDocumentChangeTransaction.d.ts +0 -1
  95. package/dist/editor/textDocumentChangeTransaction.d.ts.map +1 -1
  96. package/dist/editor/textMeasure.d.ts.map +1 -1
  97. package/dist/editor/textMeasure.js.map +1 -1
  98. package/dist/editor/tokenizer.d.ts +1 -11
  99. package/dist/editor/tokenizer.d.ts.map +1 -1
  100. package/dist/editor/tokenizer.js +8 -4
  101. package/dist/editor/tokenizer.js.map +1 -1
  102. package/dist/editor/types.d.ts +0 -1
  103. package/dist/editor/types.d.ts.map +1 -1
  104. package/dist/editor/utils.d.ts.map +1 -1
  105. package/dist/editor/utils.js +11 -7
  106. package/dist/editor/utils.js.map +1 -1
  107. package/dist/highlighter/languages/areLanguagesAttached.d.ts +0 -1
  108. package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
  109. package/dist/highlighter/languages/attachResolvedLanguages.d.ts +1 -0
  110. package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
  111. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
  112. package/dist/highlighter/languages/constants.d.ts +1 -1
  113. package/dist/highlighter/languages/constants.d.ts.map +1 -1
  114. package/dist/highlighter/languages/getResolvedLanguages.d.ts +1 -0
  115. package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
  116. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +1 -0
  117. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
  118. package/dist/highlighter/languages/hasResolvedLanguages.d.ts +0 -1
  119. package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
  120. package/dist/highlighter/languages/registerCustomLanguage.d.ts +0 -1
  121. package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -1
  122. package/dist/highlighter/languages/resolveLanguage.d.ts +1 -0
  123. package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
  124. package/dist/highlighter/languages/resolveLanguages.d.ts +1 -0
  125. package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -1
  126. package/dist/highlighter/shared_highlighter.d.ts +7 -8
  127. package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  128. package/dist/highlighter/shared_highlighter.js +7 -3
  129. package/dist/highlighter/shared_highlighter.js.map +1 -1
  130. package/dist/highlighter/themes/areThemesAttached.d.ts +0 -1
  131. package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
  132. package/dist/highlighter/themes/areThemesAttached.js +1 -1
  133. package/dist/highlighter/themes/attachResolvedThemes.d.ts +0 -1
  134. package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
  135. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
  136. package/dist/highlighter/themes/constants.d.ts.map +1 -1
  137. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts +0 -1
  138. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
  139. package/dist/highlighter/themes/getResolvedThemes.d.ts +0 -1
  140. package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
  141. package/dist/highlighter/themes/hasResolvedThemes.d.ts +0 -1
  142. package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
  143. package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
  144. package/dist/highlighter/themes/registerCustomTheme.d.ts +0 -1
  145. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
  146. package/dist/highlighter/themes/resolveTheme.d.ts +0 -1
  147. package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
  148. package/dist/highlighter/themes/resolveThemes.d.ts +0 -1
  149. package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
  150. package/dist/highlighter/themes/themeResolution.d.ts +0 -1
  151. package/dist/highlighter/themes/themeResolution.d.ts.map +1 -1
  152. package/dist/highlighter/themes/themeResolver.d.ts +0 -1
  153. package/dist/highlighter/themes/themeResolver.d.ts.map +1 -1
  154. package/dist/index.d.ts +1 -0
  155. package/dist/index.js +13 -13
  156. package/dist/managers/InteractionManager.d.ts +2 -26
  157. package/dist/managers/InteractionManager.d.ts.map +1 -1
  158. package/dist/managers/InteractionManager.js +1 -3
  159. package/dist/managers/InteractionManager.js.map +1 -1
  160. package/dist/managers/ResizeManager.d.ts +1 -4
  161. package/dist/managers/ResizeManager.d.ts.map +1 -1
  162. package/dist/managers/ScrollSyncManager.d.ts.map +1 -1
  163. package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  164. package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts +0 -1
  165. package/dist/node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.d.ts.map +1 -1
  166. package/dist/node_modules/.pnpm/@types_unist@3.0.3/node_modules/@types/unist/index.d.ts.map +1 -1
  167. package/dist/react/CodeView.d.ts +9 -1
  168. package/dist/react/CodeView.d.ts.map +1 -1
  169. package/dist/react/CodeView.js +39 -33
  170. package/dist/react/CodeView.js.map +1 -1
  171. package/dist/react/EditContext.d.ts +2 -5
  172. package/dist/react/EditContext.d.ts.map +1 -1
  173. package/dist/react/File.d.ts +1 -23
  174. package/dist/react/File.d.ts.map +1 -1
  175. package/dist/react/File.js +13 -12
  176. package/dist/react/File.js.map +1 -1
  177. package/dist/react/FileDiff.d.ts +1 -23
  178. package/dist/react/FileDiff.d.ts.map +1 -1
  179. package/dist/react/FileDiff.js +13 -12
  180. package/dist/react/FileDiff.js.map +1 -1
  181. package/dist/react/MultiFileDiff.d.ts +1 -24
  182. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  183. package/dist/react/MultiFileDiff.js +13 -12
  184. package/dist/react/MultiFileDiff.js.map +1 -1
  185. package/dist/react/PatchDiff.d.ts +1 -23
  186. package/dist/react/PatchDiff.d.ts.map +1 -1
  187. package/dist/react/PatchDiff.js +13 -12
  188. package/dist/react/PatchDiff.js.map +1 -1
  189. package/dist/react/UnresolvedFile.d.ts +1 -18
  190. package/dist/react/UnresolvedFile.d.ts.map +1 -1
  191. package/dist/react/UnresolvedFile.js +15 -14
  192. package/dist/react/UnresolvedFile.js.map +1 -1
  193. package/dist/react/Virtualizer.d.ts +1 -9
  194. package/dist/react/Virtualizer.d.ts.map +1 -1
  195. package/dist/react/Virtualizer.js.map +1 -1
  196. package/dist/react/WorkerPoolContext.d.ts +2 -6
  197. package/dist/react/WorkerPoolContext.d.ts.map +1 -1
  198. package/dist/react/constants.d.ts +0 -1
  199. package/dist/react/constants.d.ts.map +1 -1
  200. package/dist/react/jsx.d.ts +1 -0
  201. package/dist/react/jsx.d.ts.map +1 -1
  202. package/dist/react/types.d.ts +1 -1
  203. package/dist/react/types.d.ts.map +1 -1
  204. package/dist/react/utils/assignRef.d.ts +6 -0
  205. package/dist/react/utils/assignRef.d.ts.map +1 -0
  206. package/dist/react/utils/assignRef.js +9 -0
  207. package/dist/react/utils/assignRef.js.map +1 -0
  208. package/dist/react/utils/renderDiffChildren.d.ts +1 -16
  209. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  210. package/dist/react/utils/renderDiffChildren.js.map +1 -1
  211. package/dist/react/utils/renderFileChildren.d.ts +1 -13
  212. package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  213. package/dist/react/utils/renderFileChildren.js.map +1 -1
  214. package/dist/react/utils/templateRender.d.ts +0 -1
  215. package/dist/react/utils/templateRender.d.ts.map +1 -1
  216. package/dist/react/utils/useFileDiffInstance.d.ts +2 -18
  217. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  218. package/dist/react/utils/useFileDiffInstance.js +31 -17
  219. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  220. package/dist/react/utils/useFileInstance.d.ts +2 -16
  221. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  222. package/dist/react/utils/useFileInstance.js +8 -4
  223. package/dist/react/utils/useFileInstance.js.map +1 -1
  224. package/dist/react/utils/useStableCallback.d.ts.map +1 -1
  225. package/dist/react/utils/useUnresolvedFileInstance.d.ts +1 -12
  226. package/dist/react/utils/useUnresolvedFileInstance.d.ts.map +1 -1
  227. package/dist/renderers/DiffHunksRenderer.d.ts +5 -10
  228. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  229. package/dist/renderers/DiffHunksRenderer.js +36 -30
  230. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  231. package/dist/renderers/FileRenderer.d.ts +2 -1
  232. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  233. package/dist/renderers/FileRenderer.js +5 -5
  234. package/dist/renderers/FileRenderer.js.map +1 -1
  235. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +3 -9
  236. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
  237. package/dist/shiki-stream/stream.d.ts +0 -1
  238. package/dist/shiki-stream/stream.d.ts.map +1 -1
  239. package/dist/shiki-stream/stream.js.map +1 -1
  240. package/dist/shiki-stream/tokenizer.d.ts +0 -1
  241. package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  242. package/dist/shiki-stream/types.d.ts +0 -1
  243. package/dist/shiki-stream/types.d.ts.map +1 -1
  244. package/dist/sprite.d.ts.map +1 -1
  245. package/dist/ssr/FileDiffReact.d.ts +1 -8
  246. package/dist/ssr/FileDiffReact.d.ts.map +1 -1
  247. package/dist/ssr/FileDiffReact.js +8 -3
  248. package/dist/ssr/FileDiffReact.js.map +1 -1
  249. package/dist/ssr/preloadDiffs.d.ts +6 -34
  250. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  251. package/dist/ssr/preloadFile.d.ts +1 -6
  252. package/dist/ssr/preloadFile.d.ts.map +1 -1
  253. package/dist/ssr/preloadPatchFile.d.ts +1 -5
  254. package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  255. package/dist/ssr/renderHTML.d.ts +0 -1
  256. package/dist/ssr/renderHTML.d.ts.map +1 -1
  257. package/dist/string-import.d.ts.map +1 -1
  258. package/dist/style.js.map +1 -1
  259. package/dist/types.d.ts +0 -1
  260. package/dist/types.d.ts.map +1 -1
  261. package/dist/utils/annotationHelpers.d.ts +0 -1
  262. package/dist/utils/annotationHelpers.d.ts.map +1 -1
  263. package/dist/utils/appendItems.d.ts.map +1 -1
  264. package/dist/utils/applyLineTextWithNewline.d.ts.map +1 -1
  265. package/dist/utils/areDiffLineAnnotationsEqual.d.ts +0 -1
  266. package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
  267. package/dist/utils/areDiffRenderOptionsEqual.d.ts +0 -1
  268. package/dist/utils/areDiffRenderOptionsEqual.d.ts.map +1 -1
  269. package/dist/utils/areDiffTargetsEqual.d.ts +0 -1
  270. package/dist/utils/areDiffTargetsEqual.d.ts.map +1 -1
  271. package/dist/utils/areFileRenderOptionsEqual.d.ts +0 -1
  272. package/dist/utils/areFileRenderOptionsEqual.d.ts.map +1 -1
  273. package/dist/utils/areFileTargetsEqual.d.ts +0 -1
  274. package/dist/utils/areFileTargetsEqual.d.ts.map +1 -1
  275. package/dist/utils/areFilesEqual.d.ts +0 -1
  276. package/dist/utils/areFilesEqual.d.ts.map +1 -1
  277. package/dist/utils/areHunkDataEqual.d.ts +0 -1
  278. package/dist/utils/areHunkDataEqual.d.ts.map +1 -1
  279. package/dist/utils/areLineAnnotationsEqual.d.ts +0 -1
  280. package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
  281. package/dist/utils/areManagedSnapshotsEqual.d.ts +0 -1
  282. package/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  283. package/dist/utils/areMergeConflictActionsEqual.d.ts +0 -1
  284. package/dist/utils/areMergeConflictActionsEqual.d.ts.map +1 -1
  285. package/dist/utils/areObjectsEqual.d.ts.map +1 -1
  286. package/dist/utils/areOptionsEqual.d.ts +1 -0
  287. package/dist/utils/areOptionsEqual.d.ts.map +1 -1
  288. package/dist/utils/arePrePropertiesEqual.d.ts +0 -1
  289. package/dist/utils/arePrePropertiesEqual.d.ts.map +1 -1
  290. package/dist/utils/areRenderRangesEqual.d.ts +0 -1
  291. package/dist/utils/areRenderRangesEqual.d.ts.map +1 -1
  292. package/dist/utils/areSelectionPointsEqual.d.ts +0 -1
  293. package/dist/utils/areSelectionPointsEqual.d.ts.map +1 -1
  294. package/dist/utils/areSelectionsEqual.d.ts +0 -1
  295. package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
  296. package/dist/utils/areThemesEqual.d.ts +0 -1
  297. package/dist/utils/areThemesEqual.d.ts.map +1 -1
  298. package/dist/utils/areVirtualWindowSpecsEqual.d.ts +0 -1
  299. package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
  300. package/dist/utils/areWorkerStatsEqual.d.ts +1 -0
  301. package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
  302. package/dist/utils/awaitWithTimeout.d.ts.map +1 -1
  303. package/dist/utils/cleanLastNewline.d.ts.map +1 -1
  304. package/dist/utils/cloneFileDiffMetadata.d.ts +0 -1
  305. package/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -1
  306. package/dist/utils/composeCacheKey.d.ts.map +1 -1
  307. package/dist/utils/computeEstimatedDiffHeights.d.ts +1 -11
  308. package/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
  309. package/dist/utils/computeFileOffsets.d.ts.map +1 -1
  310. package/dist/utils/computeFileOffsets.js +9 -8
  311. package/dist/utils/computeFileOffsets.js.map +1 -1
  312. package/dist/utils/computeVirtualFileMetrics.d.ts +0 -1
  313. package/dist/utils/computeVirtualFileMetrics.d.ts.map +1 -1
  314. package/dist/utils/createAnnotationElement.d.ts +0 -1
  315. package/dist/utils/createAnnotationElement.d.ts.map +1 -1
  316. package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
  317. package/dist/utils/createCodeViewHeaderFooterHostElement.d.ts.map +1 -1
  318. package/dist/utils/createContentColumn.d.ts +0 -1
  319. package/dist/utils/createContentColumn.d.ts.map +1 -1
  320. package/dist/utils/createEmptyRowBuffer.d.ts +0 -1
  321. package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
  322. package/dist/utils/createFileHeaderElement.d.ts +1 -6
  323. package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  324. package/dist/utils/createGutterUtilityContentNode.d.ts.map +1 -1
  325. package/dist/utils/createGutterUtilityElement.d.ts +0 -1
  326. package/dist/utils/createGutterUtilityElement.d.ts.map +1 -1
  327. package/dist/utils/createNoNewlineElement.d.ts +0 -1
  328. package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
  329. package/dist/utils/createPreElement.d.ts +1 -11
  330. package/dist/utils/createPreElement.d.ts.map +1 -1
  331. package/dist/utils/createRowNodes.d.ts.map +1 -1
  332. package/dist/utils/createSeparator.d.ts +1 -10
  333. package/dist/utils/createSeparator.d.ts.map +1 -1
  334. package/dist/utils/createSeparator.js +12 -10
  335. package/dist/utils/createSeparator.js.map +1 -1
  336. package/dist/utils/createSpanNodeFromToken.d.ts +0 -1
  337. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
  338. package/dist/utils/createSpanNodeFromToken.js +2 -1
  339. package/dist/utils/createSpanNodeFromToken.js.map +1 -1
  340. package/dist/utils/createStyleElement.d.ts +0 -1
  341. package/dist/utils/createStyleElement.d.ts.map +1 -1
  342. package/dist/utils/createTransformerWithState.d.ts +0 -1
  343. package/dist/utils/createTransformerWithState.d.ts.map +1 -1
  344. package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
  345. package/dist/utils/createWindowFromScrollPosition.d.ts +1 -9
  346. package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
  347. package/dist/utils/cssWrappers.d.ts +0 -1
  348. package/dist/utils/cssWrappers.d.ts.map +1 -1
  349. package/dist/utils/cssWrappers.js +5 -3
  350. package/dist/utils/cssWrappers.js.map +1 -1
  351. package/dist/utils/detachString.d.ts.map +1 -1
  352. package/dist/utils/diffAcceptRejectHunk.d.ts +0 -1
  353. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
  354. package/dist/utils/editSessionAnnotations.d.ts +0 -1
  355. package/dist/utils/editSessionAnnotations.d.ts.map +1 -1
  356. package/dist/utils/editSessionHunks.d.ts +0 -1
  357. package/dist/utils/editSessionHunks.d.ts.map +1 -1
  358. package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
  359. package/dist/utils/getDiffFileInput.d.ts +1 -5
  360. package/dist/utils/getDiffFileInput.d.ts.map +1 -1
  361. package/dist/utils/getDiffHunksRendererOptions.d.ts +0 -1
  362. package/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  363. package/dist/utils/getFileRendererOptions.d.ts +0 -1
  364. package/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  365. package/dist/utils/getFiletypeFromFileName.d.ts +0 -1
  366. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  367. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  368. package/dist/utils/getHighlighterOptions.d.ts +1 -5
  369. package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  370. package/dist/utils/getHighlighterOptions.js +1 -1
  371. package/dist/utils/getHighlighterOptions.js.map +1 -1
  372. package/dist/utils/getHighlighterThemeStyles.d.ts +1 -6
  373. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
  374. package/dist/utils/getHunkSeparatorSlotName.d.ts +0 -1
  375. package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
  376. package/dist/utils/getHunkSideBoundaries.d.ts.map +1 -1
  377. package/dist/utils/getIconForType.d.ts +0 -1
  378. package/dist/utils/getIconForType.d.ts.map +1 -1
  379. package/dist/utils/getLineAnnotationName.d.ts +0 -1
  380. package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
  381. package/dist/utils/getLineEndingType.d.ts.map +1 -1
  382. package/dist/utils/getLineNodes.d.ts +0 -1
  383. package/dist/utils/getLineNodes.d.ts.map +1 -1
  384. package/dist/utils/getMergeConflictActionSlotName.d.ts +1 -5
  385. package/dist/utils/getMergeConflictActionSlotName.d.ts.map +1 -1
  386. package/dist/utils/getMergeConflictLineTypes.d.ts +0 -1
  387. package/dist/utils/getMergeConflictLineTypes.d.ts.map +1 -1
  388. package/dist/utils/getOrCreateCodeNode.d.ts +1 -7
  389. package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
  390. package/dist/utils/getSingularPatch.d.ts +0 -1
  391. package/dist/utils/getSingularPatch.d.ts.map +1 -1
  392. package/dist/utils/getThemes.d.ts +0 -1
  393. package/dist/utils/getThemes.d.ts.map +1 -1
  394. package/dist/utils/getTotalLineCountFromHunks.d.ts +0 -1
  395. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  396. package/dist/utils/guardWebKitScrollDuringRebuild.d.ts.map +1 -1
  397. package/dist/utils/hast_utils.d.ts +2 -12
  398. package/dist/utils/hast_utils.d.ts.map +1 -1
  399. package/dist/utils/hostTheme.d.ts +1 -5
  400. package/dist/utils/hostTheme.d.ts.map +1 -1
  401. package/dist/utils/hydratePartialDiff.d.ts +0 -1
  402. package/dist/utils/hydratePartialDiff.d.ts.map +1 -1
  403. package/dist/utils/includesFileAnnotations.d.ts +0 -1
  404. package/dist/utils/includesFileAnnotations.d.ts.map +1 -1
  405. package/dist/utils/isDefaultRenderRange.d.ts +0 -1
  406. package/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
  407. package/dist/utils/isDiffPlainText.d.ts +0 -1
  408. package/dist/utils/isDiffPlainText.d.ts.map +1 -1
  409. package/dist/utils/isFilePlainText.d.ts +0 -1
  410. package/dist/utils/isFilePlainText.d.ts.map +1 -1
  411. package/dist/utils/isGutterUtilityPath.d.ts.map +1 -1
  412. package/dist/utils/isStyleNode.d.ts.map +1 -1
  413. package/dist/utils/isWorkerContext.d.ts.map +1 -1
  414. package/dist/utils/iterateOverDiff.d.ts +1 -10
  415. package/dist/utils/iterateOverDiff.d.ts.map +1 -1
  416. package/dist/utils/iterateOverDiff.js +5 -3
  417. package/dist/utils/iterateOverDiff.js.map +1 -1
  418. package/dist/utils/lineAnnotationIdentity.d.ts +0 -1
  419. package/dist/utils/lineAnnotationIdentity.d.ts.map +1 -1
  420. package/dist/utils/normalizeDiffResolution.d.ts +0 -1
  421. package/dist/utils/normalizeDiffResolution.d.ts.map +1 -1
  422. package/dist/utils/parseDiffDecorations.d.ts +2 -13
  423. package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
  424. package/dist/utils/parseDiffFromFile.d.ts +0 -1
  425. package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  426. package/dist/utils/parseDiffFromFile.js +2 -1
  427. package/dist/utils/parseDiffFromFile.js.map +1 -1
  428. package/dist/utils/parseLineType.d.ts +0 -1
  429. package/dist/utils/parseLineType.d.ts.map +1 -1
  430. package/dist/utils/parseMergeConflictDiffFromFile.d.ts +0 -1
  431. package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  432. package/dist/utils/parsePatchFiles.d.ts +0 -1
  433. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  434. package/dist/utils/parsePatchFiles.js +8 -5
  435. package/dist/utils/parsePatchFiles.js.map +1 -1
  436. package/dist/utils/platform.d.ts.map +1 -1
  437. package/dist/utils/prefersReducedMotion.d.ts.map +1 -1
  438. package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
  439. package/dist/utils/processLine.d.ts +0 -1
  440. package/dist/utils/processLine.d.ts.map +1 -1
  441. package/dist/utils/realignChangeContent.d.ts +0 -1
  442. package/dist/utils/realignChangeContent.d.ts.map +1 -1
  443. package/dist/utils/renderDiffWithHighlighter.d.ts +1 -8
  444. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  445. package/dist/utils/renderFileWithHighlighter.d.ts +1 -11
  446. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  447. package/dist/utils/resolveConflict.d.ts +0 -1
  448. package/dist/utils/resolveConflict.d.ts.map +1 -1
  449. package/dist/utils/resolveRegion.d.ts +0 -1
  450. package/dist/utils/resolveRegion.d.ts.map +1 -1
  451. package/dist/utils/roundToDevicePixel.d.ts.map +1 -1
  452. package/dist/utils/scrollbarGutter.d.ts.map +1 -1
  453. package/dist/utils/scrollbarGutter.js +2 -1
  454. package/dist/utils/scrollbarGutter.js.map +1 -1
  455. package/dist/utils/setLanguageOverride.d.ts +0 -1
  456. package/dist/utils/setLanguageOverride.d.ts.map +1 -1
  457. package/dist/utils/setWrapperNodeProps.d.ts +1 -11
  458. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  459. package/dist/utils/setWrapperNodeProps.js +1 -3
  460. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  461. package/dist/utils/shouldUseTokenTransformer.d.ts +0 -1
  462. package/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
  463. package/dist/utils/splitFileContents.d.ts.map +1 -1
  464. package/dist/utils/trimPatchContext.d.ts.map +1 -1
  465. package/dist/utils/updateDiffHunks.d.ts +0 -1
  466. package/dist/utils/updateDiffHunks.d.ts.map +1 -1
  467. package/dist/utils/virtualDiffLayout.d.ts +10 -55
  468. package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  469. package/dist/utils/wrapTokenFragments.d.ts +0 -1
  470. package/dist/utils/wrapTokenFragments.d.ts.map +1 -1
  471. package/dist/worker/WorkerPoolManager.d.ts +2 -17
  472. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  473. package/dist/worker/WorkerPoolManager.js +19 -7
  474. package/dist/worker/WorkerPoolManager.js.map +1 -1
  475. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts +1 -5
  476. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
  477. package/dist/worker/types.d.ts +0 -1
  478. package/dist/worker/types.d.ts.map +1 -1
  479. package/dist/worker/worker-portable.d.ts +1 -1
  480. package/dist/worker/worker-portable.js +113 -354
  481. package/dist/worker/worker-portable.js.map +1 -1
  482. package/dist/worker/worker.d.ts +1 -1
  483. package/dist/worker/worker.js +14 -11
  484. package/dist/worker/worker.js.map +1 -1
  485. package/package.json +4 -5
@@ -272,9 +272,7 @@ function parseTheme(source) {
272
272
  case "underline":
273
273
  fontStyle = fontStyle | 4;
274
274
  break;
275
- case "strikethrough":
276
- fontStyle = fontStyle | 8;
277
- break;
275
+ case "strikethrough": fontStyle = fontStyle | 8;
278
276
  }
279
277
  }
280
278
  let foreground = null;
@@ -774,7 +772,6 @@ function collectExternalReferencesInRules(rules, context, result) {
774
772
  else collectExternalReferencesInTopLevelRule(newContext, result);
775
773
  } else if (reference.kind === 4) result.add(new TopLevelRepositoryRuleReference(reference.scopeName, reference.ruleName));
776
774
  else result.add(new TopLevelRuleReference(reference.scopeName));
777
- break;
778
775
  }
779
776
  }
780
777
  }
@@ -988,8 +985,10 @@ var BeginEndRule = class extends Rule {
988
985
  if (this.applyEndPatternLast) this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end);
989
986
  else this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);
990
987
  }
991
- if (this._end.hasBackReferences) if (this.applyEndPatternLast) this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);
992
- else this._cachedCompiledPatterns.setSource(0, endRegexSource);
988
+ if (this._end.hasBackReferences) {
989
+ if (this.applyEndPatternLast) this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);
990
+ else this._cachedCompiledPatterns.setSource(0, endRegexSource);
991
+ }
993
992
  return this._cachedCompiledPatterns;
994
993
  }
995
994
  };
@@ -1127,11 +1126,12 @@ var RuleFactory = class _RuleFactory {
1127
1126
  const externalGrammarName = reference.scopeName;
1128
1127
  const externalGrammarInclude = reference.kind === 4 ? reference.ruleName : null;
1129
1128
  const externalGrammar = helper.getExternalGrammar(externalGrammarName, repository);
1130
- if (externalGrammar) if (externalGrammarInclude) {
1131
- let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];
1132
- if (externalIncludedRule) ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);
1133
- } else ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);
1134
- break;
1129
+ if (externalGrammar) {
1130
+ if (externalGrammarInclude) {
1131
+ let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];
1132
+ if (externalIncludedRule) ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);
1133
+ } else ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);
1134
+ }
1135
1135
  }
1136
1136
  } else ruleId = _RuleFactory.getCompiledRuleId(pattern, helper, repository);
1137
1137
  if (ruleId !== -1) {
@@ -1252,9 +1252,10 @@ var RegExpSource = class _RegExpSource {
1252
1252
  }
1253
1253
  resolveAnchors(allowA, allowG) {
1254
1254
  if (!this.hasAnchor || !this._anchorCache || typeof this.source !== "string") return this.source;
1255
- if (allowA) if (allowG) return this._anchorCache.A1_G1;
1256
- else return this._anchorCache.A1_G0;
1257
- else if (allowG) return this._anchorCache.A0_G1;
1255
+ if (allowA) {
1256
+ if (allowG) return this._anchorCache.A1_G1;
1257
+ else return this._anchorCache.A1_G0;
1258
+ } else if (allowG) return this._anchorCache.A0_G1;
1258
1259
  else return this._anchorCache.A0_G0;
1259
1260
  }
1260
1261
  };
@@ -1325,14 +1326,15 @@ var RegExpSourceList = class {
1325
1326
  }
1326
1327
  compileAG(onigLib, allowA, allowG) {
1327
1328
  if (!this._hasAnchors) return this.compile(onigLib);
1328
- else if (allowA) if (allowG) {
1329
- if (!this._anchorCache.A1_G1) this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);
1330
- return this._anchorCache.A1_G1;
1331
- } else {
1332
- if (!this._anchorCache.A1_G0) this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);
1333
- return this._anchorCache.A1_G0;
1334
- }
1335
- else if (allowG) {
1329
+ else if (allowA) {
1330
+ if (allowG) {
1331
+ if (!this._anchorCache.A1_G1) this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);
1332
+ return this._anchorCache.A1_G1;
1333
+ } else {
1334
+ if (!this._anchorCache.A1_G0) this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);
1335
+ return this._anchorCache.A1_G0;
1336
+ }
1337
+ } else if (allowG) {
1336
1338
  if (!this._anchorCache.A0_G1) this._anchorCache.A0_G1 = this._resolveAnchors(onigLib, allowA, allowG);
1337
1339
  return this._anchorCache.A0_G1;
1338
1340
  } else {
@@ -1922,7 +1924,8 @@ var AttributedScopeStack = class _AttributedScopeStack {
1922
1924
  const rawRootMetadata = grammar.getMetadataForScope(scopeName);
1923
1925
  const scopePath = new ScopeStack(null, scopeName);
1924
1926
  const rootStyle = grammar.themeProvider.themeMatch(scopePath);
1925
- return new _AttributedScopeStack(null, scopePath, _AttributedScopeStack.mergeAttributes(tokenAttributes, rawRootMetadata, rootStyle));
1927
+ const resolvedTokenAttributes = _AttributedScopeStack.mergeAttributes(tokenAttributes, rawRootMetadata, rootStyle);
1928
+ return new _AttributedScopeStack(null, scopePath, resolvedTokenAttributes);
1926
1929
  }
1927
1930
  get scopeName() {
1928
1931
  return this.scopePath.scopeName;
@@ -1966,7 +1969,8 @@ var AttributedScopeStack = class _AttributedScopeStack {
1966
1969
  const rawMetadata = grammar.getMetadataForScope(scopeName);
1967
1970
  const newPath = target.scopePath.push(scopeName);
1968
1971
  const scopeThemeMatchResult = grammar.themeProvider.themeMatch(newPath);
1969
- return new _AttributedScopeStack(target, newPath, _AttributedScopeStack.mergeAttributes(target.tokenAttributes, rawMetadata, scopeThemeMatchResult));
1972
+ const metadata = _AttributedScopeStack.mergeAttributes(target.tokenAttributes, rawMetadata, scopeThemeMatchResult);
1973
+ return new _AttributedScopeStack(target, newPath, metadata);
1970
1974
  }
1971
1975
  getScopeNames() {
1972
1976
  return this.scopePath.getSegments();
@@ -6348,7 +6352,9 @@ function flatTokenVariants(merged, variantsOrder, cssVariablePrefix, defaultColo
6348
6352
  const lightIndex = variantsOrder.findIndex((t) => t === "light");
6349
6353
  const darkIndex = variantsOrder.findIndex((t) => t === "dark");
6350
6354
  if (lightIndex === -1 || darkIndex === -1) throw new ShikiError$1("When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes");
6351
- mergedStyles[key] = `light-dark(${styles[lightIndex][key] || "inherit"}, ${styles[darkIndex][key] || "inherit"})`;
6355
+ const lightValue = styles[lightIndex][key] || "inherit";
6356
+ const darkValue = styles[darkIndex][key] || "inherit";
6357
+ mergedStyles[key] = `light-dark(${lightValue}, ${darkValue})`;
6352
6358
  if (colorsRendering === "css-vars") mergedStyles[varKey(idx, key)] = value;
6353
6359
  } else mergedStyles[key] = value;
6354
6360
  else if (colorsRendering === "css-vars") mergedStyles[varKey(idx, key)] = value;
@@ -7321,14 +7327,18 @@ const i$1 = /* @__PURE__ */ new Set([
7321
7327
  "upper",
7322
7328
  "word",
7323
7329
  "xdigit"
7324
- ]), o$1 = String.raw;
7330
+ ]);
7331
+ const o$1 = String.raw;
7325
7332
  function u(e, t) {
7326
7333
  if (e == null) throw new Error(t ?? "Value expected");
7327
7334
  return e;
7328
7335
  }
7329
7336
  //#endregion
7330
7337
  //#region ../../node_modules/.pnpm/oniguruma-parser@0.12.2/node_modules/oniguruma-parser/dist/tokenizer/tokenize.js
7331
- const m$1 = o$1`\[\^?`, b$1 = `c.? | C(?:-.?)?|${o$1`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${o$1`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${o$1`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${o$1`o\{[^\}]*\}?`}|${o$1`\d{1,3}`}`, y$1 = /[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/, C$1 = new RegExp(o$1`
7338
+ const m$1 = o$1`\[\^?`;
7339
+ const b$1 = `c.? | C(?:-.?)?|${o$1`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${o$1`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${o$1`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${o$1`o\{[^\}]*\}?`}|${o$1`\d{1,3}`}`;
7340
+ const y$1 = /[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/;
7341
+ const C$1 = new RegExp(o$1`
7332
7342
  \\ (?:
7333
7343
  ${b$1}
7334
7344
  | [gk]<[^>]*>?
@@ -7350,7 +7360,8 @@ const m$1 = o$1`\[\^?`, b$1 = `c.? | C(?:-.?)?|${o$1`[pP]\{(?:\^?[-\x20_]*[A-Za-
7350
7360
  | (?:${y$1.source})+
7351
7361
  | ${m$1}
7352
7362
  | .
7353
- `.replace(/\s+/g, ""), "gsu"), T$1 = new RegExp(o$1`
7363
+ `.replace(/\s+/g, ""), "gsu");
7364
+ const T$1 = new RegExp(o$1`
7354
7365
  \\ (?:
7355
7366
  ${b$1}
7356
7367
  | .
@@ -7657,7 +7668,8 @@ const B$1 = /* @__PURE__ */ new Set([
7657
7668
  "MISMATCH",
7658
7669
  "SKIP",
7659
7670
  "TOTAL_COUNT"
7660
- ]), $$1 = /* @__PURE__ */ new Map([
7671
+ ]);
7672
+ const $$1 = /* @__PURE__ */ new Map([
7661
7673
  ["a", 7],
7662
7674
  ["b", 8],
7663
7675
  ["e", 27],
@@ -7723,11 +7735,11 @@ function O$1(e) {
7723
7735
  if (e[0] === "{") {
7724
7736
  const { minStr: s, maxStr: a } = /^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups, r = 1e5;
7725
7737
  if (+s > r || a && +a > r) throw new Error("Quantifier value unsupported in Oniguruma");
7726
- if (t = +s, o = a === void 0 ? +s : a === "" ? Infinity : +a, t > o && (n = "possessive", [t, o] = [o, t]), e.endsWith("?")) {
7738
+ if (t = +s, o = a === void 0 ? +s : a === "" ? 1 / 0 : +a, t > o && (n = "possessive", [t, o] = [o, t]), e.endsWith("?")) {
7727
7739
  if (n === "possessive") throw new Error("Unsupported possessive interval quantifier chain with \"?\"");
7728
7740
  n = "lazy";
7729
7741
  } else n || (n = "greedy");
7730
- } else t = e[0] === "+" ? 1 : 0, o = e[0] === "?" ? 1 : Infinity, n = e[1] === "+" ? "possessive" : e[1] === "?" ? "lazy" : "greedy";
7742
+ } else t = e[0] === "+" ? 1 : 0, o = e[0] === "?" ? 1 : 1 / 0, n = e[1] === "+" ? "possessive" : e[1] === "?" ? "lazy" : "greedy";
7731
7743
  return _$1(n, t, o, e);
7732
7744
  }
7733
7745
  function q(e) {
@@ -8554,12 +8566,13 @@ function atomic(expression, data) {
8554
8566
  aGPos = index;
8555
8567
  inAG = true;
8556
8568
  } else if (inAG && noncapturingStart) numGroupsOpenInAG++;
8557
- else if (capturingStart) if (inAG) numGroupsOpenInAG++;
8558
- else {
8559
- numCapturesBeforeAG++;
8560
- captureNumMap.push(numCapturesBeforeAG + numAGs);
8561
- }
8562
- else if (m === ")" && inAG) {
8569
+ else if (capturingStart) {
8570
+ if (inAG) numGroupsOpenInAG++;
8571
+ else {
8572
+ numCapturesBeforeAG++;
8573
+ captureNumMap.push(numCapturesBeforeAG + numAGs);
8574
+ }
8575
+ } else if (m === ")" && inAG) {
8563
8576
  if (!numGroupsOpenInAG) {
8564
8577
  numAGs++;
8565
8578
  const addedCaptureNum = numCapturesBeforeAG + numAGs;
@@ -8635,9 +8648,10 @@ function possessive(expression) {
8635
8648
  if (m === "[") {
8636
8649
  if (!numCharClassesOpen) lastCharClassIndex = index;
8637
8650
  numCharClassesOpen++;
8638
- } else if (m === "]") if (numCharClassesOpen) numCharClassesOpen--;
8639
- else lastCharClassIndex = null;
8640
- else if (!numCharClassesOpen) {
8651
+ } else if (m === "]") {
8652
+ if (numCharClassesOpen) numCharClassesOpen--;
8653
+ else lastCharClassIndex = null;
8654
+ } else if (!numCharClassesOpen) {
8641
8655
  if (qMod === "+" && lastToken && !lastToken.startsWith("(")) {
8642
8656
  if (invalidQ) throw new Error(`Invalid quantifier "${m}"`);
8643
8657
  let charsAdded = -1;
@@ -9209,19 +9223,20 @@ var FirstPassVisitor = {
9209
9223
  if (kind === "text_segment_boundary") throw new Error(`Unsupported text segment boundary "\\${negate ? "Y" : "y"}"`);
9210
9224
  else if (kind === "line_end") replaceWith(setParentDeep(K({ body: [b({ body: [F("string_end")] }), b({ body: [m(10)] })] }), parent));
9211
9225
  else if (kind === "line_start") replaceWith(setParentDeep(parseFragment(r`(?<=\A|\n(?!\z))`, { skipLookbehindValidation: true }), parent));
9212
- else if (kind === "search_start") if (supportedGNodes.has(node)) {
9213
- root.flags.sticky = true;
9214
- remove();
9215
- } else {
9216
- const prev = container[key - 1];
9217
- if (prev && isAlwaysNonZeroLength(prev)) replaceWith(setParentDeep(K({ negate: true }), parent));
9218
- else if (avoidSubclass) throw new Error(r`Uses "\G" in a way that requires a subclass`);
9219
- else {
9220
- replaceWith(setParent(F("string_start"), parent));
9221
- state.strategy = "clip_search";
9226
+ else if (kind === "search_start") {
9227
+ if (supportedGNodes.has(node)) {
9228
+ root.flags.sticky = true;
9229
+ remove();
9230
+ } else {
9231
+ const prev = container[key - 1];
9232
+ if (prev && isAlwaysNonZeroLength(prev)) replaceWith(setParentDeep(K({ negate: true }), parent));
9233
+ else if (avoidSubclass) throw new Error(r`Uses "\G" in a way that requires a subclass`);
9234
+ else {
9235
+ replaceWith(setParent(F("string_start"), parent));
9236
+ state.strategy = "clip_search";
9237
+ }
9222
9238
  }
9223
- }
9224
- else if (kind === "string_end" || kind === "string_start") {} else if (kind === "string_end_newline") replaceWith(setParentDeep(parseFragment(r`(?=\n?\z)`), parent));
9239
+ } else if (kind === "string_end" || kind === "string_start") {} else if (kind === "string_end_newline") replaceWith(setParentDeep(parseFragment(r`(?=\n?\z)`), parent));
9225
9240
  else if (kind === "word_boundary") {
9226
9241
  if (!wordIsAscii && !asciiWordBoundaries) {
9227
9242
  const b = `(?:(?<=${defaultWordChar})(?!${defaultWordChar})|(?<!${defaultWordChar})(?=${defaultWordChar}))`;
@@ -9272,16 +9287,17 @@ var FirstPassVisitor = {
9272
9287
  replaceWith(setParentDeep(parseFragment(r`(?>\r\n|${minTargetEs2024 ? r`\p{RGI_Emoji}` : emoji}|\P{M}\p{M}*)`, { skipPropertyNameValidation: true }), parent));
9273
9288
  } else if (kind === "hex") replaceWith(setParent(Q("AHex", { negate }), parent));
9274
9289
  else if (kind === "newline") replaceWith(setParentDeep(parseFragment(negate ? "[^\n]" : "(?>\r\n?|[\n\v\f…\u2028\u2029])"), parent));
9275
- else if (kind === "posix") if (!minTargetEs2024 && (value === "graph" || value === "print")) {
9276
- if (accuracy === "strict") throw new Error(`POSIX class "${value}" requires min target ES2024 or non-strict accuracy`);
9277
- let ascii = {
9278
- graph: "!-~",
9279
- print: " -~"
9280
- }[value];
9281
- if (negate) ascii = `\0-${cp(ascii.codePointAt(0) - 1)}${cp(ascii.codePointAt(2) + 1)}-\u{10FFFF}`;
9282
- replaceWith(setParentDeep(parseFragment(`[${ascii}]`), parent));
9283
- } else replaceWith(setParentDeep(setNegate(parseFragment(PosixClassMap.get(value)), negate), parent));
9284
- else if (kind === "property") {
9290
+ else if (kind === "posix") {
9291
+ if (!minTargetEs2024 && (value === "graph" || value === "print")) {
9292
+ if (accuracy === "strict") throw new Error(`POSIX class "${value}" requires min target ES2024 or non-strict accuracy`);
9293
+ let ascii = {
9294
+ graph: "!-~",
9295
+ print: " -~"
9296
+ }[value];
9297
+ if (negate) ascii = `\0-${cp(ascii.codePointAt(0) - 1)}${cp(ascii.codePointAt(2) + 1)}-\u{10FFFF}`;
9298
+ replaceWith(setParentDeep(parseFragment(`[${ascii}]`), parent));
9299
+ } else replaceWith(setParentDeep(setNegate(parseFragment(PosixClassMap.get(value)), negate), parent));
9300
+ } else if (kind === "property") {
9285
9301
  if (!JsUnicodePropertyMap.has(w(value))) node.key = "sc";
9286
9302
  } else if (kind === "space") replaceWith(setParent(Q("space", { negate }), parent));
9287
9303
  else if (kind === "word") replaceWith(setParentDeep(setNegate(parseFragment(defaultWordChar), negate), parent));
@@ -9289,13 +9305,14 @@ var FirstPassVisitor = {
9289
9305
  },
9290
9306
  Directive({ node, parent, root, remove, replaceWith, removeAllPrevSiblings, removeAllNextSiblings }) {
9291
9307
  const { kind, flags } = node;
9292
- if (kind === "flags") if (!flags.enable && !flags.disable) remove();
9293
- else {
9294
- const flagGroup = A({ flags });
9295
- flagGroup.body[0].body = removeAllNextSiblings();
9296
- replaceWith(setParentDeep(flagGroup, parent), { traverse: true });
9297
- }
9298
- else if (kind === "keep") {
9308
+ if (kind === "flags") {
9309
+ if (!flags.enable && !flags.disable) remove();
9310
+ else {
9311
+ const flagGroup = A({ flags });
9312
+ flagGroup.body[0].body = removeAllNextSiblings();
9313
+ replaceWith(setParentDeep(flagGroup, parent), { traverse: true });
9314
+ }
9315
+ } else if (kind === "keep") {
9299
9316
  const firstAlt = root.body[0];
9300
9317
  const topLevel = root.body.length === 1 && o(firstAlt, { type: "Group" }) && firstAlt.body[0].body.length === 1 ? firstAlt.body[0] : root;
9301
9318
  if (parent.parent !== topLevel || topLevel.body.length > 1) throw new Error(r`Uses "\K" in a way that's unsupported`);
@@ -10681,9 +10698,10 @@ function loadWasm(options) {
10681
10698
  else if (isInstantiatorModule(instance)) instance = await instance.default(info);
10682
10699
  else {
10683
10700
  if (isDataOptionsObject(instance)) instance = instance.data;
10684
- if (isResponse(instance)) if (typeof WebAssembly.instantiateStreaming === "function") instance = await _makeResponseStreamingLoader(instance)(info);
10685
- else instance = await _makeResponseNonStreamingLoader(instance)(info);
10686
- else if (isArrayBuffer(instance)) instance = await _makeArrayBufferLoader(instance)(info);
10701
+ if (isResponse(instance)) {
10702
+ if (typeof WebAssembly.instantiateStreaming === "function") instance = await _makeResponseStreamingLoader(instance)(info);
10703
+ else instance = await _makeResponseNonStreamingLoader(instance)(info);
10704
+ } else if (isArrayBuffer(instance)) instance = await _makeArrayBufferLoader(instance)(info);
10687
10705
  else if (instance instanceof WebAssembly.Module) instance = await _makeArrayBufferLoader(instance)(info);
10688
10706
  else if ("default" in instance && instance.default instanceof WebAssembly.Module) instance = await _makeArrayBufferLoader(instance.default)(info);
10689
10707
  }
@@ -10764,97 +10782,6 @@ function attachResolvedLanguages(resolvedLanguages, highlighter) {
10764
10782
  //#region src/highlighter/themes/constants.ts
10765
10783
  const AttachedThemes = /* @__PURE__ */ new Set();
10766
10784
  //#endregion
10767
- //#region ../theming/dist/modules/createThemeCollection.js
10768
- function createThemeCollection(options) {
10769
- const descriptors = [];
10770
- const seen = /* @__PURE__ */ new Set();
10771
- for (const entry of getCollectionEntries(options.themes)) {
10772
- const themes = isThemeCollectionSource(entry) ? entry.getThemes() : [entry];
10773
- for (const descriptor of themes) {
10774
- if (seen.has(descriptor.name)) throw new Error(`Theme collection already contains theme "${descriptor.name}"`);
10775
- seen.add(descriptor.name);
10776
- descriptors.push(descriptor);
10777
- }
10778
- }
10779
- const allThemes = Object.freeze([...descriptors]);
10780
- const lightThemes = Object.freeze(allThemes.filter((descriptor) => descriptor.colorScheme === "light"));
10781
- const darkThemes = Object.freeze(allThemes.filter((descriptor) => descriptor.colorScheme === "dark"));
10782
- const themesByName = new Map(allThemes.map((descriptor) => [descriptor.name, descriptor]));
10783
- const allNames = Object.freeze(allThemes.map((descriptor) => descriptor.name));
10784
- const lightNames = Object.freeze(lightThemes.map((descriptor) => descriptor.name));
10785
- const darkNames = Object.freeze(darkThemes.map((descriptor) => descriptor.name));
10786
- function filteredThemes(filterOptions) {
10787
- if (filterOptions == null) return allThemes;
10788
- const { colorScheme, collection } = filterOptions;
10789
- if (collection == null) {
10790
- if (colorScheme === "light") return lightThemes;
10791
- if (colorScheme === "dark") return darkThemes;
10792
- return allThemes;
10793
- }
10794
- return allThemes.filter((descriptor) => {
10795
- if (descriptor.collection !== collection) return false;
10796
- return colorScheme == null || descriptor.colorScheme === colorScheme;
10797
- });
10798
- }
10799
- return {
10800
- getTheme(name) {
10801
- return themesByName.get(name);
10802
- },
10803
- getThemes(themeOptions) {
10804
- return filteredThemes(themeOptions);
10805
- },
10806
- getThemeNames(namesOptions) {
10807
- if (namesOptions?.collection == null) {
10808
- if (namesOptions?.colorScheme === "light") return lightNames;
10809
- if (namesOptions?.colorScheme === "dark") return darkNames;
10810
- return allNames;
10811
- }
10812
- return filteredThemes(namesOptions).map((descriptor) => descriptor.name);
10813
- },
10814
- hasTheme(name) {
10815
- return themesByName.has(name);
10816
- },
10817
- orderBy(compare) {
10818
- return createThemeCollection({ themes: allThemes.map((descriptor, index) => ({
10819
- descriptor,
10820
- index
10821
- })).sort((a, b) => {
10822
- const result = compare(a.descriptor, b.descriptor);
10823
- if (result !== 0) return result;
10824
- return a.index - b.index;
10825
- }).map((entry) => entry.descriptor) });
10826
- },
10827
- pick(names) {
10828
- const picked = [];
10829
- const pickedNames = /* @__PURE__ */ new Set();
10830
- for (const name of names) {
10831
- if (pickedNames.has(name)) throw new Error(`Theme collection pick already includes theme "${name}"`);
10832
- pickedNames.add(name);
10833
- const descriptor = themesByName.get(name);
10834
- if (descriptor == null) throw new Error(`Theme collection does not contain theme "${name}"`);
10835
- picked.push(descriptor);
10836
- }
10837
- return createThemeCollection({ themes: picked });
10838
- },
10839
- registerInto(resolver) {
10840
- for (const descriptor of allThemes) resolver.registerThemeIfAbsent(descriptor.name, descriptor.load);
10841
- }
10842
- };
10843
- }
10844
- function getCollectionEntries(input) {
10845
- if (isThemeCollectionEntry(input)) return [input];
10846
- return input;
10847
- }
10848
- function isThemeCollectionEntry(input) {
10849
- return isThemeCollectionSource(input) || isThemeDescriptor(input);
10850
- }
10851
- function isThemeDescriptor(input) {
10852
- return typeof input.name === "string" && typeof input.load === "function";
10853
- }
10854
- function isThemeCollectionSource(entry) {
10855
- return typeof entry.getThemes === "function";
10856
- }
10857
- //#endregion
10858
10785
  //#region ../theming/dist/modules/unwrapDefault.js
10859
10786
  function unwrapDefault(value) {
10860
10787
  return value !== null && typeof value === "object" && "default" in value ? value.default : value;
@@ -11662,11 +11589,13 @@ var WordDiff = class extends Diff {
11662
11589
  const tokens = [];
11663
11590
  let prevPart = null;
11664
11591
  parts.forEach((part) => {
11665
- if (/\s/.test(part)) if (prevPart == null) tokens.push(part);
11666
- else tokens.push(tokens.pop() + part);
11667
- else if (prevPart != null && /\s/.test(prevPart)) if (tokens[tokens.length - 1] == prevPart) tokens.push(tokens.pop() + part);
11668
- else tokens.push(prevPart + part);
11669
- else tokens.push(part);
11592
+ if (/\s/.test(part)) {
11593
+ if (prevPart == null) tokens.push(part);
11594
+ else tokens.push(tokens.pop() + part);
11595
+ } else if (prevPart != null && /\s/.test(prevPart)) {
11596
+ if (tokens[tokens.length - 1] == prevPart) tokens.push(tokens.pop() + part);
11597
+ else tokens.push(prevPart + part);
11598
+ } else tokens.push(part);
11670
11599
  prevPart = part;
11671
11600
  });
11672
11601
  return tokens;
@@ -11884,175 +11813,6 @@ var ArrayDiff = class extends Diff {
11884
11813
  };
11885
11814
  new ArrayDiff();
11886
11815
  //#endregion
11887
- //#region ../../node_modules/.pnpm/diff@9.0.0/node_modules/diff/libesm/patch/line-endings.js
11888
- function unixToWin(patch) {
11889
- if (Array.isArray(patch)) return patch.map((p) => unixToWin(p));
11890
- return Object.assign(Object.assign({}, patch), { hunks: patch.hunks.map((hunk) => Object.assign(Object.assign({}, hunk), { lines: hunk.lines.map((line, i) => {
11891
- var _a;
11892
- return line.startsWith("\\") || line.endsWith("\r") || ((_a = hunk.lines[i + 1]) === null || _a === void 0 ? void 0 : _a.startsWith("\\")) ? line : line + "\r";
11893
- }) })) });
11894
- }
11895
- function winToUnix(patch) {
11896
- if (Array.isArray(patch)) return patch.map((p) => winToUnix(p));
11897
- return Object.assign(Object.assign({}, patch), { hunks: patch.hunks.map((hunk) => Object.assign(Object.assign({}, hunk), { lines: hunk.lines.map((line) => line.endsWith("\r") ? line.substring(0, line.length - 1) : line) })) });
11898
- }
11899
- //#endregion
11900
- //#region ../../node_modules/.pnpm/diff@9.0.0/node_modules/diff/libesm/patch/reverse.js
11901
- function swapPrefix(fileName) {
11902
- if (fileName === void 0 || fileName === "/dev/null") return fileName;
11903
- if (fileName.startsWith("a/")) return "b/" + fileName.slice(2);
11904
- if (fileName.startsWith("b/")) return "a/" + fileName.slice(2);
11905
- return fileName;
11906
- }
11907
- function reversePatch(structuredPatch) {
11908
- if (Array.isArray(structuredPatch)) return structuredPatch.map((patch) => reversePatch(patch)).reverse();
11909
- const reversed = Object.assign(Object.assign({}, structuredPatch), {
11910
- oldFileName: structuredPatch.isGit ? swapPrefix(structuredPatch.newFileName) : structuredPatch.newFileName,
11911
- oldHeader: structuredPatch.newHeader,
11912
- newFileName: structuredPatch.isGit ? swapPrefix(structuredPatch.oldFileName) : structuredPatch.oldFileName,
11913
- newHeader: structuredPatch.oldHeader,
11914
- oldMode: structuredPatch.newMode,
11915
- newMode: structuredPatch.oldMode,
11916
- isCreate: structuredPatch.isDelete,
11917
- isDelete: structuredPatch.isCreate,
11918
- hunks: structuredPatch.hunks.map((hunk) => {
11919
- return {
11920
- oldLines: hunk.newLines,
11921
- oldStart: hunk.newStart,
11922
- newLines: hunk.oldLines,
11923
- newStart: hunk.oldStart,
11924
- lines: hunk.lines.map((l) => {
11925
- if (l.startsWith("-")) return `+${l.slice(1)}`;
11926
- if (l.startsWith("+")) return `-${l.slice(1)}`;
11927
- return l;
11928
- })
11929
- };
11930
- })
11931
- });
11932
- if (structuredPatch.isCopy) {
11933
- reversed.newFileName = "/dev/null";
11934
- reversed.newHeader = void 0;
11935
- reversed.isDelete = true;
11936
- delete reversed.isCreate;
11937
- delete reversed.isCopy;
11938
- delete reversed.isRename;
11939
- reversed.hunks = [];
11940
- }
11941
- return reversed;
11942
- }
11943
- //#endregion
11944
- //#region ../../node_modules/.pnpm/diff@9.0.0/node_modules/diff/libesm/patch/create.js
11945
- /**
11946
- * Returns true if the filename contains characters that require C-style
11947
- * quoting (as used by Git and GNU diffutils in diff output).
11948
- */
11949
- function needsQuoting(s) {
11950
- for (let i = 0; i < s.length; i++) if (s[i] < " " || s[i] > "~" || s[i] === "\"" || s[i] === "\\") return true;
11951
- return false;
11952
- }
11953
- /**
11954
- * C-style quotes a filename, encoding special characters as escape sequences
11955
- * and non-ASCII bytes as octal escapes. This is the inverse of
11956
- * `parseQuotedFileName` in parse.ts.
11957
- *
11958
- * Non-ASCII bytes are encoded as UTF-8 before being emitted as octal escapes.
11959
- * This matches the behaviour of both Git and GNU diffutils, which always emit
11960
- * UTF-8 octal escapes regardless of the underlying filesystem encoding (e.g.
11961
- * Git for Windows converts from NTFS's UTF-16 to UTF-8 internally).
11962
- *
11963
- * If the filename doesn't need quoting, returns it as-is.
11964
- */
11965
- function quoteFileNameIfNeeded(s) {
11966
- if (!needsQuoting(s)) return s;
11967
- let result = "\"";
11968
- const bytes = new TextEncoder().encode(s);
11969
- let i = 0;
11970
- while (i < bytes.length) {
11971
- const b = bytes[i];
11972
- if (b === 7) result += "\\a";
11973
- else if (b === 8) result += "\\b";
11974
- else if (b === 9) result += "\\t";
11975
- else if (b === 10) result += "\\n";
11976
- else if (b === 11) result += "\\v";
11977
- else if (b === 12) result += "\\f";
11978
- else if (b === 13) result += "\\r";
11979
- else if (b === 34) result += "\\\"";
11980
- else if (b === 92) result += "\\\\";
11981
- else if (b >= 32 && b <= 126) result += String.fromCharCode(b);
11982
- else result += "\\" + b.toString(8).padStart(3, "0");
11983
- i++;
11984
- }
11985
- result += "\"";
11986
- return result;
11987
- }
11988
- const INCLUDE_HEADERS = {
11989
- includeIndex: true,
11990
- includeUnderline: true,
11991
- includeFileHeaders: true
11992
- };
11993
- /**
11994
- * creates a unified diff patch.
11995
- *
11996
- * @param patch either a single structured patch object (as returned by `structuredPatch`) or an
11997
- * array of them (as returned by `parsePatch`).
11998
- * @param headerOptions behaves the same as the `headerOptions` option of `createTwoFilesPatch`.
11999
- * Ignored for patches where `isGit` is `true`.
12000
- *
12001
- * When a patch has `isGit: true`, `formatPatch` output is changed to more closely match Git's
12002
- * output: it emits a `diff --git` header, emits Git extended headers as appropriate based on
12003
- * properties like `isRename`, `isCreate`, `newMode`, etc, and will omit `---`/`+++` file
12004
- * headers for patches with no hunks (e.g. renames without content changes).
12005
- */
12006
- function formatPatch(patch, headerOptions) {
12007
- var _a, _b, _c, _d, _e, _f;
12008
- if (!headerOptions) headerOptions = INCLUDE_HEADERS;
12009
- if (Array.isArray(patch)) {
12010
- if (patch.length > 1 && !headerOptions.includeFileHeaders && !patch.every((p) => p.isGit)) throw new Error("Cannot omit file headers on a multi-file patch. (The result would be unparseable; how would a tool trying to apply the patch know which changes are to which file?)");
12011
- return patch.map((p) => formatPatch(p, headerOptions)).join("\n");
12012
- }
12013
- const ret = [];
12014
- if (patch.isGit) {
12015
- headerOptions = INCLUDE_HEADERS;
12016
- if (!patch.oldFileName) throw new Error("oldFileName must be specified for Git patches");
12017
- if (!patch.newFileName) throw new Error("newFileName must be specified for Git patches");
12018
- let gitOldName = patch.oldFileName;
12019
- let gitNewName = patch.newFileName;
12020
- if (patch.isCreate && gitOldName === "/dev/null") gitOldName = gitNewName.replace(/^b\//, "a/");
12021
- else if (patch.isDelete && gitNewName === "/dev/null") gitNewName = gitOldName.replace(/^a\//, "b/");
12022
- ret.push("diff --git " + quoteFileNameIfNeeded(gitOldName) + " " + quoteFileNameIfNeeded(gitNewName));
12023
- if (patch.isDelete) ret.push("deleted file mode " + ((_a = patch.oldMode) !== null && _a !== void 0 ? _a : "100644"));
12024
- if (patch.isCreate) ret.push("new file mode " + ((_b = patch.newMode) !== null && _b !== void 0 ? _b : "100644"));
12025
- if (patch.oldMode && patch.newMode && !patch.isDelete && !patch.isCreate) {
12026
- ret.push("old mode " + patch.oldMode);
12027
- ret.push("new mode " + patch.newMode);
12028
- }
12029
- if (patch.isRename) {
12030
- ret.push("rename from " + quoteFileNameIfNeeded(((_c = patch.oldFileName) !== null && _c !== void 0 ? _c : "").replace(/^a\//, "")));
12031
- ret.push("rename to " + quoteFileNameIfNeeded(((_d = patch.newFileName) !== null && _d !== void 0 ? _d : "").replace(/^b\//, "")));
12032
- }
12033
- if (patch.isCopy) {
12034
- ret.push("copy from " + quoteFileNameIfNeeded(((_e = patch.oldFileName) !== null && _e !== void 0 ? _e : "").replace(/^a\//, "")));
12035
- ret.push("copy to " + quoteFileNameIfNeeded(((_f = patch.newFileName) !== null && _f !== void 0 ? _f : "").replace(/^b\//, "")));
12036
- }
12037
- } else {
12038
- if (headerOptions.includeIndex && patch.oldFileName == patch.newFileName && patch.oldFileName !== void 0) ret.push("Index: " + patch.oldFileName);
12039
- if (headerOptions.includeUnderline) ret.push("===================================================================");
12040
- }
12041
- const hasHunks = patch.hunks.length > 0;
12042
- if (headerOptions.includeFileHeaders && patch.oldFileName !== void 0 && patch.newFileName !== void 0 && (!patch.isGit || hasHunks)) {
12043
- ret.push("--- " + quoteFileNameIfNeeded(patch.oldFileName) + (patch.oldHeader ? " " + patch.oldHeader : ""));
12044
- ret.push("+++ " + quoteFileNameIfNeeded(patch.newFileName) + (patch.newHeader ? " " + patch.newHeader : ""));
12045
- }
12046
- for (let i = 0; i < patch.hunks.length; i++) {
12047
- const hunk = patch.hunks[i];
12048
- const oldStart = hunk.oldLines === 0 ? hunk.oldStart - 1 : hunk.oldStart;
12049
- const newStart = hunk.newLines === 0 ? hunk.newStart - 1 : hunk.newStart;
12050
- ret.push("@@ -" + oldStart + "," + hunk.oldLines + " +" + newStart + "," + hunk.newLines + " @@");
12051
- for (const line of hunk.lines) ret.push(line);
12052
- }
12053
- return ret.join("\n") + "\n";
12054
- }
12055
- //#endregion
12056
11816
  //#region src/utils/appendItems.ts
12057
11817
  function appendItems(target, items) {
12058
11818
  for (const item of items) target.push(item);
@@ -12067,11 +11827,6 @@ function cleanLastNewline(contents) {
12067
11827
  }
12068
11828
  return contents.slice(0, end);
12069
11829
  }
12070
- function getTextContent(element) {
12071
- if (element.type === "text") return element.value;
12072
- if (element.type === "element" && element.tagName === "span") return element.children.map(getTextContent).join("");
12073
- return "";
12074
- }
12075
11830
  /**
12076
11831
  * Remove line breaks between lines.
12077
11832
  * Useful when you override `display: block` to `.line` in CSS.
@@ -12083,7 +11838,8 @@ function transformerStyleToClass(options = {}) {
12083
11838
  return Object.entries(style).map(([key, value]) => `${key}:${value}`).join(";");
12084
11839
  }
12085
11840
  function registerStyle(style) {
12086
- let className = classPrefix + cyrb53(typeof style === "string" ? style : stringifyStyle(style)) + classSuffix;
11841
+ const str = typeof style === "string" ? style : stringifyStyle(style);
11842
+ let className = classPrefix + cyrb53(str) + classSuffix;
12087
11843
  className = classReplacer(className);
12088
11844
  if (!classToStyle.has(className)) classToStyle.set(className, typeof style === "string" ? style : { ...style });
12089
11845
  return className;
@@ -12664,9 +12420,11 @@ function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infin
12664
12420
  return !state.isWindowedHighlight || state.splitCount >= startingLine - splitHeight && state.splitCount < startingLine + totalLines;
12665
12421
  },
12666
12422
  emit(props, silent = false) {
12667
- if (!silent) if (diffStyle === "unified") state.incrementCounts(1, 0);
12668
- else if (diffStyle === "split") state.incrementCounts(0, 1);
12669
- else state.incrementCounts(1, 1);
12423
+ if (!silent) {
12424
+ if (diffStyle === "unified") state.incrementCounts(1, 0);
12425
+ else if (diffStyle === "split") state.incrementCounts(0, 1);
12426
+ else state.incrementCounts(1, 1);
12427
+ }
12670
12428
  return callback(props) ?? false;
12671
12429
  }
12672
12430
  };
@@ -13396,15 +13154,16 @@ function computeLineOffsets(contents) {
13396
13154
  let blockBreaks = 0;
13397
13155
  while (carriageReturn !== -1 || lineFeed !== -1) {
13398
13156
  let nextOffset;
13399
- if (carriageReturn !== -1 && (lineFeed === -1 || carriageReturn < lineFeed)) if (lineFeed === carriageReturn + 1) {
13400
- nextOffset = lineFeed + 1;
13401
- carriageReturn = contents.indexOf("\r", nextOffset);
13402
- lineFeed = contents.indexOf("\n", nextOffset);
13157
+ if (carriageReturn !== -1 && (lineFeed === -1 || carriageReturn < lineFeed)) {
13158
+ if (lineFeed === carriageReturn + 1) {
13159
+ nextOffset = lineFeed + 1;
13160
+ carriageReturn = contents.indexOf("\r", nextOffset);
13161
+ lineFeed = contents.indexOf("\n", nextOffset);
13162
+ } else {
13163
+ nextOffset = carriageReturn + 1;
13164
+ carriageReturn = contents.indexOf("\r", nextOffset);
13165
+ }
13403
13166
  } else {
13404
- nextOffset = carriageReturn + 1;
13405
- carriageReturn = contents.indexOf("\r", nextOffset);
13406
- }
13407
- else {
13408
13167
  nextOffset = lineFeed + 1;
13409
13168
  lineFeed = contents.indexOf("\n", nextOffset);
13410
13169
  }