@pierre/diffs 1.1.0-beta.1 → 1.1.0-beta.11

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 (313) hide show
  1. package/README.md +7 -18
  2. package/dist/components/AdvancedVirtualizedFileDiff.d.ts +40 -0
  3. package/dist/components/AdvancedVirtualizedFileDiff.d.ts.map +1 -0
  4. package/dist/components/AdvancedVirtualizedFileDiff.js +145 -0
  5. package/dist/components/AdvancedVirtualizedFileDiff.js.map +1 -0
  6. package/dist/components/AdvancedVirtualizer.d.ts +38 -0
  7. package/dist/components/AdvancedVirtualizer.d.ts.map +1 -0
  8. package/dist/components/AdvancedVirtualizer.js +201 -0
  9. package/dist/components/AdvancedVirtualizer.js.map +1 -0
  10. package/dist/components/File.d.ts +60 -29
  11. package/dist/components/File.d.ts.map +1 -1
  12. package/dist/components/File.js +226 -26
  13. package/dist/components/File.js.map +1 -1
  14. package/dist/components/FileDiff.d.ts +44 -12
  15. package/dist/components/FileDiff.d.ts.map +1 -1
  16. package/dist/components/FileDiff.js +510 -71
  17. package/dist/components/FileDiff.js.map +1 -1
  18. package/dist/components/FileStream.d.ts +5 -0
  19. package/dist/components/FileStream.d.ts.map +1 -1
  20. package/dist/components/FileStream.js +66 -8
  21. package/dist/components/FileStream.js.map +1 -1
  22. package/dist/components/VirtualizedFile.d.ts +33 -0
  23. package/dist/components/VirtualizedFile.d.ts.map +1 -0
  24. package/dist/components/VirtualizedFile.js +227 -0
  25. package/dist/components/VirtualizedFile.js.map +1 -0
  26. package/dist/components/VirtualizedFileDiff.d.ts +39 -0
  27. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -0
  28. package/dist/components/VirtualizedFileDiff.js +316 -0
  29. package/dist/components/VirtualizedFileDiff.js.map +1 -0
  30. package/dist/components/Virtualizer.d.ts +63 -0
  31. package/dist/components/Virtualizer.d.ts.map +1 -0
  32. package/dist/components/Virtualizer.js +369 -0
  33. package/dist/components/Virtualizer.js.map +1 -0
  34. package/dist/components/VirtulizerDevelopment.d.ts +14 -0
  35. package/dist/components/VirtulizerDevelopment.d.ts.map +1 -0
  36. package/dist/components/web-components.d.ts +1 -1
  37. package/dist/components/web-components.d.ts.map +1 -1
  38. package/dist/constants.d.ts +6 -8
  39. package/dist/constants.d.ts.map +1 -1
  40. package/dist/constants.js +16 -7
  41. package/dist/constants.js.map +1 -1
  42. package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
  43. package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
  44. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
  45. package/dist/highlighter/languages/constants.d.ts +3 -1
  46. package/dist/highlighter/languages/constants.d.ts.map +1 -1
  47. package/dist/highlighter/languages/constants.js +2 -1
  48. package/dist/highlighter/languages/constants.js.map +1 -1
  49. package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
  50. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +1 -1
  51. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
  52. package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
  53. package/dist/highlighter/languages/registerCustomLanguage.d.ts +19 -0
  54. package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -0
  55. package/dist/highlighter/languages/registerCustomLanguage.js +21 -0
  56. package/dist/highlighter/languages/registerCustomLanguage.js.map +1 -0
  57. package/dist/highlighter/languages/resolveLanguage.d.ts +1 -1
  58. package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
  59. package/dist/highlighter/languages/resolveLanguage.js +4 -3
  60. package/dist/highlighter/languages/resolveLanguage.js.map +1 -1
  61. package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -1
  62. package/dist/highlighter/shared_highlighter.d.ts +4 -2
  63. package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  64. package/dist/highlighter/shared_highlighter.js +3 -3
  65. package/dist/highlighter/shared_highlighter.js.map +1 -1
  66. package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
  67. package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
  68. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
  69. package/dist/highlighter/themes/constants.d.ts.map +1 -1
  70. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
  71. package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
  72. package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
  73. package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
  74. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
  75. package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
  76. package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
  77. package/dist/index.d.ts +17 -12
  78. package/dist/index.js +14 -9
  79. package/dist/managers/LineSelectionManager.d.ts +14 -15
  80. package/dist/managers/LineSelectionManager.d.ts.map +1 -1
  81. package/dist/managers/LineSelectionManager.js +60 -71
  82. package/dist/managers/LineSelectionManager.js.map +1 -1
  83. package/dist/managers/MouseEventManager.d.ts +13 -6
  84. package/dist/managers/MouseEventManager.d.ts.map +1 -1
  85. package/dist/managers/MouseEventManager.js +161 -47
  86. package/dist/managers/MouseEventManager.js.map +1 -1
  87. package/dist/managers/ResizeManager.d.ts +6 -1
  88. package/dist/managers/ResizeManager.d.ts.map +1 -1
  89. package/dist/managers/ResizeManager.js +114 -64
  90. package/dist/managers/ResizeManager.js.map +1 -1
  91. package/dist/managers/ScrollSyncManager.d.ts.map +1 -1
  92. package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  93. package/dist/react/File.d.ts +1 -0
  94. package/dist/react/File.d.ts.map +1 -1
  95. package/dist/react/File.js +2 -1
  96. package/dist/react/File.js.map +1 -1
  97. package/dist/react/FileDiff.d.ts +1 -0
  98. package/dist/react/FileDiff.d.ts.map +1 -1
  99. package/dist/react/FileDiff.js +2 -1
  100. package/dist/react/FileDiff.js.map +1 -1
  101. package/dist/react/MultiFileDiff.d.ts +1 -0
  102. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  103. package/dist/react/MultiFileDiff.js +2 -1
  104. package/dist/react/MultiFileDiff.js.map +1 -1
  105. package/dist/react/PatchDiff.d.ts +1 -0
  106. package/dist/react/PatchDiff.d.ts.map +1 -1
  107. package/dist/react/PatchDiff.js +3 -2
  108. package/dist/react/PatchDiff.js.map +1 -1
  109. package/dist/react/Virtualizer.d.ts +25 -0
  110. package/dist/react/Virtualizer.d.ts.map +1 -0
  111. package/dist/react/Virtualizer.js +38 -0
  112. package/dist/react/Virtualizer.js.map +1 -0
  113. package/dist/react/WorkerPoolContext.d.ts.map +1 -1
  114. package/dist/react/WorkerPoolContext.js +1 -1
  115. package/dist/react/WorkerPoolContext.js.map +1 -1
  116. package/dist/react/constants.d.ts.map +1 -1
  117. package/dist/react/index.d.ts +3 -2
  118. package/dist/react/index.js +2 -1
  119. package/dist/react/jsx.d.ts.map +1 -1
  120. package/dist/react/types.d.ts +5 -3
  121. package/dist/react/types.d.ts.map +1 -1
  122. package/dist/react/utils/renderDiffChildren.d.ts +5 -5
  123. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  124. package/dist/react/utils/renderFileChildren.d.ts +5 -5
  125. package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  126. package/dist/react/utils/templateRender.d.ts.map +1 -1
  127. package/dist/react/utils/useFileDiffInstance.d.ts +5 -3
  128. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  129. package/dist/react/utils/useFileDiffInstance.js +6 -2
  130. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  131. package/dist/react/utils/useFileInstance.d.ts +5 -3
  132. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  133. package/dist/react/utils/useFileInstance.js +6 -2
  134. package/dist/react/utils/useFileInstance.js.map +1 -1
  135. package/dist/react/utils/useStableCallback.d.ts.map +1 -1
  136. package/dist/react/utils/useStableCallback.js.map +1 -1
  137. package/dist/renderers/DiffHunksRenderer.d.ts +15 -10
  138. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  139. package/dist/renderers/DiffHunksRenderer.js +249 -140
  140. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  141. package/dist/renderers/FileRenderer.d.ts +12 -5
  142. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  143. package/dist/renderers/FileRenderer.js +90 -31
  144. package/dist/renderers/FileRenderer.js.map +1 -1
  145. package/dist/shiki-stream/stream.d.ts +3 -3
  146. package/dist/shiki-stream/stream.d.ts.map +1 -1
  147. package/dist/shiki-stream/stream.js.map +1 -1
  148. package/dist/shiki-stream/tokenizer.d.ts +3 -3
  149. package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  150. package/dist/shiki-stream/tokenizer.js.map +1 -1
  151. package/dist/shiki-stream/types.d.ts +19 -19
  152. package/dist/shiki-stream/types.d.ts.map +1 -1
  153. package/dist/sprite.d.ts +1 -1
  154. package/dist/sprite.d.ts.map +1 -1
  155. package/dist/ssr/FileDiffReact.d.ts.map +1 -1
  156. package/dist/ssr/FileDiffReact.js +1 -1
  157. package/dist/ssr/index.d.ts +2 -2
  158. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  159. package/dist/ssr/preloadFile.d.ts.map +1 -1
  160. package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  161. package/dist/ssr/preloadPatchFile.js.map +1 -1
  162. package/dist/ssr/renderHTML.d.ts.map +1 -1
  163. package/dist/style.js +1 -1
  164. package/dist/style.js.map +1 -1
  165. package/dist/types.d.ts +200 -165
  166. package/dist/types.d.ts.map +1 -1
  167. package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
  168. package/dist/utils/areDiffLineAnnotationsEqual.js.map +1 -1
  169. package/dist/utils/areFilesEqual.d.ts.map +1 -1
  170. package/dist/utils/areHunkDataEqual.d.ts.map +1 -1
  171. package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
  172. package/dist/utils/areObjectsEqual.d.ts.map +1 -1
  173. package/dist/utils/areOptionsEqual.d.ts +1 -1
  174. package/dist/utils/areOptionsEqual.d.ts.map +1 -1
  175. package/dist/utils/arePrePropertiesEqual.d.ts.map +1 -1
  176. package/dist/utils/arePrePropertiesEqual.js +1 -1
  177. package/dist/utils/arePrePropertiesEqual.js.map +1 -1
  178. package/dist/utils/areRenderRangesEqual.d.ts.map +1 -1
  179. package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
  180. package/dist/utils/areThemesEqual.d.ts.map +1 -1
  181. package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
  182. package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
  183. package/dist/utils/cleanLastNewline.d.ts.map +1 -1
  184. package/dist/utils/createAnnotationElement.d.ts.map +1 -1
  185. package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
  186. package/dist/utils/createContentColumn.d.ts +7 -0
  187. package/dist/utils/createContentColumn.d.ts.map +1 -0
  188. package/dist/utils/createContentColumn.js +17 -0
  189. package/dist/utils/createContentColumn.js.map +1 -0
  190. package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
  191. package/dist/utils/createEmptyRowBuffer.js +2 -1
  192. package/dist/utils/createEmptyRowBuffer.js.map +1 -1
  193. package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  194. package/dist/utils/createHoverContentNode.d.ts.map +1 -1
  195. package/dist/utils/createNoNewlineElement.d.ts +2 -1
  196. package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
  197. package/dist/utils/createNoNewlineElement.js +3 -6
  198. package/dist/utils/createNoNewlineElement.js.map +1 -1
  199. package/dist/utils/createPreElement.d.ts +2 -1
  200. package/dist/utils/createPreElement.d.ts.map +1 -1
  201. package/dist/utils/createPreElement.js +4 -3
  202. package/dist/utils/createPreElement.js.map +1 -1
  203. package/dist/utils/createRowNodes.d.ts.map +1 -1
  204. package/dist/utils/createSeparator.d.ts.map +1 -1
  205. package/dist/utils/createSeparator.js +2 -2
  206. package/dist/utils/createSeparator.js.map +1 -1
  207. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
  208. package/dist/utils/createSpanNodeFromToken.js.map +1 -1
  209. package/dist/utils/createStyleElement.d.ts.map +1 -1
  210. package/dist/utils/createTransformerWithState.d.ts.map +1 -1
  211. package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
  212. package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
  213. package/dist/utils/cssWrappers.d.ts.map +1 -1
  214. package/dist/utils/diffAcceptRejectHunk.d.ts +1 -1
  215. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
  216. package/dist/utils/formatCSSVariablePrefix.d.ts +1 -1
  217. package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
  218. package/dist/utils/getFiletypeFromFileName.d.ts +2 -1
  219. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  220. package/dist/utils/getFiletypeFromFileName.js +14 -4
  221. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  222. package/dist/utils/getHighlighterOptions.d.ts +7 -2
  223. package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  224. package/dist/utils/getHighlighterOptions.js +3 -2
  225. package/dist/utils/getHighlighterOptions.js.map +1 -1
  226. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
  227. package/dist/utils/getHunkSeparatorSlotName.d.ts +3 -1
  228. package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
  229. package/dist/utils/getHunkSeparatorSlotName.js.map +1 -1
  230. package/dist/utils/getIconForType.d.ts +1 -1
  231. package/dist/utils/getIconForType.d.ts.map +1 -1
  232. package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
  233. package/dist/utils/getLineEndingType.d.ts +1 -1
  234. package/dist/utils/getLineEndingType.d.ts.map +1 -1
  235. package/dist/utils/getLineNodes.d.ts.map +1 -1
  236. package/dist/utils/getOrCreateCodeNode.d.ts +4 -2
  237. package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
  238. package/dist/utils/getOrCreateCodeNode.js +9 -6
  239. package/dist/utils/getOrCreateCodeNode.js.map +1 -1
  240. package/dist/utils/getSingularPatch.d.ts.map +1 -1
  241. package/dist/utils/getThemes.d.ts.map +1 -1
  242. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  243. package/dist/utils/hast_utils.d.ts +6 -3
  244. package/dist/utils/hast_utils.d.ts.map +1 -1
  245. package/dist/utils/hast_utils.js +28 -4
  246. package/dist/utils/hast_utils.js.map +1 -1
  247. package/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
  248. package/dist/utils/isWorkerContext.d.ts.map +1 -1
  249. package/dist/utils/iterateOverDiff.d.ts +28 -13
  250. package/dist/utils/iterateOverDiff.d.ts.map +1 -1
  251. package/dist/utils/iterateOverDiff.js +101 -60
  252. package/dist/utils/iterateOverDiff.js.map +1 -1
  253. package/dist/utils/iterateOverFile.d.ts +50 -0
  254. package/dist/utils/iterateOverFile.d.ts.map +1 -0
  255. package/dist/utils/iterateOverFile.js +49 -0
  256. package/dist/utils/iterateOverFile.js.map +1 -0
  257. package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
  258. package/dist/utils/parseDiffFromFile.d.ts +6 -6
  259. package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  260. package/dist/utils/parseDiffFromFile.js +3 -2
  261. package/dist/utils/parseDiffFromFile.js.map +1 -1
  262. package/dist/utils/parseLineType.d.ts +1 -1
  263. package/dist/utils/parseLineType.d.ts.map +1 -1
  264. package/dist/utils/parsePatchFiles.d.ts +12 -10
  265. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  266. package/dist/utils/parsePatchFiles.js +20 -11
  267. package/dist/utils/parsePatchFiles.js.map +1 -1
  268. package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
  269. package/dist/utils/processLine.d.ts.map +1 -1
  270. package/dist/utils/processLine.js +7 -24
  271. package/dist/utils/processLine.js.map +1 -1
  272. package/dist/utils/renderDiffWithHighlighter.d.ts +4 -3
  273. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  274. package/dist/utils/renderDiffWithHighlighter.js +18 -16
  275. package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  276. package/dist/utils/renderFileWithHighlighter.d.ts +7 -2
  277. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  278. package/dist/utils/renderFileWithHighlighter.js +30 -4
  279. package/dist/utils/renderFileWithHighlighter.js.map +1 -1
  280. package/dist/utils/resolveVirtualFileMetrics.d.ts +7 -0
  281. package/dist/utils/resolveVirtualFileMetrics.d.ts.map +1 -0
  282. package/dist/utils/resolveVirtualFileMetrics.js +25 -0
  283. package/dist/utils/resolveVirtualFileMetrics.js.map +1 -0
  284. package/dist/utils/setLanguageOverride.d.ts +2 -1
  285. package/dist/utils/setLanguageOverride.d.ts.map +1 -1
  286. package/dist/utils/setLanguageOverride.js.map +1 -1
  287. package/dist/utils/setWrapperNodeProps.d.ts +1 -0
  288. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  289. package/dist/utils/setWrapperNodeProps.js +19 -12
  290. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  291. package/dist/utils/splitFileContents.d.ts +12 -0
  292. package/dist/utils/splitFileContents.d.ts.map +1 -0
  293. package/dist/utils/splitFileContents.js +17 -0
  294. package/dist/utils/splitFileContents.js.map +1 -0
  295. package/dist/utils/trimPatchContext.d.ts +11 -0
  296. package/dist/utils/trimPatchContext.d.ts.map +1 -0
  297. package/dist/utils/trimPatchContext.js +99 -0
  298. package/dist/utils/trimPatchContext.js.map +1 -0
  299. package/dist/worker/WorkerPoolManager.d.ts +6 -4
  300. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  301. package/dist/worker/WorkerPoolManager.js +47 -29
  302. package/dist/worker/WorkerPoolManager.js.map +1 -1
  303. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
  304. package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -1
  305. package/dist/worker/types.d.ts +29 -27
  306. package/dist/worker/types.d.ts.map +1 -1
  307. package/dist/worker/wasm-BlUZCxHM.js +10 -0
  308. package/dist/worker/wasm-BlUZCxHM.js.map +1 -0
  309. package/dist/worker/worker-portable.js +10887 -10257
  310. package/dist/worker/worker-portable.js.map +1 -1
  311. package/dist/worker/worker.js +249 -132
  312. package/dist/worker/worker.js.map +1 -1
  313. package/package.json +50 -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","FILE_MODE_FROM_INDEX: 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,oBAJ2B,EAIL,MAJK;AAE3BD,cAKA,uBAAA,GAL0B,iBAAA;AAE1BC,cAKAC,cALsB,EAKN,UALM;AAGtB,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,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
