@pierre/diffs 1.4.1 → 1.4.3

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 (484) hide show
  1. package/dist/components/CodeView.d.ts +4 -4
  2. package/dist/components/CodeView.d.ts.map +1 -1
  3. package/dist/components/CodeView.js +8 -6
  4. package/dist/components/CodeView.js.map +1 -1
  5. package/dist/components/File.d.ts +4 -15
  6. package/dist/components/File.d.ts.map +1 -1
  7. package/dist/components/File.js +4 -0
  8. package/dist/components/File.js.map +1 -1
  9. package/dist/components/FileDiff.d.ts +10 -37
  10. package/dist/components/FileDiff.d.ts.map +1 -1
  11. package/dist/components/FileDiff.js +19 -12
  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/UnresolvedFile.d.ts +1 -1
  16. package/dist/components/UnresolvedFile.d.ts.map +1 -1
  17. package/dist/components/UnresolvedFile.js +2 -1
  18. package/dist/components/UnresolvedFile.js.map +1 -1
  19. package/dist/components/VirtualizedFile.d.ts +2 -8
  20. package/dist/components/VirtualizedFile.d.ts.map +1 -1
  21. package/dist/components/VirtualizedFile.js +19 -18
  22. package/dist/components/VirtualizedFile.js.map +1 -1
  23. package/dist/components/VirtualizedFileDiff.d.ts +2 -8
  24. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
  25. package/dist/components/VirtualizedFileDiff.js +19 -15
  26. package/dist/components/VirtualizedFileDiff.js.map +1 -1
  27. package/dist/components/Virtualizer.d.ts +1 -5
  28. package/dist/components/Virtualizer.d.ts.map +1 -1
  29. package/dist/components/Virtualizer.js.map +1 -1
  30. package/dist/components/VirtulizerDevelopment.d.ts +0 -1
  31. package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
  32. package/dist/components/web-components.d.ts.map +1 -1
  33. package/dist/components/web-components.js +2 -1
  34. package/dist/components/web-components.js.map +1 -1
  35. package/dist/constants.d.ts +0 -1
  36. package/dist/constants.d.ts.map +1 -1
  37. package/dist/editor/EditStateManager.d.ts +0 -1
  38. package/dist/editor/EditStateManager.d.ts.map +1 -1
  39. package/dist/editor/EditStateManager.js.map +1 -1
  40. package/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts +0 -1
  41. package/dist/editor/cloneRetainedDiffSessionSnapshot.d.ts.map +1 -1
  42. package/dist/editor/command.d.ts +2 -1
  43. package/dist/editor/command.d.ts.map +1 -1
  44. package/dist/editor/editPrediction.d.ts +3 -2
  45. package/dist/editor/editPrediction.d.ts.map +1 -1
  46. package/dist/editor/editPrediction.js +11 -11
  47. package/dist/editor/editPrediction.js.map +1 -1
  48. package/dist/editor/editStack.d.ts +0 -1
  49. package/dist/editor/editStack.d.ts.map +1 -1
  50. package/dist/editor/editStack.js.map +1 -1
  51. package/dist/editor/editor.d.ts +1 -5
  52. package/dist/editor/editor.d.ts.map +1 -1
  53. package/dist/editor/editor.js +23 -20
  54. package/dist/editor/editor.js.map +1 -1
  55. package/dist/editor/editor2.js.map +1 -1
  56. package/dist/editor/languages.d.ts +0 -1
  57. package/dist/editor/languages.d.ts.map +1 -1
  58. package/dist/editor/languages.js +1 -1
  59. package/dist/editor/languages.js.map +1 -1
  60. package/dist/editor/lineAnnotations.d.ts +0 -1
  61. package/dist/editor/lineAnnotations.d.ts.map +1 -1
  62. package/dist/editor/lineAnnotations.js +2 -1
  63. package/dist/editor/lineAnnotations.js.map +1 -1
  64. package/dist/editor/marker.d.ts +0 -1
  65. package/dist/editor/marker.d.ts.map +1 -1
  66. package/dist/editor/marker.js +5 -3
  67. package/dist/editor/marker.js.map +1 -1
  68. package/dist/editor/matchBrackets.d.ts +0 -1
  69. package/dist/editor/matchBrackets.d.ts.map +1 -1
  70. package/dist/editor/pieceTable.d.ts +0 -1
  71. package/dist/editor/pieceTable.d.ts.map +1 -1
  72. package/dist/editor/pieceTable.js.map +1 -1
  73. package/dist/editor/platform.d.ts +1 -5
  74. package/dist/editor/platform.d.ts.map +1 -1
  75. package/dist/editor/platform.js.map +1 -1
  76. package/dist/editor/popover.d.ts +12 -12
  77. package/dist/editor/popover.d.ts.map +1 -1
  78. package/dist/editor/popover.js.map +1 -1
  79. package/dist/editor/searchPanel.d.ts +0 -1
  80. package/dist/editor/searchPanel.d.ts.map +1 -1
  81. package/dist/editor/searchPanel.js +16 -12
  82. package/dist/editor/searchPanel.js.map +1 -1
  83. package/dist/editor/selection.d.ts +0 -1
  84. package/dist/editor/selection.d.ts.map +1 -1
  85. package/dist/editor/selection.js.map +1 -1
  86. package/dist/editor/selectionAction.d.ts +0 -1
  87. package/dist/editor/selectionAction.d.ts.map +1 -1
  88. package/dist/editor/selectionAction.js.map +1 -1
  89. package/dist/editor/sprite.d.ts.map +1 -1
  90. package/dist/editor/textDocument.d.ts +0 -1
  91. package/dist/editor/textDocument.d.ts.map +1 -1
  92. package/dist/editor/textDocument.js.map +1 -1
  93. package/dist/editor/textDocumentChangeTransaction.d.ts +0 -1
  94. package/dist/editor/textDocumentChangeTransaction.d.ts.map +1 -1
  95. package/dist/editor/textMeasure.d.ts.map +1 -1
  96. package/dist/editor/textMeasure.js +27 -3
  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/attachResolvedLanguages.js +8 -1
  112. package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -1
  113. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
  114. package/dist/highlighter/languages/constants.d.ts +1 -1
  115. package/dist/highlighter/languages/constants.d.ts.map +1 -1
  116. package/dist/highlighter/languages/getResolvedLanguages.d.ts +1 -0
  117. package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
  118. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +1 -0
  119. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
  120. package/dist/highlighter/languages/hasResolvedLanguages.d.ts +0 -1
  121. package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
  122. package/dist/highlighter/languages/registerCustomLanguage.d.ts +3 -2
  123. package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -1
  124. package/dist/highlighter/languages/registerCustomLanguage.js +3 -1
  125. package/dist/highlighter/languages/registerCustomLanguage.js.map +1 -1
  126. package/dist/highlighter/languages/resolveLanguage.d.ts +1 -0
  127. package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
  128. package/dist/highlighter/languages/resolveLanguages.d.ts +1 -0
  129. package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -1
  130. package/dist/highlighter/shared_highlighter.d.ts +1 -6
  131. package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  132. package/dist/highlighter/themes/areThemesAttached.d.ts +0 -1
  133. package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
  134. package/dist/highlighter/themes/attachResolvedThemes.d.ts +0 -1
  135. package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
  136. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
  137. package/dist/highlighter/themes/constants.d.ts.map +1 -1
  138. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts +0 -1
  139. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
  140. package/dist/highlighter/themes/getResolvedThemes.d.ts +0 -1
  141. package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
  142. package/dist/highlighter/themes/hasResolvedThemes.d.ts +0 -1
  143. package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
  144. package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
  145. package/dist/highlighter/themes/registerCustomTheme.d.ts +0 -1
  146. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
  147. package/dist/highlighter/themes/resolveTheme.d.ts +0 -1
  148. package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
  149. package/dist/highlighter/themes/resolveThemes.d.ts +0 -1
  150. package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
  151. package/dist/highlighter/themes/themeResolution.d.ts +0 -1
  152. package/dist/highlighter/themes/themeResolution.d.ts.map +1 -1
  153. package/dist/highlighter/themes/themeResolver.d.ts +0 -1
  154. package/dist/highlighter/themes/themeResolver.d.ts.map +1 -1
  155. package/dist/index.d.ts +1 -0
  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 +4 -9
  228. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  229. package/dist/renderers/DiffHunksRenderer.js +28 -21
  230. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  231. package/dist/renderers/FileRenderer.d.ts +1 -0
  232. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  233. package/dist/renderers/FileRenderer.js.map +1 -1
  234. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts +3 -9
  235. package/dist/renderers/UnresolvedFileHunksRenderer.d.ts.map +1 -1
  236. package/dist/shiki-stream/stream.d.ts +0 -1
  237. package/dist/shiki-stream/stream.d.ts.map +1 -1
  238. package/dist/shiki-stream/stream.js.map +1 -1
  239. package/dist/shiki-stream/tokenizer.d.ts +0 -1
  240. package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  241. package/dist/shiki-stream/types.d.ts +0 -1
  242. package/dist/shiki-stream/types.d.ts.map +1 -1
  243. package/dist/sprite.d.ts.map +1 -1
  244. package/dist/ssr/FileDiffReact.d.ts +1 -8
  245. package/dist/ssr/FileDiffReact.d.ts.map +1 -1
  246. package/dist/ssr/FileDiffReact.js +8 -3
  247. package/dist/ssr/FileDiffReact.js.map +1 -1
  248. package/dist/ssr/preloadDiffs.d.ts +6 -34
  249. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  250. package/dist/ssr/preloadFile.d.ts +1 -6
  251. package/dist/ssr/preloadFile.d.ts.map +1 -1
  252. package/dist/ssr/preloadPatchFile.d.ts +1 -5
  253. package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  254. package/dist/ssr/renderHTML.d.ts +0 -1
  255. package/dist/ssr/renderHTML.d.ts.map +1 -1
  256. package/dist/string-import.d.ts.map +1 -1
  257. package/dist/style.js.map +1 -1
  258. package/dist/types.d.ts +0 -1
  259. package/dist/types.d.ts.map +1 -1
  260. package/dist/utils/annotationHelpers.d.ts +0 -1
  261. package/dist/utils/annotationHelpers.d.ts.map +1 -1
  262. package/dist/utils/appendItems.d.ts.map +1 -1
  263. package/dist/utils/applyLineTextWithNewline.d.ts.map +1 -1
  264. package/dist/utils/areDiffLineAnnotationsEqual.d.ts +0 -1
  265. package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
  266. package/dist/utils/areDiffRenderOptionsEqual.d.ts +0 -1
  267. package/dist/utils/areDiffRenderOptionsEqual.d.ts.map +1 -1
  268. package/dist/utils/areDiffTargetsEqual.d.ts +0 -1
  269. package/dist/utils/areDiffTargetsEqual.d.ts.map +1 -1
  270. package/dist/utils/areFileRenderOptionsEqual.d.ts +0 -1
  271. package/dist/utils/areFileRenderOptionsEqual.d.ts.map +1 -1
  272. package/dist/utils/areFileTargetsEqual.d.ts +0 -1
  273. package/dist/utils/areFileTargetsEqual.d.ts.map +1 -1
  274. package/dist/utils/areFilesEqual.d.ts +0 -1
  275. package/dist/utils/areFilesEqual.d.ts.map +1 -1
  276. package/dist/utils/areHunkDataEqual.d.ts +0 -1
  277. package/dist/utils/areHunkDataEqual.d.ts.map +1 -1
  278. package/dist/utils/areLineAnnotationsEqual.d.ts +0 -1
  279. package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
  280. package/dist/utils/areManagedSnapshotsEqual.d.ts +0 -1
  281. package/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -1
  282. package/dist/utils/areMergeConflictActionsEqual.d.ts +0 -1
  283. package/dist/utils/areMergeConflictActionsEqual.d.ts.map +1 -1
  284. package/dist/utils/areObjectsEqual.d.ts.map +1 -1
  285. package/dist/utils/areOptionsEqual.d.ts +1 -0
  286. package/dist/utils/areOptionsEqual.d.ts.map +1 -1
  287. package/dist/utils/arePrePropertiesEqual.d.ts +0 -1
  288. package/dist/utils/arePrePropertiesEqual.d.ts.map +1 -1
  289. package/dist/utils/areRenderRangesEqual.d.ts +0 -1
  290. package/dist/utils/areRenderRangesEqual.d.ts.map +1 -1
  291. package/dist/utils/areSelectionPointsEqual.d.ts +0 -1
  292. package/dist/utils/areSelectionPointsEqual.d.ts.map +1 -1
  293. package/dist/utils/areSelectionsEqual.d.ts +0 -1
  294. package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
  295. package/dist/utils/areThemesEqual.d.ts +0 -1
  296. package/dist/utils/areThemesEqual.d.ts.map +1 -1
  297. package/dist/utils/areVirtualWindowSpecsEqual.d.ts +0 -1
  298. package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
  299. package/dist/utils/areWorkerStatsEqual.d.ts +1 -0
  300. package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
  301. package/dist/utils/awaitWithTimeout.d.ts.map +1 -1
  302. package/dist/utils/cleanLastNewline.d.ts.map +1 -1
  303. package/dist/utils/cloneFileDiffMetadata.d.ts +0 -1
  304. package/dist/utils/cloneFileDiffMetadata.d.ts.map +1 -1
  305. package/dist/utils/composeCacheKey.d.ts.map +1 -1
  306. package/dist/utils/computeEstimatedDiffHeights.d.ts +1 -11
  307. package/dist/utils/computeEstimatedDiffHeights.d.ts.map +1 -1
  308. package/dist/utils/computeFileOffsets.d.ts.map +1 -1
  309. package/dist/utils/computeFileOffsets.js +9 -8
  310. package/dist/utils/computeFileOffsets.js.map +1 -1
  311. package/dist/utils/computeVirtualFileMetrics.d.ts +0 -1
  312. package/dist/utils/computeVirtualFileMetrics.d.ts.map +1 -1
  313. package/dist/utils/createAnnotationElement.d.ts +0 -1
  314. package/dist/utils/createAnnotationElement.d.ts.map +1 -1
  315. package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
  316. package/dist/utils/createCodeViewHeaderFooterHostElement.d.ts.map +1 -1
  317. package/dist/utils/createContentColumn.d.ts +0 -1
  318. package/dist/utils/createContentColumn.d.ts.map +1 -1
  319. package/dist/utils/createEmptyRowBuffer.d.ts +0 -1
  320. package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
  321. package/dist/utils/createFileHeaderElement.d.ts +1 -6
  322. package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  323. package/dist/utils/createGutterUtilityContentNode.d.ts.map +1 -1
  324. package/dist/utils/createGutterUtilityElement.d.ts +0 -1
  325. package/dist/utils/createGutterUtilityElement.d.ts.map +1 -1
  326. package/dist/utils/createNoNewlineElement.d.ts +0 -1
  327. package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
  328. package/dist/utils/createPreElement.d.ts +1 -11
  329. package/dist/utils/createPreElement.d.ts.map +1 -1
  330. package/dist/utils/createRowNodes.d.ts.map +1 -1
  331. package/dist/utils/createSeparator.d.ts +1 -10
  332. package/dist/utils/createSeparator.d.ts.map +1 -1
  333. package/dist/utils/createSeparator.js +12 -10
  334. package/dist/utils/createSeparator.js.map +1 -1
  335. package/dist/utils/createSpanNodeFromToken.d.ts +0 -1
  336. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
  337. package/dist/utils/createSpanNodeFromToken.js +2 -1
  338. package/dist/utils/createSpanNodeFromToken.js.map +1 -1
  339. package/dist/utils/createStyleElement.d.ts +0 -1
  340. package/dist/utils/createStyleElement.d.ts.map +1 -1
  341. package/dist/utils/createTransformerWithState.d.ts +0 -1
  342. package/dist/utils/createTransformerWithState.d.ts.map +1 -1
  343. package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
  344. package/dist/utils/createWindowFromScrollPosition.d.ts +1 -9
  345. package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
  346. package/dist/utils/cssWrappers.d.ts +0 -1
  347. package/dist/utils/cssWrappers.d.ts.map +1 -1
  348. package/dist/utils/cssWrappers.js +5 -3
  349. package/dist/utils/cssWrappers.js.map +1 -1
  350. package/dist/utils/detachString.d.ts.map +1 -1
  351. package/dist/utils/diffAcceptRejectHunk.d.ts +0 -1
  352. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
  353. package/dist/utils/editSessionAnnotations.d.ts +0 -1
  354. package/dist/utils/editSessionAnnotations.d.ts.map +1 -1
  355. package/dist/utils/editSessionHunks.d.ts +0 -1
  356. package/dist/utils/editSessionHunks.d.ts.map +1 -1
  357. package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
  358. package/dist/utils/getDiffFileInput.d.ts +1 -5
  359. package/dist/utils/getDiffFileInput.d.ts.map +1 -1
  360. package/dist/utils/getDiffHunksRendererOptions.d.ts +0 -1
  361. package/dist/utils/getDiffHunksRendererOptions.d.ts.map +1 -1
  362. package/dist/utils/getFileRendererOptions.d.ts +0 -1
  363. package/dist/utils/getFileRendererOptions.d.ts.map +1 -1
  364. package/dist/utils/getFiletypeFromFileName.d.ts +0 -1
  365. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  366. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  367. package/dist/utils/getHighlighterOptions.d.ts +1 -5
  368. package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  369. package/dist/utils/getHighlighterOptions.js +1 -1
  370. package/dist/utils/getHighlighterOptions.js.map +1 -1
  371. package/dist/utils/getHighlighterThemeStyles.d.ts +1 -6
  372. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
  373. package/dist/utils/getHunkSeparatorSlotName.d.ts +0 -1
  374. package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
  375. package/dist/utils/getHunkSideBoundaries.d.ts.map +1 -1
  376. package/dist/utils/getIconForType.d.ts +0 -1
  377. package/dist/utils/getIconForType.d.ts.map +1 -1
  378. package/dist/utils/getLineAnnotationName.d.ts +0 -1
  379. package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
  380. package/dist/utils/getLineEndingType.d.ts.map +1 -1
  381. package/dist/utils/getLineNodes.d.ts +0 -1
  382. package/dist/utils/getLineNodes.d.ts.map +1 -1
  383. package/dist/utils/getMergeConflictActionSlotName.d.ts +1 -5
  384. package/dist/utils/getMergeConflictActionSlotName.d.ts.map +1 -1
  385. package/dist/utils/getMergeConflictLineTypes.d.ts +0 -1
  386. package/dist/utils/getMergeConflictLineTypes.d.ts.map +1 -1
  387. package/dist/utils/getOrCreateCodeNode.d.ts +1 -7
  388. package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
  389. package/dist/utils/getSingularPatch.d.ts +0 -1
  390. package/dist/utils/getSingularPatch.d.ts.map +1 -1
  391. package/dist/utils/getThemes.d.ts +0 -1
  392. package/dist/utils/getThemes.d.ts.map +1 -1
  393. package/dist/utils/getTotalLineCountFromHunks.d.ts +0 -1
  394. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  395. package/dist/utils/guardWebKitScrollDuringRebuild.d.ts.map +1 -1
  396. package/dist/utils/hast_utils.d.ts +2 -12
  397. package/dist/utils/hast_utils.d.ts.map +1 -1
  398. package/dist/utils/hostTheme.d.ts +1 -5
  399. package/dist/utils/hostTheme.d.ts.map +1 -1
  400. package/dist/utils/hydratePartialDiff.d.ts +0 -1
  401. package/dist/utils/hydratePartialDiff.d.ts.map +1 -1
  402. package/dist/utils/includesFileAnnotations.d.ts +0 -1
  403. package/dist/utils/includesFileAnnotations.d.ts.map +1 -1
  404. package/dist/utils/isDefaultRenderRange.d.ts +0 -1
  405. package/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
  406. package/dist/utils/isDiffPlainText.d.ts +0 -1
  407. package/dist/utils/isDiffPlainText.d.ts.map +1 -1
  408. package/dist/utils/isFilePlainText.d.ts +0 -1
  409. package/dist/utils/isFilePlainText.d.ts.map +1 -1
  410. package/dist/utils/isGutterUtilityPath.d.ts.map +1 -1
  411. package/dist/utils/isStyleNode.d.ts.map +1 -1
  412. package/dist/utils/isWorkerContext.d.ts.map +1 -1
  413. package/dist/utils/iterateOverDiff.d.ts +1 -10
  414. package/dist/utils/iterateOverDiff.d.ts.map +1 -1
  415. package/dist/utils/iterateOverDiff.js +5 -3
  416. package/dist/utils/iterateOverDiff.js.map +1 -1
  417. package/dist/utils/lineAnnotationIdentity.d.ts +0 -1
  418. package/dist/utils/lineAnnotationIdentity.d.ts.map +1 -1
  419. package/dist/utils/normalizeDiffResolution.d.ts +0 -1
  420. package/dist/utils/normalizeDiffResolution.d.ts.map +1 -1
  421. package/dist/utils/parseDiffDecorations.d.ts +2 -13
  422. package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
  423. package/dist/utils/parseDiffFromFile.d.ts +0 -1
  424. package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  425. package/dist/utils/parseDiffFromFile.js +2 -1
  426. package/dist/utils/parseDiffFromFile.js.map +1 -1
  427. package/dist/utils/parseLineType.d.ts +0 -1
  428. package/dist/utils/parseLineType.d.ts.map +1 -1
  429. package/dist/utils/parseMergeConflictDiffFromFile.d.ts +0 -1
  430. package/dist/utils/parseMergeConflictDiffFromFile.d.ts.map +1 -1
  431. package/dist/utils/parsePatchFiles.d.ts +0 -1
  432. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  433. package/dist/utils/parsePatchFiles.js +8 -5
  434. package/dist/utils/parsePatchFiles.js.map +1 -1
  435. package/dist/utils/platform.d.ts.map +1 -1
  436. package/dist/utils/prefersReducedMotion.d.ts.map +1 -1
  437. package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
  438. package/dist/utils/processLine.d.ts +0 -1
  439. package/dist/utils/processLine.d.ts.map +1 -1
  440. package/dist/utils/realignChangeContent.d.ts +0 -1
  441. package/dist/utils/realignChangeContent.d.ts.map +1 -1
  442. package/dist/utils/renderDiffWithHighlighter.d.ts +1 -8
  443. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  444. package/dist/utils/renderFileWithHighlighter.d.ts +1 -11
  445. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  446. package/dist/utils/resolveConflict.d.ts +0 -1
  447. package/dist/utils/resolveConflict.d.ts.map +1 -1
  448. package/dist/utils/resolveRegion.d.ts +0 -1
  449. package/dist/utils/resolveRegion.d.ts.map +1 -1
  450. package/dist/utils/roundToDevicePixel.d.ts.map +1 -1
  451. package/dist/utils/scrollbarGutter.d.ts.map +1 -1
  452. package/dist/utils/scrollbarGutter.js +2 -1
  453. package/dist/utils/scrollbarGutter.js.map +1 -1
  454. package/dist/utils/setLanguageOverride.d.ts +0 -1
  455. package/dist/utils/setLanguageOverride.d.ts.map +1 -1
  456. package/dist/utils/setWrapperNodeProps.d.ts +1 -11
  457. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  458. package/dist/utils/setWrapperNodeProps.js +1 -3
  459. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  460. package/dist/utils/shouldUseTokenTransformer.d.ts +0 -1
  461. package/dist/utils/shouldUseTokenTransformer.d.ts.map +1 -1
  462. package/dist/utils/splitFileContents.d.ts.map +1 -1
  463. package/dist/utils/trimPatchContext.d.ts.map +1 -1
  464. package/dist/utils/updateDiffHunks.d.ts +0 -1
  465. package/dist/utils/updateDiffHunks.d.ts.map +1 -1
  466. package/dist/utils/virtualDiffLayout.d.ts +10 -55
  467. package/dist/utils/virtualDiffLayout.d.ts.map +1 -1
  468. package/dist/utils/wrapTokenFragments.d.ts +0 -1
  469. package/dist/utils/wrapTokenFragments.d.ts.map +1 -1
  470. package/dist/worker/WorkerPoolManager.d.ts +2 -17
  471. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  472. package/dist/worker/WorkerPoolManager.js +48 -43
  473. package/dist/worker/WorkerPoolManager.js.map +1 -1
  474. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts +1 -5
  475. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
  476. package/dist/worker/types.d.ts +0 -1
  477. package/dist/worker/types.d.ts.map +1 -1
  478. package/dist/worker/worker-portable.d.ts +1 -1
  479. package/dist/worker/worker-portable.js +121 -355
  480. package/dist/worker/worker-portable.js.map +1 -1
  481. package/dist/worker/worker.d.ts +1 -1
  482. package/dist/worker/worker.js +22 -12
  483. package/dist/worker/worker.js.map +1 -1
  484. package/package.json +4 -5
