@pierre/diffs 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/LICENSE.txt +201 -0
  2. package/README.md +26 -0
  3. package/dist/components/File.d.ts +78 -0
  4. package/dist/components/File.d.ts.map +1 -0
  5. package/dist/components/File.js +322 -0
  6. package/dist/components/File.js.map +1 -0
  7. package/dist/components/FileDiff.d.ts +90 -0
  8. package/dist/components/FileDiff.d.ts.map +1 -0
  9. package/dist/components/FileDiff.js +392 -0
  10. package/dist/components/FileDiff.js.map +1 -0
  11. package/dist/components/FileStream.d.ts +40 -0
  12. package/dist/components/FileStream.d.ts.map +1 -0
  13. package/dist/components/FileStream.js +161 -0
  14. package/dist/components/FileStream.js.map +1 -0
  15. package/dist/components/web-components.d.ts +5 -0
  16. package/dist/components/web-components.d.ts.map +1 -0
  17. package/dist/components/web-components.js +25 -0
  18. package/dist/components/web-components.js.map +1 -0
  19. package/dist/constants.d.ts +21 -0
  20. package/dist/constants.d.ts.map +1 -0
  21. package/dist/constants.js +23 -0
  22. package/dist/constants.js.map +1 -0
  23. package/dist/highlighter/languages/areLanguagesAttached.d.ts +7 -0
  24. package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -0
  25. package/dist/highlighter/languages/areLanguagesAttached.js +11 -0
  26. package/dist/highlighter/languages/areLanguagesAttached.js.map +1 -0
  27. package/dist/highlighter/languages/attachResolvedLanguages.d.ts +9 -0
  28. package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -0
  29. package/dist/highlighter/languages/attachResolvedLanguages.js +20 -0
  30. package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -0
  31. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts +5 -0
  32. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -0
  33. package/dist/highlighter/languages/cleanUpResolvedLanguages.js +11 -0
  34. package/dist/highlighter/languages/cleanUpResolvedLanguages.js.map +1 -0
  35. package/dist/highlighter/languages/constants.d.ts +11 -0
  36. package/dist/highlighter/languages/constants.d.ts.map +1 -0
  37. package/dist/highlighter/languages/constants.js +8 -0
  38. package/dist/highlighter/languages/constants.js.map +1 -0
  39. package/dist/highlighter/languages/getResolvedLanguages.d.ts +9 -0
  40. package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -0
  41. package/dist/highlighter/languages/getResolvedLanguages.js +16 -0
  42. package/dist/highlighter/languages/getResolvedLanguages.js.map +1 -0
  43. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +9 -0
  44. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -0
  45. package/dist/highlighter/languages/getResolvedOrResolveLanguage.js +11 -0
  46. package/dist/highlighter/languages/getResolvedOrResolveLanguage.js.map +1 -0
  47. package/dist/highlighter/languages/hasResolvedLanguages.d.ts +7 -0
  48. package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -0
  49. package/dist/highlighter/languages/hasResolvedLanguages.js +11 -0
  50. package/dist/highlighter/languages/hasResolvedLanguages.js.map +1 -0
  51. package/dist/highlighter/languages/resolveLanguage.d.ts +9 -0
  52. package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -0
  53. package/dist/highlighter/languages/resolveLanguage.js +30 -0
  54. package/dist/highlighter/languages/resolveLanguage.js.map +1 -0
  55. package/dist/highlighter/languages/resolveLanguages.d.ts +9 -0
  56. package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -0
  57. package/dist/highlighter/languages/resolveLanguages.js +25 -0
  58. package/dist/highlighter/languages/resolveLanguages.js.map +1 -0
  59. package/dist/highlighter/shared_highlighter.d.ts +21 -0
  60. package/dist/highlighter/shared_highlighter.d.ts.map +1 -0
  61. package/dist/highlighter/shared_highlighter.js +71 -0
  62. package/dist/highlighter/shared_highlighter.js.map +1 -0
  63. package/dist/highlighter/themes/areThemesAttached.d.ts +7 -0
  64. package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -0
  65. package/dist/highlighter/themes/areThemesAttached.js +12 -0
  66. package/dist/highlighter/themes/areThemesAttached.js.map +1 -0
  67. package/dist/highlighter/themes/attachResolvedThemes.d.ts +7 -0
  68. package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -0
  69. package/dist/highlighter/themes/attachResolvedThemes.js +24 -0
  70. package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -0
  71. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts +5 -0
  72. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -0
  73. package/dist/highlighter/themes/cleanUpResolvedThemes.js +11 -0
  74. package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -0
  75. package/dist/highlighter/themes/constants.d.ts +11 -0
  76. package/dist/highlighter/themes/constants.d.ts.map +1 -0
  77. package/dist/highlighter/themes/constants.js +9 -0
  78. package/dist/highlighter/themes/constants.js.map +1 -0
  79. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts +7 -0
  80. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -0
  81. package/dist/highlighter/themes/getResolvedOrResolveTheme.js +11 -0
  82. package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -0
  83. package/dist/highlighter/themes/getResolvedThemes.d.ts +7 -0
  84. package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -0
  85. package/dist/highlighter/themes/getResolvedThemes.js +16 -0
  86. package/dist/highlighter/themes/getResolvedThemes.js.map +1 -0
  87. package/dist/highlighter/themes/hasResolvedThemes.d.ts +7 -0
  88. package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -0
  89. package/dist/highlighter/themes/hasResolvedThemes.js +11 -0
  90. package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -0
  91. package/dist/highlighter/themes/registerCustomTheme.d.ts +7 -0
  92. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -0
  93. package/dist/highlighter/themes/registerCustomTheme.js +14 -0
  94. package/dist/highlighter/themes/registerCustomTheme.js.map +1 -0
  95. package/dist/highlighter/themes/resolveTheme.d.ts +7 -0
  96. package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -0
  97. package/dist/highlighter/themes/resolveTheme.js +35 -0
  98. package/dist/highlighter/themes/resolveTheme.js.map +1 -0
  99. package/dist/highlighter/themes/resolveThemes.d.ts +7 -0
  100. package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -0
  101. package/dist/highlighter/themes/resolveThemes.js +21 -0
  102. package/dist/highlighter/themes/resolveThemes.js.map +1 -0
  103. package/dist/index.d.ts +84 -0
  104. package/dist/index.js +83 -0
  105. package/dist/managers/LineSelectionManager.d.ts +64 -0
  106. package/dist/managers/LineSelectionManager.d.ts.map +1 -0
  107. package/dist/managers/LineSelectionManager.js +276 -0
  108. package/dist/managers/LineSelectionManager.js.map +1 -0
  109. package/dist/managers/MouseEventManager.d.ts +64 -0
  110. package/dist/managers/MouseEventManager.d.ts.map +1 -0
  111. package/dist/managers/MouseEventManager.js +244 -0
  112. package/dist/managers/MouseEventManager.js.map +1 -0
  113. package/dist/managers/ResizeManager.d.ts +11 -0
  114. package/dist/managers/ResizeManager.d.ts.map +1 -0
  115. package/dist/managers/ResizeManager.js +132 -0
  116. package/dist/managers/ResizeManager.js.map +1 -0
  117. package/dist/managers/ScrollSyncManager.d.ts +15 -0
  118. package/dist/managers/ScrollSyncManager.d.ts.map +1 -0
  119. package/dist/managers/ScrollSyncManager.js +54 -0
  120. package/dist/managers/ScrollSyncManager.js.map +1 -0
  121. package/dist/managers/UniversalRenderingManager.d.ts +6 -0
  122. package/dist/managers/UniversalRenderingManager.d.ts.map +1 -0
  123. package/dist/managers/UniversalRenderingManager.js +32 -0
  124. package/dist/managers/UniversalRenderingManager.js.map +1 -0
  125. package/dist/react/File.d.ts +19 -0
  126. package/dist/react/File.d.ts.map +1 -0
  127. package/dist/react/File.js +36 -0
  128. package/dist/react/File.js.map +1 -0
  129. package/dist/react/FileDiff.d.ts +22 -0
  130. package/dist/react/FileDiff.d.ts.map +1 -0
  131. package/dist/react/FileDiff.js +36 -0
  132. package/dist/react/FileDiff.js.map +1 -0
  133. package/dist/react/MultiFileDiff.d.ts +24 -0
  134. package/dist/react/MultiFileDiff.d.ts.map +1 -0
  135. package/dist/react/MultiFileDiff.js +38 -0
  136. package/dist/react/MultiFileDiff.js.map +1 -0
  137. package/dist/react/PatchDiff.d.ts +21 -0
  138. package/dist/react/PatchDiff.d.ts.map +1 -0
  139. package/dist/react/PatchDiff.js +42 -0
  140. package/dist/react/PatchDiff.js.map +1 -0
  141. package/dist/react/WorkerPoolContext.d.ts +20 -0
  142. package/dist/react/WorkerPoolContext.d.ts.map +1 -0
  143. package/dist/react/WorkerPoolContext.js +41 -0
  144. package/dist/react/WorkerPoolContext.js.map +1 -0
  145. package/dist/react/constants.d.ts +7 -0
  146. package/dist/react/constants.d.ts.map +1 -0
  147. package/dist/react/constants.js +11 -0
  148. package/dist/react/constants.js.map +1 -0
  149. package/dist/react/index.d.ts +17 -0
  150. package/dist/react/index.js +14 -0
  151. package/dist/react/jsx.d.ts +12 -0
  152. package/dist/react/jsx.d.ts.map +1 -0
  153. package/dist/react/types.d.ts +34 -0
  154. package/dist/react/types.d.ts.map +1 -0
  155. package/dist/react/types.js +1 -0
  156. package/dist/react/utils/renderDiffChildren.d.ts +29 -0
  157. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -0
  158. package/dist/react/utils/renderDiffChildren.js +32 -0
  159. package/dist/react/utils/renderDiffChildren.js.map +1 -0
  160. package/dist/react/utils/renderFileChildren.d.ts +25 -0
  161. package/dist/react/utils/renderFileChildren.d.ts.map +1 -0
  162. package/dist/react/utils/renderFileChildren.js +28 -0
  163. package/dist/react/utils/renderFileChildren.js.map +1 -0
  164. package/dist/react/utils/templateRender.d.ts +7 -0
  165. package/dist/react/utils/templateRender.d.ts.map +1 -0
  166. package/dist/react/utils/templateRender.js +14 -0
  167. package/dist/react/utils/templateRender.js.map +1 -0
  168. package/dist/react/utils/useFileDiffInstance.d.ts +31 -0
  169. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -0
  170. package/dist/react/utils/useFileDiffInstance.js +54 -0
  171. package/dist/react/utils/useFileDiffInstance.js.map +1 -0
  172. package/dist/react/utils/useFileInstance.d.ts +27 -0
  173. package/dist/react/utils/useFileInstance.d.ts.map +1 -0
  174. package/dist/react/utils/useFileInstance.js +49 -0
  175. package/dist/react/utils/useFileInstance.js.map +1 -0
  176. package/dist/react/utils/useStableCallback.d.ts +5 -0
  177. package/dist/react/utils/useStableCallback.d.ts.map +1 -0
  178. package/dist/react/utils/useStableCallback.js +14 -0
  179. package/dist/react/utils/useStableCallback.js.map +1 -0
  180. package/dist/renderers/DiffHunksRenderer.d.ts +62 -0
  181. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -0
  182. package/dist/renderers/DiffHunksRenderer.js +651 -0
  183. package/dist/renderers/DiffHunksRenderer.js.map +1 -0
  184. package/dist/renderers/FileRenderer.d.ts +49 -0
  185. package/dist/renderers/FileRenderer.d.ts.map +1 -0
  186. package/dist/renderers/FileRenderer.js +239 -0
  187. package/dist/renderers/FileRenderer.js.map +1 -0
  188. package/dist/shiki-stream/index.d.ts +4 -0
  189. package/dist/shiki-stream/index.js +4 -0
  190. package/dist/shiki-stream/stream.d.ts +17 -0
  191. package/dist/shiki-stream/stream.d.ts.map +1 -0
  192. package/dist/shiki-stream/stream.js +32 -0
  193. package/dist/shiki-stream/stream.js.map +1 -0
  194. package/dist/shiki-stream/tokenizer.d.ts +24 -0
  195. package/dist/shiki-stream/tokenizer.d.ts.map +1 -0
  196. package/dist/shiki-stream/tokenizer.js +71 -0
  197. package/dist/shiki-stream/tokenizer.js.map +1 -0
  198. package/dist/shiki-stream/types.d.ts +45 -0
  199. package/dist/shiki-stream/types.d.ts.map +1 -0
  200. package/dist/shiki-stream/types.js +0 -0
  201. package/dist/sprite.d.ts +6 -0
  202. package/dist/sprite.d.ts.map +1 -0
  203. package/dist/sprite.js +55 -0
  204. package/dist/sprite.js.map +1 -0
  205. package/dist/ssr/FileDiffReact.d.ts +21 -0
  206. package/dist/ssr/FileDiffReact.d.ts.map +1 -0
  207. package/dist/ssr/FileDiffReact.js +53 -0
  208. package/dist/ssr/FileDiffReact.js.map +1 -0
  209. package/dist/ssr/index.d.ts +6 -0
  210. package/dist/ssr/index.js +6 -0
  211. package/dist/ssr/preloadDiffs.d.ts +72 -0
  212. package/dist/ssr/preloadDiffs.d.ts.map +1 -0
  213. package/dist/ssr/preloadDiffs.js +66 -0
  214. package/dist/ssr/preloadDiffs.js.map +1 -0
  215. package/dist/ssr/preloadFile.d.ts +23 -0
  216. package/dist/ssr/preloadFile.d.ts.map +1 -0
  217. package/dist/ssr/preloadFile.js +26 -0
  218. package/dist/ssr/preloadFile.js.map +1 -0
  219. package/dist/ssr/preloadPatchFile.d.ts +15 -0
  220. package/dist/ssr/preloadPatchFile.d.ts.map +1 -0
  221. package/dist/ssr/preloadPatchFile.js +17 -0
  222. package/dist/ssr/preloadPatchFile.js.map +1 -0
  223. package/dist/ssr/renderHTML.d.ts +7 -0
  224. package/dist/ssr/renderHTML.d.ts.map +1 -0
  225. package/dist/ssr/renderHTML.js +11 -0
  226. package/dist/ssr/renderHTML.js.map +1 -0
  227. package/dist/string-import.d.ts +6 -0
  228. package/dist/string-import.d.ts.map +1 -0
  229. package/dist/style.js +6 -0
  230. package/dist/style.js.map +1 -0
  231. package/dist/themes/pierre-dark.js +1328 -0
  232. package/dist/themes/pierre-dark.js.map +1 -0
  233. package/dist/themes/pierre-light.js +1328 -0
  234. package/dist/themes/pierre-light.js.map +1 -0
  235. package/dist/types.d.ts +238 -0
  236. package/dist/types.d.ts.map +1 -0
  237. package/dist/types.js +0 -0
  238. package/dist/utils/areFilesEqual.d.ts +7 -0
  239. package/dist/utils/areFilesEqual.d.ts.map +1 -0
  240. package/dist/utils/areFilesEqual.js +8 -0
  241. package/dist/utils/areFilesEqual.js.map +1 -0
  242. package/dist/utils/areObjectsEqual.d.ts +5 -0
  243. package/dist/utils/areObjectsEqual.d.ts.map +1 -0
  244. package/dist/utils/areObjectsEqual.js +18 -0
  245. package/dist/utils/areObjectsEqual.js.map +1 -0
  246. package/dist/utils/areOptionsEqual.d.ts +9 -0
  247. package/dist/utils/areOptionsEqual.d.ts.map +1 -0
  248. package/dist/utils/areOptionsEqual.js +12 -0
  249. package/dist/utils/areOptionsEqual.js.map +1 -0
  250. package/dist/utils/areSelectionsEqual.d.ts +7 -0
  251. package/dist/utils/areSelectionsEqual.d.ts.map +1 -0
  252. package/dist/utils/areSelectionsEqual.js +8 -0
  253. package/dist/utils/areSelectionsEqual.js.map +1 -0
  254. package/dist/utils/areThemesEqual.d.ts +7 -0
  255. package/dist/utils/areThemesEqual.d.ts.map +1 -0
  256. package/dist/utils/areThemesEqual.js +9 -0
  257. package/dist/utils/areThemesEqual.js.map +1 -0
  258. package/dist/utils/cleanLastNewline.d.ts +5 -0
  259. package/dist/utils/cleanLastNewline.d.ts.map +1 -0
  260. package/dist/utils/cleanLastNewline.js +8 -0
  261. package/dist/utils/cleanLastNewline.js.map +1 -0
  262. package/dist/utils/createAnnotationElement.d.ts +8 -0
  263. package/dist/utils/createAnnotationElement.d.ts.map +1 -0
  264. package/dist/utils/createAnnotationElement.js +21 -0
  265. package/dist/utils/createAnnotationElement.js.map +1 -0
  266. package/dist/utils/createAnnotationWrapperNode.d.ts +5 -0
  267. package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -0
  268. package/dist/utils/createAnnotationWrapperNode.js +12 -0
  269. package/dist/utils/createAnnotationWrapperNode.js.map +1 -0
  270. package/dist/utils/createCodeNode.d.ts +12 -0
  271. package/dist/utils/createCodeNode.d.ts.map +1 -0
  272. package/dist/utils/createCodeNode.js +12 -0
  273. package/dist/utils/createCodeNode.js.map +1 -0
  274. package/dist/utils/createEmptyRowBuffer.d.ts +7 -0
  275. package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -0
  276. package/dist/utils/createEmptyRowBuffer.js +16 -0
  277. package/dist/utils/createEmptyRowBuffer.js.map +1 -0
  278. package/dist/utils/createFileHeaderElement.d.ts +17 -0
  279. package/dist/utils/createFileHeaderElement.d.ts.map +1 -0
  280. package/dist/utils/createFileHeaderElement.js +84 -0
  281. package/dist/utils/createFileHeaderElement.js.map +1 -0
  282. package/dist/utils/createHoverContentNode.d.ts +5 -0
  283. package/dist/utils/createHoverContentNode.d.ts.map +1 -0
  284. package/dist/utils/createHoverContentNode.js +15 -0
  285. package/dist/utils/createHoverContentNode.js.map +1 -0
  286. package/dist/utils/createNoNewlineElement.d.ts +7 -0
  287. package/dist/utils/createNoNewlineElement.d.ts.map +1 -0
  288. package/dist/utils/createNoNewlineElement.js +24 -0
  289. package/dist/utils/createNoNewlineElement.js.map +1 -0
  290. package/dist/utils/createPreElement.d.ts +18 -0
  291. package/dist/utils/createPreElement.d.ts.map +1 -0
  292. package/dist/utils/createPreElement.js +28 -0
  293. package/dist/utils/createPreElement.js.map +1 -0
  294. package/dist/utils/createRowNodes.d.ts +8 -0
  295. package/dist/utils/createRowNodes.d.ts.map +1 -0
  296. package/dist/utils/createRowNodes.js +20 -0
  297. package/dist/utils/createRowNodes.js.map +1 -0
  298. package/dist/utils/createSeparator.d.ts +25 -0
  299. package/dist/utils/createSeparator.d.ts.map +1 -0
  300. package/dist/utils/createSeparator.js +69 -0
  301. package/dist/utils/createSeparator.js.map +1 -0
  302. package/dist/utils/createSpanNodeFromToken.d.ts +7 -0
  303. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -0
  304. package/dist/utils/createSpanNodeFromToken.js +13 -0
  305. package/dist/utils/createSpanNodeFromToken.js.map +1 -0
  306. package/dist/utils/createStyleElement.d.ts +7 -0
  307. package/dist/utils/createStyleElement.d.ts.map +1 -0
  308. package/dist/utils/createStyleElement.js +19 -0
  309. package/dist/utils/createStyleElement.js.map +1 -0
  310. package/dist/utils/createTransformerWithState.d.ts +13 -0
  311. package/dist/utils/createTransformerWithState.d.ts.map +1 -0
  312. package/dist/utils/createTransformerWithState.js +56 -0
  313. package/dist/utils/createTransformerWithState.js.map +1 -0
  314. package/dist/utils/createUnsafeCSSStyleNode.d.ts +5 -0
  315. package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -0
  316. package/dist/utils/createUnsafeCSSStyleNode.js +12 -0
  317. package/dist/utils/createUnsafeCSSStyleNode.js.map +1 -0
  318. package/dist/utils/cssWrappers.d.ts +6 -0
  319. package/dist/utils/cssWrappers.d.ts.map +1 -0
  320. package/dist/utils/cssWrappers.js +21 -0
  321. package/dist/utils/cssWrappers.js.map +1 -0
  322. package/dist/utils/diffAcceptRejectHunk.d.ts +7 -0
  323. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -0
  324. package/dist/utils/diffAcceptRejectHunk.js +82 -0
  325. package/dist/utils/diffAcceptRejectHunk.js.map +1 -0
  326. package/dist/utils/formatCSSVariablePrefix.d.ts +5 -0
  327. package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -0
  328. package/dist/utils/formatCSSVariablePrefix.js +8 -0
  329. package/dist/utils/formatCSSVariablePrefix.js.map +1 -0
  330. package/dist/utils/getFiletypeFromFileName.d.ts +9 -0
  331. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -0
  332. package/dist/utils/getFiletypeFromFileName.js +343 -0
  333. package/dist/utils/getFiletypeFromFileName.js.map +1 -0
  334. package/dist/utils/getHighlighterOptions.d.ts +14 -0
  335. package/dist/utils/getHighlighterOptions.d.ts.map +1 -0
  336. package/dist/utils/getHighlighterOptions.js +13 -0
  337. package/dist/utils/getHighlighterOptions.js.map +1 -0
  338. package/dist/utils/getHighlighterThemeStyles.d.ts +16 -0
  339. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -0
  340. package/dist/utils/getHighlighterThemeStyles.js +40 -0
  341. package/dist/utils/getHighlighterThemeStyles.js.map +1 -0
  342. package/dist/utils/getHunkSeparatorSlotName.d.ts +5 -0
  343. package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -0
  344. package/dist/utils/getHunkSeparatorSlotName.js +8 -0
  345. package/dist/utils/getHunkSeparatorSlotName.js.map +1 -0
  346. package/dist/utils/getIconForType.d.ts +8 -0
  347. package/dist/utils/getIconForType.d.ts.map +1 -0
  348. package/dist/utils/getIconForType.js +15 -0
  349. package/dist/utils/getIconForType.js.map +1 -0
  350. package/dist/utils/getLineAnnotationName.d.ts +7 -0
  351. package/dist/utils/getLineAnnotationName.d.ts.map +1 -0
  352. package/dist/utils/getLineAnnotationName.js +8 -0
  353. package/dist/utils/getLineAnnotationName.js.map +1 -0
  354. package/dist/utils/getLineEndingType.d.ts +5 -0
  355. package/dist/utils/getLineEndingType.d.ts.map +1 -0
  356. package/dist/utils/getLineEndingType.js +11 -0
  357. package/dist/utils/getLineEndingType.js.map +1 -0
  358. package/dist/utils/getLineNodes.d.ts +7 -0
  359. package/dist/utils/getLineNodes.d.ts.map +1 -0
  360. package/dist/utils/getLineNodes.js +15 -0
  361. package/dist/utils/getLineNodes.js.map +1 -0
  362. package/dist/utils/getSingularPatch.d.ts +7 -0
  363. package/dist/utils/getSingularPatch.d.ts.map +1 -0
  364. package/dist/utils/getSingularPatch.js +20 -0
  365. package/dist/utils/getSingularPatch.js.map +1 -0
  366. package/dist/utils/getThemes.d.ts +7 -0
  367. package/dist/utils/getThemes.d.ts.map +1 -0
  368. package/dist/utils/getThemes.js +16 -0
  369. package/dist/utils/getThemes.js.map +1 -0
  370. package/dist/utils/getTotalLineCountFromHunks.d.ts +7 -0
  371. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -0
  372. package/dist/utils/getTotalLineCountFromHunks.js +10 -0
  373. package/dist/utils/getTotalLineCountFromHunks.js.map +1 -0
  374. package/dist/utils/hast_utils.d.ts +31 -0
  375. package/dist/utils/hast_utils.d.ts.map +1 -0
  376. package/dist/utils/hast_utils.js +42 -0
  377. package/dist/utils/hast_utils.js.map +1 -0
  378. package/dist/utils/isWorkerContext.d.ts +5 -0
  379. package/dist/utils/isWorkerContext.d.ts.map +1 -0
  380. package/dist/utils/isWorkerContext.js +8 -0
  381. package/dist/utils/isWorkerContext.js.map +1 -0
  382. package/dist/utils/parseDiffDecorations.d.ts +31 -0
  383. package/dist/utils/parseDiffDecorations.d.ts.map +1 -0
  384. package/dist/utils/parseDiffDecorations.js +34 -0
  385. package/dist/utils/parseDiffDecorations.js.map +1 -0
  386. package/dist/utils/parseDiffFromFile.d.ts +14 -0
  387. package/dist/utils/parseDiffFromFile.d.ts.map +1 -0
  388. package/dist/utils/parseDiffFromFile.js +23 -0
  389. package/dist/utils/parseDiffFromFile.js.map +1 -0
  390. package/dist/utils/parseLineType.d.ts +11 -0
  391. package/dist/utils/parseLineType.d.ts.map +1 -0
  392. package/dist/utils/parseLineType.js +16 -0
  393. package/dist/utils/parseLineType.js.map +1 -0
  394. package/dist/utils/parsePatchFiles.d.ts +16 -0
  395. package/dist/utils/parsePatchFiles.d.ts.map +1 -0
  396. package/dist/utils/parsePatchFiles.js +204 -0
  397. package/dist/utils/parsePatchFiles.js.map +1 -0
  398. package/dist/utils/prerenderHTMLIfNecessary.d.ts +5 -0
  399. package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -0
  400. package/dist/utils/prerenderHTMLIfNecessary.js +10 -0
  401. package/dist/utils/prerenderHTMLIfNecessary.js.map +1 -0
  402. package/dist/utils/processLine.d.ts +8 -0
  403. package/dist/utils/processLine.d.ts.map +1 -0
  404. package/dist/utils/processLine.js +42 -0
  405. package/dist/utils/processLine.js.map +1 -0
  406. package/dist/utils/renderDiffWithHighlighter.d.ts +7 -0
  407. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -0
  408. package/dist/utils/renderDiffWithHighlighter.js +323 -0
  409. package/dist/utils/renderDiffWithHighlighter.js.map +1 -0
  410. package/dist/utils/renderFileWithHighlighter.d.ts +10 -0
  411. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -0
  412. package/dist/utils/renderFileWithHighlighter.js +52 -0
  413. package/dist/utils/renderFileWithHighlighter.js.map +1 -0
  414. package/dist/utils/setLanguageOverride.d.ts +7 -0
  415. package/dist/utils/setLanguageOverride.d.ts.map +1 -0
  416. package/dist/utils/setLanguageOverride.js +11 -0
  417. package/dist/utils/setLanguageOverride.js.map +1 -0
  418. package/dist/utils/setWrapperNodeProps.d.ts +20 -0
  419. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -0
  420. package/dist/utils/setWrapperNodeProps.js +29 -0
  421. package/dist/utils/setWrapperNodeProps.js.map +1 -0
  422. package/dist/worker/WorkerPoolManager.d.ts +72 -0
  423. package/dist/worker/WorkerPoolManager.d.ts.map +1 -0
  424. package/dist/worker/WorkerPoolManager.js +421 -0
  425. package/dist/worker/WorkerPoolManager.js.map +1 -0
  426. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts +16 -0
  427. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -0
  428. package/dist/worker/getOrCreateWorkerPoolSingleton.js +20 -0
  429. package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -0
  430. package/dist/worker/index.d.ts +4 -0
  431. package/dist/worker/index.js +4 -0
  432. package/dist/worker/types.d.ts +140 -0
  433. package/dist/worker/types.d.ts.map +1 -0
  434. package/dist/worker/types.js +0 -0
  435. package/dist/worker/worker-portable.d.ts +1 -0
  436. package/dist/worker/worker-portable.js +14872 -0
  437. package/dist/worker/worker-portable.js.map +1 -0
  438. package/dist/worker/worker.d.ts +1 -0
  439. package/dist/worker/worker.js +1061 -0
  440. package/dist/worker/worker.js.map +1 -0
  441. package/package.json +76 -0