@@ -9,7 +9,7 @@ const SPLIT_WITH_NEWLINES = /(?<=\n)/;
9
9
  const FILENAME_HEADER_REGEX = /^(---|\+\+\+)\s+([^\t\r\n]+)/;
10
10
  const FILENAME_HEADER_REGEX_GIT = /^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/;
11
11
  const ALTERNATE_FILE_NAMES_GIT = /^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/;
12
- const FILE_MODE_FROM_INDEX = /^index (?:[0-9a-f]+)\.\.(?:[0-9a-f]+)(?: (\d+))?/;
12
+ const INDEX_LINE_METADATA = /^index ([0-9a-f]+)\.\.([0-9a-f]+)(?: (\d+))?$/i;
13
13
  const HEADER_METADATA_SLOT_ID = "header-metadata";
14
14
  const DEFAULT_THEMES = {
15
15
  dark: "pierre-dark",
@@ -17,16 +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;
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
+ };
25
28
  const DEFAULT_EXPANDED_REGION = Object.freeze({
26
29
  fromStart: 0,
27
30
  fromEnd: 0
28
31
  });
32
+ const DEFAULT_RENDER_RANGE = {
33
+ startingLine: 0,
34
+ totalLines: Infinity,
35
+ bufferBefore: 0,
36
+ bufferAfter: 0
37
+ };
29
38
 