package/dist/style.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","names":[],"sources":[],"mappings":""}
1
+ {"version":3,"file":"style.js","names":[],"sources":["../src/style.css?inline"],"sourcesContent":["@layer base, theme, rendered, unsafe;\n\n@layer base {\n :host {\n --diffs-font-fallback:\n 'SF Mono', Monaco, Consolas, 'Ubuntu Mono', 'Liberation Mono',\n 'Courier New', monospace;\n --diffs-header-font-fallback:\n system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',\n 'Noto Sans', 'Liberation Sans', Arial, sans-serif;\n\n --diffs-mixer: light-dark(black, white);\n --diffs-gap-fallback: 8px;\n --diffs-scrollbar-gutter-fallback: 6px;\n --diffs-scrollbar-gutter: var(\n --diffs-scrollbar-gutter-override,\n var(\n --diffs-scrollbar-gutter-measured,\n var(--diffs-scrollbar-gutter-fallback)\n )\n );\n\n --diffs-added-light: #0dbe4e;\n --diffs-added-dark: #5ecc71;\n --diffs-modified-light: #009fff;\n --diffs-modified-dark: #69b1ff;\n --diffs-deleted-light: #ff2e3f;\n --diffs-deleted-dark: #ff6762;\n --diffs-warning-light: #d5a910;\n --diffs-warning-dark: #ffd452;\n\n /*\n // Available CSS Color Overrides\n --diffs-bg-buffer-override\n --diffs-bg-hover-override\n --diffs-bg-context-override\n --diffs-bg-context-gutter-override\n --diffs-bg-separator-override\n --diffs-bg-caret-override\n\n --diffs-fg-number-override\n --diffs-fg-number-addition-override\n --diffs-fg-number-deletion-override\n --diffs-fg-conflict-marker-override\n\n --diffs-deletion-color-override\n --diffs-addition-color-override\n --diffs-modified-color-override\n\n --diffs-bg-deletion-override\n --diffs-bg-deletion-number-override\n --diffs-bg-deletion-emphasis-override\n\n --diffs-bg-addition-override\n --diffs-bg-addition-number-override\n --diffs-bg-addition-emphasis-override\n\n --conflict-bg-current-override\n --conflict-bg-current-number-override\n --conflict-bg-current-header-override\n --conflict-bg-incoming-override\n --conflict-bg-incoming-number-override\n --conflict-bg-incoming-header-override\n\n // Line Selection Color Overrides (for enableLineSelection)\n --diffs-selection-color-override\n --diffs-bg-selection-override\n --diffs-bg-selection-number-override\n\n // Available CSS Layout Overrides\n --diffs-gap-inline\n --diffs-gap-block\n --diffs-gap-style\n --diffs-scrollbar-gutter-override\n --diffs-tab-size\n --diffs-popover-gap (edit mode: inset for edge-clamped popovers)\n */\n\n color-scheme: light dark;\n display: block;\n font-family: var(\n --diffs-header-font-family,\n var(--diffs-header-font-fallback)\n );\n font-size: var(--diffs-font-size, 13px);\n line-height: var(--diffs-line-height, 20px);\n font-feature-settings: var(--diffs-font-features);\n\n /* NOTE(amadeus): we cannot use 'in oklch' because current versions of cursor\n * and vscode use an older build of chrome that appears to have a bug with\n * color-mix and 'in oklch', so use 'in lab' instead */\n --diffs-bg: light-dark(\n var(--diffs-light-bg, #fff),\n var(--diffs-dark-bg, #000)\n );\n --diffs-bg-buffer: var(\n --diffs-bg-buffer-override,\n light-dark(\n color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),\n color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))\n )\n );\n --diffs-bg-context: var(\n --diffs-bg-context-override,\n light-dark(\n color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),\n color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))\n )\n );\n --diffs-bg-context-gutter: var(\n --diffs-bg-context-gutter-override,\n light-dark(\n color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),\n color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))\n )\n );\n --diffs-bg-separator: var(\n --diffs-bg-separator-override,\n light-dark(\n color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),\n color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))\n )\n );\n\n --diffs-fg: light-dark(var(--diffs-light, #000), var(--diffs-dark, #fff));\n --diffs-fg-number: var(\n --diffs-fg-number-override,\n light-dark(\n color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),\n color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))\n )\n );\n --diffs-fg-conflict-marker: var(\n --diffs-fg-conflict-marker-override,\n var(--diffs-fg-number)\n );\n\n --diffs-deletion-base: var(\n --diffs-deletion-color-override,\n light-dark(\n var(\n --diffs-light-deletion-color,\n var(--diffs-deletion-color, var(--diffs-deleted-light))\n ),\n var(\n --diffs-dark-deletion-color,\n var(--diffs-deletion-color, var(--diffs-deleted-dark))\n )\n )\n );\n --diffs-addition-base: var(\n --diffs-addition-color-override,\n light-dark(\n var(\n --diffs-light-addition-color,\n var(--diffs-addition-color, var(--diffs-added-light))\n ),\n var(\n --diffs-dark-addition-color,\n var(--diffs-addition-color, var(--diffs-added-dark))\n )\n )\n );\n --diffs-modified-base: var(\n --diffs-modified-color-override,\n light-dark(\n var(\n --diffs-light-modified-color,\n var(--diffs-modified-color, var(--diffs-modified-light))\n ),\n var(\n --diffs-dark-modified-color,\n var(--diffs-modified-color, var(--diffs-modified-dark))\n )\n )\n );\n\n /* NOTE(amadeus): we cannot use 'in oklch' because current versions of cursor\n * and vscode use an older build of chrome that appears to have a bug with\n * color-mix and 'in oklch', so use 'in lab' instead */\n --diffs-bg-deletion: var(\n --diffs-bg-deletion-override,\n light-dark(\n color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),\n color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))\n )\n );\n --diffs-bg-deletion-emphasis: var(\n --diffs-bg-deletion-emphasis-override,\n light-dark(\n rgb(from var(--diffs-deletion-base) r g b / 0.15),\n rgb(from var(--diffs-deletion-base) r g b / 0.2)\n )\n );\n\n --diffs-bg-addition: var(\n --diffs-bg-addition-override,\n light-dark(\n color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),\n color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))\n )\n );\n --diffs-bg-addition-emphasis: var(\n --diffs-bg-addition-emphasis-override,\n light-dark(\n rgb(from var(--diffs-addition-base) r g b / 0.15),\n rgb(from var(--diffs-addition-base) r g b / 0.2)\n )\n );\n\n --diffs-selection-base: var(--diffs-modified-base);\n --diffs-selection-number-fg: light-dark(\n color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),\n color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer))\n );\n background-color: var(--diffs-bg);\n color: var(--diffs-fg);\n }\n\n /* NOTE(mdo): Some semantic HTML elements (e.g. `pre`, `code`) have default\n * user-agent styles. These must be overridden to use our custom styles. */\n pre,\n code,\n [data-error-wrapper] {\n isolation: isolate;\n margin: 0;\n padding: 0;\n display: block;\n outline: none;\n font-family: var(--diffs-font-family, var(--diffs-font-fallback));\n }\n\n pre,\n code {\n background-color: var(--diffs-bg);\n }\n\n code {\n contain: content;\n }\n\n input,\n button {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n [data-icon-sprite] {\n display: none;\n }\n\n /* NOTE(mdo): Headers and separators are within pre/code, so we need to reset\n * their font-family explicitly. */\n [data-diffs-header],\n [data-separator] {\n font-family: var(\n --diffs-header-font-family,\n var(--diffs-header-font-fallback)\n );\n }\n\n [data-diffs-header][data-sticky] {\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: var(--diffs-bg);\n }\n\n [data-file-info] {\n padding: 10px;\n font-weight: 700;\n color: var(--fg);\n /* NOTE(amadeus): we cannot use 'in oklch' because current versions of cursor\n * and vscode use an older build of chrome that appears to have a bug with\n * color-mix and 'in oklch', so use 'in lab' instead */\n background-color: color-mix(in lab, var(--bg) 98%, var(--fg));\n border-block: 1px solid color-mix(in lab, var(--bg) 95%, var(--fg));\n }\n\n [data-diff],\n [data-file] {\n /* This feels a bit crazy to me... so I need to think about it a bit more... */\n --diffs-grid-number-column-width: minmax(min-content, max-content);\n --diffs-code-grid: var(--diffs-grid-number-column-width) 1fr;\n\n &[data-dehydrated] {\n --diffs-code-grid: var(--diffs-grid-number-column-width) minmax(0, 1fr);\n }\n\n &:hover [data-code]::-webkit-scrollbar-thumb {\n background-color: var(--diffs-bg-context);\n }\n }\n\n /* iOS WebKit uses overlay scrollbars, so unmeasured layout compensation\n * should start at zero rather than the desktop custom-scrollbar fallback. */\n @supports (-webkit-touch-callout: none) {\n :host {\n --diffs-scrollbar-gutter-fallback: 0px;\n }\n }\n\n [data-line] span,\n [data-edit-prediction-suffix] span {\n color: light-dark(\n var(--diffs-token-light, var(--diffs-light)),\n var(--diffs-token-dark, var(--diffs-dark))\n );\n background-color: light-dark(\n var(--diffs-token-light-bg, inherit),\n var(--diffs-token-dark-bg, inherit)\n );\n font-weight: light-dark(\n var(--diffs-token-light-font-weight, inherit),\n var(--diffs-token-dark-font-weight, inherit)\n );\n font-style: light-dark(\n var(--diffs-token-light-font-style, inherit),\n var(--diffs-token-dark-font-style, inherit)\n );\n text-decoration: light-dark(\n var(--diffs-token-light-text-decoration, inherit),\n var(--diffs-token-dark-text-decoration, inherit)\n );\n }\n\n /* Line Color and BG Calculations */\n [data-line],\n [data-gutter-buffer],\n [data-column-number],\n [data-line-annotation],\n [data-no-newline],\n [data-merge-conflict],\n [data-merge-conflict-actions],\n [data-editor-overlay] {\n /* Pre-fill css variables for appropriate up-mixing */\n --diffs-computed-decoration-bg: var(--diffs-bg);\n --diffs-computed-diff-line-bg: var(--diffs-computed-decoration-bg);\n --diffs-computed-selected-line-bg: var(--diffs-computed-diff-line-bg);\n --diffs-computed-editor-active-line-bg: var(\n --diffs-computed-selected-line-bg\n );\n --diffs-computed-hovered-line-bg: var(\n --diffs-computed-editor-active-line-bg\n );\n\n --diffs-hover-mix-target: var(\n --diffs-bg-hover-override,\n var(--diffs-mixer)\n );\n --diffs-line-bg: var(--diffs-computed-hovered-line-bg);\n\n color: var(--diffs-fg);\n background-color: var(--diffs-line-bg, var(--diffs-bg));\n }\n\n [data-line],\n [data-no-newline] {\n &[data-decoration-bg] {\n --mix-deco-light: 92%;\n --mix-deco-dark: 85%;\n\n &[data-decoration-bg-depth='2'] {\n --mix-deco-light: 88%;\n --mix-deco-dark: 80%;\n }\n\n &[data-decoration-bg-depth='3'] {\n --mix-deco-light: 85%;\n --mix-deco-dark: 78%;\n }\n\n --diffs-hover-mix-target: var(--diffs-decoration-bg);\n\n --diffs-computed-decoration-bg: light-dark(\n color-mix(\n in lab,\n var(--diffs-bg) var(--mix-deco-light),\n var(--diffs-decoration-bg)\n ),\n color-mix(\n in lab,\n var(--diffs-bg) var(--mix-deco-dark),\n var(--diffs-decoration-bg)\n )\n );\n }\n }\n\n [data-line-annotation],\n [data-gutter-buffer='annotation'] {\n --diffs-annotation-bg: var(--diffs-bg-context);\n --diffs-computed-decoration-bg: var(--diffs-annotation-bg);\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-merge-conflict-actions],\n [data-gutter-buffer='merge-conflict-action'],\n [data-gutter-buffer='merge-conflict-marker-base'],\n [data-gutter-buffer='merge-conflict-marker-separator'],\n [data-merge-conflict='marker-base'],\n [data-merge-conflict='marker-separator'] {\n --diffs-computed-decoration-bg: var(--diffs-bg-context);\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-gutter-buffer='merge-conflict-marker-start'],\n [data-merge-conflict='marker-start'] {\n --diffs-computed-decoration-bg: light-dark(\n color-mix(\n in lab,\n var(--diffs-bg) 78%,\n var(--conflict-bg-current-header-override, var(--diffs-addition-base))\n ),\n color-mix(\n in lab,\n var(--diffs-bg) 68%,\n var(--conflict-bg-current-header-override, var(--diffs-addition-base))\n )\n );\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-gutter-buffer='merge-conflict-marker-end'],\n [data-merge-conflict='marker-end'] {\n --diffs-computed-decoration-bg: light-dark(\n color-mix(\n in lab,\n var(--diffs-bg) 78%,\n var(--conflict-bg-incoming-header-override, var(--diffs-modified-base))\n ),\n color-mix(\n in lab,\n var(--diffs-bg) 68%,\n var(--conflict-bg-incoming-header-override, var(--diffs-modified-base))\n )\n );\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-has-merge-conflict] [data-line-annotation],\n [data-has-merge-conflict] [data-gutter-buffer='annotation'] {\n --diffs-computed-decoration-bg: var(--diffs-bg);\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n /* We are using where here to not affect the nesting impacts later on for\n * hover and selection */\n :where([data-background]) {\n [data-gutter-buffer],\n [data-column-number] {\n --mix-light: 91%;\n --mix-dark: 85%;\n }\n\n [data-line],\n [data-no-newline] {\n --mix-light: 88%;\n --mix-dark: 80%;\n }\n\n [data-gutter-buffer],\n [data-column-number],\n [data-line],\n [data-no-newline] {\n --diffs-diff-line-mix-target: var(--diffs-bg);\n\n &[data-line-type='change-deletion'] {\n --diffs-diff-line-mix-target: var(\n --diffs-bg-deletion-override,\n var(--diffs-deletion-base)\n );\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(\n --diffs-fg-number-deletion-override,\n var(--diffs-deletion-base)\n );\n\n --diffs-diff-line-mix-target: var(\n --diffs-bg-deletion-number-override,\n var(--diffs-deletion-base)\n );\n }\n\n --diffs-computed-diff-line-bg: light-dark(\n color-mix(\n in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)\n ),\n color-mix(\n in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)\n )\n );\n }\n\n &[data-line-type='change-addition'] {\n --diffs-diff-line-mix-target: var(\n --diffs-bg-addition-override,\n var(--diffs-addition-base)\n );\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(\n --diffs-fg-number-addition-override,\n var(--diffs-addition-base)\n );\n\n --diffs-diff-line-mix-target: var(\n --diffs-bg-addition-number-override,\n var(--diffs-addition-base)\n );\n }\n\n --diffs-computed-diff-line-bg: light-dark(\n color-mix(\n in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)\n ),\n color-mix(\n in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)\n )\n );\n }\n\n &[data-merge-conflict='current'] {\n --diffs-diff-line-mix-target: var(\n --conflict-bg-current-override,\n var(--diffs-addition-base)\n );\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(\n --diffs-fg-number-addition-override,\n var(--diffs-addition-base)\n );\n\n --diffs-diff-line-mix-target: var(\n --conflict-bg-current-number-override,\n var(--diffs-addition-base)\n );\n }\n\n --diffs-computed-diff-line-bg: light-dark(\n color-mix(\n in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)\n ),\n color-mix(\n in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)\n )\n );\n }\n\n &[data-merge-conflict='incoming'] {\n --diffs-diff-line-mix-target: var(\n --conflict-bg-incoming-override,\n var(--diffs-modified-base)\n );\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(--diffs-modified-base);\n\n --diffs-diff-line-mix-target: var(\n --conflict-bg-incoming-number-override,\n var(--diffs-modified-base)\n );\n }\n\n --diffs-computed-diff-line-bg: light-dark(\n color-mix(\n in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)\n ),\n color-mix(\n in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)\n )\n );\n }\n }\n }\n\n /* Order is important for rationalizing these selectors and for order of\n * application, therefore we need to disable this style-lint rule */\n /* stylelint-disable-next-line no-duplicate-selectors */\n [data-gutter-buffer],\n [data-column-number],\n [data-line],\n [data-line-annotation],\n [data-merge-conflict],\n [data-merge-conflict-actions],\n [data-no-newline],\n [data-editor-overlay] {\n --diffs-selection-mix-target: var(\n --diffs-bg-selection-override,\n var(--diffs-selection-base)\n );\n --diffs-selection-emphasis-mix-target: var(--diffs-selection-mix-target);\n\n &:where([data-editor-overlay]),\n &:where(\n [data-line],\n [data-line-annotation],\n [data-merge-conflict],\n [data-merge-conflict-actions],\n [data-no-newline]\n )[data-selected-line] {\n --mix-selection-light: 82%;\n --mix-selection-dark: 75%;\n --diffs-hover-mix-target: var(--diffs-selection-mix-target);\n }\n\n &:where(\n [data-gutter-buffer][data-selected-line],\n [data-column-number]:is([data-selected-line], [data-editor-active-line])\n ) {\n --mix-selection-light: 75%;\n --mix-selection-dark: 60%;\n --diffs-selection-mix-target: var(\n --diffs-bg-selection-number-override,\n var(--diffs-selection-base)\n );\n --diffs-hover-mix-target: var(--diffs-selection-mix-target);\n }\n\n /* Keep the light-theme emphasis on a selected changed line tied to its\n * resolved diff and selection colors. */\n &:where([data-line][data-selected-line]):is(\n [data-line-type='change-addition'],\n [data-line-type='change-deletion']\n ) {\n --diffs-selection-emphasis-mix-target: light-dark(\n color-mix(\n in lab,\n var(--diffs-diff-line-mix-target, var(--diffs-selection-mix-target))\n var(--mix-selection-light),\n var(--diffs-selection-mix-target)\n ),\n var(--diffs-selection-mix-target)\n );\n }\n\n &:where([data-editor-overlay]),\n &[data-selected-line] {\n --diffs-computed-selected-line-bg: light-dark(\n color-mix(\n in lab,\n var(--diffs-computed-diff-line-bg) var(--mix-selection-light),\n var(--diffs-selection-mix-target)\n ),\n color-mix(\n in lab,\n var(--diffs-computed-diff-line-bg) var(--mix-selection-dark),\n var(--diffs-selection-mix-target)\n )\n );\n }\n }\n\n /* The editor's active line sits above selection, but hover remains the final\n * line-background treatment. */\n [data-line][data-editor-active-line],\n [data-column-number][data-editor-active-line] {\n --diffs-computed-editor-active-line-bg: color-mix(\n in lab,\n var(--diffs-computed-selected-line-bg)\n var(--diffs-editor-active-line-source-mix, 100%),\n var(--diffs-selection-emphasis-mix-target)\n );\n }\n\n @media (pointer: fine) {\n [data-line][data-hovered],\n [data-gutter-buffer][data-hovered],\n [data-column-number][data-hovered],\n [data-line-annotation][data-hovered],\n [data-no-newline][data-hovered],\n [data-merge-conflict][data-hovered],\n [data-merge-conflict-actions][data-hovered],\n [data-editor-overlay][data-hovered] {\n --diffs-computed-hovered-line-bg: light-dark(\n color-mix(\n in lab,\n var(--diffs-computed-editor-active-line-bg) 97%,\n var(--diffs-hover-mix-target)\n ),\n color-mix(\n in lab,\n var(--diffs-computed-editor-active-line-bg) 91%,\n var(--diffs-hover-mix-target)\n )\n );\n }\n }\n\n [data-gutter-buffer][data-selected-line],\n [data-column-number]:is([data-selected-line], [data-editor-active-line]) {\n color: var(--diffs-selection-number-fg);\n }\n\n [data-no-newline] {\n user-select: none;\n\n span {\n opacity: 0.6;\n }\n }\n\n [data-diff-type='split'][data-overflow='scroll'] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n\n [data-additions] {\n border-left: 1px solid var(--diffs-bg);\n }\n\n [data-deletions] {\n border-right: 1px solid var(--diffs-bg);\n }\n }\n\n [data-code] {\n display: grid;\n grid-auto-flow: dense;\n grid-template-columns: var(--diffs-code-grid);\n overflow: var(--diffs-overflow-override, scroll) clip;\n overscroll-behavior-x: none;\n tab-size: var(--diffs-tab-size, 2);\n align-self: flex-start;\n padding-top: var(--diffs-gap-block, var(--diffs-gap-fallback));\n padding-bottom: max(\n 0px,\n calc(\n var(--diffs-gap-block, var(--diffs-gap-fallback)) -\n var(--diffs-scrollbar-gutter)\n )\n );\n scrollbar-gutter: stable;\n }\n\n [data-diffs-scrollbar-measure] {\n position: absolute;\n top: -200px;\n left: -200px;\n opacity: 0;\n pointer-events: none;\n width: 100px;\n height: 100px;\n padding: 0;\n grid-template-columns: none;\n scrollbar-gutter: auto;\n }\n\n [data-container-size] {\n container-type: inline-size;\n }\n\n [data-code]::-webkit-scrollbar {\n width: 0;\n height: var(--diffs-scrollbar-gutter);\n }\n\n [data-code]::-webkit-scrollbar-track {\n background: transparent;\n }\n\n [data-code]::-webkit-scrollbar-thumb {\n background-color: transparent;\n border: 1px solid transparent;\n background-clip: content-box;\n border-radius: 3px;\n }\n\n [data-code]::-webkit-scrollbar-corner {\n background-color: transparent;\n }\n\n /*\n * If we apply these rules globally it will mean that webkit will opt into the\n * standards compliant version of custom css scrollbars, which we do not want\n * because the custom stuff will look better\n */\n @supports (-moz-appearance: none) {\n [data-code] {\n scrollbar-width: thin;\n scrollbar-color: var(--diffs-bg-context) transparent;\n padding-bottom: var(--diffs-gap-block, var(--diffs-gap-fallback));\n }\n }\n\n [data-diffs-header] ~ [data-diff],\n [data-diffs-header] ~ [data-file] {\n [data-code],\n &[data-overflow='wrap'],\n &[data-dehydrated][data-diff-type='split'][data-overflow='scroll'] {\n padding-top: 0;\n }\n }\n\n [data-gutter] {\n display: grid;\n grid-template-rows: subgrid;\n grid-template-columns: subgrid;\n grid-column: 1;\n z-index: 3;\n position: relative;\n background-color: var(--diffs-bg);\n\n [data-gutter-buffer],\n [data-column-number] {\n border-right: var(--diffs-gap-style, 2px solid var(--diffs-bg));\n }\n }\n\n [data-content] {\n display: grid;\n grid-template-rows: subgrid;\n grid-template-columns: subgrid;\n grid-column: 2;\n min-width: 0;\n background-color: var(--diffs-bg);\n }\n\n /* Both split layouts that share one grid across the two columns: wrap\n * always, and scroll while dehydrated. Scroll mode normally renders each\n * column as its own scroll container, where paired annotation rows only get\n * equal heights once the resize manager measures them — before hydration\n * that measurement hasn't run, so the side hosting the annotation content\n * would be taller and the rows below it would shift on hydration. The\n * shared grid gives paired rows equal heights in pure CSS; the dehydrated\n * scroll variant keeps nowrap text and clips horizontal overflow until\n * hydration swaps in the real scroll containers. */\n [data-diff-type='split'][data-overflow='wrap'],\n [data-dehydrated][data-diff-type='split'][data-overflow='scroll'] {\n display: grid;\n grid-auto-flow: dense;\n grid-template-columns: repeat(2, var(--diffs-code-grid));\n padding-block: var(--diffs-gap-block, var(--diffs-gap-fallback));\n\n [data-code] {\n display: contents;\n }\n\n [data-deletions] {\n [data-gutter] {\n grid-column: 1;\n }\n\n [data-content] {\n grid-column: 2;\n border-right: 1px solid var(--diffs-bg);\n }\n }\n\n [data-additions] {\n [data-gutter] {\n grid-column: 3;\n border-left: 1px solid var(--diffs-bg);\n }\n\n [data-content] {\n grid-column: 4;\n }\n }\n }\n\n [data-dehydrated][data-diff-type='split'][data-overflow='scroll']\n [data-content] {\n overflow: clip;\n }\n\n [data-overflow='scroll'] [data-gutter] {\n position: sticky;\n left: 0;\n }\n\n [data-interactive-lines] [data-line] {\n cursor: pointer;\n }\n\n [data-interactive-line-numbers] [data-column-number] {\n cursor: pointer;\n touch-action: none;\n }\n\n [data-content-buffer],\n [data-gutter-buffer] {\n position: relative;\n user-select: none;\n min-height: 1lh;\n }\n\n [data-gutter-buffer] {\n padding-left: 2ch;\n padding-right: 1ch;\n\n &::before {\n content: '';\n display: block;\n min-width: var(\n --diffs-min-number-column-width,\n var(--diffs-min-number-column-width-default, 3ch)\n );\n }\n }\n\n [data-gutter-buffer='annotation'] {\n --diffs-annotation-bg: var(--diffs-bg-context-gutter);\n min-height: 0;\n }\n\n [data-gutter-buffer='buffer'] {\n --diffs-line-bg: var(--diffs-bg-context-gutter);\n }\n\n [data-content-buffer] {\n grid-column: 1;\n /* We multiply by 1.414 (√2) to better approximate the diagonal repeat distance */\n background-size: 8px 8px;\n background-position: 5px 0;\n background-origin: border-box;\n /* This is incredibley expensive... */\n background-image: repeating-linear-gradient(\n -45deg,\n transparent,\n transparent calc(3px * 1.414),\n var(--diffs-bg-buffer) calc(3px * 1.414),\n var(--diffs-bg-buffer) calc(4px * 1.414)\n );\n }\n\n /* Hunk Separators */\n /* --------------- */\n [data-separator] {\n box-sizing: content-box;\n background-color: var(--diffs-bg);\n }\n\n [data-separator='simple'] {\n min-height: 4px;\n }\n\n [data-separator='line-info'],\n [data-separator='line-info-basic'],\n [data-separator='metadata'],\n [data-separator='simple'] {\n background-color: var(--diffs-bg-separator);\n }\n\n [data-separator='line-info'],\n [data-separator='line-info-basic'],\n [data-separator='metadata'] {\n height: 32px;\n position: relative;\n }\n\n [data-separator-wrapper] {\n user-select: none;\n fill: currentColor;\n position: absolute;\n inset-inline: 0;\n display: flex;\n align-items: center;\n background-color: var(--diffs-bg);\n height: 100%;\n }\n\n [data-content] [data-separator-wrapper] {\n display: none;\n }\n\n [data-separator='metadata'] [data-separator-wrapper] {\n inset-inline: 100% auto;\n padding-inline: 1ch;\n height: 100%;\n background-color: var(--diffs-bg-separator);\n color: var(--diffs-fg-number);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: min-content;\n }\n\n [data-separator='line-info'] {\n margin-block: var(--diffs-gap-block, var(--diffs-gap-fallback));\n\n [data-separator-wrapper] {\n min-width: 16px;\n }\n }\n\n [data-separator='line-info-basic'],\n [data-separator='metadata'] {\n margin-block: 0;\n }\n\n [data-separator='line-info'][data-separator-first] {\n margin-top: 0;\n }\n\n [data-separator='line-info'][data-separator-last] {\n margin-bottom: 0;\n }\n\n [data-expand-index] [data-separator-wrapper] {\n display: grid;\n grid-template-columns: 32px auto;\n }\n\n [data-expand-index] [data-separator-wrapper][data-separator-multi-button] {\n grid-template-columns: 32px 32px auto;\n }\n\n [data-expand-button],\n [data-separator-content] {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n background-color: var(--diffs-bg-separator);\n }\n\n [data-expand-index] [data-separator-content]:hover {\n text-decoration: underline;\n cursor: pointer;\n }\n\n [data-expand-button] {\n justify-content: center;\n flex-shrink: 0;\n cursor: pointer;\n min-width: 32px;\n align-self: stretch;\n color: var(--diffs-fg-number);\n border-right: 2px solid var(--diffs-bg);\n\n &:hover {\n color: var(--diffs-fg);\n }\n\n &[data-expand-all-button] {\n display: none;\n }\n }\n\n [data-expand-down] [data-icon] {\n transform: scaleY(-1);\n }\n\n [data-separator-content] {\n flex: 1 1 auto;\n padding: 0 1ch;\n height: 100%;\n color: var(--diffs-fg-number);\n\n overflow: hidden;\n justify-content: flex-start;\n }\n\n [data-separator='line-info'],\n [data-separator='line-info-basic'] {\n [data-separator-content] {\n height: 100%;\n user-select: none;\n overflow: clip;\n }\n }\n\n [data-unmodified-lines] {\n display: block;\n overflow: hidden;\n min-width: 0;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 0 1 auto;\n }\n\n @supports (width: 1cqi) {\n [data-unified] {\n [data-separator='line-info'] [data-separator-wrapper] {\n padding-inline: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n width: 100cqi;\n\n [data-separator-content] {\n border-radius: 6px;\n }\n }\n\n [data-separator='line-info'][data-expand-index]\n [data-separator-wrapper]\n [data-separator-content] {\n border-top-left-radius: unset;\n border-bottom-left-radius: unset;\n }\n }\n\n [data-gutter] {\n [data-separator='line-info'] [data-separator-wrapper] {\n padding-left: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n }\n\n [data-separator='line-info'] [data-separator-content] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n\n [data-separator='line-info'][data-expand-index] [data-separator-content] {\n border-top-left-radius: unset;\n border-bottom-left-radius: unset;\n }\n }\n\n [data-additions] {\n [data-content] [data-separator='line-info'] {\n background-color: var(--diffs-bg);\n\n [data-separator-wrapper] {\n display: none;\n }\n }\n\n [data-gutter] [data-separator='line-info'] [data-separator-wrapper] {\n display: block;\n height: 100%;\n background-color: var(--diffs-bg-separator);\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n\n [data-separator-content],\n [data-expand-button] {\n display: none;\n }\n }\n }\n\n [data-overflow='scroll']\n [data-additions]\n [data-gutter]\n [data-separator='line-info']\n [data-separator-wrapper] {\n width: calc(100cqi - var(--diffs-gap-inline, var(--diffs-gap-fallback)));\n }\n\n [data-overflow='wrap']\n [data-additions]\n [data-content]\n [data-separator='line-info']\n [data-separator-wrapper] {\n background-color: var(--diffs-bg-separator);\n display: block;\n height: 100%;\n margin-right: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n\n [data-separator-content],\n [data-expand-button] {\n display: none;\n }\n }\n\n [data-separator='line-info'] [data-separator-wrapper] {\n [data-expand-both],\n [data-expand-down],\n [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n }\n\n @media (pointer: fine) {\n [data-separator='line-info'] [data-separator-wrapper] {\n &[data-separator-multi-button] {\n [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: unset;\n }\n\n [data-expand-down] {\n border-bottom-left-radius: 6px;\n border-top-left-radius: unset;\n }\n }\n }\n }\n }\n\n @media (pointer: coarse) {\n [data-separator='line-info-basic']\n [data-separator-wrapper][data-separator-multi-button] {\n grid-template-columns: 34px 34px auto;\n\n [data-separator-content] {\n grid-column: unset;\n grid-row: unset;\n }\n }\n\n @supports (width: 1cqi) {\n [data-separator='line-info'] [data-separator-wrapper] {\n [data-expand-both],\n [data-expand-down],\n [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n\n &[data-separator-multi-button] {\n [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n\n [data-expand-down] {\n border-bottom-left-radius: unset;\n border-top-left-radius: unset;\n }\n }\n }\n }\n }\n\n @media (pointer: fine) {\n [data-separator-wrapper][data-separator-multi-button] {\n display: grid;\n grid-template-rows: 50% 50%;\n\n [data-separator-content] {\n grid-column: 2;\n grid-row: 1 / -1;\n min-width: min-content;\n }\n\n [data-expand-button] {\n grid-column: 1;\n }\n }\n\n [data-separator='line-info'] [data-separator-wrapper],\n [data-separator='line-info']\n [data-separator-wrapper][data-separator-multi-button] {\n grid-template-columns: 34px auto;\n }\n\n [data-separator='line-info-basic'][data-expand-index]\n [data-separator-wrapper] {\n grid-template-columns: 100% auto;\n }\n\n [data-separator='line-info'],\n [data-separator='line-info-basic'] {\n [data-separator-multi-button] {\n [data-expand-up] {\n border-bottom: 1px solid var(--diffs-bg);\n border-right: 2px solid var(--diffs-bg);\n }\n [data-expand-down] {\n border-top: 1px solid var(--diffs-bg);\n border-right: 2px solid var(--diffs-bg);\n }\n }\n }\n }\n\n /* Hunk separator content is duplicated across gutters and content columns,\n * so custom CSS can do some stuff. Lets hide things for defaults */\n [data-additions] [data-gutter] [data-separator-wrapper],\n [data-additions] [data-separator='line-info-basic'] [data-separator-wrapper],\n [data-content] [data-separator-wrapper] {\n display: none;\n }\n\n [data-line-annotation] {\n min-height: var(--diffs-annotation-min-height, 0);\n z-index: 2;\n }\n\n [data-merge-conflict-actions] {\n z-index: 2;\n }\n\n [data-separator='custom'] {\n display: grid;\n grid-template-columns: subgrid;\n }\n\n [data-line],\n [data-column-number],\n [data-no-newline] {\n position: relative;\n padding-inline: 1ch;\n }\n\n [data-indicators='classic'] [data-line] {\n padding-inline-start: 2ch;\n }\n\n [data-indicators='classic'] {\n [data-line-type='change-addition'],\n [data-line-type='change-deletion'] {\n &[data-no-newline],\n &[data-line] {\n &::before {\n display: inline-block;\n width: 1ch;\n height: 1lh;\n position: absolute;\n top: 0;\n left: 0;\n user-select: none;\n }\n }\n }\n\n [data-line-type='change-addition'] {\n &[data-line],\n &[data-no-newline] {\n &::before {\n content: '+';\n color: var(--diffs-addition-base);\n }\n }\n }\n\n [data-line-type='change-deletion'] {\n &[data-line],\n &[data-no-newline] {\n &::before {\n content: '-';\n color: var(--diffs-deletion-base);\n }\n }\n }\n }\n\n [data-indicators='bars'] {\n [data-line-type='change-deletion'],\n [data-line-type='change-addition'] {\n &[data-column-number] {\n &::before {\n content: '';\n display: block;\n width: 4px;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n user-select: none;\n contain: strict;\n }\n }\n }\n\n [data-line-type='change-deletion'] {\n &[data-column-number] {\n &::before {\n background-image: linear-gradient(\n 0deg,\n var(--diffs-bg-deletion) 50%,\n var(--diffs-deletion-base) 50%\n );\n background-repeat: repeat;\n background-size: 2px 2px;\n background-size: calc(1lh / round(1lh / 2px))\n calc(1lh / round(1lh / 2px));\n }\n }\n }\n\n [data-line-type='change-addition'] {\n &[data-column-number] {\n &::before {\n background-color: var(--diffs-addition-base);\n }\n }\n }\n }\n\n [data-overflow='wrap'] {\n [data-line] {\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n /* Annotations wrap in every overflow mode (see the base\n * [data-annotation-content] rule). In wrap mode, also break long words so\n * they do not overflow the wrapped column. */\n [data-annotation-content] {\n word-break: break-word;\n }\n }\n\n [data-overflow='scroll'] [data-line] {\n white-space: pre;\n min-height: 1lh;\n }\n\n [data-column-number] {\n box-sizing: content-box;\n text-align: right;\n user-select: none;\n color: var(--diffs-fg-number);\n padding-left: 2ch;\n }\n\n [data-line-number-content] {\n display: inline-block;\n min-width: var(\n --diffs-min-number-column-width,\n var(--diffs-min-number-column-width-default, 3ch)\n );\n position: relative;\n z-index: 1;\n }\n\n [data-disable-line-numbers] {\n [data-gutter-buffer],\n [data-column-number] {\n min-width: 4px;\n padding: 0;\n\n &::before {\n min-width: 0;\n }\n }\n\n [data-line-number-content] {\n display: none;\n }\n\n [data-gutter-utility-slot] {\n right: unset;\n left: 0;\n justify-content: flex-start;\n }\n\n &[data-indicators='bars'] [data-gutter-utility-slot] {\n /* Using 5px here because theres a 2px separator after the bar */\n left: 6px;\n }\n }\n\n [data-file][data-disable-line-numbers] {\n [data-gutter-buffer],\n [data-column-number] {\n min-width: 0;\n border-right: 0;\n }\n }\n\n [data-diff-span] {\n border-radius: 3px;\n box-decoration-break: clone;\n }\n\n [data-line-type='change-addition'] [data-diff-span] {\n background-color: var(--diffs-bg-addition-emphasis);\n }\n\n [data-line-type='change-deletion'] [data-diff-span] {\n background-color: var(--diffs-bg-deletion-emphasis);\n }\n\n [data-merge-conflict='marker-start'],\n [data-merge-conflict='marker-base'],\n [data-merge-conflict='marker-separator'],\n [data-merge-conflict='marker-end'] {\n padding-left: 1ch;\n color: var(--diffs-fg);\n }\n\n [data-merge-conflict='marker-start'],\n [data-merge-conflict='marker-end'] {\n display: flex;\n align-items: center;\n\n &::after {\n color: var(--diffs-fg-conflict-marker);\n font-style: normal;\n font-size: 0.75rem;\n line-height: 1.25rem;\n padding-left: 1ch;\n font-family: var(\n --diffs-header-font-family,\n var(--diffs-header-font-fallback)\n );\n }\n }\n\n [data-merge-conflict='marker-start']::after {\n content: '(Current Change)';\n }\n\n [data-merge-conflict='marker-end']::after {\n content: '(Incoming Change)';\n }\n\n [data-merge-conflict-actions-content] {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n padding-inline: 0.5rem;\n min-height: 1.75rem;\n font-family: var(\n --diffs-header-font-family,\n var(--diffs-header-font-fallback)\n );\n font-size: 0.75rem;\n line-height: 1.2;\n color: var(--diffs-fg);\n }\n\n [data-merge-conflict-action] {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--diffs-fg-number);\n font: inherit;\n font-style: normal;\n cursor: pointer;\n padding: 0;\n }\n\n [data-merge-conflict-action]:hover {\n color: var(--diffs-fg);\n }\n\n [data-merge-conflict-action='current']:hover {\n color: var(--diffs-addition-base);\n }\n\n [data-merge-conflict-action='incoming']:hover {\n color: var(--diffs-modified-base);\n }\n\n [data-merge-conflict-action-separator] {\n color: var(--diffs-fg-number);\n opacity: 0.6;\n user-select: none;\n }\n\n /* Default Header Styles */\n /* --------------------- */\n [data-diffs-header='default'] {\n position: relative;\n background-color: var(--diffs-bg);\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n gap: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n min-height: calc(\n 1lh + (var(--diffs-gap-block, var(--diffs-gap-fallback)) * 3)\n );\n padding-inline: 16px;\n top: 0;\n z-index: 2;\n }\n\n [data-header-content] {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n min-width: 0;\n white-space: nowrap;\n }\n\n [data-header-content] [data-prev-name],\n [data-header-content] [data-title] {\n direction: rtl;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n white-space: nowrap;\n }\n\n [data-prev-name] {\n opacity: 0.7;\n }\n\n [data-rename-icon] {\n fill: currentColor;\n flex-shrink: 0;\n flex-grow: 0;\n }\n\n [data-diffs-header='default'] [data-metadata] {\n display: flex;\n align-items: center;\n gap: 1ch;\n white-space: nowrap;\n }\n\n [data-diffs-header='default'] [data-additions-count] {\n font-family: var(--diffs-font-family, var(--diffs-font-fallback));\n color: var(--diffs-addition-base);\n }\n\n [data-diffs-header='default'] [data-deletions-count] {\n font-family: var(--diffs-font-family, var(--diffs-font-fallback));\n color: var(--diffs-deletion-base);\n }\n\n [data-change-icon] {\n fill: currentColor;\n flex-shrink: 0;\n }\n\n [data-change-icon='change'],\n [data-change-icon='rename-pure'],\n [data-change-icon='rename-changed'] {\n color: var(--diffs-modified-base);\n }\n\n [data-change-icon='new'] {\n color: var(--diffs-addition-base);\n }\n\n [data-change-icon='deleted'] {\n color: var(--diffs-deletion-base);\n }\n\n [data-change-icon='file'] {\n opacity: 0.6;\n }\n\n [data-annotation-content] {\n position: relative;\n display: flow-root;\n align-self: flex-start;\n z-index: 2;\n min-width: 0;\n isolation: isolate;\n /* Annotations contain prose, not code. The text must wrap in every\n * overflow mode. Slotted annotation content inherits this white-space\n * value. In scroll mode without this rule, the text inherits\n * `white-space: pre` from the `pre` element. Then long text does not\n * wrap. */\n white-space: normal;\n }\n\n /* Sticky positioning has a composite costs, so we should _only_ pay it if we\n * need to */\n [data-overflow='scroll'] [data-annotation-content] {\n position: sticky;\n width: var(--diffs-column-content-width, auto);\n left: var(--diffs-column-number-width, 0);\n }\n\n [data-overflow='scroll'] [data-merge-conflict-actions-content] {\n position: sticky;\n width: var(--diffs-column-content-width, auto);\n left: var(--diffs-column-number-width, 0);\n }\n\n /* Undo some of the stuff that the 'pre' tag does */\n [data-annotation-slot] {\n text-wrap-mode: wrap;\n word-break: normal;\n white-space-collapse: collapse;\n }\n\n [data-gutter-utility-slot] {\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n display: flex;\n justify-content: flex-end;\n touch-action: none;\n }\n\n [data-utility-button] {\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n appearance: none;\n width: 1lh;\n height: 1lh;\n margin-right: calc((1lh - 1ch) * -1);\n padding: 0;\n cursor: pointer;\n font-size: var(--diffs-font-size, 13px);\n line-height: var(--diffs-line-height, 20px);\n border-radius: 4px;\n background-color: var(--diffs-modified-base);\n color: var(--diffs-bg);\n fill: currentColor;\n position: relative;\n z-index: 4;\n touch-action: none;\n\n &::before {\n content: '';\n display: block;\n position: absolute;\n inset: 0 0 0 -4px;\n }\n }\n\n /* Decoration Bars */\n /* --------------- */\n [data-decoration-bar-stack] {\n position: absolute;\n top: 0;\n bottom: 0;\n right: -2px;\n width: 6px;\n pointer-events: none;\n isolation: isolate;\n z-index: 1;\n background-color: var(--diffs-decoration-bar-color, transparent);\n /* overflow: clip visible; */\n box-sizing: content-box;\n border-left: 2px solid var(--diffs-bg);\n border-right: 2px solid var(--diffs-bg);\n\n [data-decoration-bar-depth='1'] & {\n background-color: color-mix(\n in lab,\n var(--diffs-bg) 20%,\n var(--diffs-decoration-bar-color, transparent)\n );\n }\n\n [data-decoration-bar-depth='2'] & {\n background-color: color-mix(\n in lab,\n var(--diffs-bg) 45%,\n var(--diffs-decoration-bar-color, transparent)\n );\n }\n\n [data-decoration-bar-depth='3'] & {\n background-color: color-mix(\n in lab,\n var(--diffs-bg) 65%,\n var(--diffs-decoration-bar-color, transparent)\n );\n }\n\n [data-decoration-bar-start] & {\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n\n /* &::before { */\n /* content: ''; */\n /* position: absolute; */\n /* box-sizing: content-box; */\n /* display: block; */\n /* width: 6px; */\n /* height: 6px; */\n /* z-index: 1; */\n /* border-top-left-radius: 3px; */\n /* border-top-right-radius: 3px; */\n /* border-top: 2px solid var(--diffs-bg); */\n /* border-left: 2px solid var(--diffs-bg); */\n /* border-right: 2px solid var(--diffs-bg); */\n /* left: -2px; */\n /* top: -2px; */\n /* } */\n }\n\n [data-decoration-bar-end] & {\n z-index: 3;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px;\n\n /* &::after { */\n /* content: ''; */\n /* position: absolute; */\n /* box-sizing: content-box; */\n /* display: block; */\n /* width: 6px; */\n /* height: 6px; */\n /* border-bottom-left-radius: 3px; */\n /* border-bottom-right-radius: 3px; */\n /* border-bottom: 2px solid var(--diffs-bg); */\n /* border-left: 2px solid var(--diffs-bg); */\n /* border-right: 2px solid var(--diffs-bg); */\n /* left: -2px; */\n /* bottom: -2px; */\n /* } */\n }\n\n /* [data-decoration-bar-end] & { */\n /* border-bottom-left-radius: 5px; */\n /* border-bottom-right-radius: 5px; */\n /* border-bottom: 2px solid var(--diffs-bg); */\n /* border-left: 2px solid var(--diffs-bg); */\n /* border-right: 2px solid var(--diffs-bg); */\n /* right: -2px; */\n /* bottom: -2px; */\n /* z-index: 3; */\n /* } */\n }\n\n [data-placeholder] {\n contain: strict;\n }\n\n [data-error-wrapper] {\n overflow: auto;\n padding: var(--diffs-gap-block, var(--diffs-gap-fallback))\n var(--diffs-gap-inline, var(--diffs-gap-fallback));\n max-height: 400px;\n scrollbar-width: none;\n\n [data-error-message] {\n font-weight: bold;\n font-size: 18px;\n color: var(--diffs-deletion-base);\n }\n\n [data-error-stack] {\n color: var(--diffs-fg-number);\n }\n }\n}\n"],"mappings":";AAAA,IAAA,gBAAe"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { ElementContent } from "./node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.js";
2
2
  import { BundledLanguage, BundledTheme, CodeToHastOptions, DecorationItem, HighlighterGeneric, LanguageRegistration, ShikiTransformer, ThemeRegistration, ThemeRegistrationResolved, ThemedToken } from "shiki";
3
3
  import { CreatePatchOptionsNonabortable } from "diff";
4
-
5
4
  //#region src/types.d.ts
6
5
  type CodeViewScrollBehavior = 'instant' | 'smooth' | 'smooth-auto';
7
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { DiffLineAnnotation, LineAnnotation } from "../types.js";
2
-
3
2
  //#region src/utils/annotationHelpers.d.ts
4
3
  /** Narrow an annotation to the side-tagged diff shape. */
5
4
  declare function isDiffAnnotation<LAnnotation = undefined>(annotation: LineAnnotation<LAnnotation> | DiffLineAnnotation<LAnnotation>): annotation is DiffLineAnnotation<LAnnotation>;
@@ -1 +1 @@
1
- {"version":3,"file":"annotationHelpers.d.ts","names":[],"sources":["../../src/utils/annotationHelpers.ts"],"mappings":";;;;iBAGgB,gBAAA,0BACd,UAAA,EAAY,cAAA,CAAe,WAAA,IAAe,kBAAA,CAAmB,WAAA,IAC5D,UAAA,IAAc,kBAAA,CAAmB,WAAA;AAFpC;AAAA,iBAOgB,gBAAA,0BACd,UAAA,EAAY,cAAA,CAAe,WAAA,IAAe,kBAAA,CAAmB,WAAA,IAC5D,UAAA,IAAc,cAAA,CAAe,WAAA;;;;;iBAQhB,0BAAA,0BACd,WAAA,EAAa,cAAA,CAAe,WAAA,MAAiB,kBAAA,CAAmB,WAAA,MAC/D,WAAA,IAAe,kBAAA,CAAmB,WAAA;;;;;iBASrB,0BAAA,0BACd,WAAA,EAAa,cAAA,CAAe,WAAA,MAAiB,kBAAA,CAAmB,WAAA,MAC/D,WAAA,IAAe,cAAA,CAAe,WAAA"}
1
+ {"version":3,"file":"annotationHelpers.d.ts","names":[],"sources":["../../src/utils/annotationHelpers.ts"],"mappings":";;;iBAGgB,iBAAiB,yBAC/B,YAAY,eAAe,eAAe,mBAAmB,eAC5D,cAAc,mBAAmB;;iBAKpB,iBAAiB,yBAC/B,YAAY,eAAe,eAAe,mBAAmB,eAC5D,cAAc,eAAe;;;;;iBAQhB,2BAA2B,yBACzC,aAAa,eAAe,iBAAiB,mBAAmB,iBAC/D,eAAe,mBAAmB;;;;;iBASrB,2BAA2B,yBACzC,aAAa,eAAe,iBAAiB,mBAAmB,iBAC/D,eAAe,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"appendItems.d.ts","names":[],"sources":["../../src/utils/appendItems.ts"],"mappings":";iBAIgB,WAAA,IAAe,MAAA,EAAQ,CAAA,IAAK,KAAA,WAAgB,CAAC"}
1
+ {"version":3,"file":"appendItems.d.ts","names":[],"sources":["../../src/utils/appendItems.ts"],"mappings":";iBAIgB,YAAY,GAAG,QAAQ,KAAK,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"applyLineTextWithNewline.d.ts","names":[],"sources":["../../src/utils/applyLineTextWithNewline.ts"],"mappings":";iBAIgB,wBAAA,CACd,IAAA,UACA,QAAgB"}
1
+ {"version":3,"file":"applyLineTextWithNewline.d.ts","names":[],"sources":["../../src/utils/applyLineTextWithNewline.ts"],"mappings":";iBAIgB,yBACd,cACA"}
@@ -1,5 +1,4 @@
1
1
  import { DiffLineAnnotation } from "../types.js";
2
-
3
2
  //#region src/utils/areDiffLineAnnotationsEqual.d.ts
4
3
  declare function areDiffLineAnnotationsEqual<LAnnotation = undefined>(annotationA: DiffLineAnnotation<LAnnotation>, annotationB: DiffLineAnnotation<LAnnotation>): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areDiffLineAnnotationsEqual.d.ts","names":[],"sources":["../../src/utils/areDiffLineAnnotationsEqual.ts"],"mappings":";;;iBAEgB,2BAAA,0BACd,WAAA,EAAa,kBAAA,CAAmB,WAAA,GAChC,WAAA,EAAa,kBAAA,CAAmB,WAAA"}
1
+ {"version":3,"file":"areDiffLineAnnotationsEqual.d.ts","names":[],"sources":["../../src/utils/areDiffLineAnnotationsEqual.ts"],"mappings":";;iBAEgB,4BAA4B,yBAC1C,aAAa,mBAAmB,cAChC,aAAa,mBAAmB"}
@@ -1,5 +1,4 @@
1
1
  import { RenderDiffOptions } from "../types.js";
2
-
3
2
  //#region src/utils/areDiffRenderOptionsEqual.d.ts
4
3
  declare function areDiffRenderOptionsEqual(optionsA: RenderDiffOptions, optionsB: RenderDiffOptions): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areDiffRenderOptionsEqual.d.ts","names":[],"sources":["../../src/utils/areDiffRenderOptionsEqual.ts"],"mappings":";;;iBAGgB,yBAAA,CACd,QAAA,EAAU,iBAAA,EACV,QAAA,EAAU,iBAAiB"}
1
+ {"version":3,"file":"areDiffRenderOptionsEqual.d.ts","names":[],"sources":["../../src/utils/areDiffRenderOptionsEqual.ts"],"mappings":";;iBAGgB,0BACd,UAAU,mBACV,UAAU"}
@@ -1,5 +1,4 @@
1
1
  import { FileDiffMetadata } from "../types.js";
2
-
3
2
  //#region src/utils/areDiffTargetsEqual.d.ts
4
3
  declare function areDiffTargetsEqual(diffA: FileDiffMetadata | undefined, diffB: FileDiffMetadata | undefined): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areDiffTargetsEqual.d.ts","names":[],"sources":["../../src/utils/areDiffTargetsEqual.ts"],"mappings":";;;iBAKgB,mBAAA,CACd,KAAA,EAAO,gBAAA,cACP,KAAA,EAAO,gBAAgB"}
1
+ {"version":3,"file":"areDiffTargetsEqual.d.ts","names":[],"sources":["../../src/utils/areDiffTargetsEqual.ts"],"mappings":";;iBAKgB,oBACd,OAAO,8BACP,OAAO"}
@@ -1,5 +1,4 @@
1
1
  import { RenderFileOptions } from "../types.js";
2
-
3
2
  //#region src/utils/areFileRenderOptionsEqual.d.ts
4
3
  declare function areFileRenderOptionsEqual(optionsA: RenderFileOptions, optionsB: RenderFileOptions): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areFileRenderOptionsEqual.d.ts","names":[],"sources":["../../src/utils/areFileRenderOptionsEqual.ts"],"mappings":";;;iBAGgB,yBAAA,CACd,QAAA,EAAU,iBAAA,EACV,QAAA,EAAU,iBAAiB"}
1
+ {"version":3,"file":"areFileRenderOptionsEqual.d.ts","names":[],"sources":["../../src/utils/areFileRenderOptionsEqual.ts"],"mappings":";;iBAGgB,0BACd,UAAU,mBACV,UAAU"}
@@ -1,5 +1,4 @@
1
1
  import { FileContents } from "../types.js";
2
-
3
2
  //#region src/utils/areFileTargetsEqual.d.ts
4
3
  declare function areFileTargetsEqual(fileA: FileContents | undefined, fileB: FileContents | undefined): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areFileTargetsEqual.d.ts","names":[],"sources":["../../src/utils/areFileTargetsEqual.ts"],"mappings":";;;iBAIgB,mBAAA,CACd,KAAA,EAAO,YAAA,cACP,KAAA,EAAO,YAAY"}
1
+ {"version":3,"file":"areFileTargetsEqual.d.ts","names":[],"sources":["../../src/utils/areFileTargetsEqual.ts"],"mappings":";;iBAIgB,oBACd,OAAO,0BACP,OAAO"}
@@ -1,5 +1,4 @@
1
1
  import { FileContents } from "../types.js";
2
-
3
2
  //#region src/utils/areFilesEqual.d.ts
4
3
  declare function areFilesEqual(fileA: FileContents | undefined, fileB: FileContents | undefined): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areFilesEqual.d.ts","names":[],"sources":["../../src/utils/areFilesEqual.ts"],"mappings":";;;iBAEgB,aAAA,CACd,KAAA,EAAO,YAAA,cACP,KAAA,EAAO,YAAY"}
1
+ {"version":3,"file":"areFilesEqual.d.ts","names":[],"sources":["../../src/utils/areFilesEqual.ts"],"mappings":";;iBAEgB,cACd,OAAO,0BACP,OAAO"}
@@ -1,5 +1,4 @@
1
1
  import { HunkData } from "../types.js";
2
-
3
2
  //#region src/utils/areHunkDataEqual.d.ts
4
3
  declare function areHunkDataEqual(hunkA: HunkData, hunkB: HunkData): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areHunkDataEqual.d.ts","names":[],"sources":["../../src/utils/areHunkDataEqual.ts"],"mappings":";;;iBAEgB,gBAAA,CAAiB,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,QAAQ"}
1
+ {"version":3,"file":"areHunkDataEqual.d.ts","names":[],"sources":["../../src/utils/areHunkDataEqual.ts"],"mappings":";;iBAEgB,iBAAiB,OAAO,UAAU,OAAO"}
@@ -1,5 +1,4 @@
1
1
  import { LineAnnotation } from "../types.js";
2
-
3
2
  //#region src/utils/areLineAnnotationsEqual.d.ts
4
3
  declare function areLineAnnotationsEqual<LAnnotation = undefined>(annotationA: LineAnnotation<LAnnotation>, annotationB: LineAnnotation<LAnnotation>): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areLineAnnotationsEqual.d.ts","names":[],"sources":["../../src/utils/areLineAnnotationsEqual.ts"],"mappings":";;;iBAEgB,uBAAA,0BACd,WAAA,EAAa,cAAA,CAAe,WAAA,GAC5B,WAAA,EAAa,cAAA,CAAe,WAAA"}
1
+ {"version":3,"file":"areLineAnnotationsEqual.d.ts","names":[],"sources":["../../src/utils/areLineAnnotationsEqual.ts"],"mappings":";;iBAEgB,wBAAwB,yBACtC,aAAa,eAAe,cAC5B,aAAa,eAAe"}
@@ -1,5 +1,4 @@
1
1
  import { CodeViewSlotSnapshot } from "../components/CodeView.js";
2
-
3
2
  //#region src/utils/areManagedSnapshotsEqual.d.ts
4
3
  declare function areManagedSnapshotsEqual<LAnnotation, Caret>(previous: CodeViewSlotSnapshot<LAnnotation, Caret> | undefined, next: CodeViewSlotSnapshot<LAnnotation, Caret> | undefined): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areManagedSnapshotsEqual.d.ts","names":[],"sources":["../../src/utils/areManagedSnapshotsEqual.ts"],"mappings":";;;iBAKgB,wBAAA,qBACd,QAAA,EAAU,oBAAA,CAAqB,WAAA,EAAa,KAAA,eAC5C,IAAA,EAAM,oBAAA,CAAqB,WAAA,EAAa,KAAA"}
1
+ {"version":3,"file":"areManagedSnapshotsEqual.d.ts","names":[],"sources":["../../src/utils/areManagedSnapshotsEqual.ts"],"mappings":";;iBAKgB,yBAAyB,aAAa,OACpD,UAAU,qBAAqB,aAAa,oBAC5C,MAAM,qBAAqB,aAAa"}
@@ -1,5 +1,4 @@
1
1
  import { MergeConflictDiffAction } from "./parseMergeConflictDiffFromFile.js";
2
-
3
2
  //#region src/utils/areMergeConflictActionsEqual.d.ts
4
3
  declare function areMergeConflictActionsEqual(a: MergeConflictDiffAction, b: MergeConflictDiffAction): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areMergeConflictActionsEqual.d.ts","names":[],"sources":["../../src/utils/areMergeConflictActionsEqual.ts"],"mappings":";;;iBAGgB,4BAAA,CACd,CAAA,EAAG,uBAAA,EACH,CAAA,EAAG,uBAAuB"}
1
+ {"version":3,"file":"areMergeConflictActionsEqual.d.ts","names":[],"sources":["../../src/utils/areMergeConflictActionsEqual.ts"],"mappings":";;iBAGgB,6BACd,GAAG,yBACH,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"areObjectsEqual.d.ts","names":[],"sources":["../../src/utils/areObjectsEqual.ts"],"mappings":";iBAAgB,eAAA,mBACd,IAAA,EAAM,CAAA,cACN,IAAA,EAAM,CAAA,cACN,QAAA,UAAkB,CAAA"}
1
+ {"version":3,"file":"areObjectsEqual.d.ts","names":[],"sources":["../../src/utils/areObjectsEqual.ts"],"mappings":";iBAAgB,gBAAgB,kBAC9B,MAAM,eACN,MAAM,eACN,kBAAkB"}
@@ -1,6 +1,7 @@
1
1
  import { FileDiffOptions } from "../components/FileDiff.js";
2
2
  import { CodeViewOptions } from "../components/CodeView.js";
3
3
  import { FileOptions } from "../react/types.js";
4
+ import "../react/index.js";
4
5
  //#region src/utils/areOptionsEqual.d.ts
5
6
  type AnyOptions<L, C> = CodeViewOptions<L, C> | FileOptions<L, C> | FileDiffOptions<L, C> | undefined;
6
7
  declare function areOptionsEqual<LAnnotation, Caret>(optionsA: AnyOptions<LAnnotation, Caret>, optionsB: AnyOptions<LAnnotation, Caret>): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"areOptionsEqual.d.ts","names":[],"sources":["../../src/utils/areOptionsEqual.ts"],"mappings":";;;;KASK,UAAA,SACD,eAAA,CAAgB,CAAA,EAAG,CAAA,IACnB,WAAA,CAAY,CAAA,EAAG,CAAA,IACf,eAAA,CAAgB,CAAA,EAAG,CAAA;AAAA,iBAGP,eAAA,qBACd,QAAA,EAAU,UAAA,CAAW,WAAA,EAAa,KAAA,GAClC,QAAA,EAAU,UAAA,CAAW,WAAA,EAAa,KAAA"}
1
+ {"version":3,"file":"areOptionsEqual.d.ts","names":[],"sources":["../../src/utils/areOptionsEqual.ts"],"mappings":";;;;;KASK,WAAW,GAAG,KACf,gBAAgB,GAAG,KACnB,YAAY,GAAG,KACf,gBAAgB,GAAG;iBAGP,gBAAgB,aAAa,OAC3C,UAAU,WAAW,aAAa,QAClC,UAAU,WAAW,aAAa"}
@@ -1,5 +1,4 @@
1
1
  import { PrePropertiesConfig } from "../types.js";
2
-
3
2
  //#region src/utils/arePrePropertiesEqual.d.ts
4
3
  declare function arePrePropertiesEqual(propsA: PrePropertiesConfig | undefined, propsB: PrePropertiesConfig | undefined): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"arePrePropertiesEqual.d.ts","names":[],"sources":["../../src/utils/arePrePropertiesEqual.ts"],"mappings":";;;iBAEgB,qBAAA,CACd,MAAA,EAAQ,mBAAA,cACR,MAAA,EAAQ,mBAAmB"}
1
+ {"version":3,"file":"arePrePropertiesEqual.d.ts","names":[],"sources":["../../src/utils/arePrePropertiesEqual.ts"],"mappings":";;iBAEgB,sBACd,QAAQ,iCACR,QAAQ"}
@@ -1,5 +1,4 @@
1
1
  import { RenderRange } from "../types.js";
2
-
3
2
  //#region src/utils/areRenderRangesEqual.d.ts
4
3
  declare function areRenderRangesEqual(renderRangeA: RenderRange | undefined, renderRangeB: RenderRange | undefined): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areRenderRangesEqual.d.ts","names":[],"sources":["../../src/utils/areRenderRangesEqual.ts"],"mappings":";;;iBAEgB,oBAAA,CACd,YAAA,EAAc,WAAA,cACd,YAAA,EAAc,WAAW"}
1
+ {"version":3,"file":"areRenderRangesEqual.d.ts","names":[],"sources":["../../src/utils/areRenderRangesEqual.ts"],"mappings":";;iBAEgB,qBACd,cAAc,yBACd,cAAc"}
@@ -1,5 +1,4 @@
1
1
  import { SelectionPoint } from "../types.js";
2
-
3
2
  //#region src/utils/areSelectionPointsEqual.d.ts
4
3
  declare function areSelectionPointsEqual(a: SelectionPoint, b: SelectionPoint): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areSelectionPointsEqual.d.ts","names":[],"sources":["../../src/utils/areSelectionPointsEqual.ts"],"mappings":";;;iBAEgB,uBAAA,CACd,CAAA,EAAG,cAAA,EACH,CAAA,EAAG,cAAc"}
1
+ {"version":3,"file":"areSelectionPointsEqual.d.ts","names":[],"sources":["../../src/utils/areSelectionPointsEqual.ts"],"mappings":";;iBAEgB,wBACd,GAAG,gBACH,GAAG"}
@@ -1,5 +1,4 @@
1
1
  import { SelectedLineRange } from "../types.js";
2
-
3
2
  //#region src/utils/areSelectionsEqual.d.ts
4
3
  declare function areSelectionsEqual(selectionA: SelectedLineRange | undefined, selectionB: SelectedLineRange | undefined): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areSelectionsEqual.d.ts","names":[],"sources":["../../src/utils/areSelectionsEqual.ts"],"mappings":";;;iBAEgB,kBAAA,CACd,UAAA,EAAY,iBAAA,cACZ,UAAA,EAAY,iBAAiB"}
1
+ {"version":3,"file":"areSelectionsEqual.d.ts","names":[],"sources":["../../src/utils/areSelectionsEqual.ts"],"mappings":";;iBAEgB,mBACd,YAAY,+BACZ,YAAY"}
@@ -1,5 +1,4 @@
1
1
  import { DiffsThemeNames, ThemesType } from "../types.js";
2
-
3
2
  //#region src/utils/areThemesEqual.d.ts
4
3
  declare function areThemesEqual(themeA: DiffsThemeNames | ThemesType | undefined, themeB: DiffsThemeNames | ThemesType | undefined): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areThemesEqual.d.ts","names":[],"sources":["../../src/utils/areThemesEqual.ts"],"mappings":";;;iBAEgB,cAAA,CACd,MAAA,EAAQ,eAAA,GAAkB,UAAA,cAC1B,MAAA,EAAQ,eAAA,GAAkB,UAAA"}
1
+ {"version":3,"file":"areThemesEqual.d.ts","names":[],"sources":["../../src/utils/areThemesEqual.ts"],"mappings":";;iBAEgB,eACd,QAAQ,kBAAkB,wBAC1B,QAAQ,kBAAkB"}
@@ -1,5 +1,4 @@
1
1
  import { VirtualWindowSpecs } from "../types.js";
2
-
3
2
  //#region src/utils/areVirtualWindowSpecsEqual.d.ts
4
3
  declare function areVirtualWindowSpecsEqual(windowSpecsA: VirtualWindowSpecs | undefined, windowSpecsB: VirtualWindowSpecs | undefined): boolean;
5
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areVirtualWindowSpecsEqual.d.ts","names":[],"sources":["../../src/utils/areVirtualWindowSpecsEqual.ts"],"mappings":";;;iBAEgB,0BAAA,CACd,YAAA,EAAc,kBAAA,cACd,YAAA,EAAc,kBAAkB"}
1
+ {"version":3,"file":"areVirtualWindowSpecsEqual.d.ts","names":[],"sources":["../../src/utils/areVirtualWindowSpecsEqual.ts"],"mappings":";;iBAEgB,2BACd,cAAc,gCACd,cAAc"}
@@ -1,4 +1,5 @@
1
1
  import { WorkerStats } from "../worker/types.js";
2
+ import "../worker/index.js";
2
3
  //#region src/utils/areWorkerStatsEqual.d.ts
3
4
  declare function areWorkerStatsEqual(statsA: WorkerStats | undefined, statsB: WorkerStats | undefined): boolean;
4
5
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"areWorkerStatsEqual.d.ts","names":[],"sources":["../../src/utils/areWorkerStatsEqual.ts"],"mappings":";;iBAEgB,mBAAA,CACd,MAAA,EAAQ,WAAA,cACR,MAAA,EAAQ,WAAW"}
1
+ {"version":3,"file":"areWorkerStatsEqual.d.ts","names":[],"sources":["../../src/utils/areWorkerStatsEqual.ts"],"mappings":";;;iBAEgB,oBACd,QAAQ,yBACR,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"awaitWithTimeout.d.ts","names":[],"sources":["../../src/utils/awaitWithTimeout.ts"],"mappings":";iBAAsB,gBAAA,CACpB,QAAA,QAAgB,OAAA,WAChB,OAAA,YACC,OAAO"}
1
+ {"version":3,"file":"awaitWithTimeout.d.ts","names":[],"sources":["../../src/utils/awaitWithTimeout.ts"],"mappings":";iBAAsB,iBACpB,gBAAgB,kBAChB,mBACC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cleanLastNewline.d.ts","names":[],"sources":["../../src/utils/cleanLastNewline.ts"],"mappings":";iBAAgB,gBAAA,CAAiB,QAAgB"}
1
+ {"version":3,"file":"cleanLastNewline.d.ts","names":[],"sources":["../../src/utils/cleanLastNewline.ts"],"mappings":";iBAAgB,iBAAiB"}
@@ -1,5 +1,4 @@
1
1
  import { FileDiffMetadata, Hunk } from "../types.js";
2
-
3
2
  //#region src/utils/cloneFileDiffMetadata.d.ts
4
3
  declare function cloneHunks(hunks: Hunk[]): Hunk[];
5
4
  declare function cloneFileDiffMetadata(fileDiff: FileDiffMetadata): FileDiffMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"cloneFileDiffMetadata.d.ts","names":[],"sources":["../../src/utils/cloneFileDiffMetadata.ts"],"mappings":";;;iBAEgB,UAAA,CAAW,KAAA,EAAO,IAAA,KAAS,IAAI;AAAA,iBAO/B,qBAAA,CACd,QAAA,EAAU,gBAAA,GACT,gBAAgB"}
1
+ {"version":3,"file":"cloneFileDiffMetadata.d.ts","names":[],"sources":["../../src/utils/cloneFileDiffMetadata.ts"],"mappings":";;iBAEgB,WAAW,OAAO,SAAS;iBAO3B,sBACd,UAAU,mBACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"composeCacheKey.d.ts","names":[],"sources":["../../src/utils/composeCacheKey.ts"],"mappings":";;iBAGgB,eAAA,CACd,KAAA,aACG,QAAQ"}
1
+ {"version":3,"file":"composeCacheKey.d.ts","names":[],"sources":["../../src/utils/composeCacheKey.ts"],"mappings":";;iBAGgB,gBACd,kBACG"}
@@ -1,5 +1,4 @@
1
1
  import { FileDiffMetadata, HunkExpansionRegion, HunkSeparators, VirtualFileMetrics } from "../types.js";
2
-
3
2
  //#region src/utils/computeEstimatedDiffHeights.d.ts
4
3
  interface ComputeEstimatedDiffHeightsOptions {
5
4
  fileDiff: FileDiffMetadata;
@@ -15,16 +14,7 @@ interface EstimatedDiffHeights {
15
14
  splitHeight: number;
16
15
  unifiedHeight: number;
17
16
  }
18
- declare function computeEstimatedDiffHeights({
19
- fileDiff,
20
- metrics,
21
- disableFileHeader,
22
- hunkSeparators,
23
- expandUnchanged,
24
- expandedHunks: configuredExpandedHunks,
25
- collapsedContextThreshold,
26
- canHydratePartialDiff
27
- }: ComputeEstimatedDiffHeightsOptions): EstimatedDiffHeights;
17
+ declare function computeEstimatedDiffHeights({ fileDiff, metrics, disableFileHeader, hunkSeparators, expandUnchanged, expandedHunks: configuredExpandedHunks, collapsedContextThreshold, canHydratePartialDiff }: ComputeEstimatedDiffHeightsOptions): EstimatedDiffHeights;
28
18
  //#endregion
29
19
  export { ComputeEstimatedDiffHeightsOptions, EstimatedDiffHeights, computeEstimatedDiffHeights };
30
20
  //# sourceMappingURL=computeEstimatedDiffHeights.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"computeEstimatedDiffHeights.d.ts","names":[],"sources":["../../src/utils/computeEstimatedDiffHeights.ts"],"mappings":";;;UAmBiB,kCAAA;EACf,QAAA,EAAU,gBAAA;EACV,OAAA,EAAS,kBAAA;EACT,iBAAA;EACA,cAAA,EAAgB,cAAA;EAChB,eAAA;EACA,aAAA,EAAe,GAAA,SAAY,mBAAA;EAC3B,yBAAA;EACA,qBAAA;AAAA;AAAA,UAGe,oBAAA;EACf,WAAA;EACA,aAAa;AAAA;AAAA,iBAKC,2BAAA;EACd,QAAA;EACA,OAAA;EACA,iBAAA;EACA,cAAA;EACA,eAAA;EACA,aAAA,EAAe,uBAAA;EACf,yBAAA;EACA;AAAA,GACC,kCAAA,GAAqC,oBAAA"}
1
+ {"version":3,"file":"computeEstimatedDiffHeights.d.ts","names":[],"sources":["../../src/utils/computeEstimatedDiffHeights.ts"],"mappings":";;UAmBiB;EACf,UAAU;EACV,SAAS;EACT;EACA,gBAAgB;EAChB;EACA,eAAe,YAAY;EAC3B;EACA;;UAGe;EACf;EACA;;iBAKc,8BACd,UACA,SACA,mBACA,gBACA,iBACA,eAAe,yBACf,2BACA,yBACC,qCAAqC"}
@@ -1 +1 @@
1
- {"version":3,"file":"computeFileOffsets.d.ts","names":[],"sources":["../../src/utils/computeFileOffsets.ts"],"mappings":";;AAQA;;iBAAgB,kBAAA,CAAmB,QAAgB;;AAAA;AA2DnD;;;;AAAgD;iBAAhC,eAAA,CAAgB,QAAgB;;;;AAuBM;iBAAtC,qBAAA,CAAsB,QAAgB"}
1
+ {"version":3,"file":"computeFileOffsets.d.ts","names":[],"sources":["../../src/utils/computeFileOffsets.ts"],"mappings":";;;;iBAQgB,mBAAmB;;;;;;;;iBA2DnB,gBAAgB;;;;;iBAuBhB,sBAAsB"}
@@ -14,15 +14,16 @@ function computeLineOffsets(contents) {
14
14
  let blockBreaks = 0;
15
15
  while (carriageReturn !== -1 || lineFeed !== -1) {
16
16
  let nextOffset;
17
- if (carriageReturn !== -1 && (lineFeed === -1 || carriageReturn < lineFeed)) if (lineFeed === carriageReturn + 1) {
18
- nextOffset = lineFeed + 1;
19
- carriageReturn = contents.indexOf("\r", nextOffset);
20
- lineFeed = contents.indexOf("\n", nextOffset);
17
+ if (carriageReturn !== -1 && (lineFeed === -1 || carriageReturn < lineFeed)) {
18
+ if (lineFeed === carriageReturn + 1) {
19
+ nextOffset = lineFeed + 1;
20
+ carriageReturn = contents.indexOf("\r", nextOffset);
21
+ lineFeed = contents.indexOf("\n", nextOffset);
22
+ } else {
23
+ nextOffset = carriageReturn + 1;
24
+ carriageReturn = contents.indexOf("\r", nextOffset);
25
+ }
21
26
  } else {
22
- nextOffset = carriageReturn + 1;
23
- carriageReturn = contents.indexOf("\r", nextOffset);
24
- }
25
- else {
26
27
  nextOffset = lineFeed + 1;
27
28
  lineFeed = contents.indexOf("\n", nextOffset);
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"computeFileOffsets.js","names":[],"sources":["../../src/utils/computeFileOffsets.ts"],"sourcesContent":["const LINE_FEED = 10; // \\n\nconst CARRIAGE_RETURN = 13; // \\r\nconst DENSE_LINE_BREAK_BLOCK_SIZE = 4;\nconst DENSE_LINE_BREAK_BLOCK_SPAN = 40;\n\n/**\n * Computes line start offsets for a string.\n */\nexport function computeLineOffsets(contents: string): number[] {\n const offsets: number[] = [0];\n let carriageReturn = contents.indexOf('\\r');\n let lineFeed = contents.indexOf('\\n');\n let blockStart = 0;\n let blockBreaks = 0;\n while (carriageReturn !== -1 || lineFeed !== -1) {\n let nextOffset: number;\n if (\n carriageReturn !== -1 &&\n (lineFeed === -1 || carriageReturn < lineFeed)\n ) {\n if (lineFeed === carriageReturn + 1) {\n nextOffset = lineFeed + 1;\n carriageReturn = contents.indexOf('\\r', nextOffset);\n lineFeed = contents.indexOf('\\n', nextOffset);\n } else {\n nextOffset = carriageReturn + 1;\n carriageReturn = contents.indexOf('\\r', nextOffset);\n }\n } else {\n nextOffset = lineFeed + 1;\n lineFeed = contents.indexOf('\\n', nextOffset);\n }\n offsets.push(nextOffset);\n\n if (++blockBreaks === DENSE_LINE_BREAK_BLOCK_SIZE) {\n if (nextOffset - blockStart <= DENSE_LINE_BREAK_BLOCK_SPAN) {\n // Native searches win on source-like lines; a character scan is faster\n // once line breaks become unusually dense.\n for (let i = nextOffset; i < contents.length; i++) {\n const char = contents.charCodeAt(i);\n if (char === LINE_FEED || char === CARRIAGE_RETURN) {\n if (\n char === CARRIAGE_RETURN &&\n i + 1 < contents.length &&\n contents.charCodeAt(i + 1) === LINE_FEED\n ) {\n i++;\n }\n offsets.push(i + 1);\n }\n }\n return offsets;\n }\n blockStart = nextOffset;\n blockBreaks = 0;\n }\n }\n return offsets;\n}\n\n/**\n * Counts line breaks in a string, treating `\\n`, `\\r`, and `\\r\\n` the same way\n * {@link computeLineOffsets} does (a `\\r\\n` pair is one break). Mirrors that\n * scan but counts in a single pass instead of building and discarding an\n * offsets array, so sizing the changed-line range for large edits stays cheap.\n * A unit test asserts it stays in lockstep with `computeLineOffsets`.\n */\nexport function countLineBreaks(contents: string): number {\n let count = 0;\n for (let i = 0; i < contents.length; i++) {\n const char = contents.charCodeAt(i);\n if (char === LINE_FEED || char === CARRIAGE_RETURN) {\n // Skip the `\\n` of a `\\r\\n` pair so it counts as one break, not two.\n if (\n char === CARRIAGE_RETURN &&\n i + 1 < contents.length &&\n contents.charCodeAt(i + 1) === LINE_FEED\n ) {\n i++;\n }\n count++;\n }\n }\n return count;\n}\n\n/**\n * Splits file contents into lines aligned with {@link computeLineOffsets}.\n * Unlike splitFileContents, a trailing newline produces a final empty line.\n */\nexport function linesFromFileContents(contents: string): string[] {\n const offsets = computeLineOffsets(contents);\n const lines = Array.from({ length: offsets.length }, (_, i) => {\n const start = offsets[i];\n const end = offsets[i + 1] ?? contents.length;\n return contents.slice(start, end);\n });\n return lines;\n}\n"],"mappings":";AAAA,MAAM,YAAY;AAClB,MAAM,kBAAkB;AACxB,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;;;;AAKpC,SAAgB,mBAAmB,UAA4B;CAC7D,MAAM,UAAoB,CAAC,CAAC;CAC5B,IAAI,iBAAiB,SAAS,QAAQ,IAAI;CAC1C,IAAI,WAAW,SAAS,QAAQ,IAAI;CACpC,IAAI,aAAa;CACjB,IAAI,cAAc;CAClB,OAAO,mBAAmB,MAAM,aAAa,IAAI;EAC/C,IAAI;EACJ,IACE,mBAAmB,OAClB,aAAa,MAAM,iBAAiB,WAErC,IAAI,aAAa,iBAAiB,GAAG;GACnC,aAAa,WAAW;GACxB,iBAAiB,SAAS,QAAQ,MAAM,UAAU;GAClD,WAAW,SAAS,QAAQ,MAAM,UAAU;EAC9C,OAAO;GACL,aAAa,iBAAiB;GAC9B,iBAAiB,SAAS,QAAQ,MAAM,UAAU;EACpD;OACK;GACL,aAAa,WAAW;GACxB,WAAW,SAAS,QAAQ,MAAM,UAAU;EAC9C;EACA,QAAQ,KAAK,UAAU;EAEvB,IAAI,EAAE,gBAAgB,6BAA6B;GACjD,IAAI,aAAa,cAAc,6BAA6B;IAG1D,KAAK,IAAI,IAAI,YAAY,IAAI,SAAS,QAAQ,KAAK;KACjD,MAAM,OAAO,SAAS,WAAW,CAAC;KAClC,IAAI,SAAS,aAAa,SAAS,iBAAiB;MAClD,IACE,SAAS,mBACT,IAAI,IAAI,SAAS,UACjB,SAAS,WAAW,IAAI,CAAC,MAAM,WAE/B;MAEF,QAAQ,KAAK,IAAI,CAAC;KACpB;IACF;IACA,OAAO;GACT;GACA,aAAa;GACb,cAAc;EAChB;CACF;CACA,OAAO;AACT;;;;;;;;AASA,SAAgB,gBAAgB,UAA0B;CACxD,IAAI,QAAQ;CACZ,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,OAAO,SAAS,WAAW,CAAC;EAClC,IAAI,SAAS,aAAa,SAAS,iBAAiB;GAElD,IACE,SAAS,mBACT,IAAI,IAAI,SAAS,UACjB,SAAS,WAAW,IAAI,CAAC,MAAM,WAE/B;GAEF;EACF;CACF;CACA,OAAO;AACT;;;;;AAMA,SAAgB,sBAAsB,UAA4B;CAChE,MAAM,UAAU,mBAAmB,QAAQ;CAM3C,OALc,MAAM,KAAK,EAAE,QAAQ,QAAQ,OAAO,IAAI,GAAG,MAAM;EAC7D,MAAM,QAAQ,QAAQ;EACtB,MAAM,MAAM,QAAQ,IAAI,MAAM,SAAS;EACvC,OAAO,SAAS,MAAM,OAAO,GAAG;CAClC,CACW;AACb"}
1
+ {"version":3,"file":"computeFileOffsets.js","names":[],"sources":["../../src/utils/computeFileOffsets.ts"],"sourcesContent":["const LINE_FEED = 10; // \\n\nconst CARRIAGE_RETURN = 13; // \\r\nconst DENSE_LINE_BREAK_BLOCK_SIZE = 4;\nconst DENSE_LINE_BREAK_BLOCK_SPAN = 40;\n\n/**\n * Computes line start offsets for a string.\n */\nexport function computeLineOffsets(contents: string): number[] {\n const offsets: number[] = [0];\n let carriageReturn = contents.indexOf('\\r');\n let lineFeed = contents.indexOf('\\n');\n let blockStart = 0;\n let blockBreaks = 0;\n while (carriageReturn !== -1 || lineFeed !== -1) {\n let nextOffset: number;\n if (\n carriageReturn !== -1 &&\n (lineFeed === -1 || carriageReturn < lineFeed)\n ) {\n if (lineFeed === carriageReturn + 1) {\n nextOffset = lineFeed + 1;\n carriageReturn = contents.indexOf('\\r', nextOffset);\n lineFeed = contents.indexOf('\\n', nextOffset);\n } else {\n nextOffset = carriageReturn + 1;\n carriageReturn = contents.indexOf('\\r', nextOffset);\n }\n } else {\n nextOffset = lineFeed + 1;\n lineFeed = contents.indexOf('\\n', nextOffset);\n }\n offsets.push(nextOffset);\n\n if (++blockBreaks === DENSE_LINE_BREAK_BLOCK_SIZE) {\n if (nextOffset - blockStart <= DENSE_LINE_BREAK_BLOCK_SPAN) {\n // Native searches win on source-like lines; a character scan is faster\n // once line breaks become unusually dense.\n for (let i = nextOffset; i < contents.length; i++) {\n const char = contents.charCodeAt(i);\n if (char === LINE_FEED || char === CARRIAGE_RETURN) {\n if (\n char === CARRIAGE_RETURN &&\n i + 1 < contents.length &&\n contents.charCodeAt(i + 1) === LINE_FEED\n ) {\n i++;\n }\n offsets.push(i + 1);\n }\n }\n return offsets;\n }\n blockStart = nextOffset;\n blockBreaks = 0;\n }\n }\n return offsets;\n}\n\n/**\n * Counts line breaks in a string, treating `\\n`, `\\r`, and `\\r\\n` the same way\n * {@link computeLineOffsets} does (a `\\r\\n` pair is one break). Mirrors that\n * scan but counts in a single pass instead of building and discarding an\n * offsets array, so sizing the changed-line range for large edits stays cheap.\n * A unit test asserts it stays in lockstep with `computeLineOffsets`.\n */\nexport function countLineBreaks(contents: string): number {\n let count = 0;\n for (let i = 0; i < contents.length; i++) {\n const char = contents.charCodeAt(i);\n if (char === LINE_FEED || char === CARRIAGE_RETURN) {\n // Skip the `\\n` of a `\\r\\n` pair so it counts as one break, not two.\n if (\n char === CARRIAGE_RETURN &&\n i + 1 < contents.length &&\n contents.charCodeAt(i + 1) === LINE_FEED\n ) {\n i++;\n }\n count++;\n }\n }\n return count;\n}\n\n/**\n * Splits file contents into lines aligned with {@link computeLineOffsets}.\n * Unlike splitFileContents, a trailing newline produces a final empty line.\n */\nexport function linesFromFileContents(contents: string): string[] {\n const offsets = computeLineOffsets(contents);\n const lines = Array.from({ length: offsets.length }, (_, i) => {\n const start = offsets[i];\n const end = offsets[i + 1] ?? contents.length;\n return contents.slice(start, end);\n });\n return lines;\n}\n"],"mappings":";AAAA,MAAM,YAAY;AAClB,MAAM,kBAAkB;AACxB,MAAM,8BAA8B;AACpC,MAAM,8BAA8B;;;;AAKpC,SAAgB,mBAAmB,UAA4B;CAC7D,MAAM,UAAoB,CAAC,CAAC;CAC5B,IAAI,iBAAiB,SAAS,QAAQ,IAAI;CAC1C,IAAI,WAAW,SAAS,QAAQ,IAAI;CACpC,IAAI,aAAa;CACjB,IAAI,cAAc;CAClB,OAAO,mBAAmB,MAAM,aAAa,IAAI;EAC/C,IAAI;EACJ,IACE,mBAAmB,OAClB,aAAa,MAAM,iBAAiB,WACrC;GACA,IAAI,aAAa,iBAAiB,GAAG;IACnC,aAAa,WAAW;IACxB,iBAAiB,SAAS,QAAQ,MAAM,UAAU;IAClD,WAAW,SAAS,QAAQ,MAAM,UAAU;GAC9C,OAAO;IACL,aAAa,iBAAiB;IAC9B,iBAAiB,SAAS,QAAQ,MAAM,UAAU;GACpD;EACF,OAAO;GACL,aAAa,WAAW;GACxB,WAAW,SAAS,QAAQ,MAAM,UAAU;EAC9C;EACA,QAAQ,KAAK,UAAU;EAEvB,IAAI,EAAE,gBAAgB,6BAA6B;GACjD,IAAI,aAAa,cAAc,6BAA6B;IAG1D,KAAK,IAAI,IAAI,YAAY,IAAI,SAAS,QAAQ,KAAK;KACjD,MAAM,OAAO,SAAS,WAAW,CAAC;KAClC,IAAI,SAAS,aAAa,SAAS,iBAAiB;MAClD,IACE,SAAS,mBACT,IAAI,IAAI,SAAS,UACjB,SAAS,WAAW,IAAI,CAAC,MAAM,WAE/B;MAEF,QAAQ,KAAK,IAAI,CAAC;KACpB;IACF;IACA,OAAO;GACT;GACA,aAAa;GACb,cAAc;EAChB;CACF;CACA,OAAO;AACT;;;;;;;;AASA,SAAgB,gBAAgB,UAA0B;CACxD,IAAI,QAAQ;CACZ,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;EACxC,MAAM,OAAO,SAAS,WAAW,CAAC;EAClC,IAAI,SAAS,aAAa,SAAS,iBAAiB;GAElD,IACE,SAAS,mBACT,IAAI,IAAI,SAAS,UACjB,SAAS,WAAW,IAAI,CAAC,MAAM,WAE/B;GAEF;EACF;CACF;CACA,OAAO;AACT;;;;;AAMA,SAAgB,sBAAsB,UAA4B;CAChE,MAAM,UAAU,mBAAmB,QAAQ;CAM3C,OALc,MAAM,KAAK,EAAE,QAAQ,QAAQ,OAAO,IAAI,GAAG,MAAM;EAC7D,MAAM,QAAQ,QAAQ;EACtB,MAAM,MAAM,QAAQ,IAAI,MAAM,SAAS;EACvC,OAAO,SAAS,MAAM,OAAO,GAAG;CAClC,CACW;AACb"}
@@ -1,5 +1,4 @@
1
1
  import { HunkSeparators, VirtualFileMetrics } from "../types.js";
2
-
3
2
  //#region src/utils/computeVirtualFileMetrics.d.ts
4
3
  declare function computeVirtualFileMetrics(metrics?: Partial<VirtualFileMetrics>): VirtualFileMetrics;
5
4
  declare function getVirtualFileHeaderRegion(metrics: VirtualFileMetrics, disableFileHeader: boolean): number;
@@ -1 +1 @@
1
- {"version":3,"file":"computeVirtualFileMetrics.d.ts","names":[],"sources":["../../src/utils/computeVirtualFileMetrics.ts"],"mappings":";;;iBAGgB,yBAAA,CACd,OAAA,GAAU,OAAA,CAAQ,kBAAA,IACjB,kBAAA;AAAA,iBAOa,0BAAA,CACd,OAAA,EAAS,kBAAkB,EAC3B,iBAAA;AAAA,iBAMc,wBAAA,CACd,OAAA,EAAS,kBAAkB,EAC3B,iBAAA;AAAA,iBAKc,2BAAA,CACd,OAA2B,EAAlB,kBAAkB;AAAA,iBAKb,6BAAA,CAA8B,IAAoB,EAAd,cAAc"}
1
+ {"version":3,"file":"computeVirtualFileMetrics.d.ts","names":[],"sources":["../../src/utils/computeVirtualFileMetrics.ts"],"mappings":";;iBAGgB,0BACd,UAAU,QAAQ,sBACjB;iBAOa,2BACd,SAAS,oBACT;iBAMc,yBACd,SAAS,oBACT;iBAKc,4BACd,SAAS;iBAKK,8BAA8B,MAAM"}
@@ -1,6 +1,5 @@
1
1
  import { Element } from "../node_modules/.pnpm/@types_hast@3.0.4/node_modules/@types/hast/index.js";
2
2
  import { AnnotationSpan } from "../types.js";
3
-
4
3
  //#region src/utils/createAnnotationElement.d.ts
5
4
  declare function createAnnotationElement(span: AnnotationSpan): Element;
6
5
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"createAnnotationElement.d.ts","names":[],"sources":["../../src/utils/createAnnotationElement.ts"],"mappings":";;;;iBAKgB,uBAAA,CAAwB,IAAA,EAAM,cAAA,GAAiB,OAAW"}
1
+ {"version":3,"file":"createAnnotationElement.d.ts","names":[],"sources":["../../src/utils/createAnnotationElement.ts"],"mappings":";;;iBAKgB,wBAAwB,MAAM,iBAAiB"}