@@ -0,0 +1,56 @@
1
+ import { findCodeElement } from "./hast_utils.js";
2
+ import { processLine } from "./processLine.js";
3
+ import { transformerStyleToClass } from "@shikijs/transformers";
4
+
5
+ //#region src/utils/createTransformerWithState.ts
6
+ function createTransformerWithState(useCSSClasses = false) {
7
+ const state = { lineInfo: {} };
8
+ const transformers = [{
9
+ line(node) {
10
+ delete node.properties.class;
11
+ return node;
12
+ },
13
+ pre(pre) {
14
+ const code = findCodeElement(pre);
15
+ const children = [];
16
+ if (code != null) {
17
+ let index = 1;
18
+ for (const node of code.children) {
19
+ if (node.type !== "element") continue;
20
+ children.push(processLine(node, index, state));
21
+ index++;
22
+ }
23
+ code.children = children;
24
+ }
25
+ return pre;
26
+ }
27
+ }];
28
+ if (useCSSClasses) transformers.push(tokenStyleNormalizer, toClass);
29
+ return {
30
+ state,
31
+ transformers,
32
+ toClass
33
+ };
34
+ }
35
+ const toClass = transformerStyleToClass({ classPrefix: "hl-" });
36
+ const tokenStyleNormalizer = {
37
+ name: "token-style-normalizer",
38
+ tokens(lines) {
39
+ for (const line of lines) for (const token of line) {
40
+ if (token.htmlStyle != null) continue;
41
+ const style = {};
42
+ if (token.color != null) style.color = token.color;
43
+ if (token.bgColor != null) style["background-color"] = token.bgColor;
44
+ if (token.fontStyle != null && token.fontStyle !== 0) {
45
+ if ((token.fontStyle & 1) !== 0) style["font-style"] = "italic";
46
+ if ((token.fontStyle & 2) !== 0) style["font-weight"] = "bold";
47
+ if ((token.fontStyle & 4) !== 0) style["text-decoration"] = "underline";
48
+ }
49
+ if (Object.keys(style).length > 0) token.htmlStyle = style;
50
+ }
51
+ }
52
+ };
53
+
54
+ //#endregion
55
+ export { createTransformerWithState };
56
+ //# sourceMappingURL=createTransformerWithState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTransformerWithState.js","names":["state: SharedRenderState","transformers: ShikiTransformer[]","children: ElementContent[]","tokenStyleNormalizer: ShikiTransformer","style: Record<string, string>"],"sources":["../../src/utils/createTransformerWithState.ts"],"sourcesContent":["import {\n type ShikiTransformerStyleToClass,\n transformerStyleToClass,\n} from '@shikijs/transformers';\nimport type { ElementContent } from 'hast';\n\nimport type { SharedRenderState, ShikiTransformer } from '../types';\nimport { findCodeElement } from './hast_utils';\nimport { processLine } from './processLine';\n\ninterface CreateTransformerWithStateReturn {\n state: SharedRenderState;\n transformers: ShikiTransformer[];\n toClass: ShikiTransformerStyleToClass;\n}\n\nexport function createTransformerWithState(\n useCSSClasses = false\n): CreateTransformerWithStateReturn {\n const state: SharedRenderState = {\n lineInfo: {},\n };\n const transformers: ShikiTransformer[] = [\n {\n line(node) {\n // Remove the default class\n delete node.properties.class;\n return node;\n },\n pre(pre) {\n const code = findCodeElement(pre);\n const children: ElementContent[] = [];\n if (code != null) {\n let index = 1;\n for (const node of code.children) {\n if (node.type !== 'element') continue;\n children.push(processLine(node, index, state));\n index++;\n }\n code.children = children;\n }\n return pre;\n },\n },\n ];\n if (useCSSClasses) {\n transformers.push(tokenStyleNormalizer, toClass);\n }\n return { state, transformers, toClass };\n}\n\nconst toClass = transformerStyleToClass({ classPrefix: 'hl-' });\n\n// Create a transformer that converts token color/fontStyle to htmlStyle\n// This needs to run BEFORE transformerStyleToClass\nconst tokenStyleNormalizer: ShikiTransformer = {\n name: 'token-style-normalizer',\n tokens(lines) {\n for (const line of lines) {\n for (const token of line) {\n // Skip if htmlStyle is already set\n if (token.htmlStyle != null) continue;\n\n const style: Record<string, string> = {};\n\n if (token.color != null) {\n style.color = token.color;\n }\n if (token.bgColor != null) {\n style['background-color'] = token.bgColor;\n }\n if (token.fontStyle != null && token.fontStyle !== 0) {\n // FontStyle is a bitmask: 1 = italic, 2 = bold, 4 = underline\n if ((token.fontStyle & 1) !== 0) {\n style['font-style'] = 'italic';\n }\n if ((token.fontStyle & 2) !== 0) {\n style['font-weight'] = 'bold';\n }\n if ((token.fontStyle & 4) !== 0) {\n style['text-decoration'] = 'underline';\n }\n }\n\n // Only set htmlStyle if we have any styles\n if (Object.keys(style).length > 0) {\n token.htmlStyle = style;\n }\n }\n }\n },\n};\n"],"mappings":";;;;;AAgBA,SAAgB,2BACd,gBAAgB,OACkB;CAClC,MAAMA,QAA2B,EAC/B,UAAU,EAAE,EACb;CACD,MAAMC,eAAmC,CACvC;EACE,KAAK,MAAM;AAET,UAAO,KAAK,WAAW;AACvB,UAAO;;EAET,IAAI,KAAK;GACP,MAAM,OAAO,gBAAgB,IAAI;GACjC,MAAMC,WAA6B,EAAE;AACrC,OAAI,QAAQ,MAAM;IAChB,IAAI,QAAQ;AACZ,SAAK,MAAM,QAAQ,KAAK,UAAU;AAChC,SAAI,KAAK,SAAS,UAAW;AAC7B,cAAS,KAAK,YAAY,MAAM,OAAO,MAAM,CAAC;AAC9C;;AAEF,SAAK,WAAW;;AAElB,UAAO;;EAEV,CACF;AACD,KAAI,cACF,cAAa,KAAK,sBAAsB,QAAQ;AAElD,QAAO;EAAE;EAAO;EAAc;EAAS;;AAGzC,MAAM,UAAU,wBAAwB,EAAE,aAAa,OAAO,CAAC;AAI/D,MAAMC,uBAAyC;CAC7C,MAAM;CACN,OAAO,OAAO;AACZ,OAAK,MAAM,QAAQ,MACjB,MAAK,MAAM,SAAS,MAAM;AAExB,OAAI,MAAM,aAAa,KAAM;GAE7B,MAAMC,QAAgC,EAAE;AAExC,OAAI,MAAM,SAAS,KACjB,OAAM,QAAQ,MAAM;AAEtB,OAAI,MAAM,WAAW,KACnB,OAAM,sBAAsB,MAAM;AAEpC,OAAI,MAAM,aAAa,QAAQ,MAAM,cAAc,GAAG;AAEpD,SAAK,MAAM,YAAY,OAAO,EAC5B,OAAM,gBAAgB;AAExB,SAAK,MAAM,YAAY,OAAO,EAC5B,OAAM,iBAAiB;AAEzB,SAAK,MAAM,YAAY,OAAO,EAC5B,OAAM,qBAAqB;;AAK/B,OAAI,OAAO,KAAK,MAAM,CAAC,SAAS,EAC9B,OAAM,YAAY;;;CAK3B"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/createUnsafeCSSStyleNode.d.ts
2
+ declare function createUnsafeCSSStyleNode(): HTMLStyleElement;
3
+ //#endregion
4
+ export { createUnsafeCSSStyleNode };
5
+ //# sourceMappingURL=createUnsafeCSSStyleNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUnsafeCSSStyleNode.d.ts","names":[],"sources":["../../src/utils/createUnsafeCSSStyleNode.ts"],"sourcesContent":[],"mappings":";iBAEgB,wBAAA,CAAA,GAA4B"}
@@ -0,0 +1,12 @@
1
+ import { UNSAFE_CSS_ATTRIBUTE } from "../constants.js";
2
+
3
+ //#region src/utils/createUnsafeCSSStyleNode.ts
4
+ function createUnsafeCSSStyleNode() {
5
+ const node = document.createElement("style");
6
+ node.setAttribute(UNSAFE_CSS_ATTRIBUTE, "");
7
+ return node;
8
+ }
9
+
10
+ //#endregion
11
+ export { createUnsafeCSSStyleNode };
12
+ //# sourceMappingURL=createUnsafeCSSStyleNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createUnsafeCSSStyleNode.js","names":[],"sources":["../../src/utils/createUnsafeCSSStyleNode.ts"],"sourcesContent":["import { UNSAFE_CSS_ATTRIBUTE } from '../constants';\n\nexport function createUnsafeCSSStyleNode(): HTMLStyleElement {\n const node = document.createElement('style');\n node.setAttribute(UNSAFE_CSS_ATTRIBUTE, '');\n return node;\n}\n"],"mappings":";;;AAEA,SAAgB,2BAA6C;CAC3D,MAAM,OAAO,SAAS,cAAc,QAAQ;AAC5C,MAAK,aAAa,sBAAsB,GAAG;AAC3C,QAAO"}
@@ -0,0 +1,6 @@
1
+ //#region src/utils/cssWrappers.d.ts
2
+ declare function wrapCoreCSS(mainCSS: string): string;
3
+ declare function wrapUnsafeCSS(unsafeCSS: string): string;
4
+ //#endregion
5
+ export { wrapCoreCSS, wrapUnsafeCSS };
6
+ //# sourceMappingURL=cssWrappers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssWrappers.d.ts","names":[],"sources":["../../src/utils/cssWrappers.ts"],"sourcesContent":[],"mappings":";iBAIgB,WAAA;AAAA,iBAQA,aAAA,CARA,SAAA,EAAA,MAAA,CAAA,EAAA,MAAA"}
@@ -0,0 +1,21 @@
1
+ import style_default from "../style.js";
2
+
3
+ //#region src/utils/cssWrappers.ts
4
+ const LAYER_ORDER = `@layer base, theme, unsafe;`;
5
+ function wrapCoreCSS(mainCSS) {
6
+ return `${LAYER_ORDER}
7
+ ${style_default}
8
+ @layer theme {
9
+ ${mainCSS}
10
+ }`;
11
+ }
12
+ function wrapUnsafeCSS(unsafeCSS) {
13
+ return `${LAYER_ORDER}
14
+ @layer unsafe {
15
+ ${unsafeCSS}
16
+ }`;
17
+ }
18
+
19
+ //#endregion
20
+ export { wrapCoreCSS, wrapUnsafeCSS };
21
+ //# sourceMappingURL=cssWrappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cssWrappers.js","names":["rawStyles"],"sources":["../../src/utils/cssWrappers.ts"],"sourcesContent":["import rawStyles from '../style.css';\n\nconst LAYER_ORDER = `@layer base, theme, unsafe;`;\n\nexport function wrapCoreCSS(mainCSS: string) {\n return `${LAYER_ORDER}\n${rawStyles}\n@layer theme {\n ${mainCSS}\n}`;\n}\n\nexport function wrapUnsafeCSS(unsafeCSS: string) {\n return `${LAYER_ORDER}\n@layer unsafe {\n ${unsafeCSS}\n}`;\n}\n"],"mappings":";;;AAEA,MAAM,cAAc;AAEpB,SAAgB,YAAY,SAAiB;AAC3C,QAAO,GAAG,YAAY;EACtBA,cAAU;;IAER,QAAQ;;;AAIZ,SAAgB,cAAc,WAAmB;AAC/C,QAAO,GAAG,YAAY;;IAEpB,UAAU"}
@@ -0,0 +1,7 @@
1
+ import { FileDiffMetadata } from "../types.js";
2
+
3
+ //#region src/utils/diffAcceptRejectHunk.d.ts
4
+ declare function diffAcceptRejectHunk(diff: FileDiffMetadata, hunkIndex: number, type: "accept" | "reject"): FileDiffMetadata;
5
+ //#endregion
6
+ export { diffAcceptRejectHunk };
7
+ //# sourceMappingURL=diffAcceptRejectHunk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffAcceptRejectHunk.d.ts","names":[],"sources":["../../src/utils/diffAcceptRejectHunk.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,oBAAA,OACR,iEAGL"}
@@ -0,0 +1,82 @@
1
+ //#region src/utils/diffAcceptRejectHunk.ts
2
+ function diffAcceptRejectHunk(diff, hunkIndex, type) {
3
+ diff = {
4
+ ...diff,
5
+ hunks: [...diff.hunks],
6
+ oldLines: diff.oldLines != null ? [...diff.oldLines] : void 0,
7
+ newLines: diff.newLines != null ? [...diff.newLines] : void 0,
8
+ cacheKey: diff.cacheKey != null ? `${diff.cacheKey}:${type[0]}-${hunkIndex}` : void 0
9
+ };
10
+ const { newLines, oldLines } = diff;
11
+ if (newLines != null && oldLines != null) {
12
+ const hunk = diff.hunks[hunkIndex];
13
+ if (hunk == null) {
14
+ console.error({
15
+ diff,
16
+ hunkIndex
17
+ });
18
+ throw new Error(`diffResolveRejectHunk: Invalid hunk index: ${hunkIndex}`);
19
+ }
20
+ if (type === "reject") newLines.splice(hunk.additionStart - 1, hunk.additionCount, ...oldLines.slice(hunk.deletionStart - 1, hunk.deletionStart - 1 + hunk.deletionCount));
21
+ else oldLines.splice(hunk.deletionStart - 1, hunk.deletionCount, ...newLines.slice(hunk.additionStart - 1, hunk.additionStart - 1 + hunk.additionCount));
22
+ }
23
+ let deletionOffset = 0;
24
+ let additionOffset = 0;
25
+ let splitOffset = 0;
26
+ let unifiedOffset = 0;
27
+ for (let i = hunkIndex; i < diff.hunks.length; i++) {
28
+ let hunk = diff.hunks[i];
29
+ if (hunk == null) {
30
+ console.error({
31
+ hunk,
32
+ i,
33
+ hunkIndex,
34
+ diff
35
+ });
36
+ throw new Error("diffResolveRejectHunk: iterating through hunks, hunk doesnt exist...");
37
+ }
38
+ hunk = { ...hunk };
39
+ diff.hunks[i] = hunk;
40
+ if (i === hunkIndex) {
41
+ const newContent = {
42
+ type: "context",
43
+ lines: [],
44
+ noEOFCR: false
45
+ };
46
+ for (const content of hunk.hunkContent) if (content.type === "context") {
47
+ newContent.lines.push(...content.lines);
48
+ newContent.noEOFCR = content.noEOFCR;
49
+ } else if (type === "accept") {
50
+ newContent.lines.push(...content.additions);
51
+ newContent.noEOFCR = content.noEOFCRAdditions;
52
+ } else if (type === "reject") {
53
+ newContent.lines.push(...content.deletions);
54
+ newContent.noEOFCR = content.noEOFCRDeletions;
55
+ }
56
+ const lineCount = newContent.lines.length;
57
+ hunk.hunkContent = [newContent];
58
+ splitOffset = lineCount - hunk.splitLineCount;
59
+ hunk.splitLineCount = lineCount;
60
+ unifiedOffset = lineCount - hunk.unifiedLineCount;
61
+ hunk.unifiedLineCount = lineCount;
62
+ deletionOffset = lineCount - hunk.deletionCount;
63
+ hunk.deletionCount = lineCount;
64
+ hunk.deletionLines = 0;
65
+ additionOffset = lineCount - hunk.additionCount;
66
+ hunk.additionCount = lineCount;
67
+ hunk.additionLines = 0;
68
+ diff.splitLineCount += splitOffset;
69
+ diff.unifiedLineCount += unifiedOffset;
70
+ } else {
71
+ hunk.splitLineStart += splitOffset;
72
+ hunk.unifiedLineStart += unifiedOffset;
73
+ hunk.additionStart += additionOffset;
74
+ hunk.deletionStart += deletionOffset;
75
+ }
76
+ }
77
+ return diff;
78
+ }
79
+
80
+ //#endregion
81
+ export { diffAcceptRejectHunk };
82
+ //# sourceMappingURL=diffAcceptRejectHunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffAcceptRejectHunk.js","names":["newContent: ContextContent"],"sources":["../../src/utils/diffAcceptRejectHunk.ts"],"sourcesContent":["import type { ContextContent, FileDiffMetadata } from '../types';\n\nexport function diffAcceptRejectHunk(\n diff: FileDiffMetadata,\n hunkIndex: number,\n type: 'accept' | 'reject'\n): FileDiffMetadata {\n diff = {\n ...diff,\n hunks: [...diff.hunks],\n oldLines: diff.oldLines != null ? [...diff.oldLines] : undefined,\n newLines: diff.newLines != null ? [...diff.newLines] : undefined,\n // Automatically update cacheKey if it exists, since content is changing\n cacheKey:\n diff.cacheKey != null\n ? `${diff.cacheKey}:${type[0]}-${hunkIndex}`\n : undefined,\n };\n // Fix the content lines\n const { newLines, oldLines } = diff;\n if (newLines != null && oldLines != null) {\n const hunk = diff.hunks[hunkIndex];\n if (hunk == null) {\n console.error({ diff, hunkIndex });\n throw new Error(\n `diffResolveRejectHunk: Invalid hunk index: ${hunkIndex}`\n );\n }\n if (type === 'reject') {\n newLines.splice(\n hunk.additionStart - 1,\n hunk.additionCount,\n ...oldLines.slice(\n hunk.deletionStart - 1,\n hunk.deletionStart - 1 + hunk.deletionCount\n )\n );\n } else {\n oldLines.splice(\n hunk.deletionStart - 1,\n hunk.deletionCount,\n ...newLines.slice(\n hunk.additionStart - 1,\n hunk.additionStart - 1 + hunk.additionCount\n )\n );\n }\n }\n let deletionOffset = 0;\n let additionOffset = 0;\n let splitOffset = 0;\n let unifiedOffset = 0;\n for (let i = hunkIndex; i < diff.hunks.length; i++) {\n let hunk = diff.hunks[i];\n if (hunk == null) {\n console.error({ hunk, i, hunkIndex, diff });\n throw new Error(\n 'diffResolveRejectHunk: iterating through hunks, hunk doesnt exist...'\n );\n }\n hunk = { ...hunk };\n diff.hunks[i] = hunk;\n if (i === hunkIndex) {\n const newContent: ContextContent = {\n type: 'context',\n lines: [],\n noEOFCR: false,\n };\n for (const content of hunk.hunkContent) {\n if (content.type === 'context') {\n newContent.lines.push(...content.lines);\n newContent.noEOFCR = content.noEOFCR;\n } else if (type === 'accept') {\n newContent.lines.push(...content.additions);\n newContent.noEOFCR = content.noEOFCRAdditions;\n } else if (type === 'reject') {\n newContent.lines.push(...content.deletions);\n newContent.noEOFCR = content.noEOFCRDeletions;\n }\n }\n const lineCount = newContent.lines.length;\n hunk.hunkContent = [newContent];\n splitOffset = lineCount - hunk.splitLineCount;\n hunk.splitLineCount = lineCount;\n unifiedOffset = lineCount - hunk.unifiedLineCount;\n hunk.unifiedLineCount = lineCount;\n deletionOffset = lineCount - hunk.deletionCount;\n hunk.deletionCount = lineCount;\n hunk.deletionLines = 0;\n additionOffset = lineCount - hunk.additionCount;\n hunk.additionCount = lineCount;\n hunk.additionLines = 0;\n diff.splitLineCount += splitOffset;\n diff.unifiedLineCount += unifiedOffset;\n } else {\n hunk.splitLineStart += splitOffset;\n hunk.unifiedLineStart += unifiedOffset;\n hunk.additionStart += additionOffset;\n hunk.deletionStart += deletionOffset;\n }\n }\n return diff;\n}\n"],"mappings":";AAEA,SAAgB,qBACd,MACA,WACA,MACkB;AAClB,QAAO;EACL,GAAG;EACH,OAAO,CAAC,GAAG,KAAK,MAAM;EACtB,UAAU,KAAK,YAAY,OAAO,CAAC,GAAG,KAAK,SAAS,GAAG;EACvD,UAAU,KAAK,YAAY,OAAO,CAAC,GAAG,KAAK,SAAS,GAAG;EAEvD,UACE,KAAK,YAAY,OACb,GAAG,KAAK,SAAS,GAAG,KAAK,GAAG,GAAG,cAC/B;EACP;CAED,MAAM,EAAE,UAAU,aAAa;AAC/B,KAAI,YAAY,QAAQ,YAAY,MAAM;EACxC,MAAM,OAAO,KAAK,MAAM;AACxB,MAAI,QAAQ,MAAM;AAChB,WAAQ,MAAM;IAAE;IAAM;IAAW,CAAC;AAClC,SAAM,IAAI,MACR,8CAA8C,YAC/C;;AAEH,MAAI,SAAS,SACX,UAAS,OACP,KAAK,gBAAgB,GACrB,KAAK,eACL,GAAG,SAAS,MACV,KAAK,gBAAgB,GACrB,KAAK,gBAAgB,IAAI,KAAK,cAC/B,CACF;MAED,UAAS,OACP,KAAK,gBAAgB,GACrB,KAAK,eACL,GAAG,SAAS,MACV,KAAK,gBAAgB,GACrB,KAAK,gBAAgB,IAAI,KAAK,cAC/B,CACF;;CAGL,IAAI,iBAAiB;CACrB,IAAI,iBAAiB;CACrB,IAAI,cAAc;CAClB,IAAI,gBAAgB;AACpB,MAAK,IAAI,IAAI,WAAW,IAAI,KAAK,MAAM,QAAQ,KAAK;EAClD,IAAI,OAAO,KAAK,MAAM;AACtB,MAAI,QAAQ,MAAM;AAChB,WAAQ,MAAM;IAAE;IAAM;IAAG;IAAW;IAAM,CAAC;AAC3C,SAAM,IAAI,MACR,uEACD;;AAEH,SAAO,EAAE,GAAG,MAAM;AAClB,OAAK,MAAM,KAAK;AAChB,MAAI,MAAM,WAAW;GACnB,MAAMA,aAA6B;IACjC,MAAM;IACN,OAAO,EAAE;IACT,SAAS;IACV;AACD,QAAK,MAAM,WAAW,KAAK,YACzB,KAAI,QAAQ,SAAS,WAAW;AAC9B,eAAW,MAAM,KAAK,GAAG,QAAQ,MAAM;AACvC,eAAW,UAAU,QAAQ;cACpB,SAAS,UAAU;AAC5B,eAAW,MAAM,KAAK,GAAG,QAAQ,UAAU;AAC3C,eAAW,UAAU,QAAQ;cACpB,SAAS,UAAU;AAC5B,eAAW,MAAM,KAAK,GAAG,QAAQ,UAAU;AAC3C,eAAW,UAAU,QAAQ;;GAGjC,MAAM,YAAY,WAAW,MAAM;AACnC,QAAK,cAAc,CAAC,WAAW;AAC/B,iBAAc,YAAY,KAAK;AAC/B,QAAK,iBAAiB;AACtB,mBAAgB,YAAY,KAAK;AACjC,QAAK,mBAAmB;AACxB,oBAAiB,YAAY,KAAK;AAClC,QAAK,gBAAgB;AACrB,QAAK,gBAAgB;AACrB,oBAAiB,YAAY,KAAK;AAClC,QAAK,gBAAgB;AACrB,QAAK,gBAAgB;AACrB,QAAK,kBAAkB;AACvB,QAAK,oBAAoB;SACpB;AACL,QAAK,kBAAkB;AACvB,QAAK,oBAAoB;AACzB,QAAK,iBAAiB;AACtB,QAAK,iBAAiB;;;AAG1B,QAAO"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/formatCSSVariablePrefix.d.ts
2
+ declare function formatCSSVariablePrefix(prefix?: string): string;
3
+ //#endregion
4
+ export { formatCSSVariablePrefix };
5
+ //# sourceMappingURL=formatCSSVariablePrefix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatCSSVariablePrefix.d.ts","names":[],"sources":["../../src/utils/formatCSSVariablePrefix.ts"],"sourcesContent":[],"mappings":";iBAAgB,uBAAA"}
@@ -0,0 +1,8 @@
1
+ //#region src/utils/formatCSSVariablePrefix.ts
2
+ function formatCSSVariablePrefix(prefix = "diffs") {
3
+ return `--${prefix}-`;
4
+ }
5
+
6
+ //#endregion
7
+ export { formatCSSVariablePrefix };
8
+ //# sourceMappingURL=formatCSSVariablePrefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatCSSVariablePrefix.js","names":[],"sources":["../../src/utils/formatCSSVariablePrefix.ts"],"sourcesContent":["export function formatCSSVariablePrefix(prefix: string = 'diffs') {\n return `--${prefix}-`;\n}\n"],"mappings":";AAAA,SAAgB,wBAAwB,SAAiB,SAAS;AAChE,QAAO,KAAK,OAAO"}
@@ -0,0 +1,9 @@
1
+ import { ExtensionFormatMap, SupportedLanguages } from "../types.js";
2
+
3
+ //#region src/utils/getFiletypeFromFileName.d.ts
4
+ declare const EXTENSION_TO_FILE_FORMAT: ExtensionFormatMap;
5
+ declare function getFiletypeFromFileName(fileName: string): SupportedLanguages;
6
+ declare function extendFileFormatMap(map: ExtensionFormatMap): void;
7
+ //#endregion
8
+ export { EXTENSION_TO_FILE_FORMAT, extendFileFormatMap, getFiletypeFromFileName };
9
+ //# sourceMappingURL=getFiletypeFromFileName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFiletypeFromFileName.d.ts","names":["EXTENSION_TO_FILE_FORMAT: ExtensionFormatMap"],"sources":["../../src/utils/getFiletypeFromFileName.ts"],"sourcesContent":[],"mappings":";;;cAEaA,0BAA0B;iBA0UvB,uBAAA,oBAA2C;AA1U9CA,iBA8VG,mBAAA,CA9VuB,GAAA,EA8VE,kBA9VF,CAAA,EAAA,IAAA"}
@@ -0,0 +1,343 @@
1
+ //#region src/utils/getFiletypeFromFileName.ts
2
+ const EXTENSION_TO_FILE_FORMAT = {
3
+ "1c": "1c",
4
+ abap: "abap",
5
+ as: "actionscript-3",
6
+ ada: "ada",
7
+ adb: "ada",
8
+ ads: "ada",
9
+ adoc: "asciidoc",
10
+ asciidoc: "asciidoc",
11
+ "component.html": "angular-html",
12
+ "component.ts": "angular-ts",
13
+ conf: "nginx",
14
+ htaccess: "apache",
15
+ cls: "tex",
16
+ trigger: "apex",
17
+ apl: "apl",
18
+ applescript: "applescript",
19
+ scpt: "applescript",
20
+ ara: "ara",
21
+ asm: "asm",
22
+ s: "riscv",
23
+ astro: "astro",
24
+ awk: "awk",
25
+ bal: "ballerina",
26
+ sh: "zsh",
27
+ bash: "zsh",
28
+ bat: "cmd",
29
+ cmd: "cmd",
30
+ be: "berry",
31
+ beancount: "beancount",
32
+ bib: "bibtex",
33
+ bicep: "bicep",
34
+ "blade.php": "blade",
35
+ bsl: "bsl",
36
+ c: "c",
37
+ h: "objective-cpp",
38
+ cs: "csharp",
39
+ cpp: "cpp",
40
+ hpp: "cpp",
41
+ cc: "cpp",
42
+ cxx: "cpp",
43
+ hh: "cpp",
44
+ cdc: "cdc",
45
+ cairo: "cairo",
46
+ clar: "clarity",
47
+ clj: "clojure",
48
+ cljs: "clojure",
49
+ cljc: "clojure",
50
+ soy: "soy",
51
+ cmake: "cmake",
52
+ "CMakeLists.txt": "cmake",
53
+ cob: "cobol",
54
+ cbl: "cobol",
55
+ cobol: "cobol",
56
+ CODEOWNERS: "codeowners",
57
+ ql: "ql",
58
+ coffee: "coffeescript",
59
+ lisp: "lisp",
60
+ cl: "lisp",
61
+ lsp: "lisp",
62
+ log: "log",
63
+ v: "verilog",
64
+ cql: "cql",
65
+ cr: "crystal",
66
+ css: "css",
67
+ csv: "csv",
68
+ cue: "cue",
69
+ cypher: "cypher",
70
+ cyp: "cypher",
71
+ d: "d",
72
+ dart: "dart",
73
+ dax: "dax",
74
+ desktop: "desktop",
75
+ diff: "diff",
76
+ patch: "diff",
77
+ Dockerfile: "dockerfile",
78
+ dockerfile: "dockerfile",
79
+ env: "dotenv",
80
+ dm: "dream-maker",
81
+ edge: "edge",
82
+ el: "emacs-lisp",
83
+ ex: "elixir",
84
+ exs: "elixir",
85
+ elm: "elm",
86
+ erb: "erb",
87
+ erl: "erlang",
88
+ hrl: "erlang",
89
+ f: "fortran-fixed-form",
90
+ for: "fortran-fixed-form",
91
+ fs: "fsharp",
92
+ fsi: "fsharp",
93
+ fsx: "fsharp",
94
+ f03: "f03",
95
+ f08: "f08",
96
+ f18: "f18",
97
+ f77: "f77",
98
+ f90: "fortran-free-form",
99
+ f95: "fortran-free-form",
100
+ fnl: "fennel",
101
+ fish: "fish",
102
+ ftl: "ftl",
103
+ tres: "gdresource",
104
+ res: "gdresource",
105
+ gd: "gdscript",
106
+ gdshader: "gdshader",
107
+ gs: "genie",
108
+ feature: "gherkin",
109
+ COMMIT_EDITMSG: "git-commit",
110
+ "git-rebase-todo": "git-rebase",
111
+ gjs: "glimmer-js",
112
+ gleam: "gleam",
113
+ gts: "glimmer-ts",
114
+ glsl: "glsl",
115
+ vert: "glsl",
116
+ frag: "glsl",
117
+ shader: "shaderlab",
118
+ gp: "gnuplot",
119
+ plt: "gnuplot",
120
+ gnuplot: "gnuplot",
121
+ go: "go",
122
+ graphql: "graphql",
123
+ gql: "graphql",
124
+ groovy: "groovy",
125
+ gvy: "groovy",
126
+ hack: "hack",
127
+ haml: "haml",
128
+ hbs: "handlebars",
129
+ handlebars: "handlebars",
130
+ hs: "haskell",
131
+ lhs: "haskell",
132
+ hx: "haxe",
133
+ hcl: "hcl",
134
+ hjson: "hjson",
135
+ hlsl: "hlsl",
136
+ fx: "hlsl",
137
+ html: "html",
138
+ htm: "html",
139
+ http: "http",
140
+ rest: "http",
141
+ hxml: "hxml",
142
+ hy: "hy",
143
+ imba: "imba",
144
+ ini: "ini",
145
+ cfg: "ini",
146
+ jade: "pug",
147
+ pug: "pug",
148
+ java: "java",
149
+ js: "javascript",
150
+ mjs: "javascript",
151
+ cjs: "javascript",
152
+ jinja: "jinja",
153
+ jinja2: "jinja",
154
+ j2: "jinja",
155
+ jison: "jison",
156
+ jl: "julia",
157
+ json: "json",
158
+ json5: "json5",
159
+ jsonc: "jsonc",
160
+ jsonl: "jsonl",
161
+ jsonnet: "jsonnet",
162
+ libsonnet: "jsonnet",
163
+ jssm: "jssm",
164
+ jsx: "jsx",
165
+ kt: "kotlin",
166
+ kts: "kts",
167
+ kql: "kusto",
168
+ tex: "tex",
169
+ ltx: "tex",
170
+ lean: "lean4",
171
+ less: "less",
172
+ liquid: "liquid",
173
+ lit: "lit",
174
+ ll: "llvm",
175
+ logo: "logo",
176
+ lua: "lua",
177
+ luau: "luau",
178
+ Makefile: "makefile",
179
+ mk: "makefile",
180
+ makefile: "makefile",
181
+ md: "markdown",
182
+ markdown: "markdown",
183
+ marko: "marko",
184
+ m: "wolfram",
185
+ mat: "matlab",
186
+ mdc: "mdc",
187
+ mdx: "mdx",
188
+ wiki: "wikitext",
189
+ mediawiki: "wikitext",
190
+ mmd: "mermaid",
191
+ mermaid: "mermaid",
192
+ mips: "mipsasm",
193
+ mojo: "mojo",
194
+ "🔥": "mojo",
195
+ move: "move",
196
+ nar: "narrat",
197
+ nf: "nextflow",
198
+ nim: "nim",
199
+ nims: "nim",
200
+ nimble: "nim",
201
+ nix: "nix",
202
+ nu: "nushell",
203
+ mm: "objective-cpp",
204
+ ml: "ocaml",
205
+ mli: "ocaml",
206
+ mll: "ocaml",
207
+ mly: "ocaml",
208
+ pas: "pascal",
209
+ p: "pascal",
210
+ pl: "prolog",
211
+ pm: "perl",
212
+ t: "perl",
213
+ raku: "raku",
214
+ p6: "raku",
215
+ pl6: "raku",
216
+ php: "php",
217
+ phtml: "php",
218
+ pls: "plsql",
219
+ sql: "sql",
220
+ po: "po",
221
+ polar: "polar",
222
+ pcss: "postcss",
223
+ pot: "pot",
224
+ potx: "potx",
225
+ pq: "powerquery",
226
+ pqm: "powerquery",
227
+ ps1: "powershell",
228
+ psm1: "powershell",
229
+ psd1: "powershell",
230
+ prisma: "prisma",
231
+ pro: "prolog",
232
+ P: "prolog",
233
+ properties: "properties",
234
+ proto: "protobuf",
235
+ pp: "puppet",
236
+ purs: "purescript",
237
+ py: "python",
238
+ pyw: "python",
239
+ pyi: "python",
240
+ qml: "qml",
241
+ qmldir: "qmldir",
242
+ qss: "qss",
243
+ r: "r",
244
+ R: "r",
245
+ rkt: "racket",
246
+ rktl: "racket",
247
+ razor: "razor",
248
+ cshtml: "razor",
249
+ rb: "ruby",
250
+ rbw: "ruby",
251
+ reg: "reg",
252
+ regex: "regexp",
253
+ rel: "rel",
254
+ rs: "rust",
255
+ rst: "rst",
256
+ rake: "ruby",
257
+ gemspec: "ruby",
258
+ sas: "sas",
259
+ sass: "sass",
260
+ scala: "scala",
261
+ sc: "scala",
262
+ scm: "scheme",
263
+ ss: "scheme",
264
+ sld: "scheme",
265
+ scss: "scss",
266
+ sdbl: "sdbl",
267
+ shadergraph: "shader",
268
+ st: "smalltalk",
269
+ sol: "solidity",
270
+ sparql: "sparql",
271
+ rq: "sparql",
272
+ spl: "splunk",
273
+ config: "ssh-config",
274
+ do: "stata",
275
+ ado: "stata",
276
+ dta: "stata",
277
+ styl: "stylus",
278
+ stylus: "stylus",
279
+ svelte: "svelte",
280
+ swift: "swift",
281
+ sv: "system-verilog",
282
+ svh: "system-verilog",
283
+ service: "systemd",
284
+ socket: "systemd",
285
+ device: "systemd",
286
+ timer: "systemd",
287
+ talon: "talonscript",
288
+ tasl: "tasl",
289
+ tcl: "tcl",
290
+ templ: "templ",
291
+ tf: "tf",
292
+ tfvars: "tfvars",
293
+ toml: "toml",
294
+ ts: "typescript",
295
+ tsp: "typespec",
296
+ tsv: "tsv",
297
+ tsx: "tsx",
298
+ ttl: "turtle",
299
+ twig: "twig",
300
+ typ: "typst",
301
+ vv: "v",
302
+ vala: "vala",
303
+ vapi: "vala",
304
+ vb: "vb",
305
+ vbs: "vb",
306
+ bas: "vb",
307
+ vh: "verilog",
308
+ vhd: "vhdl",
309
+ vhdl: "vhdl",
310
+ vim: "vimscript",
311
+ vue: "vue",
312
+ "vine.ts": "vue-vine",
313
+ vy: "vyper",
314
+ wasm: "wasm",
315
+ wat: "wasm",
316
+ wy: "文言",
317
+ wgsl: "wgsl",
318
+ wit: "wit",
319
+ wl: "wolfram",
320
+ nb: "wolfram",
321
+ xml: "xml",
322
+ xsl: "xsl",
323
+ xslt: "xsl",
324
+ yaml: "yaml",
325
+ yml: "yml",
326
+ zs: "zenscript",
327
+ zig: "zig",
328
+ zsh: "zsh",
329
+ sty: "tex"
330
+ };
331
+ function getFiletypeFromFileName(fileName) {
332
+ if (EXTENSION_TO_FILE_FORMAT[fileName] != null) return EXTENSION_TO_FILE_FORMAT[fileName];
333
+ const compoundMatch = fileName.match(/\.([^/\\]+\.[^/\\]+)$/);
334
+ if (compoundMatch != null && EXTENSION_TO_FILE_FORMAT[compoundMatch[1]] != null) return EXTENSION_TO_FILE_FORMAT[compoundMatch[1]] ?? "text";
335
+ return EXTENSION_TO_FILE_FORMAT[fileName.match(/\.([^.]+)$/)?.[1] ?? ""] ?? "text";
336
+ }
337
+ function extendFileFormatMap(map) {
338
+ for (const key in map) EXTENSION_TO_FILE_FORMAT[key] = map[key];
339
+ }
340
+
341
+ //#endregion
342
+ export { EXTENSION_TO_FILE_FORMAT, extendFileFormatMap, getFiletypeFromFileName };
343
+ //# sourceMappingURL=getFiletypeFromFileName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFiletypeFromFileName.js","names":["EXTENSION_TO_FILE_FORMAT: ExtensionFormatMap"],"sources":["../../src/utils/getFiletypeFromFileName.ts"],"sourcesContent":["import type { ExtensionFormatMap, SupportedLanguages } from '../types';\n\nexport const EXTENSION_TO_FILE_FORMAT: ExtensionFormatMap = {\n '1c': '1c',\n abap: 'abap',\n as: 'actionscript-3',\n ada: 'ada',\n adb: 'ada',\n ads: 'ada',\n adoc: 'asciidoc',\n asciidoc: 'asciidoc',\n 'component.html': 'angular-html',\n 'component.ts': 'angular-ts',\n conf: 'nginx',\n htaccess: 'apache',\n cls: 'tex',\n trigger: 'apex',\n apl: 'apl',\n applescript: 'applescript',\n scpt: 'applescript',\n ara: 'ara',\n asm: 'asm',\n s: 'riscv',\n astro: 'astro',\n awk: 'awk',\n bal: 'ballerina',\n sh: 'zsh',\n bash: 'zsh',\n bat: 'cmd',\n cmd: 'cmd',\n be: 'berry',\n beancount: 'beancount',\n bib: 'bibtex',\n bicep: 'bicep',\n 'blade.php': 'blade',\n bsl: 'bsl',\n c: 'c',\n h: 'objective-cpp',\n cs: 'csharp',\n cpp: 'cpp',\n hpp: 'cpp',\n cc: 'cpp',\n cxx: 'cpp',\n hh: 'cpp',\n cdc: 'cdc',\n cairo: 'cairo',\n clar: 'clarity',\n clj: 'clojure',\n cljs: 'clojure',\n cljc: 'clojure',\n soy: 'soy',\n cmake: 'cmake',\n 'CMakeLists.txt': 'cmake',\n cob: 'cobol',\n cbl: 'cobol',\n cobol: 'cobol',\n CODEOWNERS: 'codeowners',\n ql: 'ql',\n coffee: 'coffeescript',\n lisp: 'lisp',\n cl: 'lisp',\n lsp: 'lisp',\n log: 'log',\n v: 'verilog',\n cql: 'cql',\n cr: 'crystal',\n css: 'css',\n csv: 'csv',\n cue: 'cue',\n cypher: 'cypher',\n cyp: 'cypher',\n d: 'd',\n dart: 'dart',\n dax: 'dax',\n desktop: 'desktop',\n diff: 'diff',\n patch: 'diff',\n Dockerfile: 'dockerfile',\n dockerfile: 'dockerfile',\n env: 'dotenv',\n dm: 'dream-maker',\n edge: 'edge',\n el: 'emacs-lisp',\n ex: 'elixir',\n exs: 'elixir',\n elm: 'elm',\n erb: 'erb',\n erl: 'erlang',\n hrl: 'erlang',\n f: 'fortran-fixed-form',\n for: 'fortran-fixed-form',\n fs: 'fsharp',\n fsi: 'fsharp',\n fsx: 'fsharp',\n f03: 'f03',\n f08: 'f08',\n f18: 'f18',\n f77: 'f77',\n f90: 'fortran-free-form',\n f95: 'fortran-free-form',\n fnl: 'fennel',\n fish: 'fish',\n ftl: 'ftl',\n tres: 'gdresource',\n res: 'gdresource',\n gd: 'gdscript',\n gdshader: 'gdshader',\n gs: 'genie',\n feature: 'gherkin',\n COMMIT_EDITMSG: 'git-commit',\n 'git-rebase-todo': 'git-rebase',\n gjs: 'glimmer-js',\n gleam: 'gleam',\n gts: 'glimmer-ts',\n glsl: 'glsl',\n vert: 'glsl',\n frag: 'glsl',\n shader: 'shaderlab',\n gp: 'gnuplot',\n plt: 'gnuplot',\n gnuplot: 'gnuplot',\n go: 'go',\n graphql: 'graphql',\n gql: 'graphql',\n groovy: 'groovy',\n gvy: 'groovy',\n hack: 'hack',\n haml: 'haml',\n hbs: 'handlebars',\n handlebars: 'handlebars',\n hs: 'haskell',\n lhs: 'haskell',\n hx: 'haxe',\n hcl: 'hcl',\n hjson: 'hjson',\n hlsl: 'hlsl',\n fx: 'hlsl',\n html: 'html',\n htm: 'html',\n http: 'http',\n rest: 'http',\n hxml: 'hxml',\n hy: 'hy',\n imba: 'imba',\n ini: 'ini',\n cfg: 'ini',\n jade: 'pug',\n pug: 'pug',\n java: 'java',\n js: 'javascript',\n mjs: 'javascript',\n cjs: 'javascript',\n jinja: 'jinja',\n jinja2: 'jinja',\n j2: 'jinja',\n jison: 'jison',\n jl: 'julia',\n json: 'json',\n json5: 'json5',\n jsonc: 'jsonc',\n jsonl: 'jsonl',\n jsonnet: 'jsonnet',\n libsonnet: 'jsonnet',\n jssm: 'jssm',\n jsx: 'jsx',\n kt: 'kotlin',\n kts: 'kts',\n kql: 'kusto',\n tex: 'tex',\n ltx: 'tex',\n lean: 'lean4',\n less: 'less',\n liquid: 'liquid',\n lit: 'lit',\n ll: 'llvm',\n logo: 'logo',\n lua: 'lua',\n luau: 'luau',\n Makefile: 'makefile',\n mk: 'makefile',\n makefile: 'makefile',\n md: 'markdown',\n markdown: 'markdown',\n marko: 'marko',\n m: 'wolfram',\n mat: 'matlab',\n mdc: 'mdc',\n mdx: 'mdx',\n wiki: 'wikitext',\n mediawiki: 'wikitext',\n mmd: 'mermaid',\n mermaid: 'mermaid',\n mips: 'mipsasm',\n mojo: 'mojo',\n '🔥': 'mojo',\n move: 'move',\n nar: 'narrat',\n nf: 'nextflow',\n nim: 'nim',\n nims: 'nim',\n nimble: 'nim',\n nix: 'nix',\n nu: 'nushell',\n mm: 'objective-cpp',\n ml: 'ocaml',\n mli: 'ocaml',\n mll: 'ocaml',\n mly: 'ocaml',\n pas: 'pascal',\n p: 'pascal',\n pl: 'prolog',\n pm: 'perl',\n t: 'perl',\n raku: 'raku',\n p6: 'raku',\n pl6: 'raku',\n php: 'php',\n phtml: 'php',\n pls: 'plsql',\n sql: 'sql',\n po: 'po',\n polar: 'polar',\n pcss: 'postcss',\n pot: 'pot',\n potx: 'potx',\n pq: 'powerquery',\n pqm: 'powerquery',\n ps1: 'powershell',\n psm1: 'powershell',\n psd1: 'powershell',\n prisma: 'prisma',\n pro: 'prolog',\n P: 'prolog',\n properties: 'properties',\n proto: 'protobuf',\n pp: 'puppet',\n purs: 'purescript',\n py: 'python',\n pyw: 'python',\n pyi: 'python',\n qml: 'qml',\n qmldir: 'qmldir',\n qss: 'qss',\n r: 'r',\n R: 'r',\n rkt: 'racket',\n rktl: 'racket',\n razor: 'razor',\n cshtml: 'razor',\n rb: 'ruby',\n rbw: 'ruby',\n reg: 'reg',\n regex: 'regexp',\n rel: 'rel',\n rs: 'rust',\n rst: 'rst',\n rake: 'ruby',\n gemspec: 'ruby',\n sas: 'sas',\n sass: 'sass',\n scala: 'scala',\n sc: 'scala',\n scm: 'scheme',\n ss: 'scheme',\n sld: 'scheme',\n scss: 'scss',\n sdbl: 'sdbl',\n shadergraph: 'shader',\n st: 'smalltalk',\n sol: 'solidity',\n sparql: 'sparql',\n rq: 'sparql',\n spl: 'splunk',\n config: 'ssh-config',\n do: 'stata',\n ado: 'stata',\n dta: 'stata',\n styl: 'stylus',\n stylus: 'stylus',\n svelte: 'svelte',\n swift: 'swift',\n sv: 'system-verilog',\n svh: 'system-verilog',\n service: 'systemd',\n socket: 'systemd',\n device: 'systemd',\n timer: 'systemd',\n talon: 'talonscript',\n tasl: 'tasl',\n tcl: 'tcl',\n templ: 'templ',\n tf: 'tf',\n tfvars: 'tfvars',\n toml: 'toml',\n ts: 'typescript',\n tsp: 'typespec',\n tsv: 'tsv',\n tsx: 'tsx',\n ttl: 'turtle',\n twig: 'twig',\n typ: 'typst',\n vv: 'v',\n vala: 'vala',\n vapi: 'vala',\n vb: 'vb',\n vbs: 'vb',\n bas: 'vb',\n vh: 'verilog',\n vhd: 'vhdl',\n vhdl: 'vhdl',\n vim: 'vimscript',\n vue: 'vue',\n 'vine.ts': 'vue-vine',\n vy: 'vyper',\n wasm: 'wasm',\n wat: 'wasm',\n wy: '文言',\n wgsl: 'wgsl',\n wit: 'wit',\n wl: 'wolfram',\n nb: 'wolfram',\n xml: 'xml',\n xsl: 'xsl',\n xslt: 'xsl',\n yaml: 'yaml',\n yml: 'yml',\n zs: 'zenscript',\n zig: 'zig',\n zsh: 'zsh',\n sty: 'tex',\n};\n\nexport function getFiletypeFromFileName(fileName: string): SupportedLanguages {\n // Handle special files without extensions first\n if (EXTENSION_TO_FILE_FORMAT[fileName] != null) {\n return EXTENSION_TO_FILE_FORMAT[fileName];\n }\n\n // Try compound extensions first (e.g., .blade.php, .component.ts)\n const compoundMatch = fileName.match(/\\.([^/\\\\]+\\.[^/\\\\]+)$/);\n if (\n compoundMatch != null &&\n EXTENSION_TO_FILE_FORMAT[compoundMatch[1]] != null\n ) {\n return EXTENSION_TO_FILE_FORMAT[compoundMatch[1]] ?? 'text';\n }\n\n // Fall back to simple extension\n const simpleMatch = fileName.match(/\\.([^.]+)$/);\n return EXTENSION_TO_FILE_FORMAT[simpleMatch?.[1] ?? ''] ?? 'text';\n}\n\nexport function extendFileFormatMap(map: ExtensionFormatMap): void {\n for (const key in map) {\n EXTENSION_TO_FILE_FORMAT[key] = map[key];\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { DiffsThemeNames, SupportedLanguages, ThemesType } from "../types.js";
2
+
3
+ //#region src/utils/getHighlighterOptions.d.ts
4
+ interface HighlighterOptionsShape {
5
+ theme?: DiffsThemeNames | ThemesType;
6
+ }
7
+ interface GetHighlighterOptionsReturn {
8
+ langs: SupportedLanguages[];
9
+ themes: DiffsThemeNames[];
10
+ }
11
+ declare function getHighlighterOptions(lang: SupportedLanguages | undefined, options: HighlighterOptionsShape): GetHighlighterOptionsReturn;
12
+ //#endregion
13
+ export { getHighlighterOptions };
14
+ //# sourceMappingURL=getHighlighterOptions.d.ts.map