@pierre/diffs 1.1.0-beta.6 → 1.1.0-beta.8

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 (291) hide show
  1. package/dist/components/AdvancedVirtualizedFileDiff.d.ts +40 -0
  2. package/dist/components/AdvancedVirtualizedFileDiff.d.ts.map +1 -0
  3. package/dist/components/AdvancedVirtualizedFileDiff.js +145 -0
  4. package/dist/components/AdvancedVirtualizedFileDiff.js.map +1 -0
  5. package/dist/components/AdvancedVirtualizer.d.ts +38 -0
  6. package/dist/components/AdvancedVirtualizer.d.ts.map +1 -0
  7. package/dist/components/AdvancedVirtualizer.js +201 -0
  8. package/dist/components/AdvancedVirtualizer.js.map +1 -0
  9. package/dist/components/File.d.ts +58 -33
  10. package/dist/components/File.d.ts.map +1 -1
  11. package/dist/components/File.js +223 -22
  12. package/dist/components/File.js.map +1 -1
  13. package/dist/components/FileDiff.d.ts +42 -16
  14. package/dist/components/FileDiff.d.ts.map +1 -1
  15. package/dist/components/FileDiff.js +505 -65
  16. package/dist/components/FileDiff.js.map +1 -1
  17. package/dist/components/FileStream.d.ts +5 -0
  18. package/dist/components/FileStream.d.ts.map +1 -1
  19. package/dist/components/FileStream.js +66 -8
  20. package/dist/components/FileStream.js.map +1 -1
  21. package/dist/components/VirtualizedFile.d.ts +33 -0
  22. package/dist/components/VirtualizedFile.d.ts.map +1 -0
  23. package/dist/components/VirtualizedFile.js +227 -0
  24. package/dist/components/VirtualizedFile.js.map +1 -0
  25. package/dist/components/VirtualizedFileDiff.d.ts +39 -0
  26. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -0
  27. package/dist/components/VirtualizedFileDiff.js +316 -0
  28. package/dist/components/VirtualizedFileDiff.js.map +1 -0
  29. package/dist/components/Virtualizer.d.ts +63 -0
  30. package/dist/components/Virtualizer.d.ts.map +1 -0
  31. package/dist/components/Virtualizer.js +369 -0
  32. package/dist/components/Virtualizer.js.map +1 -0
  33. package/dist/components/VirtulizerDevelopment.d.ts +14 -0
  34. package/dist/components/VirtulizerDevelopment.d.ts.map +1 -0
  35. package/dist/components/web-components.d.ts +1 -1
  36. package/dist/components/web-components.d.ts.map +1 -1
  37. package/dist/constants.d.ts +4 -7
  38. package/dist/constants.d.ts.map +1 -1
  39. package/dist/constants.js +14 -6
  40. package/dist/constants.js.map +1 -1
  41. package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
  42. package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
  43. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
  44. package/dist/highlighter/languages/constants.d.ts.map +1 -1
  45. package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
  46. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +1 -1
  47. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
  48. package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
  49. package/dist/highlighter/languages/registerCustomLanguage.d.ts +11 -4
  50. package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -1
  51. package/dist/highlighter/languages/resolveLanguage.d.ts +1 -1
  52. package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
  53. package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -1
  54. package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  55. package/dist/highlighter/shared_highlighter.js.map +1 -1
  56. package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
  57. package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
  58. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
  59. package/dist/highlighter/themes/constants.d.ts.map +1 -1
  60. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
  61. package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
  62. package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
  63. package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
  64. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
  65. package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
  66. package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
  67. package/dist/index.d.ts +13 -10
  68. package/dist/index.js +10 -7
  69. package/dist/managers/LineSelectionManager.d.ts +14 -15
  70. package/dist/managers/LineSelectionManager.d.ts.map +1 -1
  71. package/dist/managers/LineSelectionManager.js +60 -71
  72. package/dist/managers/LineSelectionManager.js.map +1 -1
  73. package/dist/managers/MouseEventManager.d.ts +13 -6
  74. package/dist/managers/MouseEventManager.d.ts.map +1 -1
  75. package/dist/managers/MouseEventManager.js +161 -47
  76. package/dist/managers/MouseEventManager.js.map +1 -1
  77. package/dist/managers/ResizeManager.d.ts +6 -1
  78. package/dist/managers/ResizeManager.d.ts.map +1 -1
  79. package/dist/managers/ResizeManager.js +114 -64
  80. package/dist/managers/ResizeManager.js.map +1 -1
  81. package/dist/managers/ScrollSyncManager.d.ts.map +1 -1
  82. package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  83. package/dist/react/File.d.ts +1 -0
  84. package/dist/react/File.d.ts.map +1 -1
  85. package/dist/react/File.js +2 -1
  86. package/dist/react/File.js.map +1 -1
  87. package/dist/react/FileDiff.d.ts +1 -0
  88. package/dist/react/FileDiff.d.ts.map +1 -1
  89. package/dist/react/FileDiff.js +2 -1
  90. package/dist/react/FileDiff.js.map +1 -1
  91. package/dist/react/MultiFileDiff.d.ts +1 -0
  92. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  93. package/dist/react/MultiFileDiff.js +2 -1
  94. package/dist/react/MultiFileDiff.js.map +1 -1
  95. package/dist/react/PatchDiff.d.ts +1 -0
  96. package/dist/react/PatchDiff.d.ts.map +1 -1
  97. package/dist/react/PatchDiff.js +3 -2
  98. package/dist/react/PatchDiff.js.map +1 -1
  99. package/dist/react/Virtualizer.d.ts +25 -0
  100. package/dist/react/Virtualizer.d.ts.map +1 -0
  101. package/dist/react/Virtualizer.js +38 -0
  102. package/dist/react/Virtualizer.js.map +1 -0
  103. package/dist/react/WorkerPoolContext.d.ts.map +1 -1
  104. package/dist/react/WorkerPoolContext.js +1 -1
  105. package/dist/react/WorkerPoolContext.js.map +1 -1
  106. package/dist/react/constants.d.ts.map +1 -1
  107. package/dist/react/index.d.ts +3 -2
  108. package/dist/react/index.js +2 -1
  109. package/dist/react/jsx.d.ts.map +1 -1
  110. package/dist/react/types.d.ts +5 -3
  111. package/dist/react/types.d.ts.map +1 -1
  112. package/dist/react/utils/renderDiffChildren.d.ts +5 -5
  113. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  114. package/dist/react/utils/renderFileChildren.d.ts +5 -5
  115. package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  116. package/dist/react/utils/templateRender.d.ts.map +1 -1
  117. package/dist/react/utils/useFileDiffInstance.d.ts +5 -3
  118. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  119. package/dist/react/utils/useFileDiffInstance.js +6 -2
  120. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  121. package/dist/react/utils/useFileInstance.d.ts +5 -3
  122. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  123. package/dist/react/utils/useFileInstance.js +6 -2
  124. package/dist/react/utils/useFileInstance.js.map +1 -1
  125. package/dist/react/utils/useStableCallback.d.ts.map +1 -1
  126. package/dist/react/utils/useStableCallback.js.map +1 -1
  127. package/dist/renderers/DiffHunksRenderer.d.ts +15 -10
  128. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  129. package/dist/renderers/DiffHunksRenderer.js +240 -136
  130. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  131. package/dist/renderers/FileRenderer.d.ts +12 -5
  132. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  133. package/dist/renderers/FileRenderer.js +90 -31
  134. package/dist/renderers/FileRenderer.js.map +1 -1
  135. package/dist/shiki-stream/stream.d.ts +2 -2
  136. package/dist/shiki-stream/stream.d.ts.map +1 -1
  137. package/dist/shiki-stream/stream.js.map +1 -1
  138. package/dist/shiki-stream/tokenizer.d.ts +2 -2
  139. package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  140. package/dist/shiki-stream/tokenizer.js.map +1 -1
  141. package/dist/shiki-stream/types.d.ts +18 -18
  142. package/dist/shiki-stream/types.d.ts.map +1 -1
  143. package/dist/sprite.d.ts +1 -1
  144. package/dist/sprite.d.ts.map +1 -1
  145. package/dist/ssr/FileDiffReact.d.ts.map +1 -1
  146. package/dist/ssr/FileDiffReact.js +1 -1
  147. package/dist/ssr/index.d.ts +2 -2
  148. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  149. package/dist/ssr/preloadFile.d.ts.map +1 -1
  150. package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  151. package/dist/ssr/preloadPatchFile.js.map +1 -1
  152. package/dist/ssr/renderHTML.d.ts.map +1 -1
  153. package/dist/style.js +1 -1
  154. package/dist/style.js.map +1 -1
  155. package/dist/types.d.ts +191 -172
  156. package/dist/types.d.ts.map +1 -1
  157. package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
  158. package/dist/utils/areDiffLineAnnotationsEqual.js.map +1 -1
  159. package/dist/utils/areFilesEqual.d.ts.map +1 -1
  160. package/dist/utils/areHunkDataEqual.d.ts.map +1 -1
  161. package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
  162. package/dist/utils/areObjectsEqual.d.ts.map +1 -1
  163. package/dist/utils/areOptionsEqual.d.ts +1 -1
  164. package/dist/utils/areOptionsEqual.d.ts.map +1 -1
  165. package/dist/utils/arePrePropertiesEqual.d.ts.map +1 -1
  166. package/dist/utils/arePrePropertiesEqual.js +1 -1
  167. package/dist/utils/arePrePropertiesEqual.js.map +1 -1
  168. package/dist/utils/areRenderRangesEqual.d.ts.map +1 -1
  169. package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
  170. package/dist/utils/areThemesEqual.d.ts.map +1 -1
  171. package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
  172. package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
  173. package/dist/utils/cleanLastNewline.d.ts.map +1 -1
  174. package/dist/utils/createAnnotationElement.d.ts.map +1 -1
  175. package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
  176. package/dist/utils/createContentColumn.d.ts +7 -0
  177. package/dist/utils/createContentColumn.d.ts.map +1 -0
  178. package/dist/utils/createContentColumn.js +17 -0
  179. package/dist/utils/createContentColumn.js.map +1 -0
  180. package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
  181. package/dist/utils/createEmptyRowBuffer.js +2 -1
  182. package/dist/utils/createEmptyRowBuffer.js.map +1 -1
  183. package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  184. package/dist/utils/createHoverContentNode.d.ts.map +1 -1
  185. package/dist/utils/createNoNewlineElement.d.ts +2 -1
  186. package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
  187. package/dist/utils/createNoNewlineElement.js +3 -6
  188. package/dist/utils/createNoNewlineElement.js.map +1 -1
  189. package/dist/utils/createPreElement.d.ts +2 -1
  190. package/dist/utils/createPreElement.d.ts.map +1 -1
  191. package/dist/utils/createPreElement.js +4 -3
  192. package/dist/utils/createPreElement.js.map +1 -1
  193. package/dist/utils/createRowNodes.d.ts.map +1 -1
  194. package/dist/utils/createSeparator.d.ts.map +1 -1
  195. package/dist/utils/createSeparator.js +1 -1
  196. package/dist/utils/createSeparator.js.map +1 -1
  197. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
  198. package/dist/utils/createSpanNodeFromToken.js.map +1 -1
  199. package/dist/utils/createStyleElement.d.ts.map +1 -1
  200. package/dist/utils/createTransformerWithState.d.ts.map +1 -1
  201. package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
  202. package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
  203. package/dist/utils/cssWrappers.d.ts.map +1 -1
  204. package/dist/utils/diffAcceptRejectHunk.d.ts +1 -1
  205. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
  206. package/dist/utils/formatCSSVariablePrefix.d.ts +1 -1
  207. package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
  208. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  209. package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  210. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
  211. package/dist/utils/getHunkSeparatorSlotName.d.ts +3 -1
  212. package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
  213. package/dist/utils/getHunkSeparatorSlotName.js.map +1 -1
  214. package/dist/utils/getIconForType.d.ts +1 -1
  215. package/dist/utils/getIconForType.d.ts.map +1 -1
  216. package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
  217. package/dist/utils/getLineEndingType.d.ts +1 -1
  218. package/dist/utils/getLineEndingType.d.ts.map +1 -1
  219. package/dist/utils/getLineNodes.d.ts.map +1 -1
  220. package/dist/utils/getOrCreateCodeNode.d.ts +4 -2
  221. package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
  222. package/dist/utils/getOrCreateCodeNode.js +9 -6
  223. package/dist/utils/getOrCreateCodeNode.js.map +1 -1
  224. package/dist/utils/getSingularPatch.d.ts.map +1 -1
  225. package/dist/utils/getThemes.d.ts.map +1 -1
  226. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  227. package/dist/utils/hast_utils.d.ts +6 -3
  228. package/dist/utils/hast_utils.d.ts.map +1 -1
  229. package/dist/utils/hast_utils.js +28 -4
  230. package/dist/utils/hast_utils.js.map +1 -1
  231. package/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
  232. package/dist/utils/isWorkerContext.d.ts.map +1 -1
  233. package/dist/utils/iterateOverDiff.d.ts +26 -13
  234. package/dist/utils/iterateOverDiff.d.ts.map +1 -1
  235. package/dist/utils/iterateOverDiff.js +94 -55
  236. package/dist/utils/iterateOverDiff.js.map +1 -1
  237. package/dist/utils/iterateOverFile.d.ts +50 -0
  238. package/dist/utils/iterateOverFile.d.ts.map +1 -0
  239. package/dist/utils/iterateOverFile.js +49 -0
  240. package/dist/utils/iterateOverFile.js.map +1 -0
  241. package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
  242. package/dist/utils/parseDiffFromFile.d.ts +6 -6
  243. package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  244. package/dist/utils/parseDiffFromFile.js +3 -2
  245. package/dist/utils/parseDiffFromFile.js.map +1 -1
  246. package/dist/utils/parseLineType.d.ts +1 -1
  247. package/dist/utils/parseLineType.d.ts.map +1 -1
  248. package/dist/utils/parsePatchFiles.d.ts +12 -10
  249. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  250. package/dist/utils/parsePatchFiles.js +16 -9
  251. package/dist/utils/parsePatchFiles.js.map +1 -1
  252. package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
  253. package/dist/utils/processLine.d.ts.map +1 -1
  254. package/dist/utils/processLine.js +7 -24
  255. package/dist/utils/processLine.js.map +1 -1
  256. package/dist/utils/renderDiffWithHighlighter.d.ts +2 -2
  257. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  258. package/dist/utils/renderDiffWithHighlighter.js +15 -14
  259. package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  260. package/dist/utils/renderFileWithHighlighter.d.ts +7 -2
  261. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  262. package/dist/utils/renderFileWithHighlighter.js +30 -4
  263. package/dist/utils/renderFileWithHighlighter.js.map +1 -1
  264. package/dist/utils/resolveVirtualFileMetrics.d.ts +7 -0
  265. package/dist/utils/resolveVirtualFileMetrics.d.ts.map +1 -0
  266. package/dist/utils/resolveVirtualFileMetrics.js +24 -0
  267. package/dist/utils/resolveVirtualFileMetrics.js.map +1 -0
  268. package/dist/utils/setLanguageOverride.d.ts.map +1 -1
  269. package/dist/utils/setWrapperNodeProps.d.ts +1 -0
  270. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  271. package/dist/utils/setWrapperNodeProps.js +19 -12
  272. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  273. package/dist/utils/splitFileContents.d.ts +12 -0
  274. package/dist/utils/splitFileContents.d.ts.map +1 -0
  275. package/dist/utils/splitFileContents.js +17 -0
  276. package/dist/utils/splitFileContents.js.map +1 -0
  277. package/dist/utils/trimPatchContext.d.ts +5 -5
  278. package/dist/utils/trimPatchContext.d.ts.map +1 -1
  279. package/dist/worker/WorkerPoolManager.d.ts +2 -2
  280. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  281. package/dist/worker/WorkerPoolManager.js +36 -24
  282. package/dist/worker/WorkerPoolManager.js.map +1 -1
  283. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
  284. package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -1
  285. package/dist/worker/types.d.ts +26 -26
  286. package/dist/worker/types.d.ts.map +1 -1
  287. package/dist/worker/worker-portable.js +323 -143
  288. package/dist/worker/worker-portable.js.map +1 -1
  289. package/dist/worker/worker.js +206 -106
  290. package/dist/worker/worker.js.map +1 -1
  291. package/package.json +52 -53
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","names":["COMMIT_METADATA_SPLIT: RegExp","GIT_DIFF_FILE_BREAK_REGEX: RegExp","UNIFIED_DIFF_FILE_BREAK_REGEX: RegExp","FILE_CONTEXT_BLOB: RegExp","HUNK_HEADER: RegExp","SPLIT_WITH_NEWLINES: RegExp","FILENAME_HEADER_REGEX: RegExp","FILENAME_HEADER_REGEX_GIT: RegExp","ALTERNATE_FILE_NAMES_GIT: RegExp","INDEX_LINE_METADATA: RegExp","DEFAULT_THEMES: ThemesType","DEFAULT_EXPANDED_REGION: HunkExpansionRegion"],"sources":["../src/constants.ts"],"sourcesContent":[],"mappings":";;;cAEa;cAGAA,uBAAuB;AAHvB,cAIAC,yBAJiB,EAIU,MAJV;AAGjBD,cAEAE,6BAFuB,EAEQ,MAFR;AACvBD,cAEAE,iBAF2B,EAER,MAFQ;AAC3BD,cAEAE,WAFAF,EAEa,MAFkB;AAC/BC,cAGAE,mBAHmB,EAGE,MAHF;AACnBD,cAGAE,qBAHa,EAGU,MAHV;AAEbD,cAEAE,yBAFqB,EAEM,MAFN;AACrBD,cAGAE,wBAHuB,EAGG,MAHH;AACvBD,cAIAE,mBAJ2B,EAIN,MAJM;AAE3BD,cAKA,uBAAA,GAL0B,iBAAA;AAE1BC,cAKAC,cALqB,EAKL,UALK;AAGrB,cAOA,oBAAA,GAPA,iBAAA;AAEAA,cAMA,kBAAA,GANgB,eAAA;AAKhB,cAIA,eAAA,GAJA,EAAA;AACA,cAIA,WAAA,GAJA,EAAA;AAGA,cAEA,kBAAA,GAFA,EAAA;AACA,cAEA,qBAAA,GAFA,EAAA;AACA,cAEA,QAAA,GAFA,CAAA;AACA,cAEA,mCAAA,GAFA,CAAA;AACA,cAGAC,uBAHA,EAGyB,mBAHzB"}
1
+ {"version":3,"file":"constants.d.ts","names":["HunkExpansionRegion","RenderRange","ThemesType","VirtualFileMetrics","DIFFS_TAG_NAME","COMMIT_METADATA_SPLIT","RegExp","GIT_DIFF_FILE_BREAK_REGEX","UNIFIED_DIFF_FILE_BREAK_REGEX","FILE_CONTEXT_BLOB","HUNK_HEADER","SPLIT_WITH_NEWLINES","FILENAME_HEADER_REGEX","FILENAME_HEADER_REGEX_GIT","ALTERNATE_FILE_NAMES_GIT","INDEX_LINE_METADATA","HEADER_METADATA_SLOT_ID","DEFAULT_THEMES","UNSAFE_CSS_ATTRIBUTE","CORE_CSS_ATTRIBUTE","DEFAULT_COLLAPSED_CONTEXT_THRESHOLD","DEFAULT_VIRTUAL_FILE_METRICS","DEFAULT_EXPANDED_REGION","DEFAULT_RENDER_RANGE"],"sources":["../src/constants.d.ts"],"sourcesContent":["import type { HunkExpansionRegion, RenderRange, ThemesType, VirtualFileMetrics } from './types';\nexport declare const DIFFS_TAG_NAME: \"diffs-container\";\nexport declare const COMMIT_METADATA_SPLIT: RegExp;\nexport declare const GIT_DIFF_FILE_BREAK_REGEX: RegExp;\nexport declare const UNIFIED_DIFF_FILE_BREAK_REGEX: RegExp;\nexport declare const FILE_CONTEXT_BLOB: RegExp;\nexport declare const HUNK_HEADER: RegExp;\nexport declare const SPLIT_WITH_NEWLINES: RegExp;\nexport declare const FILENAME_HEADER_REGEX: RegExp;\nexport declare const FILENAME_HEADER_REGEX_GIT: RegExp;\nexport declare const ALTERNATE_FILE_NAMES_GIT: RegExp;\nexport declare const INDEX_LINE_METADATA: RegExp;\nexport declare const HEADER_METADATA_SLOT_ID = \"header-metadata\";\nexport declare const DEFAULT_THEMES: ThemesType;\nexport declare const UNSAFE_CSS_ATTRIBUTE = \"data-unsafe-css\";\nexport declare const CORE_CSS_ATTRIBUTE = \"data-core-css\";\nexport declare const DEFAULT_COLLAPSED_CONTEXT_THRESHOLD = 1;\nexport declare const DEFAULT_VIRTUAL_FILE_METRICS: VirtualFileMetrics;\nexport declare const DEFAULT_EXPANDED_REGION: HunkExpansionRegion;\nexport declare const DEFAULT_RENDER_RANGE: RenderRange;\n//# sourceMappingURL=constants.d.ts.map"],"mappings":";;;cACqBI;cACAC,uBAAuBC;AADvBF,cAEAG,yBAFiC,EAEND,MAFM;AACjCD,cAEAG,6BAF6B,EAEEF,MAFF;AAC7BC,cAEAE,iBAFiC,EAEdH,MAFQA;AAC3BE,cAEAE,WAFAF,EAEaF,MAFwB;AACrCG,cAEAE,mBAFmBL,EAEEA,MAFI;AACzBI,cAEAE,qBAFmB,EAEIN,MAFJ;AACnBK,cAEAE,yBAF2B,EAEAP,MAFA;AAC3BM,cAEAE,wBAFuBR,EAEGA,MAFG;AAC7BO,cAEAE,mBAFiC,EAEZT,MAFMA;AAC3BQ,cAEAE,uBAAAA,GAF0BV,iBAAM;AAChCS,cAEAE,cAF2B,EAEXf,UAFW;AAC3Bc,cAEAE,oBAAAA,GAFuB,iBAAA;AACvBD,cAEAE,kBAAAA,GAFgBjB,eAAU;AAC1BgB,cAEAE,mCAAAA,GAFoB,CAAA;AACpBD,cAEAE,4BAFkB,EAEYlB,kBAFZ;AAClBiB,cAEAE,uBAFmC,EAEVtB,mBAFU;AACnCqB,cAEAE,oBAFgD,EAE1BtB,WAFQE"}
package/dist/constants.js CHANGED
@@ -17,17 +17,25 @@ const DEFAULT_THEMES = {
17
17
  };