30
39
  //#endregion
31
- export { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, DEFAULT_EXPANDED_REGION, DEFAULT_THEMES, DIFFS_TAG_NAME, DIFF_HEADER_HEIGHT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, FILE_GAP, FILE_MODE_FROM_INDEX, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, HUNK_SEPARATOR_HEIGHT, 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 };
32
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","FILE_MODE_FROM_INDEX: 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 FILE_MODE_FROM_INDEX: RegExp =\n /^index (?:[0-9a-f]+)\\.\\.(?:[0-9a-f]+)(?: (\\d+))?/;\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;\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,uBACX;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;AAExB,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,11 +1,13 @@
1
1
  import { SupportedLanguages } from "../../types.js";
2
2
  import { ResolvedLanguage } from "../../worker/types.js";
3
3
  import "../../worker/index.js";
4
+ import { DynamicImportLanguageRegistration } from "shiki";
4
5
 
5
6
  //#region src/highlighter/languages/constants.d.ts
6
7
  declare const ResolvedLanguages: Map<SupportedLanguages, ResolvedLanguage>;
7
8
  declare const ResolvingLanguages: Map<SupportedLanguages, Promise<ResolvedLanguage>>;
9
+ declare const RegisteredCustomLanguages: Map<string, DynamicImportLanguageRegistration>;
8
10
  declare const AttachedLanguages: Set<string>;