18
18
  const UNSAFE_CSS_ATTRIBUTE = "data-unsafe-css";
19
19
  const CORE_CSS_ATTRIBUTE = "data-core-css";
20
- const LINE_HUNK_COUNT = 10;
21
- const LINE_HEIGHT = 20;
22
- const DIFF_HEADER_HEIGHT = 44;
23
- const HUNK_SEPARATOR_HEIGHT = 32;
24
- const FILE_GAP = 8;
25
20
  const DEFAULT_COLLAPSED_CONTEXT_THRESHOLD = 1;
21
+ const DEFAULT_VIRTUAL_FILE_METRICS = {
22
+ hunkLineCount: 50,
23
+ lineHeight: 20,
24
+ diffHeaderHeight: 44,
25
+ hunkSeparatorHeight: 32,
26
+ fileGap: 8
27
+ };
26
28
  const DEFAULT_EXPANDED_REGION = Object.freeze({
27
29
  fromStart: 0,
28
30
  fromEnd: 0
29
31
  });
32
+ const DEFAULT_RENDER_RANGE = {
33
+ startingLine: 0,
34
+ totalLines: Infinity,
35
+ bufferBefore: 0,
36
+ bufferAfter: 0
37
+ };
30
38
 
31
39
  //#endregion
32
- export { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_THEMES, DIFFS_TAG_NAME, DIFF_HEADER_HEIGHT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, FILE_GAP, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, HUNK_SEPARATOR_HEIGHT, INDEX_LINE_METADATA, LINE_HEIGHT, LINE_HUNK_COUNT, SPLIT_WITH_NEWLINES, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE };
40
+ export { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, SPLIT_WITH_NEWLINES, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE };
33
41
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["COMMIT_METADATA_SPLIT: RegExp","GIT_DIFF_FILE_BREAK_REGEX: RegExp","UNIFIED_DIFF_FILE_BREAK_REGEX: RegExp","FILE_CONTEXT_BLOB: RegExp","HUNK_HEADER: RegExp","SPLIT_WITH_NEWLINES: RegExp","FILENAME_HEADER_REGEX: RegExp","FILENAME_HEADER_REGEX_GIT: RegExp","ALTERNATE_FILE_NAMES_GIT: RegExp","INDEX_LINE_METADATA: RegExp","DEFAULT_THEMES: ThemesType","DEFAULT_EXPANDED_REGION: HunkExpansionRegion"],"sources":["../src/constants.ts"],"sourcesContent":["import type { HunkExpansionRegion, ThemesType } from './types';\n\nexport const DIFFS_TAG_NAME = 'diffs-container' as const;\n\n// Misc patch/content parsing regexes\nexport const COMMIT_METADATA_SPLIT: RegExp = /(?=^From [a-f0-9]+ .+$)/m;\nexport const GIT_DIFF_FILE_BREAK_REGEX: RegExp = /(?=^diff --git)/gm;\nexport const UNIFIED_DIFF_FILE_BREAK_REGEX: RegExp = /(?=^---\\s+\\S)/gm;\nexport const FILE_CONTEXT_BLOB: RegExp = /(?=^@@ )/gm;\nexport const HUNK_HEADER: RegExp =\n /^@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@(?: (.*))?/m;\nexport const SPLIT_WITH_NEWLINES: RegExp = /(?<=\\n)/;\nexport const FILENAME_HEADER_REGEX: RegExp = /^(---|\\+\\+\\+)\\s+([^\\t\\r\\n]+)/;\nexport const FILENAME_HEADER_REGEX_GIT: RegExp =\n /^(---|\\+\\+\\+)\\s+[ab]\\/([^\\t\\r\\n]+)/;\nexport const ALTERNATE_FILE_NAMES_GIT: RegExp =\n /^diff --git (?:\"a\\/(.+?)\"|a\\/(.+?)) (?:\"b\\/(.+?)\"|b\\/(.+?))$/;\nexport const INDEX_LINE_METADATA: RegExp =\n /^index ([0-9a-f]+)\\.\\.([0-9a-f]+)(?: (\\d+))?$/i;\n\nexport const HEADER_METADATA_SLOT_ID = 'header-metadata';\n\nexport const DEFAULT_THEMES: ThemesType = {\n dark: 'pierre-dark',\n light: 'pierre-light',\n};\n\nexport const UNSAFE_CSS_ATTRIBUTE = 'data-unsafe-css';\nexport const CORE_CSS_ATTRIBUTE = 'data-core-css';\n\n// FIXME(amadeus): This will need to be configurable\nexport const LINE_HUNK_COUNT = 10;\nexport const LINE_HEIGHT = 20;\nexport const DIFF_HEADER_HEIGHT = 44;\nexport const HUNK_SEPARATOR_HEIGHT = 32;\nexport const FILE_GAP = 8;\nexport const DEFAULT_COLLAPSED_CONTEXT_THRESHOLD = 1;\n\nexport const DEFAULT_EXPANDED_REGION: HunkExpansionRegion = Object.freeze({\n fromStart: 0,\n fromEnd: 0,\n});\n"],"mappings":";AAEA,MAAa,iBAAiB;AAG9B,MAAaA,wBAAgC;AAC7C,MAAaC,4BAAoC;AACjD,MAAaC,gCAAwC;AACrD,MAAaC,oBAA4B;AACzC,MAAaC,cACX;AACF,MAAaC,sBAA8B;AAC3C,MAAaC,wBAAgC;AAC7C,MAAaC,4BACX;AACF,MAAaC,2BACX;AACF,MAAaC,sBACX;AAEF,MAAa,0BAA0B;AAEvC,MAAaC,iBAA6B;CACxC,MAAM;CACN,OAAO;CACR;AAED,MAAa,uBAAuB;AACpC,MAAa,qBAAqB;AAGlC,MAAa,kBAAkB;AAC/B,MAAa,cAAc;AAC3B,MAAa,qBAAqB;AAClC,MAAa,wBAAwB;AACrC,MAAa,WAAW;AACxB,MAAa,sCAAsC;AAEnD,MAAaC,0BAA+C,OAAO,OAAO;CACxE,WAAW;CACX,SAAS;CACV,CAAC"}
1
+ {"version":3,"file":"constants.js","names":["COMMIT_METADATA_SPLIT: RegExp","GIT_DIFF_FILE_BREAK_REGEX: RegExp","UNIFIED_DIFF_FILE_BREAK_REGEX: RegExp","FILE_CONTEXT_BLOB: RegExp","HUNK_HEADER: RegExp","SPLIT_WITH_NEWLINES: RegExp","FILENAME_HEADER_REGEX: RegExp","FILENAME_HEADER_REGEX_GIT: RegExp","ALTERNATE_FILE_NAMES_GIT: RegExp","INDEX_LINE_METADATA: RegExp","DEFAULT_THEMES: ThemesType","DEFAULT_VIRTUAL_FILE_METRICS: VirtualFileMetrics","DEFAULT_EXPANDED_REGION: HunkExpansionRegion","DEFAULT_RENDER_RANGE: RenderRange"],"sources":["../src/constants.ts"],"sourcesContent":["import type {\n HunkExpansionRegion,\n RenderRange,\n ThemesType,\n VirtualFileMetrics,\n} from './types';\n\nexport const DIFFS_TAG_NAME = 'diffs-container' as const;\n\n// Misc patch/content parsing regexes\nexport const COMMIT_METADATA_SPLIT: RegExp = /(?=^From [a-f0-9]+ .+$)/m;\nexport const GIT_DIFF_FILE_BREAK_REGEX: RegExp = /(?=^diff --git)/gm;\nexport const UNIFIED_DIFF_FILE_BREAK_REGEX: RegExp = /(?=^---\\s+\\S)/gm;\nexport const FILE_CONTEXT_BLOB: RegExp = /(?=^@@ )/gm;\nexport const HUNK_HEADER: RegExp =\n /^@@ -(\\d+)(?:,(\\d+))? \\+(\\d+)(?:,(\\d+))? @@(?: (.*))?/m;\nexport const SPLIT_WITH_NEWLINES: RegExp = /(?<=\\n)/;\nexport const FILENAME_HEADER_REGEX: RegExp = /^(---|\\+\\+\\+)\\s+([^\\t\\r\\n]+)/;\nexport const FILENAME_HEADER_REGEX_GIT: RegExp =\n /^(---|\\+\\+\\+)\\s+[ab]\\/([^\\t\\r\\n]+)/;\nexport const ALTERNATE_FILE_NAMES_GIT: RegExp =\n /^diff --git (?:\"a\\/(.+?)\"|a\\/(.+?)) (?:\"b\\/(.+?)\"|b\\/(.+?))$/;\nexport const INDEX_LINE_METADATA: RegExp =\n /^index ([0-9a-f]+)\\.\\.([0-9a-f]+)(?: (\\d+))?$/i;\n\nexport const HEADER_METADATA_SLOT_ID = 'header-metadata';\n\nexport const DEFAULT_THEMES: ThemesType = {\n dark: 'pierre-dark',\n light: 'pierre-light',\n};\n\nexport const UNSAFE_CSS_ATTRIBUTE = 'data-unsafe-css';\nexport const CORE_CSS_ATTRIBUTE = 'data-core-css';\n\nexport const DEFAULT_COLLAPSED_CONTEXT_THRESHOLD = 1;\nexport const DEFAULT_VIRTUAL_FILE_METRICS: VirtualFileMetrics = {\n hunkLineCount: 50,\n lineHeight: 20,\n diffHeaderHeight: 44,\n hunkSeparatorHeight: 32,\n fileGap: 8,\n};\n\nexport const DEFAULT_EXPANDED_REGION: HunkExpansionRegion = Object.freeze({\n fromStart: 0,\n fromEnd: 0,\n});\n\nexport const DEFAULT_RENDER_RANGE: RenderRange = {\n startingLine: 0,\n totalLines: Infinity,\n bufferBefore: 0,\n bufferAfter: 0,\n};\n"],"mappings":";AAOA,MAAa,iBAAiB;AAG9B,MAAaA,wBAAgC;AAC7C,MAAaC,4BAAoC;AACjD,MAAaC,gCAAwC;AACrD,MAAaC,oBAA4B;AACzC,MAAaC,cACX;AACF,MAAaC,sBAA8B;AAC3C,MAAaC,wBAAgC;AAC7C,MAAaC,4BACX;AACF,MAAaC,2BACX;AACF,MAAaC,sBACX;AAEF,MAAa,0BAA0B;AAEvC,MAAaC,iBAA6B;CACxC,MAAM;CACN,OAAO;CACR;AAED,MAAa,uBAAuB;AACpC,MAAa,qBAAqB;AAElC,MAAa,sCAAsC;AACnD,MAAaC,+BAAmD;CAC9D,eAAe;CACf,YAAY;CACZ,kBAAkB;CAClB,qBAAqB;CACrB,SAAS;CACV;AAED,MAAaC,0BAA+C,OAAO,OAAO;CACxE,WAAW;CACX,SAAS;CACV,CAAC;AAEF,MAAaC,uBAAoC;CAC/C,cAAc;CACd,YAAY;CACZ,cAAc;CACd,aAAa;CACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"areLanguagesAttached.d.ts","names":[],"sources":["../../../src/highlighter/languages/areLanguagesAttached.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,oBAAA,YACH,qBAAqB"}
1
+ {"version":3,"file":"areLanguagesAttached.d.ts","names":["SupportedLanguages","areLanguagesAttached"],"sources":["../../../src/highlighter/languages/areLanguagesAttached.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nexport declare function areLanguagesAttached(languages: SupportedLanguages | SupportedLanguages[]): boolean;\n//# sourceMappingURL=areLanguagesAttached.d.ts.map"],"mappings":";;;iBACwBC,oBAAAA,YAAgCD,qBAAqBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"attachResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/attachResolvedLanguages.ts"],"sourcesContent":[],"mappings":";;;;;iBAIgB,uBAAA,oBACK,mBAAmB,iCACzB"}
1
+ {"version":3,"file":"attachResolvedLanguages.d.ts","names":["DiffsHighlighter","ResolvedLanguage","attachResolvedLanguages"],"sources":["../../../src/highlighter/languages/attachResolvedLanguages.d.ts"],"sourcesContent":["import type { DiffsHighlighter } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare function attachResolvedLanguages(resolvedLanguages: ResolvedLanguage | ResolvedLanguage[], highlighter: DiffsHighlighter): void;\n//# sourceMappingURL=attachResolvedLanguages.d.ts.map"],"mappings":";;;;;iBAEwBE,uBAAAA,oBAA2CD,mBAAmBA,iCAAiCD"}
@@ -1 +1 @@
1
- {"version":3,"file":"cleanUpResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/cleanUpResolvedLanguages.ts"],"sourcesContent":[],"mappings":";iBAEgB,wBAAA,CAAA"}
1
+ {"version":3,"file":"cleanUpResolvedLanguages.d.ts","names":["cleanUpResolvedLanguages"],"sources":["../../../src/highlighter/languages/cleanUpResolvedLanguages.d.ts"],"sourcesContent":["export declare function cleanUpResolvedLanguages(): void;\n//# sourceMappingURL=cleanUpResolvedLanguages.d.ts.map"],"mappings":";iBAAwBA,wBAAAA,CAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","names":["ResolvedLanguages: Map<SupportedLanguages, ResolvedLanguage>","ResolvingLanguages: Map<\n SupportedLanguages,\n Promise<ResolvedLanguage>\n>","RegisteredCustomLanguages: Map<\n string,\n DynamicImportLanguageRegistration\n>","AttachedLanguages: Set<string>"],"sources":["../../../src/highlighter/languages/constants.ts"],"sourcesContent":[],"mappings":";;;;;;cAKaA,mBAAmB,IAAI,oBAAoB;cAG3CC,oBAAoB,IAC/B,oBACA,QAAQ;cAGGC,2BAA2B,YAEtC;AAVWF,cAaAG,iBAb2C,EAaxB,GAbwB,CAAA,MAAA,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","names":["DynamicImportLanguageRegistration","SupportedLanguages","ResolvedLanguage","ResolvedLanguages","Map","ResolvingLanguages","Promise","RegisteredCustomLanguages","AttachedLanguages","Set"],"sources":["../../../src/highlighter/languages/constants.d.ts"],"sourcesContent":["import type { DynamicImportLanguageRegistration } from 'shiki';\nimport type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare const ResolvedLanguages: Map<SupportedLanguages, ResolvedLanguage>;\nexport declare const ResolvingLanguages: Map<SupportedLanguages, Promise<ResolvedLanguage>>;\nexport declare const RegisteredCustomLanguages: Map<string, DynamicImportLanguageRegistration>;\nexport declare const AttachedLanguages: Set<string>;\n//# sourceMappingURL=constants.d.ts.map"],"mappings":";;;;;;cAGqBG,mBAAmBC,IAAIH,oBAAoBC;cAC3CG,oBAAoBD,IAAIH,oBAAoBK,QAAQJ;cACpDK,2BAA2BH,YAAYJ;AAFvCG,cAGAK,iBAH4D,EAGzCC,GAHyC,CAAA,MAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/getResolvedLanguages.ts"],"sourcesContent":[],"mappings":";;;;;iBAOgB,oBAAA,YACH,uBACV"}
1
+ {"version":3,"file":"getResolvedLanguages.d.ts","names":["SupportedLanguages","ResolvedLanguage","getResolvedLanguages"],"sources":["../../../src/highlighter/languages/getResolvedLanguages.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare function getResolvedLanguages(languages: SupportedLanguages[]): ResolvedLanguage[];\n//# sourceMappingURL=getResolvedLanguages.d.ts.map"],"mappings":";;;;;iBAEwBE,oBAAAA,YAAgCF,uBAAuBC"}
@@ -3,7 +3,7 @@ import { ResolvedLanguage } from "../../worker/types.js";
3
3
  import "../../worker/index.js";
4
4
 
5
5
  //#region src/highlighter/languages/getResolvedOrResolveLanguage.d.ts
6
- declare function getResolvedOrResolveLanguage(language: Exclude<SupportedLanguages, "text" | "ansi">): ResolvedLanguage | Promise<ResolvedLanguage>;
6
+ declare function getResolvedOrResolveLanguage(language: Exclude<SupportedLanguages, 'text' | 'ansi'>): ResolvedLanguage | Promise<ResolvedLanguage>;
7
7
  //#endregion
8
8
  export { getResolvedOrResolveLanguage };
9
9
  //# sourceMappingURL=getResolvedOrResolveLanguage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getResolvedOrResolveLanguage.d.ts","names":[],"sources":["../../../src/highlighter/languages/getResolvedOrResolveLanguage.ts"],"sourcesContent":[],"mappings":";;;;;iBAKgB,4BAAA,WACJ,QAAQ,uCACjB,mBAAmB,QAAQ"}
1
+ {"version":3,"file":"getResolvedOrResolveLanguage.d.ts","names":["SupportedLanguages","ResolvedLanguage","getResolvedOrResolveLanguage","Exclude","Promise"],"sources":["../../../src/highlighter/languages/getResolvedOrResolveLanguage.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare function getResolvedOrResolveLanguage(language: Exclude<SupportedLanguages, 'text' | 'ansi'>): ResolvedLanguage | Promise<ResolvedLanguage>;\n//# sourceMappingURL=getResolvedOrResolveLanguage.d.ts.map"],"mappings":";;;;;iBAEwBE,4BAAAA,WAAuCC,QAAQH,uCAAuCC,mBAAmBG,QAAQH"}
@@ -1 +1 @@
1
- {"version":3,"file":"hasResolvedLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/hasResolvedLanguages.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,oBAAA,YACH,qBAAqB"}
1
+ {"version":3,"file":"hasResolvedLanguages.d.ts","names":["SupportedLanguages","hasResolvedLanguages"],"sources":["../../../src/highlighter/languages/hasResolvedLanguages.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nexport declare function hasResolvedLanguages(languages: SupportedLanguages | SupportedLanguages[]): boolean;\n//# sourceMappingURL=hasResolvedLanguages.d.ts.map"],"mappings":";;;iBACwBC,oBAAAA,YAAgCD,qBAAqBA"}
@@ -3,10 +3,17 @@ import { DynamicImportLanguageRegistration } from "shiki";
3
3
  //#region src/highlighter/languages/registerCustomLanguage.d.ts