9
11
  //#endregion
10
- export { AttachedLanguages, ResolvedLanguages, ResolvingLanguages };
12
+ export { AttachedLanguages, RegisteredCustomLanguages, ResolvedLanguages, ResolvingLanguages };
11
13
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","names":["ResolvedLanguages: Map<SupportedLanguages, ResolvedLanguage>","ResolvingLanguages: Map<\n SupportedLanguages,\n Promise<ResolvedLanguage>\n>","AttachedLanguages: Set<string>"],"sources":["../../../src/highlighter/languages/constants.ts"],"sourcesContent":[],"mappings":";;;;;cAGaA,mBAAmB,IAAI,oBAAoB;cAG3CC,oBAAoB,IAC/B,oBACA,QAAQ;cAGGC,mBAAmB"}
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,8 +1,9 @@
1
1
  //#region src/highlighter/languages/constants.ts
2
2
  const ResolvedLanguages = /* @__PURE__ */ new Map();
3
3
  const ResolvingLanguages = /* @__PURE__ */ new Map();
4
+ const RegisteredCustomLanguages = /* @__PURE__ */ new Map();
4
5
  const AttachedLanguages = /* @__PURE__ */ new Set();
5
6
 
6
7
  //#endregion
7
- export { AttachedLanguages, ResolvedLanguages, ResolvingLanguages };
8
+ export { AttachedLanguages, RegisteredCustomLanguages, ResolvedLanguages, ResolvingLanguages };
8
9
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["ResolvedLanguages: Map<SupportedLanguages, ResolvedLanguage>","ResolvingLanguages: Map<\n SupportedLanguages,\n Promise<ResolvedLanguage>\n>","AttachedLanguages: Set<string>"],"sources":["../../../src/highlighter/languages/constants.ts"],"sourcesContent":["import type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\n\nexport const ResolvedLanguages: Map<SupportedLanguages, ResolvedLanguage> =\n new Map();\n\nexport const ResolvingLanguages: Map<\n SupportedLanguages,\n Promise<ResolvedLanguage>\n> = new Map();\n\nexport const AttachedLanguages: Set<string> = new Set();\n"],"mappings":";AAGA,MAAaA,oCACX,IAAI,KAAK;AAEX,MAAaC,qCAGT,IAAI,KAAK;AAEb,MAAaC,oCAAiC,IAAI,KAAK"}
1
+ {"version":3,"file":"constants.js","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":["import type { DynamicImportLanguageRegistration } from 'shiki';\n\nimport type { SupportedLanguages } from '../../types';\nimport type { ResolvedLanguage } from '../../worker';\n\nexport const ResolvedLanguages: Map<SupportedLanguages, ResolvedLanguage> =\n new Map();\n\nexport const ResolvingLanguages: Map<\n SupportedLanguages,\n Promise<ResolvedLanguage>\n> = new Map();\n\nexport const RegisteredCustomLanguages: Map<\n string,\n DynamicImportLanguageRegistration\n> = new Map();\n\nexport const AttachedLanguages: Set<string> = new Set();\n"],"mappings":";AAKA,MAAaA,oCACX,IAAI,KAAK;AAEX,MAAaC,qCAGT,IAAI,KAAK;AAEb,MAAaC,4CAGT,IAAI,KAAK;AAEb,MAAaC,oCAAiC,IAAI,KAAK"}
@@ -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"}
@@ -0,0 +1,19 @@
1
+ import { DynamicImportLanguageRegistration } from "shiki";
2
+
3
+ //#region src/highlighter/languages/registerCustomLanguage.d.ts
4
+
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,
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;
17
+ //#endregion
18
+ export { registerCustomLanguage };
19
+ //# sourceMappingURL=registerCustomLanguage.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,21 @@
1
+ import { RegisteredCustomLanguages } from "./constants.js";
2
+ import { CUSTOM_EXTENSION_TO_FILE_FORMAT } from "../../utils/getFiletypeFromFileName.js";
3
+
4
+ //#region src/highlighter/languages/registerCustomLanguage.ts
5
+ /**
6
+ * Register a custom language loader and optionally map it to
7
+ * file names or extensions.
8
+ */
9
+ function registerCustomLanguage(lang, loader, extensionsOrFilenames = []) {
10
+ if (lang === "text" || lang === "ansi") throw new Error("registerCustomLanguage: 'text' and 'ansi' are reserved language names");
11
+ if (RegisteredCustomLanguages.has(lang)) {
12
+ console.error(`registerCustomLanguage: lang: ${lang} is already registered`);
13
+ return;
14
+ }
15
+ RegisteredCustomLanguages.set(lang, loader);
16
+ for (const extension of extensionsOrFilenames) CUSTOM_EXTENSION_TO_FILE_FORMAT.set(extension, lang);
17
+ }
18
+
19
+ //#endregion
20
+ export { registerCustomLanguage };
21
+ //# sourceMappingURL=registerCustomLanguage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerCustomLanguage.js","names":[],"sources":["../../../src/highlighter/languages/registerCustomLanguage.ts"],"sourcesContent":["import type { DynamicImportLanguageRegistration } from 'shiki';\n\nimport { CUSTOM_EXTENSION_TO_FILE_FORMAT } from '../../utils/getFiletypeFromFileName';\nimport { RegisteredCustomLanguages } from './constants';\n\n/**\n * Register a custom language loader and optionally map it to\n * file names or extensions.\n */\nexport function registerCustomLanguage(\n lang: string,\n 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 */\n extensionsOrFilenames: string[] = []\n): void {\n if (lang === 'text' || lang === 'ansi') {\n throw new Error(\n \"registerCustomLanguage: 'text' and 'ansi' are reserved language names\"\n );\n }\n if (RegisteredCustomLanguages.has(lang)) {\n console.error(\n `registerCustomLanguage: lang: ${lang} is already registered`\n );\n return;\n }\n RegisteredCustomLanguages.set(lang, loader);\n for (const extension of extensionsOrFilenames) {\n CUSTOM_EXTENSION_TO_FILE_FORMAT.set(extension, lang);\n }\n}\n"],"mappings":";;;;;;;;AASA,SAAgB,uBACd,MACA,QAOA,wBAAkC,EAAE,EAC9B;AACN,KAAI,SAAS,UAAU,SAAS,OAC9B,OAAM,IAAI,MACR,wEACD;AAEH,KAAI,0BAA0B,IAAI,KAAK,EAAE;AACvC,UAAQ,MACN,iCAAiC,KAAK,wBACvC;AACD;;AAEF,2BAA0B,IAAI,MAAM,OAAO;AAC3C,MAAK,MAAM,aAAa,sBACtB,iCAAgC,IAAI,WAAW,KAAK"}
@@ -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":";;;;;iBAOsB,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,4 +1,4 @@
1
- import { ResolvedLanguages, ResolvingLanguages } from "./constants.js";
1
+ import { RegisteredCustomLanguages, ResolvedLanguages, ResolvingLanguages } from "./constants.js";
2
2
  import { isWorkerContext } from "../../utils/isWorkerContext.js";