4
4
 
5
5
  /**
6
- * Register a custom language loader and optionally map it to
7
- * file names or extensions.
8
- */
9
- declare function registerCustomLanguage(lang: string, loader: DynamicImportLanguageRegistration, extensionsOrFilenames?: string[]): void;
6
+ * Register a custom language loader and optionally map it to
7
+ * file names or extensions.
8
+ */
9
+ declare function registerCustomLanguage(lang: string, loader: DynamicImportLanguageRegistration,
10
+ /**
11
+ * File names or extensions to map to this language. Use exact filenames
12
+ * (e.g., "Dockerfile", "CMakeLists.txt") or extension tokens without a dot
13
+ * (e.g., "proto", "foo"). Compound extensions are supported
14
+ * (e.g., "blade.php").
15
+ */
16
+ extensionsOrFilenames?: string[]): void;
10
17
  //#endregion
11
18
  export { registerCustomLanguage };
12
19
  //# sourceMappingURL=registerCustomLanguage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerCustomLanguage.d.ts","names":[],"sources":["../../../src/highlighter/languages/registerCustomLanguage.ts"],"sourcesContent":[],"mappings":";;;;;;AASA;;iBAAgB,sBAAA,uBAEN"}
1
+ {"version":3,"file":"registerCustomLanguage.d.ts","names":["DynamicImportLanguageRegistration","registerCustomLanguage"],"sources":["../../../src/highlighter/languages/registerCustomLanguage.d.ts"],"sourcesContent":["import type { DynamicImportLanguageRegistration } from 'shiki';\n/**\n * Register a custom language loader and optionally map it to\n * file names or extensions.\n */\nexport declare function registerCustomLanguage(lang: string, loader: DynamicImportLanguageRegistration, \n/**\n * File names or extensions to map to this language. Use exact filenames\n * (e.g., \"Dockerfile\", \"CMakeLists.txt\") or extension tokens without a dot\n * (e.g., \"proto\", \"foo\"). Compound extensions are supported\n * (e.g., \"blade.php\").\n */\nextensionsOrFilenames?: string[]): void;\n//# sourceMappingURL=registerCustomLanguage.d.ts.map"],"mappings":";;;;;;AAKA;;iBAAwBC,sBAAAA,uBAA6CD"}
@@ -3,7 +3,7 @@ import { ResolvedLanguage } from "../../worker/types.js";
3
3
  import "../../worker/index.js";
4
4
 
5
5
  //#region src/highlighter/languages/resolveLanguage.d.ts
6
- declare function resolveLanguage(lang: Exclude<SupportedLanguages, "text" | "ansi">): Promise<ResolvedLanguage>;
6
+ declare function resolveLanguage(lang: Exclude<SupportedLanguages, 'text' | 'ansi'>): Promise<ResolvedLanguage>;
7
7
  //#endregion
8
8
  export { resolveLanguage };
9
9
  //# sourceMappingURL=resolveLanguage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveLanguage.d.ts","names":[],"sources":["../../../src/highlighter/languages/resolveLanguage.ts"],"sourcesContent":[],"mappings":";;;;;iBAWsB,eAAA,OACd,QAAQ,uCACb,QAAQ"}