3
3
  import { bundledLanguages } from "shiki";
4
4
 
@@ -8,8 +8,9 @@ async function resolveLanguage(lang) {
8
8
  const resolver = ResolvingLanguages.get(lang);
9
9
  if (resolver != null) return resolver;
10
10
  try {
11
- const loader = bundledLanguages[lang];
12
- if (loader == null) throw new Error(`resolveLanguage: "${lang}" not found in bundled languages`);
11
+ let loader = RegisteredCustomLanguages.get(lang);
12
+ if (loader == null && Object.prototype.hasOwnProperty.call(bundledLanguages, lang)) loader = bundledLanguages[lang];
13
+ if (loader == null) throw new Error(`resolveLanguage: "${lang}" not found in bundled or custom languages`);
13
14
  const resolver$1 = loader().then(({ default: data }) => {
14
15
  const resolvedLang = {
15
16
  name: lang,
@@ -1 +1 @@
1
- {"version":3,"file":"resolveLanguage.js","names":["resolver"],"sources":["../../../src/highlighter/languages/resolveLanguage.ts"],"sourcesContent":["import { bundledLanguages } from 'shiki';\n\nimport type { SupportedLanguages } from '../../types';\nimport { isWorkerContext } from '../../utils/isWorkerContext';\nimport type { ResolvedLanguage } from '../../worker';\nimport { ResolvedLanguages, ResolvingLanguages } from './constants';\n\nexport async function resolveLanguage(\n lang: Exclude<SupportedLanguages, 'text' | 'ansi'>\n): Promise<ResolvedLanguage> {\n // Prevent dynamic imports in worker contexts\n if (isWorkerContext()) {\n throw new Error(\n `resolveLanguage(\"${lang}\") cannot be called from a worker context. ` +\n 'Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.'\n );\n }\n\n const resolver = ResolvingLanguages.get(lang);\n if (resolver != null) {\n return resolver;\n }\n\n try {\n const loader = bundledLanguages[lang];\n if (loader == null) {\n throw new Error(\n `resolveLanguage: \"${lang}\" not found in bundled languages`\n );\n }\n\n const resolver = loader().then(({ default: data }) => {\n const resolvedLang = { name: lang, data };\n if (!ResolvedLanguages.has(lang)) {\n ResolvedLanguages.set(lang, resolvedLang);\n }\n return resolvedLang;\n });\n ResolvingLanguages.set(lang, resolver);\n return await resolver;\n } finally {\n ResolvingLanguages.delete(lang);\n }\n}\n"],"mappings":";;;;;AAOA,eAAsB,gBACpB,MAC2B;AAE3B,KAAI,iBAAiB,CACnB,OAAM,IAAI,MACR,oBAAoB,KAAK,4JAE1B;CAGH,MAAM,WAAW,mBAAmB,IAAI,KAAK;AAC7C,KAAI,YAAY,KACd,QAAO;AAGT,KAAI;EACF,MAAM,SAAS,iBAAiB;AAChC,MAAI,UAAU,KACZ,OAAM,IAAI,MACR,qBAAqB,KAAK,kCAC3B;EAGH,MAAMA,aAAW,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW;GACpD,MAAM,eAAe;IAAE,MAAM;IAAM;IAAM;AACzC,OAAI,CAAC,kBAAkB,IAAI,KAAK,CAC9B,mBAAkB,IAAI,MAAM,aAAa;AAE3C,UAAO;IACP;AACF,qBAAmB,IAAI,MAAMA,WAAS;AACtC,SAAO,MAAMA;WACL;AACR,qBAAmB,OAAO,KAAK"}
1
+ {"version":3,"file":"resolveLanguage.js","names":["resolver"],"sources":["../../../src/highlighter/languages/resolveLanguage.ts"],"sourcesContent":["import { bundledLanguages } from 'shiki';\n\nimport type { BundledLanguage, SupportedLanguages } from '../../types';\nimport { isWorkerContext } from '../../utils/isWorkerContext';\nimport type { ResolvedLanguage } from '../../worker';\nimport {\n RegisteredCustomLanguages,\n ResolvedLanguages,\n ResolvingLanguages,\n} from './constants';\n\nexport async function resolveLanguage(\n lang: Exclude<SupportedLanguages, 'text' | 'ansi'>\n): Promise<ResolvedLanguage> {\n // Prevent dynamic imports in worker contexts\n if (isWorkerContext()) {\n throw new Error(\n `resolveLanguage(\"${lang}\") cannot be called from a worker context. ` +\n 'Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.'\n );\n }\n\n const resolver = ResolvingLanguages.get(lang);\n if (resolver != null) {\n return resolver;\n }\n\n try {\n let loader = RegisteredCustomLanguages.get(lang);\n if (\n loader == null &&\n Object.prototype.hasOwnProperty.call(bundledLanguages, lang)\n ) {\n loader = bundledLanguages[lang as BundledLanguage];\n }\n if (loader == null) {\n throw new Error(\n `resolveLanguage: \"${lang}\" not found in bundled or custom languages`\n );\n }\n\n const resolver = loader().then(({ default: data }) => {\n const resolvedLang = { name: lang, data };\n if (!ResolvedLanguages.has(lang)) {\n ResolvedLanguages.set(lang, resolvedLang);\n }\n return resolvedLang;\n });\n ResolvingLanguages.set(lang, resolver);\n return await resolver;\n } finally {\n ResolvingLanguages.delete(lang);\n }\n}\n"],"mappings":";;;;;AAWA,eAAsB,gBACpB,MAC2B;AAE3B,KAAI,iBAAiB,CACnB,OAAM,IAAI,MACR,oBAAoB,KAAK,4JAE1B;CAGH,MAAM,WAAW,mBAAmB,IAAI,KAAK;AAC7C,KAAI,YAAY,KACd,QAAO;AAGT,KAAI;EACF,IAAI,SAAS,0BAA0B,IAAI,KAAK;AAChD,MACE,UAAU,QACV,OAAO,UAAU,eAAe,KAAK,kBAAkB,KAAK,CAE5D,UAAS,iBAAiB;AAE5B,MAAI,UAAU,KACZ,OAAM,IAAI,MACR,qBAAqB,KAAK,4CAC3B;EAGH,MAAMA,aAAW,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW;GACpD,MAAM,eAAe;IAAE,MAAM;IAAM;IAAM;AACzC,OAAI,CAAC,kBAAkB,IAAI,KAAK,CAC9B,mBAAkB,IAAI,MAAM,aAAa;AAE3C,UAAO;IACP;AACF,qBAAmB,IAAI,MAAMA,WAAS;AACtC,SAAO,MAAMA;WACL;AACR,qBAAmB,OAAO,KAAK"}
@@ -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,14 +1,16 @@
1
- import { DiffsHighlighter, DiffsThemeNames, SupportedLanguages } from "../types.js";
1
+ import { DiffsHighlighter, DiffsThemeNames, HighlighterTypes, SupportedLanguages } from "../types.js";
2
2
 
3
3
  //#region src/highlighter/shared_highlighter.d.ts
4
4
  type CachedOrLoadingHighlighterType = Promise<DiffsHighlighter> | DiffsHighlighter | undefined;
5
5
  interface HighlighterOptions {
6
6
  themes: DiffsThemeNames[];
7
7
  langs: SupportedLanguages[];
8
+ preferredHighlighter?: HighlighterTypes;
8
9
  }
9
10
  declare function getSharedHighlighter({
10
11
  themes,
11
- langs
12
+ langs,
13
+ preferredHighlighter
12
14
  }: HighlighterOptions): Promise<DiffsHighlighter>;
13
15
  declare function isHighlighterLoaded(h?: CachedOrLoadingHighlighterType): h is DiffsHighlighter;
14
16
  declare function getHighlighterIfLoaded(): DiffsHighlighter | undefined;
@@ -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","HighlighterTypes","SupportedLanguages","CachedOrLoadingHighlighterType","Promise","HighlighterOptions","getSharedHighlighter","themes","langs","preferredHighlighter","isHighlighterLoaded","getHighlighterIfLoaded","isHighlighterLoading","isHighlighterNull","preloadHighlighter","disposeHighlighter"],"sources":["../../src/highlighter/shared_highlighter.d.ts"],"sourcesContent":["import type { DiffsHighlighter, DiffsThemeNames, HighlighterTypes, SupportedLanguages } from '../types';\ntype CachedOrLoadingHighlighterType = Promise<DiffsHighlighter> | DiffsHighlighter | undefined;\ninterface HighlighterOptions {\n themes: DiffsThemeNames[];\n langs: SupportedLanguages[];\n preferredHighlighter?: HighlighterTypes;\n}\nexport declare function getSharedHighlighter({ themes, langs, preferredHighlighter }: 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":";;;KACKI,8BAAAA,GAAiCC,QAAQL,oBAAoBA;UACxDM,kBAAAA;EADLF,MAAAA,EAEOH,eAFPG,EAAAA;EAAyCJ,KAAAA,EAGnCG,kBAHmCH,EAAAA;EAARK,oBAAAA,CAAAA,EAIXH,gBAJWG;;AAA4C,iBAM1DE,oBAAAA,CAN0D;EAAA,MAAA;EAAA,KAAA;EAAA;AAAA,CAAA,EAMID,kBANJ,CAAA,EAMyBD,OANzB,CAMiCL,gBANjC,CAAA;AACxEM,iBAMcK,mBAAAA,CANI,CAAA,CAAA,EAMoBP,8BANpB,CAAA,EAAA,CAAA,IAM0DJ,gBAN1D;AAChBC,iBAMYW,sBAAAA,CAAAA,CANZX,EAMsCD,gBANtCC,GAAAA,SAAAA;AACDE,iBAMaU,oBAAAA,CANbV,CAAAA,CAAAA,EAMsCC,8BANtCD,CAAAA,EAAAA,CAAAA,IAM4EE,OAN5EF,CAMoFH,gBANpFG,CAAAA;AACgBD,iBAMHY,iBAAAA,CANGZ,CAAAA,CAAAA,EAMmBE,8BANnBF,CAAAA,EAAAA,CAAAA,IAAAA,SAAAA;AAAgB,iBAOnBa,kBAAAA,CAPmB,OAAA,EAOST,kBAPT,CAAA,EAO8BD,OAP9B,CAAA,IAAA,CAAA;AAEnBE,iBAMAS,kBAAAA,CAAAA,CANoB,EAMEX,OANF,CAAA,IAAA,CAAA"}
@@ -5,15 +5,15 @@ import { attachResolvedThemes } from "./themes/attachResolvedThemes.js";
5
5
  import { cleanUpResolvedThemes } from "./themes/cleanUpResolvedThemes.js";
6
6
  import { getResolvedOrResolveTheme } from "./themes/getResolvedOrResolveTheme.js";
7
7
  import { registerCustomTheme } from "./themes/registerCustomTheme.js";
8
- import { createHighlighter, createJavaScriptRegexEngine } from "shiki";
8
+ import { createHighlighter, createJavaScriptRegexEngine, createOnigurumaEngine } from "shiki";
9
9
 
10
10
  //#region src/highlighter/shared_highlighter.ts
11
11
  let highlighter;
12
- async function getSharedHighlighter({ themes, langs }) {
12
+ async function getSharedHighlighter({ themes, langs, preferredHighlighter = "shiki-js" }) {
13
13
  highlighter ??= createHighlighter({
14
14
  themes: [],
15
15
  langs: ["text"],
16
- engine: createJavaScriptRegexEngine()
16
+ engine: preferredHighlighter === "shiki-wasm" ? createOnigurumaEngine(import("shiki/wasm")) : createJavaScriptRegexEngine()
17
17
  });
18
18
  const instance = isHighlighterLoading(highlighter) ? await highlighter : highlighter;
19
19
  highlighter = instance;
@@ -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 {\n createHighlighter,\n createJavaScriptRegexEngine,\n createOnigurumaEngine,\n} from 'shiki';\n\nimport type {\n DiffsHighlighter,\n DiffsThemeNames,\n HighlighterTypes,\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 preferredHighlighter?: HighlighterTypes;\n}\n\nexport async function getSharedHighlighter({\n themes,\n langs,\n preferredHighlighter = 'shiki-js',\n}: HighlighterOptions): Promise<DiffsHighlighter> {\n highlighter ??= createHighlighter({\n themes: [],\n langs: ['text'],\n engine:\n preferredHighlighter === 'shiki-wasm'\n ? createOnigurumaEngine(import('shiki/wasm'))\n : 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":";;;;;;;;;;AA2BA,IAAIA;AAQJ,eAAsB,qBAAqB,EACzC,QACA,OACA,uBAAuB,cACyB;AAChD,iBAAgB,kBAAkB;EAChC,QAAQ,EAAE;EACV,OAAO,CAAC,OAAO;EACf,QACE,yBAAyB,eACrB,sBAAsB,OAAO,cAAc,GAC3C,6BAA6B;EACpC,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,23 +1,25 @@
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_EXPANDED_REGION, DEFAULT_THEMES, DIFFS_TAG_NAME, DIFF_HEADER_HEIGHT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, FILE_GAP, FILE_MODE_FROM_INDEX, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HUNK_HEADER, HUNK_SEPARATOR_HEIGHT, 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, HighlighterTypes, 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";
17
- import { AttachedLanguages, ResolvedLanguages, ResolvingLanguages } from "./highlighter/languages/constants.js";
18
+ import { AttachedLanguages, RegisteredCustomLanguages, ResolvedLanguages, ResolvingLanguages } from "./highlighter/languages/constants.js";
18
19
  import { getResolvedLanguages } from "./highlighter/languages/getResolvedLanguages.js";
19
20
  import { getResolvedOrResolveLanguage } from "./highlighter/languages/getResolvedOrResolveLanguage.js";
20
21
  import { hasResolvedLanguages } from "./highlighter/languages/hasResolvedLanguages.js";
22
+ import { registerCustomLanguage } from "./highlighter/languages/registerCustomLanguage.js";
21
23
  import { resolveLanguage } from "./highlighter/languages/resolveLanguage.js";
22
24
  import { resolveLanguages } from "./highlighter/languages/resolveLanguages.js";
23
25
  import { disposeHighlighter, getHighlighterIfLoaded, getSharedHighlighter, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, preloadHighlighter } from "./highlighter/shared_highlighter.js";
@@ -32,8 +34,9 @@ import { registerCustomCSSVariableTheme } from "./highlighter/themes/registerCus
32
34
  import { registerCustomTheme } from "./highlighter/themes/registerCustomTheme.js";
33
35
  import { resolveTheme } from "./highlighter/themes/resolveTheme.js";
34
36
  import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
37
+ import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
35
38
  import { queueRender } from "./managers/UniversalRenderingManager.js";
36
- import { FileRenderResult, FileRenderer, FileRendererOptions } from "./renderers/FileRenderer.js";
39
+ import { DiffHunksRenderer, HunksRenderResult } from "./renderers/DiffHunksRenderer.js";
37
40
  import { SVGSpriteNames, SVGSpriteSheet } from "./sprite.js";
38
41
  import { areDiffLineAnnotationsEqual } from "./utils/areDiffLineAnnotationsEqual.js";
39
42
  import { areFilesEqual } from "./utils/areFilesEqual.js";
@@ -65,7 +68,7 @@ import { createWindowFromScrollPosition } from "./utils/createWindowFromScrollPo
65
68
  import { wrapCoreCSS, wrapUnsafeCSS } from "./utils/cssWrappers.js";
66
69
  import { diffAcceptRejectHunk } from "./utils/diffAcceptRejectHunk.js";
67
70
  import { formatCSSVariablePrefix } from "./utils/formatCSSVariablePrefix.js";
68
- import { EXTENSION_TO_FILE_FORMAT, extendFileFormatMap, getFiletypeFromFileName } from "./utils/getFiletypeFromFileName.js";
71
+ import { CUSTOM_EXTENSION_TO_FILE_FORMAT, EXTENSION_TO_FILE_FORMAT, extendFileFormatMap, getFiletypeFromFileName } from "./utils/getFiletypeFromFileName.js";
69
72
  import { getHighlighterOptions } from "./utils/getHighlighterOptions.js";
70
73
  import { getHighlighterThemeStyles } from "./utils/getHighlighterThemeStyles.js";
71
74
  import { getHunkSeparatorSlotName } from "./utils/getHunkSeparatorSlotName.js";
@@ -77,7 +80,7 @@ import { getOrCreateCodeNode } from "./utils/getOrCreateCodeNode.js";
77
80
  import { getSingularPatch } from "./utils/getSingularPatch.js";
78
81
  import { getThemes } from "./utils/getThemes.js";
79
82
  import { getTotalLineCountFromHunks } from "./utils/getTotalLineCountFromHunks.js";
80
- 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";
81
84
  import { isDefaultRenderRange } from "./utils/isDefaultRenderRange.js";
82
85
  import { isWorkerContext } from "./utils/isWorkerContext.js";
83
86
  import { createDiffSpanDecoration, pushOrJoinSpan } from "./utils/parseDiffDecorations.js";
@@ -90,5 +93,7 @@ import { renderDiffWithHighlighter } from "./utils/renderDiffWithHighlighter.js"
90
93
  import { renderFileWithHighlighter } from "./utils/renderFileWithHighlighter.js";
91
94
  import { setLanguageOverride } from "./utils/setLanguageOverride.js";
92
95
  import { setPreNodeProperties } from "./utils/setWrapperNodeProps.js";
96
+ import { trimPatchContext } from "./utils/trimPatchContext.js";
97
+ import { FileDiff, FileDiffHydrationProps, FileDiffOptions, FileDiffRenderProps } from "./components/FileDiff.js";
93
98
  import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";
94
- export { ALTERNATE_FILE_NAMES_GIT, AnnotationLineMap, AnnotationSide, AnnotationSpan, AttachedLanguages, AttachedThemes, BaseCodeOptions, BaseDiffOptions, BundledLanguage, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, ChangeContent, ChangeTypes, CodeToHastOptions, CodeToTokenTransformStream, CodeToTokenTransformStreamOptions, ContextContent, CreateFileHeaderElementProps, 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_MODE_FROM_INDEX, 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, 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, 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, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, resolveLanguage, resolveLanguages, resolveTheme, resolveThemes, setLanguageOverride, setPreNodeProperties, 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, HighlighterTypes, 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 };