1
+ {"version":3,"file":"resolveLanguage.d.ts","names":["SupportedLanguages","ResolvedLanguage","resolveLanguage","Exclude","Promise"],"sources":["../../../src/highlighter/languages/resolveLanguage.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare function resolveLanguage(lang: Exclude<SupportedLanguages, 'text' | 'ansi'>): Promise<ResolvedLanguage>;\n//# sourceMappingURL=resolveLanguage.d.ts.map"],"mappings":";;;;;iBAEwBE,eAAAA,OAAsBC,QAAQH,uCAAuCI,QAAQH"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveLanguages.d.ts","names":[],"sources":["../../../src/highlighter/languages/resolveLanguages.ts"],"sourcesContent":[],"mappings":";;;;;iBAKsB,gBAAA,YACT,uBACV,QAAQ"}
1
+ {"version":3,"file":"resolveLanguages.d.ts","names":["SupportedLanguages","ResolvedLanguage","resolveLanguages","Promise"],"sources":["../../../src/highlighter/languages/resolveLanguages.d.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\nexport declare function resolveLanguages(languages: SupportedLanguages[]): Promise<ResolvedLanguage[]>;\n//# sourceMappingURL=resolveLanguages.d.ts.map"],"mappings":";;;;;iBAEwBE,gBAAAA,YAA4BF,uBAAuBG,QAAQF"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared_highlighter.d.ts","names":[],"sources":["../../src/highlighter/shared_highlighter.ts"],"sourcesContent":[],"mappings":";;;KAiBK,8BAAA,GACD,QAAQ,oBACR;UAKM,kBAAA;EAjBH,MAUF,EAQK,eARL,EAAA;EACO,KAAA,EAQH,kBARG,EAAA;;AACR,iBAUkB,oBAAA,CAVlB;EAAA,MAAA;EAAA;AAAA,CAAA,EAaD,kBAbC,CAAA,EAaoB,OAbpB,CAa4B,gBAb5B,CAAA;AAAA,iBA6DY,mBAAA,CA7DZ,CAAA,CAAA,EA8DC,8BA9DD,CAAA,EAAA,CAAA,IA+DI,gBA/DJ;AAKM,iBA8DM,sBAAA,CAAA,CA7DN,EA6DgC,gBA5DjC,GAAA,SAAA;AAGa,iBAgEN,oBAAA,CAhEM,CAAA,CAAA,EAiEjB,8BAjEiB,CAAA,EAAA,CAAA,IAkEd,OAlEc,CAkEN,gBAlEM,CAAA;AACpB,iBAqEc,iBAAA,CArEd,CAAA,CAAA,EAsEG,8BAtEH,CAAA,EAAA,CAAA,IAAA,SAAA;AACA,iBA0EoB,kBAAA,CA1EpB,OAAA,EA2ES,kBA3ET,CAAA,EA4EC,OA5ED,CAAA,IAAA,CAAA;AACC,iBA+EmB,kBAAA,CAAA,CA/EnB,EA+EyC,OA/EzC,CAAA,IAAA,CAAA"}
1
+ {"version":3,"file":"shared_highlighter.d.ts","names":["DiffsHighlighter","DiffsThemeNames","SupportedLanguages","CachedOrLoadingHighlighterType","Promise","HighlighterOptions","getSharedHighlighter","themes","langs","isHighlighterLoaded","getHighlighterIfLoaded","isHighlighterLoading","isHighlighterNull","preloadHighlighter","disposeHighlighter"],"sources":["../../src/highlighter/shared_highlighter.d.ts"],"sourcesContent":["import type { DiffsHighlighter, DiffsThemeNames, SupportedLanguages } from '../types';\ntype CachedOrLoadingHighlighterType = Promise<DiffsHighlighter> | DiffsHighlighter | undefined;\ninterface HighlighterOptions {\n themes: DiffsThemeNames[];\n langs: SupportedLanguages[];\n}\nexport declare function getSharedHighlighter({ themes, langs }: HighlighterOptions): Promise<DiffsHighlighter>;\nexport declare function isHighlighterLoaded(h?: CachedOrLoadingHighlighterType): h is DiffsHighlighter;\nexport declare function getHighlighterIfLoaded(): DiffsHighlighter | undefined;\nexport declare function isHighlighterLoading(h?: CachedOrLoadingHighlighterType): h is Promise<DiffsHighlighter>;\nexport declare function isHighlighterNull(h?: CachedOrLoadingHighlighterType): h is undefined;\nexport declare function preloadHighlighter(options: HighlighterOptions): Promise<void>;\nexport declare function disposeHighlighter(): Promise<void>;\nexport {};\n//# sourceMappingURL=shared_highlighter.d.ts.map"],"mappings":";;;KACKG,8BAAAA,GAAiCC,QAAQJ,oBAAoBA;UACxDK,kBAAAA;EADLF,MAAAA,EAEOF,eAFPE,EAAAA;EAAyCH,KAAAA,EAGnCE,kBAHmCF,EAAAA;;AAAoBA,iBAK1CM,oBAAAA,CAL0CN;EAAAA,MAAAA;EAAAA;AAAAA,CAAAA,EAKFK,kBALEL,CAAAA,EAKmBI,OALnBJ,CAK2BA,gBAL3BA,CAAAA;AAAgB,iBAM1DS,mBAAAA,CAN0D,CAAA,CAAA,EAMlCN,8BANkC,CAAA,EAAA,CAAA,IAMIH,gBANJ;AACxEK,iBAMcK,sBAAAA,CAAAA,CALZT,EAKsCD,gBAJvCE,GAAAA,SAAkB;AAELI,iBAGAK,oBAAAA,CAHoB,CAAA,CAAA,EAGKR,8BAHL,CAAA,EAAA,CAAA,IAG2CC,OAH3C,CAGmDJ,gBAHnD,CAAA;AAAGO,iBAIvBK,iBAAAA,CAJuBL,CAAAA,CAAAA,EAIDJ,8BAJCI,CAAAA,EAAAA,CAAAA,IAAAA,SAAAA;AAAQC,iBAK/BK,kBAAAA,CAL+BL,OAAAA,EAKHH,kBALGG,CAAAA,EAKkBJ,OALlBI,CAAAA,IAAAA,CAAAA;AAASH,iBAMxCS,kBAAAA,CAAAA,CANwCT,EAMlBD,OANkBC,CAAAA,IAAAA,CAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared_highlighter.js","names":["highlighter: CachedOrLoadingHighlighterType","languageLoaders: Promise<ResolvedLanguage>[]","themeLoaders: Promise<ThemeRegistrationResolved>[]","themes"],"sources":["../../src/highlighter/shared_highlighter.ts"],"sourcesContent":["import { createHighlighter, createJavaScriptRegexEngine } from 'shiki';\n\nimport type {\n DiffsHighlighter,\n DiffsThemeNames,\n SupportedLanguages,\n ThemeRegistrationResolved,\n} from '../types';\nimport type { ResolvedLanguage } from '../worker/types';\nimport { attachResolvedLanguages } from './languages/attachResolvedLanguages';\nimport { cleanUpResolvedLanguages } from './languages/cleanUpResolvedLanguages';\nimport { getResolvedOrResolveLanguage } from './languages/getResolvedOrResolveLanguage';\nimport { attachResolvedThemes } from './themes/attachResolvedThemes';\nimport { cleanUpResolvedThemes } from './themes/cleanUpResolvedThemes';\nimport { getResolvedOrResolveTheme } from './themes/getResolvedOrResolveTheme';\nimport { registerCustomTheme } from './themes/registerCustomTheme';\n\ntype CachedOrLoadingHighlighterType =\n | Promise<DiffsHighlighter>\n | DiffsHighlighter\n | undefined;\n\nlet highlighter: CachedOrLoadingHighlighterType;\n\ninterface HighlighterOptions {\n themes: DiffsThemeNames[];\n langs: SupportedLanguages[];\n}\n\nexport async function getSharedHighlighter({\n themes,\n langs,\n}: HighlighterOptions): Promise<DiffsHighlighter> {\n highlighter ??= createHighlighter({\n themes: [],\n langs: ['text'],\n engine: createJavaScriptRegexEngine(),\n }) as Promise<DiffsHighlighter>;\n\n const instance = isHighlighterLoading(highlighter)\n ? await highlighter\n : highlighter;\n highlighter = instance;\n\n const languageLoaders: Promise<ResolvedLanguage>[] = [];\n for (const language of langs) {\n if (language === 'text' || language === 'ansi') continue;\n const maybeResolvedLanguage = getResolvedOrResolveLanguage(language);\n if ('then' in maybeResolvedLanguage) {\n languageLoaders.push(maybeResolvedLanguage);\n } else {\n attachResolvedLanguages(maybeResolvedLanguage, instance);\n }\n }\n\n const themeLoaders: Promise<ThemeRegistrationResolved>[] = [];\n for (const themeName of themes) {\n const maybeResolvedTheme = getResolvedOrResolveTheme(themeName);\n if ('then' in maybeResolvedTheme) {\n themeLoaders.push(maybeResolvedTheme);\n } else {\n attachResolvedThemes(maybeResolvedTheme, highlighter);\n }\n }\n\n // If we need to load any languages or themes, lets do that now\n if (languageLoaders.length > 0 || themeLoaders.length > 0) {\n await Promise.all([\n Promise.all(languageLoaders).then((languages) => {\n attachResolvedLanguages(languages, instance);\n }),\n Promise.all(themeLoaders).then((themes) => {\n attachResolvedThemes(themes, instance);\n }),\n ]);\n }\n\n return instance;\n}\n\nexport function isHighlighterLoaded(\n h: CachedOrLoadingHighlighterType = highlighter\n): h is DiffsHighlighter {\n return h != null && !('then' in h);\n}\n\nexport function getHighlighterIfLoaded(): DiffsHighlighter | undefined {\n if (highlighter != null && !('then' in highlighter)) {\n return highlighter;\n }\n return undefined;\n}\n\nexport function isHighlighterLoading(\n h: CachedOrLoadingHighlighterType = highlighter\n): h is Promise<DiffsHighlighter> {\n return h != null && 'then' in h;\n}\n\nexport function isHighlighterNull(\n h: CachedOrLoadingHighlighterType = highlighter\n): h is undefined {\n return h == null;\n}\n\nexport async function preloadHighlighter(\n options: HighlighterOptions\n): Promise<void> {\n return void (await getSharedHighlighter(options));\n}\n\nexport async function disposeHighlighter(): Promise<void> {\n if (highlighter == null) return;\n (await highlighter).dispose();\n cleanUpResolvedLanguages();\n cleanUpResolvedThemes();\n highlighter = undefined;\n}\n\nregisterCustomTheme('pierre-dark', () => {\n return import(\n '../themes/pierre-dark.json'\n ) as unknown as Promise<ThemeRegistrationResolved>;\n});\n\nregisterCustomTheme('pierre-light', () => {\n return import(\n '../themes/pierre-light.json'\n ) as unknown as Promise<ThemeRegistrationResolved>;\n});\n"],"mappings":";;;;;;;;;;AAsBA,IAAIA;AAOJ,eAAsB,qBAAqB,EACzC,QACA,SACgD;AAChD,iBAAgB,kBAAkB;EAChC,QAAQ,EAAE;EACV,OAAO,CAAC,OAAO;EACf,QAAQ,6BAA6B;EACtC,CAAC;CAEF,MAAM,WAAW,qBAAqB,YAAY,GAC9C,MAAM,cACN;AACJ,eAAc;CAEd,MAAMC,kBAA+C,EAAE;AACvD,MAAK,MAAM,YAAY,OAAO;AAC5B,MAAI,aAAa,UAAU,aAAa,OAAQ;EAChD,MAAM,wBAAwB,6BAA6B,SAAS;AACpE,MAAI,UAAU,sBACZ,iBAAgB,KAAK,sBAAsB;MAE3C,yBAAwB,uBAAuB,SAAS;;CAI5D,MAAMC,eAAqD,EAAE;AAC7D,MAAK,MAAM,aAAa,QAAQ;EAC9B,MAAM,qBAAqB,0BAA0B,UAAU;AAC/D,MAAI,UAAU,mBACZ,cAAa,KAAK,mBAAmB;MAErC,sBAAqB,oBAAoB,YAAY;;AAKzD,KAAI,gBAAgB,SAAS,KAAK,aAAa,SAAS,EACtD,OAAM,QAAQ,IAAI,CAChB,QAAQ,IAAI,gBAAgB,CAAC,MAAM,cAAc;AAC/C,0BAAwB,WAAW,SAAS;GAC5C,EACF,QAAQ,IAAI,aAAa,CAAC,MAAM,aAAW;AACzC,uBAAqBC,UAAQ,SAAS;GACtC,CACH,CAAC;AAGJ,QAAO;;AAGT,SAAgB,oBACd,IAAoC,aACb;AACvB,QAAO,KAAK,QAAQ,EAAE,UAAU;;AAGlC,SAAgB,yBAAuD;AACrE,KAAI,eAAe,QAAQ,EAAE,UAAU,aACrC,QAAO;;AAKX,SAAgB,qBACd,IAAoC,aACJ;AAChC,QAAO,KAAK,QAAQ,UAAU;;AAGhC,SAAgB,kBACd,IAAoC,aACpB;AAChB,QAAO,KAAK;;AAGd,eAAsB,mBACpB,SACe;AACR,CAAM,MAAM,qBAAqB,QAAQ;;AAGlD,eAAsB,qBAAoC;AACxD,KAAI,eAAe,KAAM;AACzB,EAAC,MAAM,aAAa,SAAS;AAC7B,2BAA0B;AAC1B,wBAAuB;AACvB,eAAc;;AAGhB,oBAAoB,qBAAqB;AACvC,QAAO,OACL;EAEF;AAEF,oBAAoB,sBAAsB;AACxC,QAAO,OACL;EAEF"}
1
+ {"version":3,"file":"shared_highlighter.js","names":["highlighter: CachedOrLoadingHighlighterType","languageLoaders: Promise<ResolvedLanguage>[]","themeLoaders: Promise<ThemeRegistrationResolved>[]","themes"],"sources":["../../src/highlighter/shared_highlighter.ts"],"sourcesContent":["import { createHighlighter, createJavaScriptRegexEngine } from 'shiki';\n\nimport type {\n DiffsHighlighter,\n DiffsThemeNames,\n SupportedLanguages,\n ThemeRegistrationResolved,\n} from '../types';\nimport type { ResolvedLanguage } from '../worker/types';\nimport { attachResolvedLanguages } from './languages/attachResolvedLanguages';\nimport { cleanUpResolvedLanguages } from './languages/cleanUpResolvedLanguages';\nimport { getResolvedOrResolveLanguage } from './languages/getResolvedOrResolveLanguage';\nimport { attachResolvedThemes } from './themes/attachResolvedThemes';\nimport { cleanUpResolvedThemes } from './themes/cleanUpResolvedThemes';\nimport { getResolvedOrResolveTheme } from './themes/getResolvedOrResolveTheme';\nimport { registerCustomTheme } from './themes/registerCustomTheme';\n\ntype CachedOrLoadingHighlighterType =\n | Promise<DiffsHighlighter>\n | DiffsHighlighter\n | undefined;\n\nlet highlighter: CachedOrLoadingHighlighterType;\n\ninterface HighlighterOptions {\n themes: DiffsThemeNames[];\n langs: SupportedLanguages[];\n}\n\nexport async function getSharedHighlighter({\n themes,\n langs,\n}: HighlighterOptions): Promise<DiffsHighlighter> {\n highlighter ??= createHighlighter({\n themes: [],\n langs: ['text'],\n engine: createJavaScriptRegexEngine(),\n }) as Promise<DiffsHighlighter>;\n\n const instance = isHighlighterLoading(highlighter)\n ? await highlighter\n : highlighter;\n highlighter = instance;\n\n const languageLoaders: Promise<ResolvedLanguage>[] = [];\n for (const language of langs) {\n if (language === 'text' || language === 'ansi') continue;\n const maybeResolvedLanguage = getResolvedOrResolveLanguage(language);\n if ('then' in maybeResolvedLanguage) {\n languageLoaders.push(maybeResolvedLanguage);\n } else {\n attachResolvedLanguages(maybeResolvedLanguage, instance);\n }\n }\n\n const themeLoaders: Promise<ThemeRegistrationResolved>[] = [];\n for (const themeName of themes) {\n const maybeResolvedTheme = getResolvedOrResolveTheme(themeName);\n if ('then' in maybeResolvedTheme) {\n themeLoaders.push(maybeResolvedTheme);\n } else {\n attachResolvedThemes(maybeResolvedTheme, highlighter);\n }\n }\n\n // If we need to load any languages or themes, lets do that now\n if (languageLoaders.length > 0 || themeLoaders.length > 0) {\n await Promise.all([\n Promise.all(languageLoaders).then((languages) => {\n attachResolvedLanguages(languages, instance);\n }),\n Promise.all(themeLoaders).then((themes) => {\n attachResolvedThemes(themes, instance);\n }),\n ]);\n }\n\n return instance;\n}\n\nexport function isHighlighterLoaded(\n h: CachedOrLoadingHighlighterType = highlighter\n): h is DiffsHighlighter {\n return h != null && !('then' in h);\n}\n\nexport function getHighlighterIfLoaded(): DiffsHighlighter | undefined {\n if (highlighter != null && !('then' in highlighter)) {\n return highlighter;\n }\n return undefined;\n}\n\nexport function isHighlighterLoading(\n h: CachedOrLoadingHighlighterType = highlighter\n): h is Promise<DiffsHighlighter> {\n return h != null && 'then' in h;\n}\n\nexport function isHighlighterNull(\n h: CachedOrLoadingHighlighterType = highlighter\n): h is undefined {\n return h == null;\n}\n\nexport async function preloadHighlighter(\n options: HighlighterOptions\n): Promise<void> {\n return void (await getSharedHighlighter(options));\n}\n\nexport async function disposeHighlighter(): Promise<void> {\n if (highlighter == null) return;\n (await highlighter).dispose();\n cleanUpResolvedLanguages();\n cleanUpResolvedThemes();\n highlighter = undefined;\n}\n\nregisterCustomTheme('pierre-dark', () => {\n return import('../themes/pierre-dark.json') as unknown as Promise<ThemeRegistrationResolved>;\n});\n\nregisterCustomTheme('pierre-light', () => {\n return import('../themes/pierre-light.json') as unknown as Promise<ThemeRegistrationResolved>;\n});\n"],"mappings":";;;;;;;;;;AAsBA,IAAIA;AAOJ,eAAsB,qBAAqB,EACzC,QACA,SACgD;AAChD,iBAAgB,kBAAkB;EAChC,QAAQ,EAAE;EACV,OAAO,CAAC,OAAO;EACf,QAAQ,6BAA6B;EACtC,CAAC;CAEF,MAAM,WAAW,qBAAqB,YAAY,GAC9C,MAAM,cACN;AACJ,eAAc;CAEd,MAAMC,kBAA+C,EAAE;AACvD,MAAK,MAAM,YAAY,OAAO;AAC5B,MAAI,aAAa,UAAU,aAAa,OAAQ;EAChD,MAAM,wBAAwB,6BAA6B,SAAS;AACpE,MAAI,UAAU,sBACZ,iBAAgB,KAAK,sBAAsB;MAE3C,yBAAwB,uBAAuB,SAAS;;CAI5D,MAAMC,eAAqD,EAAE;AAC7D,MAAK,MAAM,aAAa,QAAQ;EAC9B,MAAM,qBAAqB,0BAA0B,UAAU;AAC/D,MAAI,UAAU,mBACZ,cAAa,KAAK,mBAAmB;MAErC,sBAAqB,oBAAoB,YAAY;;AAKzD,KAAI,gBAAgB,SAAS,KAAK,aAAa,SAAS,EACtD,OAAM,QAAQ,IAAI,CAChB,QAAQ,IAAI,gBAAgB,CAAC,MAAM,cAAc;AAC/C,0BAAwB,WAAW,SAAS;GAC5C,EACF,QAAQ,IAAI,aAAa,CAAC,MAAM,aAAW;AACzC,uBAAqBC,UAAQ,SAAS;GACtC,CACH,CAAC;AAGJ,QAAO;;AAGT,SAAgB,oBACd,IAAoC,aACb;AACvB,QAAO,KAAK,QAAQ,EAAE,UAAU;;AAGlC,SAAgB,yBAAuD;AACrE,KAAI,eAAe,QAAQ,EAAE,UAAU,aACrC,QAAO;;AAKX,SAAgB,qBACd,IAAoC,aACJ;AAChC,QAAO,KAAK,QAAQ,UAAU;;AAGhC,SAAgB,kBACd,IAAoC,aACpB;AAChB,QAAO,KAAK;;AAGd,eAAsB,mBACpB,SACe;AACR,CAAM,MAAM,qBAAqB,QAAQ;;AAGlD,eAAsB,qBAAoC;AACxD,KAAI,eAAe,KAAM;AACzB,EAAC,MAAM,aAAa,SAAS;AAC7B,2BAA0B;AAC1B,wBAAuB;AACvB,eAAc;;AAGhB,oBAAoB,qBAAqB;AACvC,QAAO,OAAO;EACd;AAEF,oBAAoB,sBAAsB;AACxC,QAAO,OAAO;EACd"}
@@ -1 +1 @@
1
- {"version":3,"file":"areThemesAttached.d.ts","names":[],"sources":["../../../src/highlighter/themes/areThemesAttached.ts"],"sourcesContent":[],"mappings":";;;iBAIgB,iBAAA,SACN,kBAAkB"}
1
+ {"version":3,"file":"areThemesAttached.d.ts","names":["DiffsThemeNames","ThemesType","areThemesAttached"],"sources":["../../../src/highlighter/themes/areThemesAttached.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemesType } from '../../types';\nexport declare function areThemesAttached(themes: DiffsThemeNames | ThemesType): boolean;\n//# sourceMappingURL=areThemesAttached.d.ts.map"],"mappings":";;;iBACwBE,iBAAAA,SAA0BF,kBAAkBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"attachResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/attachResolvedThemes.ts"],"sourcesContent":[],"mappings":";;;iBAOgB,oBAAA,SAEV,kBACA,6BACC,kBAAkB,2CACV"}
1
+ {"version":3,"file":"attachResolvedThemes.d.ts","names":["DiffsHighlighter","DiffsThemeNames","ThemeRegistrationResolved","attachResolvedThemes"],"sources":["../../../src/highlighter/themes/attachResolvedThemes.d.ts"],"sourcesContent":["import type { DiffsHighlighter, DiffsThemeNames, ThemeRegistrationResolved } from '../../types';\nexport declare function attachResolvedThemes(themes: DiffsThemeNames | ThemeRegistrationResolved | (DiffsThemeNames | ThemeRegistrationResolved)[], highlighter: DiffsHighlighter): void;\n//# sourceMappingURL=attachResolvedThemes.d.ts.map"],"mappings":";;;iBACwBG,oBAAAA,SAA6BF,kBAAkBC,6BAA6BD,kBAAkBC,2CAA2CF"}
@@ -1 +1 @@
1
- {"version":3,"file":"cleanUpResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/cleanUpResolvedThemes.ts"],"sourcesContent":[],"mappings":";iBAEgB,qBAAA,CAAA"}
1
+ {"version":3,"file":"cleanUpResolvedThemes.d.ts","names":["cleanUpResolvedThemes"],"sources":["../../../src/highlighter/themes/cleanUpResolvedThemes.d.ts"],"sourcesContent":["export declare function cleanUpResolvedThemes(): void;\n//# sourceMappingURL=cleanUpResolvedThemes.d.ts.map"],"mappings":";iBAAwBA,qBAAAA,CAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","names":["ResolvedThemes: Map<DiffsThemeNames, ThemeRegistrationResolved>","ResolvingThemes: Map<\n DiffsThemeNames,\n Promise<ThemeRegistrationResolved>\n>","RegisteredCustomThemes: Map<\n string,\n () => Promise<ThemeRegistrationResolved | ThemeRegistration>\n>","AttachedThemes: Set<string>"],"sources":["../../../src/highlighter/themes/constants.ts"],"sourcesContent":[],"mappings":";;;;cAIaA,gBAAgB,IAAI,iBAAiB;cAGrCC,iBAAiB,IAC5B,iBACA,QAAQ;AALGD,cAQAE,sBARqC,EAQb,GARa,CAAA,MAAA,EAAA,GAAA,GAU1C,OAV0C,CAUlC,yBAVkC,GAUN,iBAVM,CAAA,CAAA;AAAjB,cAapBC,cAboB,EAaJ,GAbI,CAAA,MAAA,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","names":["ThemeRegistration","ThemeRegistrationResolved","DiffsThemeNames","ResolvedThemes","Map","ResolvingThemes","Promise","RegisteredCustomThemes","AttachedThemes","Set"],"sources":["../../../src/highlighter/themes/constants.d.ts"],"sourcesContent":["import type { ThemeRegistration, ThemeRegistrationResolved } from 'shiki';\nimport type { DiffsThemeNames } from '../../types';\nexport declare const ResolvedThemes: Map<DiffsThemeNames, ThemeRegistrationResolved>;\nexport declare const ResolvingThemes: Map<DiffsThemeNames, Promise<ThemeRegistrationResolved>>;\nexport declare const RegisteredCustomThemes: Map<string, () => Promise<ThemeRegistrationResolved | ThemeRegistration>>;\nexport declare const AttachedThemes: Set<string>;\n//# sourceMappingURL=constants.d.ts.map"],"mappings":";;;;cAEqBG,gBAAgBC,IAAIF,iBAAiBD;cACrCI,iBAAiBD,IAAIF,iBAAiBI,QAAQL;AAD9CE,cAEAI,sBAF+D,EAEvCH,GAFuC,CAAA,MAAA,EAAA,GAAA,GAErBE,OAFqB,CAEbL,yBAFa,GAEeD,iBAFf,CAAA,CAAA;AAA3CE,cAGpBM,cAHoBN,EAGJO,GAHIP,CAAAA,MAAAA,CAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getResolvedOrResolveTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/getResolvedOrResolveTheme.ts"],"sourcesContent":[],"mappings":";;;iBAIgB,yBAAA,YACH,kBACV,4BAA4B,QAAQ"}
1
+ {"version":3,"file":"getResolvedOrResolveTheme.d.ts","names":["DiffsThemeNames","ThemeRegistrationResolved","getResolvedOrResolveTheme","Promise"],"sources":["../../../src/highlighter/themes/getResolvedOrResolveTheme.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemeRegistrationResolved } from '../../types';\nexport declare function getResolvedOrResolveTheme(themeName: DiffsThemeNames): ThemeRegistrationResolved | Promise<ThemeRegistrationResolved>;\n//# sourceMappingURL=getResolvedOrResolveTheme.d.ts.map"],"mappings":";;;iBACwBE,yBAAAA,YAAqCF,kBAAkBC,4BAA4BE,QAAQF"}
@@ -1 +1 @@
1
- {"version":3,"file":"getResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/getResolvedThemes.ts"],"sourcesContent":[],"mappings":";;;iBAMgB,iBAAA,aACF,oBACX"}
1
+ {"version":3,"file":"getResolvedThemes.d.ts","names":["DiffsThemeNames","ThemeRegistrationResolved","getResolvedThemes"],"sources":["../../../src/highlighter/themes/getResolvedThemes.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemeRegistrationResolved } from '../../types';\nexport declare function getResolvedThemes(themeNames: DiffsThemeNames[]): ThemeRegistrationResolved[];\n//# sourceMappingURL=getResolvedThemes.d.ts.map"],"mappings":";;;iBACwBE,iBAAAA,aAA8BF,oBAAoBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hasResolvedThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/hasResolvedThemes.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,iBAAA,aAA8B"}
1
+ {"version":3,"file":"hasResolvedThemes.d.ts","names":["DiffsThemeNames","hasResolvedThemes"],"sources":["../../../src/highlighter/themes/hasResolvedThemes.d.ts"],"sourcesContent":["import type { DiffsThemeNames } from '../../types';\nexport declare function hasResolvedThemes(themeNames: DiffsThemeNames[]): boolean;\n//# sourceMappingURL=hasResolvedThemes.d.ts.map"],"mappings":";;;iBACwBC,iBAAAA,aAA8BD"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerCustomCSSVariableTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/registerCustomCSSVariableTheme.ts"],"sourcesContent":[],"mappings":";iBAKgB,8BAAA,iCAEI"}
1
+ {"version":3,"file":"registerCustomCSSVariableTheme.d.ts","names":["registerCustomCSSVariableTheme","Record"],"sources":["../../../src/highlighter/themes/registerCustomCSSVariableTheme.d.ts"],"sourcesContent":["export declare function registerCustomCSSVariableTheme(name: string, variableDefaults: Record<string, string>, fontStyle?: boolean): void;\n//# sourceMappingURL=registerCustomCSSVariableTheme.d.ts.map"],"mappings":";iBAAwBA,8BAAAA,iCAA+DC"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerCustomTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/registerCustomTheme.ts"],"sourcesContent":[],"mappings":";;;iBAIgB,mBAAA,kCAEA,QAAQ,4BAA4B"}
1
+ {"version":3,"file":"registerCustomTheme.d.ts","names":["ThemeRegistration","ThemeRegistrationResolved","registerCustomTheme","Promise"],"sources":["../../../src/highlighter/themes/registerCustomTheme.d.ts"],"sourcesContent":["import type { ThemeRegistration, ThemeRegistrationResolved } from 'shiki';\nexport declare function registerCustomTheme(themeName: string, loader: () => Promise<ThemeRegistrationResolved | ThemeRegistration>): void;\n//# sourceMappingURL=registerCustomTheme.d.ts.map"],"mappings":";;;iBACwBE,mBAAAA,kCAAqDC,QAAQF,4BAA4BD"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveTheme.d.ts","names":[],"sources":["../../../src/highlighter/themes/resolveTheme.ts"],"sourcesContent":[],"mappings":";;;iBAUsB,YAAA,YACT,kBACV,QAAQ"}
1
+ {"version":3,"file":"resolveTheme.d.ts","names":["DiffsThemeNames","ThemeRegistrationResolved","resolveTheme","Promise"],"sources":["../../../src/highlighter/themes/resolveTheme.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemeRegistrationResolved } from '../../types';\nexport declare function resolveTheme(themeName: DiffsThemeNames): Promise<ThemeRegistrationResolved>;\n//# sourceMappingURL=resolveTheme.d.ts.map"],"mappings":";;;iBACwBE,YAAAA,YAAwBF,kBAAkBG,QAAQF"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolveThemes.d.ts","names":[],"sources":["../../../src/highlighter/themes/resolveThemes.ts"],"sourcesContent":[],"mappings":";;;iBAIsB,aAAA,SACZ,oBACP,QAAQ"}
1
+ {"version":3,"file":"resolveThemes.d.ts","names":["DiffsThemeNames","ThemeRegistrationResolved","resolveThemes","Promise"],"sources":["../../../src/highlighter/themes/resolveThemes.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemeRegistrationResolved } from '../../types';\nexport declare function resolveThemes(themes: DiffsThemeNames[]): Promise<ThemeRegistrationResolved[]>;\n//# sourceMappingURL=resolveThemes.d.ts.map"],"mappings":";;;iBACwBE,aAAAA,SAAsBF,oBAAoBG,QAAQF"}
package/dist/index.d.ts CHANGED
@@ -1,16 +1,17 @@
1
- import { AnnotationLineMap, AnnotationSide, AnnotationSpan, BaseCodeOptions, BaseDiffOptions, BundledLanguage, ChangeContent, ChangeTypes, CodeToHastOptions, ContextContent, DecorationItem, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffMetadata, ForcePlainTextOptions, GapSpan, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PrePropertiesConfig, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderMetadataProps, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SharedRenderState, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, VirtualWindowSpecs } from "./types.js";
2
- import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_THEMES, DIFFS_TAG_NAME, DIFF_HEADER_HEIGHT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, FILE_GAP, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, HUNK_SEPARATOR_HEIGHT, INDEX_LINE_METADATA, LINE_HEIGHT, LINE_HUNK_COUNT, SPLIT_WITH_NEWLINES, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
3
- import { LineSelectionManager, LineSelectionOptions, SelectedLineRange, SelectionSide, pluckLineSelectionOptions } from "./managers/LineSelectionManager.js";
1
+ import { AnnotationLineMap, AnnotationSide, AnnotationSpan, BaseCodeOptions, BaseDiffOptions, BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, ContextContent, DecorationItem, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffMetadata, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PrePropertiesConfig, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderMetadataProps, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectionSide, SharedRenderState, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, VirtualFileMetrics, VirtualWindowSpecs } from "./types.js";
2
+ import { GetLineIndexUtility, LineSelectionManager, LineSelectionOptions, SelectedLineRange, pluckLineSelectionOptions } from "./managers/LineSelectionManager.js";
4
3
  import { GetHoveredLineResult, LogTypes, MouseEventManager, MouseEventManagerBaseOptions, MouseEventManagerMode, MouseEventManagerOptions, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, pluckMouseEventOptions } from "./managers/MouseEventManager.js";
5
- import { File, FileHyrdateProps, FileOptions, FileRenderProps } from "./components/File.js";
6
4
  import { ResizeManager } from "./managers/ResizeManager.js";
7
- import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
8
- import { DiffHunksRenderer, HunksRenderResult } from "./renderers/DiffHunksRenderer.js";
9
- import { FileDiff, FileDiffHydrationProps, FileDiffOptions, FileDiffRenderProps } from "./components/FileDiff.js";
5
+ import { FileRenderResult, FileRenderer, FileRendererOptions } from "./renderers/FileRenderer.js";
6
+ import { File, FileHyrdateProps, FileOptions, FileRenderProps } from "./components/File.js";
10
7
  import { CodeToTokenTransformStreamOptions, RecallToken, ShikiStreamTokenizerEnqueueResult, ShikiStreamTokenizerOptions } from "./shiki-stream/types.js";
11
8
  import { ShikiStreamTokenizer } from "./shiki-stream/tokenizer.js";
12
9
  import { CodeToTokenTransformStream } from "./shiki-stream/stream.js";
13
10
  import { FileStream, FileStreamOptions } from "./components/FileStream.js";
11
+ import { Virtualizer, VirtualizerConfig } from "./components/Virtualizer.js";
12
+ import { VirtualizedFile } from "./components/VirtualizedFile.js";
13
+ import { VirtualizedFileDiff } from "./components/VirtualizedFileDiff.js";
14
+ import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, SPLIT_WITH_NEWLINES, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
14
15
  import { areLanguagesAttached } from "./highlighter/languages/areLanguagesAttached.js";
15
16
  import { attachResolvedLanguages } from "./highlighter/languages/attachResolvedLanguages.js";
16
17
  import { cleanUpResolvedLanguages } from "./highlighter/languages/cleanUpResolvedLanguages.js";
@@ -33,8 +34,9 @@ import { registerCustomCSSVariableTheme } from "./highlighter/themes/registerCus
33
34
  import { registerCustomTheme } from "./highlighter/themes/registerCustomTheme.js";
34
35
  import { resolveTheme } from "./highlighter/themes/resolveTheme.js";
35
36
  import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
37
+ import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
36
38
  import { queueRender } from "./managers/UniversalRenderingManager.js";
37
- import { FileRenderResult, FileRenderer, FileRendererOptions } from "./renderers/FileRenderer.js";
39
+ import { DiffHunksRenderer, HunksRenderResult } from "./renderers/DiffHunksRenderer.js";
38
40
  import { SVGSpriteNames, SVGSpriteSheet } from "./sprite.js";
39
41
  import { areDiffLineAnnotationsEqual } from "./utils/areDiffLineAnnotationsEqual.js";
40
42
  import { areFilesEqual } from "./utils/areFilesEqual.js";
@@ -78,7 +80,7 @@ import { getOrCreateCodeNode } from "./utils/getOrCreateCodeNode.js";
78
80
  import { getSingularPatch } from "./utils/getSingularPatch.js";
79
81
  import { getThemes } from "./utils/getThemes.js";
80
82
  import { getTotalLineCountFromHunks } from "./utils/getTotalLineCountFromHunks.js";
81
- import { createBufferElement, createHastElement, createIconElement, createTextNodeElement, findCodeElement } from "./utils/hast_utils.js";
83
+ import { createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createIconElement, createTextNodeElement, findCodeElement } from "./utils/hast_utils.js";
82
84
  import { isDefaultRenderRange } from "./utils/isDefaultRenderRange.js";
83
85
  import { isWorkerContext } from "./utils/isWorkerContext.js";
84
86
  import { createDiffSpanDecoration, pushOrJoinSpan } from "./utils/parseDiffDecorations.js";
@@ -92,5 +94,6 @@ import { renderFileWithHighlighter } from "./utils/renderFileWithHighlighter.js"
92
94
  import { setLanguageOverride } from "./utils/setLanguageOverride.js";
93
95
  import { setPreNodeProperties } from "./utils/setWrapperNodeProps.js";
94
96
  import { trimPatchContext } from "./utils/trimPatchContext.js";
97
+ import { FileDiff, FileDiffHydrationProps, FileDiffOptions, FileDiffRenderProps } from "./components/FileDiff.js";
95
98
  import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";
96
- export { ALTERNATE_FILE_NAMES_GIT, AnnotationLineMap, AnnotationSide, AnnotationSpan, AttachedLanguages, AttachedThemes, BaseCodeOptions, BaseDiffOptions, BundledLanguage, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_EXTENSION_TO_FILE_FORMAT, ChangeContent, ChangeTypes, CodeToHastOptions, CodeToTokenTransformStream, CodeToTokenTransformStreamOptions, ContextContent, CreateFileHeaderElementProps, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_THEMES, DIFFS_TAG_NAME, DIFF_HEADER_HEIGHT, DecorationItem, DiffHunksRenderer, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, EXTENSION_TO_FILE_FORMAT, ExpansionDirections, ExtensionFormatMap, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, FILE_GAP, File, FileContents, FileDiff, FileDiffHydrationProps, FileDiffMetadata, FileDiffOptions, FileDiffRenderProps, FileHyrdateProps, FileOptions, FileRenderProps, FileRenderResult, FileRenderer, FileRendererOptions, FileStream, FileStreamOptions, ForcePlainTextOptions, GIT_DIFF_FILE_BREAK_REGEX, GapSpan, GetHoveredLineResult, HEADER_METADATA_SLOT_ID, HUNK_HEADER, HUNK_SEPARATOR_HEIGHT, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, HunksRenderResult, INDEX_LINE_METADATA, LINE_HEIGHT, LINE_HUNK_COUNT, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSelectionManager, LineSelectionOptions, LineSpans, LineTypes, LogTypes, MouseEventManager, MouseEventManagerBaseOptions, MouseEventManagerMode, MouseEventManagerOptions, ObservedAnnotationNodes, ObservedGridNodes, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, ParsedLine, ParsedPatch, PrePropertiesConfig, RecallToken, RegisteredCustomLanguages, RegisteredCustomThemes, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderMetadataProps, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteNames, SVGSpriteSheet, ScrollSyncManager, SelectedLineRange, SelectionSide, SharedRenderState, ShikiStreamTokenizer, ShikiStreamTokenizerEnqueueResult, ShikiStreamTokenizerOptions, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, VirtualWindowSpecs, areDiffLineAnnotationsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createBufferElement, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createHastElement, createHoverContentNode, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, diffAcceptRejectHunk, disposeHighlighter, extendFileFormatMap, findCodeElement, formatCSSVariablePrefix, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckLineSelectionOptions, pluckMouseEventOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, resolveLanguage, resolveLanguages, resolveTheme, resolveThemes, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapUnsafeCSS };
99
+ export { ALTERNATE_FILE_NAMES_GIT, AnnotationLineMap, AnnotationSide, AnnotationSpan, AttachedLanguages, AttachedThemes, BaseCodeOptions, BaseDiffOptions, BundledLanguage, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_EXTENSION_TO_FILE_FORMAT, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, CodeToTokenTransformStream, CodeToTokenTransformStreamOptions, ContextContent, CreateFileHeaderElementProps, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, DecorationItem, DiffHunksRenderer, DiffLineAnnotation, DiffLineEventBaseProps, DiffsHighlighter, DiffsThemeNames, EXTENSION_TO_FILE_FORMAT, ExpansionDirections, ExtensionFormatMap, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileContents, FileDiff, FileDiffHydrationProps, FileDiffMetadata, FileDiffOptions, FileDiffRenderProps, FileHyrdateProps, FileOptions, FileRenderProps, FileRenderResult, FileRenderer, FileRendererOptions, FileStream, FileStreamOptions, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GIT_DIFF_FILE_BREAK_REGEX, GapSpan, GetHoveredLineResult, GetLineIndexUtility, HEADER_METADATA_SLOT_ID, HUNK_HEADER, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, HunksRenderResult, INDEX_LINE_METADATA, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSelectionManager, LineSelectionOptions, LineSpans, LineTypes, LogTypes, MouseEventManager, MouseEventManagerBaseOptions, MouseEventManagerMode, MouseEventManagerOptions, ObservedAnnotationNodes, ObservedGridNodes, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, ParsedLine, ParsedPatch, PrePropertiesConfig, RecallToken, RegisteredCustomLanguages, RegisteredCustomThemes, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderMetadataProps, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteNames, SVGSpriteSheet, ScrollSyncManager, SelectedLineRange, SelectionSide, SharedRenderState, ShikiStreamTokenizer, ShikiStreamTokenizerEnqueueResult, ShikiStreamTokenizerOptions, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, VirtualFileMetrics, VirtualWindowSpecs, VirtualizedFile, VirtualizedFileDiff, Virtualizer, VirtualizerConfig, areDiffLineAnnotationsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createHoverContentNode, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, diffAcceptRejectHunk, disposeHighlighter, extendFileFormatMap, findCodeElement, formatCSSVariablePrefix, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckLineSelectionOptions, pluckMouseEventOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, resolveLanguage, resolveLanguages, resolveTheme, resolveThemes, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapUnsafeCSS };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_THEMES, DIFFS_TAG_NAME, DIFF_HEADER_HEIGHT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, FILE_GAP, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, HUNK_SEPARATOR_HEIGHT, INDEX_LINE_METADATA, LINE_HEIGHT, LINE_HUNK_COUNT, SPLIT_WITH_NEWLINES, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
1
+ import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, SPLIT_WITH_NEWLINES, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
2
2
  import { areSelectionsEqual } from "./utils/areSelectionsEqual.js";
3
3
  import { LineSelectionManager, pluckLineSelectionOptions } from "./managers/LineSelectionManager.js";
4
4
  import { MouseEventManager, pluckMouseEventOptions } from "./managers/MouseEventManager.js";
@@ -20,8 +20,9 @@ import { disposeHighlighter, getHighlighterIfLoaded, getSharedHighlighter, isHig
20
20
  import { getThemes } from "./utils/getThemes.js";
21
21
  import { areThemesAttached } from "./highlighter/themes/areThemesAttached.js";
22
22
  import { hasResolvedThemes } from "./highlighter/themes/hasResolvedThemes.js";
23
+ import { areRenderRangesEqual } from "./utils/areRenderRangesEqual.js";
23
24
  import { areThemesEqual } from "./utils/areThemesEqual.js";
24
- import { createBufferElement, createHastElement, createIconElement, createTextNodeElement, findCodeElement } from "./utils/hast_utils.js";
25
+ import { createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createIconElement, createTextNodeElement, findCodeElement } from "./utils/hast_utils.js";
25
26
  import { createAnnotationElement } from "./utils/createAnnotationElement.js";
26
27
  import { getIconForType } from "./utils/getIconForType.js";
27
28
  import { createFileHeaderElement } from "./utils/createFileHeaderElement.js";
@@ -50,7 +51,6 @@ import { prerenderHTMLIfNecessary } from "./utils/prerenderHTMLIfNecessary.js";
50
51
  import { setPreNodeProperties } from "./utils/setWrapperNodeProps.js";
51
52
  import { File } from "./components/File.js";
52
53
  import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
53
- import { areRenderRangesEqual } from "./utils/areRenderRangesEqual.js";
54
54
  import { createEmptyRowBuffer } from "./utils/createEmptyRowBuffer.js";
55
55
  import { createNoNewlineElement } from "./utils/createNoNewlineElement.js";
56
56
  import { createSeparator } from "./utils/createSeparator.js";
@@ -69,9 +69,13 @@ import { FileDiff } from "./components/FileDiff.js";
69
69
  import { queueRender } from "./managers/UniversalRenderingManager.js";
70
70
  import { ShikiStreamTokenizer } from "./shiki-stream/tokenizer.js";
71
71
  import { CodeToTokenTransformStream } from "./shiki-stream/stream.js";
72
- import { createRowNodes } from "./utils/createRowNodes.js";
73
72
  import { createSpanFromToken } from "./utils/createSpanNodeFromToken.js";
74
73
  import { FileStream } from "./components/FileStream.js";
74
+ import { VirtualizedFile } from "./components/VirtualizedFile.js";
75
+ import { VirtualizedFileDiff } from "./components/VirtualizedFileDiff.js";
76
+ import { areVirtualWindowSpecsEqual } from "./utils/areVirtualWindowSpecsEqual.js";
77
+ import { createWindowFromScrollPosition } from "./utils/createWindowFromScrollPosition.js";
78
+ import { Virtualizer } from "./components/Virtualizer.js";
75
79
  import { getResolvedLanguages } from "./highlighter/languages/getResolvedLanguages.js";
76
80
  import { hasResolvedLanguages } from "./highlighter/languages/hasResolvedLanguages.js";
77
81
  import { registerCustomLanguage } from "./highlighter/languages/registerCustomLanguage.js";
@@ -81,10 +85,9 @@ import { registerCustomCSSVariableTheme } from "./highlighter/themes/registerCus
81
85
  import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
82
86
  import { areObjectsEqual } from "./utils/areObjectsEqual.js";
83
87
  import { areOptionsEqual } from "./utils/areOptionsEqual.js";
84
- import { areVirtualWindowSpecsEqual } from "./utils/areVirtualWindowSpecsEqual.js";
85
88
  import { areWorkerStatsEqual } from "./utils/areWorkerStatsEqual.js";
89
+ import { createRowNodes } from "./utils/createRowNodes.js";
86
90
  import { createStyleElement } from "./utils/createStyleElement.js";
87
- import { createWindowFromScrollPosition } from "./utils/createWindowFromScrollPosition.js";
88
91
  import { diffAcceptRejectHunk } from "./utils/diffAcceptRejectHunk.js";
89
92
  import { getLineEndingType } from "./utils/getLineEndingType.js";
90
93
  import { getSingularPatch } from "./utils/getSingularPatch.js";
@@ -92,4 +95,4 @@ import { setLanguageOverride } from "./utils/setLanguageOverride.js";
92
95
  import { trimPatchContext } from "./utils/trimPatchContext.js";
93
96
  import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";
94
97
 
95
- export { ALTERNATE_FILE_NAMES_GIT, AttachedLanguages, AttachedThemes, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_EXTENSION_TO_FILE_FORMAT, CodeToTokenTransformStream, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_THEMES, DIFFS_TAG_NAME, DIFF_HEADER_HEIGHT, DiffHunksRenderer, EXTENSION_TO_FILE_FORMAT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, FILE_GAP, File, FileDiff, FileRenderer, FileStream, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, HUNK_SEPARATOR_HEIGHT, INDEX_LINE_METADATA, LINE_HEIGHT, LINE_HUNK_COUNT, LineSelectionManager, MouseEventManager, RegisteredCustomLanguages, RegisteredCustomThemes, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteSheet, ScrollSyncManager, ShikiStreamTokenizer, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, areDiffLineAnnotationsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createBufferElement, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createHastElement, createHoverContentNode, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, diffAcceptRejectHunk, disposeHighlighter, extendFileFormatMap, findCodeElement, formatCSSVariablePrefix, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckLineSelectionOptions, pluckMouseEventOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, resolveLanguage, resolveLanguages, resolveTheme, resolveThemes, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapUnsafeCSS };
98
+ export { ALTERNATE_FILE_NAMES_GIT, AttachedLanguages, AttachedThemes, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_EXTENSION_TO_FILE_FORMAT, CodeToTokenTransformStream, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, DiffHunksRenderer, EXTENSION_TO_FILE_FORMAT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileDiff, FileRenderer, FileStream, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, LineSelectionManager, MouseEventManager, RegisteredCustomLanguages, RegisteredCustomThemes, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteSheet, ScrollSyncManager, ShikiStreamTokenizer, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, VirtualizedFile, VirtualizedFileDiff, Virtualizer, areDiffLineAnnotationsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createHoverContentNode, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, diffAcceptRejectHunk, disposeHighlighter, extendFileFormatMap, findCodeElement, formatCSSVariablePrefix, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckLineSelectionOptions, pluckMouseEventOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, resolveLanguage, resolveLanguages, resolveTheme, resolveThemes, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapUnsafeCSS };
@@ -1,26 +1,27 @@
1
- import { AnnotationSide } from "../types.js";
1
+ import { SelectionSide } from "../types.js";
2
2
 
3
3
  //#region src/managers/LineSelectionManager.d.ts
4
- type SelectionSide = AnnotationSide;
5
4
  interface SelectedLineRange {
6
5
  start: number;
7
6
  side?: SelectionSide;
8
7
  end: number;
9
8
  endSide?: SelectionSide;
10
9
  }
10
+ type GetLineIndexUtility = (lineNumber: number, side?: SelectionSide) => [number, number] | undefined;
11
11
  interface LineSelectionOptions {
12
12
  enableLineSelection?: boolean;
13
13
  onLineSelected?: (range: SelectedLineRange | null) => void;
14
14
  onLineSelectionStart?: (range: SelectedLineRange | null) => void;
15
15
  onLineSelectionEnd?: (range: SelectedLineRange | null) => void;
16
+ getLineIndex?: GetLineIndexUtility;
16
17
  }
17
18
  /**
18
- * Manages line selection state and interactions for code/diff viewers.
19
- * Handles:
20
- * - Click and drag selection
21
- * - Shift-click to extend selection
22
- * - DOM attribute updates (data-selected-line)
23
- */
19
+ * Manages line selection state and interactions for code/diff viewers.
20
+ * Handles:
21
+ * - Click and drag selection
22
+ * - Shift-click to extend selection
23
+ * - DOM attribute updates (data-selected-line)
24
+ */
24
25
  declare class LineSelectionManager {
25
26
  private options;
26
27
  private pre;
@@ -36,30 +37,28 @@ declare class LineSelectionManager {
36
37
  isDirty(): boolean;
37
38
  setSelection(range: SelectedLineRange | null): void;
38
39
  getSelection(): SelectedLineRange | null;
40
+ getLineIndex(lineNumber: number, side?: SelectionSide): [number, number] | undefined;
39
41
  private attachEventListeners;
40
42
  private removeEventListeners;
41
43
  private handleMouseDown;
42
44
  private handleMouseMove;
43
45
  private handleMouseUp;
44
46
  private updateSelection;
45
- private updateSelection;
47
+ private getIndexesFromSelection;
46
48
  private renderSelection;
47
- private deriveRowRangeFromDOM;
48
- private findRowIndexForLineNumber;
49
49
  private notifySelectionChange;
50
50
  private notifySelectionStart;
51
51
  private notifySelectionEnd;
52
52
  private getMouseEventDataForPath;
53
53
  private getLineNumber;
54
- private getLineIndex;
55
- private getLineSideFromElement;
54
+ private parseLineIndex;
56
55
  }
57
56
  declare function pluckLineSelectionOptions({
58
57
  enableLineSelection,
59
58
  onLineSelected,
60
59
  onLineSelectionStart,
61
60
  onLineSelectionEnd
62
- }: LineSelectionOptions): LineSelectionOptions;
61
+ }: LineSelectionOptions, getLineIndex?: GetLineIndexUtility): LineSelectionOptions;
63
62
  //#endregion
64
- export { LineSelectionManager, LineSelectionOptions, SelectedLineRange, SelectionSide, pluckLineSelectionOptions };
63
+ export { GetLineIndexUtility, LineSelectionManager, LineSelectionOptions, SelectedLineRange, pluckLineSelectionOptions };
65
64
  //# sourceMappingURL=LineSelectionManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LineSelectionManager.d.ts","names":["options: LineSelectionOptions"],"sources":["../../src/managers/LineSelectionManager.ts"],"sourcesContent":[],"mappings":";;;KAGY,aAAA,GAAgB;UAEX,iBAAA;EAFjB,KAAY,EAAA,MAAA;EAEZ,IAAiB,CAAA,EAER,aAFQ;EAOjB,GAAiB,EAAA,MAAA;EAEU,OAAA,CAAA,EALf,aAKe;;AAEI,UAJd,oBAAA,CAIc;EAAA,mBAAA,CAAA,EAAA,OAAA;EAgB/B,cAAa,CAAA,EAAA,CAAA,KAAA,EAlBc,iBAkBd,GAAA,IAAA,EAAA,GAAA,IAAA;EAOkB,oBAAA,CAAA,EAAA,CAAA,KAAA,EAxBE,iBAwBF,GAAA,IAAA,EAAA,GAAA,IAAA;EAET,kBAAA,CAAA,EAAA,CAAA,KAAA,EAzBS,iBAyBT,GAAA,IAAA,EAAA,GAAA,IAAA;;;;;AAqbtB;;;;AAIE,cAlcW,oBAAA,CAkcX;EACC,QAAA,OAAA;EAAuB,QAAA,GAAA;EAAA,QAAA,aAAA;;;;wBA5bK;sBAET;;aAoBT;;;sBAwBS;kBAaJ;;;;;;;;;;;;;;;;;;;iBA4XF,yBAAA;;;;;GAKb,uBAAuB"}
1
+ {"version":3,"file":"LineSelectionManager.d.ts","names":["SelectionSide","SelectedLineRange","GetLineIndexUtility","LineSelectionOptions","LineSelectionManager","HTMLPreElement","pluckLineSelectionOptions","enableLineSelection","onLineSelected","onLineSelectionStart","onLineSelectionEnd"],"sources":["../../src/managers/LineSelectionManager.d.ts"],"sourcesContent":["import type { SelectionSide } from '../types';\nexport interface SelectedLineRange {\n start: number;\n side?: SelectionSide;\n end: number;\n endSide?: SelectionSide;\n}\nexport type GetLineIndexUtility = (lineNumber: number, side?: SelectionSide) => [number, number] | undefined;\nexport interface LineSelectionOptions {\n enableLineSelection?: boolean;\n onLineSelected?: (range: SelectedLineRange | null) => void;\n onLineSelectionStart?: (range: SelectedLineRange | null) => void;\n onLineSelectionEnd?: (range: SelectedLineRange | null) => void;\n getLineIndex?: GetLineIndexUtility;\n}\n/**\n * Manages line selection state and interactions for code/diff viewers.\n * Handles:\n * - Click and drag selection\n * - Shift-click to extend selection\n * - DOM attribute updates (data-selected-line)\n */\nexport declare class LineSelectionManager {\n private options;\n private pre;\n private selectedRange;\n private renderedSelectionRange;\n private anchor;\n private _queuedRender;\n constructor(options?: LineSelectionOptions);\n setOptions(options: LineSelectionOptions): void;\n cleanUp(): void;\n setup(pre: HTMLPreElement): void;\n setDirty(): void;\n isDirty(): boolean;\n setSelection(range: SelectedLineRange | null): void;\n getSelection(): SelectedLineRange | null;\n getLineIndex(lineNumber: number, side?: SelectionSide): [number, number] | undefined;\n private attachEventListeners;\n private removeEventListeners;\n private handleMouseDown;\n private handleMouseMove;\n private handleMouseUp;\n private updateSelection;\n private getIndexesFromSelection;\n private renderSelection;\n private notifySelectionChange;\n private notifySelectionStart;\n private notifySelectionEnd;\n private getMouseEventDataForPath;\n private getLineNumber;\n private parseLineIndex;\n}\nexport declare function pluckLineSelectionOptions({ enableLineSelection, onLineSelected, onLineSelectionStart, onLineSelectionEnd }: LineSelectionOptions, getLineIndex?: GetLineIndexUtility): LineSelectionOptions;\n//# sourceMappingURL=LineSelectionManager.d.ts.map"],"mappings":";;;UACiBC,iBAAAA;;EAAAA,IAAAA,CAAAA,EAEND,aAFuB;EAMtBE,GAAAA,EAAAA,MAAAA;EACKC,OAAAA,CAAAA,EAHHH,aAGuB;;AAGFC,KAJvBC,mBAAAA,GAIuBD,CAAAA,UAAAA,EAAAA,MAAAA,EAAAA,IAAAA,CAAAA,EAJ2BD,aAI3BC,EAAAA,GAAAA,CAAAA,MAAAA,EAAAA,MAAAA,CAAAA,GAAAA,SAAAA;AACFA,UAJhBE,oBAAAA,CAIgBF;EACdC,mBAAAA,CAAAA,EAAAA,OAAAA;EAAmB,cAAA,CAAA,EAAA,CAAA,KAAA,EAHTD,iBAGS,GAAA,IAAA,EAAA,GAAA,IAAA;EASjBG,oBAAAA,CAAAA,EAAoB,CAAA,KAAA,EAXNH,iBAWM,GAAA,IAAA,EAAA,GAAA,IAAA;EAOfE,kBAAAA,CAAAA,EAAAA,CAAAA,KAAAA,EAjBOF,iBAiBPE,GAAAA,IAAAA,EAAAA,GAAAA,IAAAA;EACFA,YAAAA,CAAAA,EAjBLD,mBAiBKC;;;;;;AAuBxB;;;AAAyFM,cA/BpEL,oBAAAA,CA+BoEK;EAAsBC,QAAAA,OAAAA;EAAsBP,QAAAA,GAAAA;EAAqCD,QAAAA,aAAAA;EAAsBC,QAAAA,sBAAAA;EAAoB,QAAA,MAAA;;wBAxB1LA;sBACFA;;aAETE;;;sBAGSJ;kBACJA;0CACwBD;;;;;;;;;;;;;;;;iBAgBpBM,yBAAAA;;;;;GAA6GH,qCAAqCD,sBAAsBC"}