@pierre/diffs 1.0.10 → 1.1.0-beta.10

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 (341) hide show
  1. package/dist/components/AdvancedVirtualizedFileDiff.d.ts +40 -0
  2. package/dist/components/AdvancedVirtualizedFileDiff.d.ts.map +1 -0
  3. package/dist/components/AdvancedVirtualizedFileDiff.js +145 -0
  4. package/dist/components/AdvancedVirtualizedFileDiff.js.map +1 -0
  5. package/dist/components/AdvancedVirtualizer.d.ts +38 -0
  6. package/dist/components/AdvancedVirtualizer.d.ts.map +1 -0
  7. package/dist/components/AdvancedVirtualizer.js +201 -0
  8. package/dist/components/AdvancedVirtualizer.js.map +1 -0
  9. package/dist/components/File.d.ts +59 -32
  10. package/dist/components/File.d.ts.map +1 -1
  11. package/dist/components/File.js +297 -53
  12. package/dist/components/File.js.map +1 -1
  13. package/dist/components/FileDiff.d.ts +87 -39
  14. package/dist/components/FileDiff.d.ts.map +1 -1
  15. package/dist/components/FileDiff.js +687 -109
  16. package/dist/components/FileDiff.js.map +1 -1
  17. package/dist/components/FileStream.d.ts +6 -0
  18. package/dist/components/FileStream.d.ts.map +1 -1
  19. package/dist/components/FileStream.js +74 -12
  20. package/dist/components/FileStream.js.map +1 -1
  21. package/dist/components/VirtualizedFile.d.ts +33 -0
  22. package/dist/components/VirtualizedFile.d.ts.map +1 -0
  23. package/dist/components/VirtualizedFile.js +227 -0
  24. package/dist/components/VirtualizedFile.js.map +1 -0
  25. package/dist/components/VirtualizedFileDiff.d.ts +39 -0
  26. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -0
  27. package/dist/components/VirtualizedFileDiff.js +316 -0
  28. package/dist/components/VirtualizedFileDiff.js.map +1 -0
  29. package/dist/components/Virtualizer.d.ts +63 -0
  30. package/dist/components/Virtualizer.d.ts.map +1 -0
  31. package/dist/components/Virtualizer.js +369 -0
  32. package/dist/components/Virtualizer.js.map +1 -0
  33. package/dist/components/VirtulizerDevelopment.d.ts +14 -0
  34. package/dist/components/VirtulizerDevelopment.d.ts.map +1 -0
  35. package/dist/components/web-components.d.ts +1 -1
  36. package/dist/components/web-components.d.ts.map +1 -1
  37. package/dist/constants.d.ts +7 -3
  38. package/dist/constants.d.ts.map +1 -1
  39. package/dist/constants.js +20 -2
  40. package/dist/constants.js.map +1 -1
  41. package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -1
  42. package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -1
  43. package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -1
  44. package/dist/highlighter/languages/constants.d.ts +3 -1
  45. package/dist/highlighter/languages/constants.d.ts.map +1 -1
  46. package/dist/highlighter/languages/constants.js +2 -1
  47. package/dist/highlighter/languages/constants.js.map +1 -1
  48. package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -1
  49. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +1 -1
  50. package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -1
  51. package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -1
  52. package/dist/highlighter/languages/registerCustomLanguage.d.ts +19 -0
  53. package/dist/highlighter/languages/registerCustomLanguage.d.ts.map +1 -0
  54. package/dist/highlighter/languages/registerCustomLanguage.js +21 -0
  55. package/dist/highlighter/languages/registerCustomLanguage.js.map +1 -0
  56. package/dist/highlighter/languages/resolveLanguage.d.ts +1 -1
  57. package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -1
  58. package/dist/highlighter/languages/resolveLanguage.js +4 -3
  59. package/dist/highlighter/languages/resolveLanguage.js.map +1 -1
  60. package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -1
  61. package/dist/highlighter/shared_highlighter.d.ts.map +1 -1
  62. package/dist/highlighter/shared_highlighter.js.map +1 -1
  63. package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -1
  64. package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -1
  65. package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -1
  66. package/dist/highlighter/themes/constants.d.ts.map +1 -1
  67. package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -1
  68. package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -1
  69. package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -1
  70. package/dist/highlighter/themes/registerCustomCSSVariableTheme.d.ts.map +1 -1
  71. package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -1
  72. package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -1
  73. package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -1
  74. package/dist/index.d.ts +27 -13
  75. package/dist/index.js +22 -8
  76. package/dist/managers/LineSelectionManager.d.ts +14 -15
  77. package/dist/managers/LineSelectionManager.d.ts.map +1 -1
  78. package/dist/managers/LineSelectionManager.js +66 -78
  79. package/dist/managers/LineSelectionManager.js.map +1 -1
  80. package/dist/managers/MouseEventManager.d.ts +13 -6
  81. package/dist/managers/MouseEventManager.d.ts.map +1 -1
  82. package/dist/managers/MouseEventManager.js +161 -47
  83. package/dist/managers/MouseEventManager.js.map +1 -1
  84. package/dist/managers/ResizeManager.d.ts +6 -1
  85. package/dist/managers/ResizeManager.d.ts.map +1 -1
  86. package/dist/managers/ResizeManager.js +114 -64
  87. package/dist/managers/ResizeManager.js.map +1 -1
  88. package/dist/managers/ScrollSyncManager.d.ts.map +1 -1
  89. package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
  90. package/dist/react/File.d.ts +1 -0
  91. package/dist/react/File.d.ts.map +1 -1
  92. package/dist/react/File.js +2 -1
  93. package/dist/react/File.js.map +1 -1
  94. package/dist/react/FileDiff.d.ts +1 -0
  95. package/dist/react/FileDiff.d.ts.map +1 -1
  96. package/dist/react/FileDiff.js +2 -1
  97. package/dist/react/FileDiff.js.map +1 -1
  98. package/dist/react/MultiFileDiff.d.ts +1 -0
  99. package/dist/react/MultiFileDiff.d.ts.map +1 -1
  100. package/dist/react/MultiFileDiff.js +4 -3
  101. package/dist/react/MultiFileDiff.js.map +1 -1
  102. package/dist/react/PatchDiff.d.ts +1 -0
  103. package/dist/react/PatchDiff.d.ts.map +1 -1
  104. package/dist/react/PatchDiff.js +3 -2
  105. package/dist/react/PatchDiff.js.map +1 -1
  106. package/dist/react/Virtualizer.d.ts +25 -0
  107. package/dist/react/Virtualizer.d.ts.map +1 -0
  108. package/dist/react/Virtualizer.js +38 -0
  109. package/dist/react/Virtualizer.js.map +1 -0
  110. package/dist/react/WorkerPoolContext.d.ts.map +1 -1
  111. package/dist/react/WorkerPoolContext.js +1 -1
  112. package/dist/react/WorkerPoolContext.js.map +1 -1
  113. package/dist/react/constants.d.ts.map +1 -1
  114. package/dist/react/index.d.ts +3 -2
  115. package/dist/react/index.js +2 -1
  116. package/dist/react/jsx.d.ts.map +1 -1
  117. package/dist/react/types.d.ts +5 -3
  118. package/dist/react/types.d.ts.map +1 -1
  119. package/dist/react/utils/renderDiffChildren.d.ts +9 -9
  120. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  121. package/dist/react/utils/renderDiffChildren.js +3 -3
  122. package/dist/react/utils/renderDiffChildren.js.map +1 -1
  123. package/dist/react/utils/renderFileChildren.d.ts +5 -5
  124. package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  125. package/dist/react/utils/templateRender.d.ts.map +1 -1
  126. package/dist/react/utils/useFileDiffInstance.d.ts +5 -3
  127. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  128. package/dist/react/utils/useFileDiffInstance.js +6 -2
  129. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  130. package/dist/react/utils/useFileInstance.d.ts +5 -3
  131. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  132. package/dist/react/utils/useFileInstance.js +6 -2
  133. package/dist/react/utils/useFileInstance.js.map +1 -1
  134. package/dist/react/utils/useStableCallback.d.ts.map +1 -1
  135. package/dist/react/utils/useStableCallback.js.map +1 -1
  136. package/dist/renderers/DiffHunksRenderer.d.ts +21 -15
  137. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  138. package/dist/renderers/DiffHunksRenderer.js +392 -357
  139. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  140. package/dist/renderers/FileRenderer.d.ts +13 -5
  141. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  142. package/dist/renderers/FileRenderer.js +101 -35
  143. package/dist/renderers/FileRenderer.js.map +1 -1
  144. package/dist/shiki-stream/stream.d.ts +2 -2
  145. package/dist/shiki-stream/stream.d.ts.map +1 -1
  146. package/dist/shiki-stream/stream.js.map +1 -1
  147. package/dist/shiki-stream/tokenizer.d.ts +2 -2
  148. package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  149. package/dist/shiki-stream/tokenizer.js.map +1 -1
  150. package/dist/shiki-stream/types.d.ts +18 -18
  151. package/dist/shiki-stream/types.d.ts.map +1 -1
  152. package/dist/sprite.d.ts +1 -1
  153. package/dist/sprite.d.ts.map +1 -1
  154. package/dist/ssr/FileDiffReact.d.ts.map +1 -1
  155. package/dist/ssr/FileDiffReact.js +1 -1
  156. package/dist/ssr/index.d.ts +2 -2
  157. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  158. package/dist/ssr/preloadFile.d.ts.map +1 -1
  159. package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  160. package/dist/ssr/preloadPatchFile.js.map +1 -1
  161. package/dist/ssr/renderHTML.d.ts.map +1 -1
  162. package/dist/style.js +1 -1
  163. package/dist/style.js.map +1 -1
  164. package/dist/types.d.ts +311 -74
  165. package/dist/types.d.ts.map +1 -1
  166. package/dist/utils/areDiffLineAnnotationsEqual.d.ts +7 -0
  167. package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -0
  168. package/dist/utils/areDiffLineAnnotationsEqual.js +8 -0
  169. package/dist/utils/areDiffLineAnnotationsEqual.js.map +1 -0
  170. package/dist/utils/areFilesEqual.d.ts.map +1 -1
  171. package/dist/utils/areHunkDataEqual.d.ts +7 -0
  172. package/dist/utils/areHunkDataEqual.d.ts.map +1 -0
  173. package/dist/utils/areHunkDataEqual.js +8 -0
  174. package/dist/utils/areHunkDataEqual.js.map +1 -0
  175. package/dist/utils/areLineAnnotationsEqual.d.ts +7 -0
  176. package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -0
  177. package/dist/utils/areLineAnnotationsEqual.js +8 -0
  178. package/dist/utils/areLineAnnotationsEqual.js.map +1 -0
  179. package/dist/utils/areObjectsEqual.d.ts.map +1 -1
  180. package/dist/utils/areOptionsEqual.d.ts +1 -1
  181. package/dist/utils/areOptionsEqual.d.ts.map +1 -1
  182. package/dist/utils/arePrePropertiesEqual.d.ts +7 -0
  183. package/dist/utils/arePrePropertiesEqual.d.ts.map +1 -0
  184. package/dist/utils/arePrePropertiesEqual.js +9 -0
  185. package/dist/utils/arePrePropertiesEqual.js.map +1 -0
  186. package/dist/utils/areRenderRangesEqual.d.ts +7 -0
  187. package/dist/utils/areRenderRangesEqual.d.ts.map +1 -0
  188. package/dist/utils/areRenderRangesEqual.js +9 -0
  189. package/dist/utils/areRenderRangesEqual.js.map +1 -0
  190. package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
  191. package/dist/utils/areThemesEqual.d.ts.map +1 -1
  192. package/dist/utils/areVirtualWindowSpecsEqual.d.ts +7 -0
  193. package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -0
  194. package/dist/utils/areVirtualWindowSpecsEqual.js +9 -0
  195. package/dist/utils/areVirtualWindowSpecsEqual.js.map +1 -0
  196. package/dist/utils/areWorkerStatsEqual.d.ts +8 -0
  197. package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -0
  198. package/dist/utils/areWorkerStatsEqual.js +9 -0
  199. package/dist/utils/areWorkerStatsEqual.js.map +1 -0
  200. package/dist/utils/cleanLastNewline.d.ts.map +1 -1
  201. package/dist/utils/createAnnotationElement.d.ts.map +1 -1
  202. package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
  203. package/dist/utils/createContentColumn.d.ts +7 -0
  204. package/dist/utils/createContentColumn.d.ts.map +1 -0
  205. package/dist/utils/createContentColumn.js +17 -0
  206. package/dist/utils/createContentColumn.js.map +1 -0
  207. package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
  208. package/dist/utils/createEmptyRowBuffer.js +2 -1
  209. package/dist/utils/createEmptyRowBuffer.js.map +1 -1
  210. package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  211. package/dist/utils/createHoverContentNode.d.ts.map +1 -1
  212. package/dist/utils/createNoNewlineElement.d.ts +2 -1
  213. package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
  214. package/dist/utils/createNoNewlineElement.js +3 -6
  215. package/dist/utils/createNoNewlineElement.js.map +1 -1
  216. package/dist/utils/createPreElement.d.ts +2 -1
  217. package/dist/utils/createPreElement.d.ts.map +1 -1
  218. package/dist/utils/createPreElement.js +4 -3
  219. package/dist/utils/createPreElement.js.map +1 -1
  220. package/dist/utils/createRowNodes.d.ts.map +1 -1
  221. package/dist/utils/createSeparator.d.ts.map +1 -1
  222. package/dist/utils/createSeparator.js +2 -2
  223. package/dist/utils/createSeparator.js.map +1 -1
  224. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
  225. package/dist/utils/createSpanNodeFromToken.js.map +1 -1
  226. package/dist/utils/createStyleElement.d.ts.map +1 -1
  227. package/dist/utils/createTransformerWithState.d.ts.map +1 -1
  228. package/dist/utils/createTransformerWithState.js +1 -1
  229. package/dist/utils/createTransformerWithState.js.map +1 -1
  230. package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
  231. package/dist/utils/createWindowFromScrollPosition.d.ts +22 -0
  232. package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -0
  233. package/dist/utils/createWindowFromScrollPosition.js +26 -0
  234. package/dist/utils/createWindowFromScrollPosition.js.map +1 -0
  235. package/dist/utils/cssWrappers.d.ts.map +1 -1
  236. package/dist/utils/diffAcceptRejectHunk.d.ts +1 -1
  237. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
  238. package/dist/utils/diffAcceptRejectHunk.js +36 -21
  239. package/dist/utils/diffAcceptRejectHunk.js.map +1 -1
  240. package/dist/utils/formatCSSVariablePrefix.d.ts +1 -1
  241. package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
  242. package/dist/utils/getFiletypeFromFileName.d.ts +2 -1
  243. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  244. package/dist/utils/getFiletypeFromFileName.js +14 -4
  245. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  246. package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  247. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
  248. package/dist/utils/getHunkSeparatorSlotName.d.ts +3 -1
  249. package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
  250. package/dist/utils/getHunkSeparatorSlotName.js.map +1 -1
  251. package/dist/utils/getIconForType.d.ts +1 -1
  252. package/dist/utils/getIconForType.d.ts.map +1 -1
  253. package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
  254. package/dist/utils/getLineEndingType.d.ts +1 -1
  255. package/dist/utils/getLineEndingType.d.ts.map +1 -1
  256. package/dist/utils/getLineNodes.d.ts.map +1 -1
  257. package/dist/utils/getOrCreateCodeNode.d.ts +16 -0
  258. package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -0
  259. package/dist/utils/getOrCreateCodeNode.js +16 -0
  260. package/dist/utils/getOrCreateCodeNode.js.map +1 -0
  261. package/dist/utils/getSingularPatch.d.ts.map +1 -1
  262. package/dist/utils/getThemes.d.ts.map +1 -1
  263. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  264. package/dist/utils/getTotalLineCountFromHunks.js +1 -1
  265. package/dist/utils/getTotalLineCountFromHunks.js.map +1 -1
  266. package/dist/utils/hast_utils.d.ts +6 -2
  267. package/dist/utils/hast_utils.d.ts.map +1 -1
  268. package/dist/utils/hast_utils.js +34 -1
  269. package/dist/utils/hast_utils.js.map +1 -1
  270. package/dist/utils/isDefaultRenderRange.d.ts +7 -0
  271. package/dist/utils/isDefaultRenderRange.d.ts.map +1 -0
  272. package/dist/utils/isDefaultRenderRange.js +8 -0
  273. package/dist/utils/isDefaultRenderRange.js.map +1 -0
  274. package/dist/utils/isWorkerContext.d.ts.map +1 -1
  275. package/dist/utils/iterateOverDiff.d.ts +54 -0
  276. package/dist/utils/iterateOverDiff.d.ts.map +1 -0
  277. package/dist/utils/iterateOverDiff.js +397 -0
  278. package/dist/utils/iterateOverDiff.js.map +1 -0
  279. package/dist/utils/iterateOverFile.d.ts +50 -0
  280. package/dist/utils/iterateOverFile.d.ts.map +1 -0
  281. package/dist/utils/iterateOverFile.js +49 -0
  282. package/dist/utils/iterateOverFile.js.map +1 -0
  283. package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
  284. package/dist/utils/parseDiffFromFile.d.ts +6 -6
  285. package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  286. package/dist/utils/parseDiffFromFile.js +10 -7
  287. package/dist/utils/parseDiffFromFile.js.map +1 -1
  288. package/dist/utils/parseLineType.d.ts +1 -1
  289. package/dist/utils/parseLineType.d.ts.map +1 -1
  290. package/dist/utils/parsePatchFiles.d.ts +25 -11
  291. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  292. package/dist/utils/parsePatchFiles.js +221 -163
  293. package/dist/utils/parsePatchFiles.js.map +1 -1
  294. package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
  295. package/dist/utils/processLine.d.ts.map +1 -1
  296. package/dist/utils/processLine.js +11 -27
  297. package/dist/utils/processLine.js.map +1 -1
  298. package/dist/utils/renderDiffWithHighlighter.d.ts +8 -2
  299. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  300. package/dist/utils/renderDiffWithHighlighter.js +152 -228
  301. package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  302. package/dist/utils/renderFileWithHighlighter.d.ts +7 -2
  303. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  304. package/dist/utils/renderFileWithHighlighter.js +30 -4
  305. package/dist/utils/renderFileWithHighlighter.js.map +1 -1
  306. package/dist/utils/resolveVirtualFileMetrics.d.ts +7 -0
  307. package/dist/utils/resolveVirtualFileMetrics.d.ts.map +1 -0
  308. package/dist/utils/resolveVirtualFileMetrics.js +25 -0
  309. package/dist/utils/resolveVirtualFileMetrics.js.map +1 -0
  310. package/dist/utils/setLanguageOverride.d.ts +2 -1
  311. package/dist/utils/setLanguageOverride.d.ts.map +1 -1
  312. package/dist/utils/setLanguageOverride.js.map +1 -1
  313. package/dist/utils/setWrapperNodeProps.d.ts +4 -7
  314. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  315. package/dist/utils/setWrapperNodeProps.js +19 -12
  316. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  317. package/dist/utils/splitFileContents.d.ts +12 -0
  318. package/dist/utils/splitFileContents.d.ts.map +1 -0
  319. package/dist/utils/splitFileContents.js +17 -0
  320. package/dist/utils/splitFileContents.js.map +1 -0
  321. package/dist/utils/trimPatchContext.d.ts +11 -0
  322. package/dist/utils/trimPatchContext.d.ts.map +1 -0
  323. package/dist/utils/trimPatchContext.js +99 -0
  324. package/dist/utils/trimPatchContext.js.map +1 -0
  325. package/dist/worker/WorkerPoolManager.d.ts +11 -4
  326. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  327. package/dist/worker/WorkerPoolManager.js +153 -61
  328. package/dist/worker/WorkerPoolManager.js.map +1 -1
  329. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
  330. package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -1
  331. package/dist/worker/types.d.ts +32 -25
  332. package/dist/worker/types.d.ts.map +1 -1
  333. package/dist/worker/worker-portable.js +902 -312
  334. package/dist/worker/worker-portable.js.map +1 -1
  335. package/dist/worker/worker.js +657 -268
  336. package/dist/worker/worker.js.map +1 -1
  337. package/package.json +52 -50
  338. package/dist/utils/createCodeNode.d.ts +0 -12
  339. package/dist/utils/createCodeNode.d.ts.map +0 -1
  340. package/dist/utils/createCodeNode.js +0 -12
  341. package/dist/utils/createCodeNode.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { FileDiffMetadata } from "../types.js";
2
2
 
3
3
  //#region src/utils/diffAcceptRejectHunk.d.ts
4
- declare function diffAcceptRejectHunk(diff: FileDiffMetadata, hunkIndex: number, type: "accept" | "reject"): FileDiffMetadata;
4
+ declare function diffAcceptRejectHunk(diff: FileDiffMetadata, hunkIndex: number, type: 'accept' | 'reject'): FileDiffMetadata;
5
5
  //#endregion
6
6
  export { diffAcceptRejectHunk };
7
7
  //# sourceMappingURL=diffAcceptRejectHunk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diffAcceptRejectHunk.d.ts","names":[],"sources":["../../src/utils/diffAcceptRejectHunk.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,oBAAA,OACR,iEAGL"}
1
+ {"version":3,"file":"diffAcceptRejectHunk.d.ts","names":["FileDiffMetadata","diffAcceptRejectHunk"],"sources":["../../src/utils/diffAcceptRejectHunk.d.ts"],"sourcesContent":["import type { FileDiffMetadata } from '../types';\nexport declare function diffAcceptRejectHunk(diff: FileDiffMetadata, hunkIndex: number, type: 'accept' | 'reject'): FileDiffMetadata;\n//# sourceMappingURL=diffAcceptRejectHunk.d.ts.map"],"mappings":";;;iBACwBC,oBAAAA,OAA2BD,iEAAiEA"}
@@ -3,12 +3,12 @@ function diffAcceptRejectHunk(diff, hunkIndex, type) {
3
3
  diff = {
4
4
  ...diff,
5
5
  hunks: [...diff.hunks],
6
- oldLines: diff.oldLines != null ? [...diff.oldLines] : void 0,
7
- newLines: diff.newLines != null ? [...diff.newLines] : void 0,
6
+ deletionLines: type === "accept" ? [...diff.deletionLines] : diff.deletionLines,
7
+ additionLines: type === "reject" ? [...diff.additionLines] : diff.additionLines,
8
8
  cacheKey: diff.cacheKey != null ? `${diff.cacheKey}:${type[0]}-${hunkIndex}` : void 0
9
9
  };
10
- const { newLines, oldLines } = diff;
11
- if (newLines != null && oldLines != null) {
10
+ const { additionLines, deletionLines } = diff;
11
+ if (additionLines != null && deletionLines != null) {
12
12
  const hunk = diff.hunks[hunkIndex];
13
13
  if (hunk == null) {
14
14
  console.error({
@@ -17,8 +17,8 @@ function diffAcceptRejectHunk(diff, hunkIndex, type) {
17
17
  });
18
18
  throw new Error(`diffResolveRejectHunk: Invalid hunk index: ${hunkIndex}`);
19
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));
20
+ if (type === "reject") additionLines.splice(hunk.additionLineIndex, hunk.additionCount, ...deletionLines.slice(hunk.deletionLineIndex, hunk.deletionLineIndex + hunk.deletionCount));
21
+ else deletionLines.splice(hunk.deletionLineIndex, hunk.deletionCount, ...additionLines.slice(hunk.additionLineIndex, hunk.additionLineIndex + hunk.additionCount));
22
22
  }
23
23
  let deletionOffset = 0;
24
24
  let additionOffset = 0;
@@ -35,25 +35,25 @@ function diffAcceptRejectHunk(diff, hunkIndex, type) {
35
35
  });
36
36
  throw new Error("diffResolveRejectHunk: iterating through hunks, hunk doesnt exist...");
37
37
  }
38
- hunk = { ...hunk };
39
- diff.hunks[i] = hunk;
38
+ const { noEOFCRAdditions, noEOFCRDeletions } = hunk;
39
+ diff.hunks[i] = hunk = { ...hunk };
40
40
  if (i === hunkIndex) {
41
+ hunk.noEOFCRDeletions = false;
42
+ hunk.noEOFCRAdditions = false;
43
+ if (type === "accept" && noEOFCRAdditions || type === "reject" && noEOFCRDeletions) {
44
+ hunk.noEOFCRAdditions = true;
45
+ hunk.noEOFCRDeletions = true;
46
+ }
41
47
  const newContent = {
42
48
  type: "context",
43
- lines: [],
44
- noEOFCR: false
49
+ lines: 0,
50
+ additionLineIndex: hunk.additionLineIndex,
51
+ deletionLineIndex: hunk.deletionLineIndex
45
52
  };
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;
53
+ for (const content of hunk.hunkContent) if (content.type === "context") newContent.lines += content.lines;
54
+ else if (type === "accept") newContent.lines += content.additions;
55
+ else if (type === "reject") newContent.lines += content.deletions;
56
+ const lineCount = newContent.lines;
57
57
  hunk.hunkContent = [newContent];
58
58
  splitOffset = lineCount - hunk.splitLineCount;
59
59
  hunk.splitLineCount = lineCount;
@@ -67,11 +67,26 @@ function diffAcceptRejectHunk(diff, hunkIndex, type) {
67
67
  hunk.additionLines = 0;
68
68
  diff.splitLineCount += splitOffset;
69
69
  diff.unifiedLineCount += unifiedOffset;
70
+ if (splitOffset === 0 && unifiedOffset === 0 && additionOffset === 0 && deletionOffset === 0) break;
70
71
  } else {
71
72
  hunk.splitLineStart += splitOffset;
72
73
  hunk.unifiedLineStart += unifiedOffset;
73
74
  hunk.additionStart += additionOffset;
75
+ hunk.additionLineIndex += additionOffset;
76
+ hunk.deletionLineIndex += deletionOffset;
74
77
  hunk.deletionStart += deletionOffset;
78
+ if (deletionOffset !== 0 || additionOffset !== 0) {
79
+ let i$1 = 0;
80
+ while (i$1 < hunk.hunkContent.length) {
81
+ const content = hunk.hunkContent[i$1];
82
+ hunk.hunkContent[i$1] = {
83
+ ...content,
84
+ additionLineIndex: content.additionLineIndex + additionOffset,
85
+ deletionLineIndex: content.deletionLineIndex + deletionOffset
86
+ };
87
+ i$1++;
88
+ }
89
+ }
75
90
  }
76
91
  }
77
92
  return diff;
@@ -1 +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"}
1
+ {"version":3,"file":"diffAcceptRejectHunk.js","names":["newContent: ContextContent","i"],"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 deletionLines:\n type === 'accept' ? [...diff.deletionLines] : diff.deletionLines,\n additionLines:\n type === 'reject' ? [...diff.additionLines] : diff.additionLines,\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 { additionLines, deletionLines } = diff;\n if (additionLines != null && deletionLines != 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 additionLines.splice(\n hunk.additionLineIndex,\n hunk.additionCount,\n ...deletionLines.slice(\n hunk.deletionLineIndex,\n hunk.deletionLineIndex + hunk.deletionCount\n )\n );\n } else {\n deletionLines.splice(\n hunk.deletionLineIndex,\n hunk.deletionCount,\n ...additionLines.slice(\n hunk.additionLineIndex,\n hunk.additionLineIndex + 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 const { noEOFCRAdditions, noEOFCRDeletions } = hunk;\n diff.hunks[i] = hunk = { ...hunk };\n\n if (i === hunkIndex) {\n hunk.noEOFCRDeletions = false;\n hunk.noEOFCRAdditions = false;\n if (\n (type === 'accept' && noEOFCRAdditions) ||\n (type === 'reject' && noEOFCRDeletions)\n ) {\n hunk.noEOFCRAdditions = true;\n hunk.noEOFCRDeletions = true;\n }\n const newContent: ContextContent = {\n type: 'context',\n lines: 0,\n additionLineIndex: hunk.additionLineIndex,\n deletionLineIndex: hunk.deletionLineIndex,\n };\n for (const content of hunk.hunkContent) {\n if (content.type === 'context') {\n newContent.lines += content.lines;\n } else if (type === 'accept') {\n newContent.lines += content.additions;\n } else if (type === 'reject') {\n newContent.lines += content.deletions;\n }\n }\n const lineCount = newContent.lines;\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 // If we don't need to make any value offset differences for the rest of\n // the hunks, we done\n if (\n splitOffset === 0 &&\n unifiedOffset === 0 &&\n additionOffset === 0 &&\n deletionOffset === 0\n ) {\n break;\n }\n } else {\n hunk.splitLineStart += splitOffset;\n hunk.unifiedLineStart += unifiedOffset;\n\n hunk.additionStart += additionOffset;\n hunk.additionLineIndex += additionOffset;\n\n hunk.deletionLineIndex += deletionOffset;\n hunk.deletionStart += deletionOffset;\n\n if (deletionOffset !== 0 || additionOffset !== 0) {\n let i = 0;\n while (i < hunk.hunkContent.length) {\n const content = hunk.hunkContent[i];\n hunk.hunkContent[i] = {\n ...content,\n additionLineIndex: content.additionLineIndex + additionOffset,\n deletionLineIndex: content.deletionLineIndex + deletionOffset,\n };\n i++;\n }\n }\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,eACE,SAAS,WAAW,CAAC,GAAG,KAAK,cAAc,GAAG,KAAK;EACrD,eACE,SAAS,WAAW,CAAC,GAAG,KAAK,cAAc,GAAG,KAAK;EAErD,UACE,KAAK,YAAY,OACb,GAAG,KAAK,SAAS,GAAG,KAAK,GAAG,GAAG,cAC/B;EACP;CAED,MAAM,EAAE,eAAe,kBAAkB;AACzC,KAAI,iBAAiB,QAAQ,iBAAiB,MAAM;EAClD,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,eAAc,OACZ,KAAK,mBACL,KAAK,eACL,GAAG,cAAc,MACf,KAAK,mBACL,KAAK,oBAAoB,KAAK,cAC/B,CACF;MAED,eAAc,OACZ,KAAK,mBACL,KAAK,eACL,GAAG,cAAc,MACf,KAAK,mBACL,KAAK,oBAAoB,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;;EAEH,MAAM,EAAE,kBAAkB,qBAAqB;AAC/C,OAAK,MAAM,KAAK,OAAO,EAAE,GAAG,MAAM;AAElC,MAAI,MAAM,WAAW;AACnB,QAAK,mBAAmB;AACxB,QAAK,mBAAmB;AACxB,OACG,SAAS,YAAY,oBACrB,SAAS,YAAY,kBACtB;AACA,SAAK,mBAAmB;AACxB,SAAK,mBAAmB;;GAE1B,MAAMA,aAA6B;IACjC,MAAM;IACN,OAAO;IACP,mBAAmB,KAAK;IACxB,mBAAmB,KAAK;IACzB;AACD,QAAK,MAAM,WAAW,KAAK,YACzB,KAAI,QAAQ,SAAS,UACnB,YAAW,SAAS,QAAQ;YACnB,SAAS,SAClB,YAAW,SAAS,QAAQ;YACnB,SAAS,SAClB,YAAW,SAAS,QAAQ;GAGhC,MAAM,YAAY,WAAW;AAC7B,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;AAGzB,OACE,gBAAgB,KAChB,kBAAkB,KAClB,mBAAmB,KACnB,mBAAmB,EAEnB;SAEG;AACL,QAAK,kBAAkB;AACvB,QAAK,oBAAoB;AAEzB,QAAK,iBAAiB;AACtB,QAAK,qBAAqB;AAE1B,QAAK,qBAAqB;AAC1B,QAAK,iBAAiB;AAEtB,OAAI,mBAAmB,KAAK,mBAAmB,GAAG;IAChD,IAAIC,MAAI;AACR,WAAOA,MAAI,KAAK,YAAY,QAAQ;KAClC,MAAM,UAAU,KAAK,YAAYA;AACjC,UAAK,YAAYA,OAAK;MACpB,GAAG;MACH,mBAAmB,QAAQ,oBAAoB;MAC/C,mBAAmB,QAAQ,oBAAoB;MAChD;AACD;;;;;AAKR,QAAO"}
@@ -1,5 +1,5 @@
1
1
  //#region src/utils/formatCSSVariablePrefix.d.ts
2
- declare function formatCSSVariablePrefix(type: "global" | "token"): string;
2
+ declare function formatCSSVariablePrefix(type: 'global' | 'token'): string;
3
3
  //#endregion
4
4
  export { formatCSSVariablePrefix };
5
5
  //# sourceMappingURL=formatCSSVariablePrefix.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatCSSVariablePrefix.d.ts","names":[],"sources":["../../src/utils/formatCSSVariablePrefix.ts"],"sourcesContent":[],"mappings":";iBAAgB,uBAAA"}
1
+ {"version":3,"file":"formatCSSVariablePrefix.d.ts","names":["formatCSSVariablePrefix"],"sources":["../../src/utils/formatCSSVariablePrefix.d.ts"],"sourcesContent":["export declare function formatCSSVariablePrefix(type: 'global' | 'token'): string;\n//# sourceMappingURL=formatCSSVariablePrefix.d.ts.map"],"mappings":";iBAAwBA,uBAAAA"}
@@ -1,9 +1,10 @@
1
1
  import { ExtensionFormatMap, SupportedLanguages } from "../types.js";
2
2
 
3
3
  //#region src/utils/getFiletypeFromFileName.d.ts
4
+ declare const CUSTOM_EXTENSION_TO_FILE_FORMAT: Map<string, SupportedLanguages>;
4
5
  declare const EXTENSION_TO_FILE_FORMAT: ExtensionFormatMap;
5
6
  declare function getFiletypeFromFileName(fileName: string): SupportedLanguages;
6
7
  declare function extendFileFormatMap(map: ExtensionFormatMap): void;
7
8
  //#endregion
8
- export { EXTENSION_TO_FILE_FORMAT, extendFileFormatMap, getFiletypeFromFileName };
9
+ export { CUSTOM_EXTENSION_TO_FILE_FORMAT, EXTENSION_TO_FILE_FORMAT, extendFileFormatMap, getFiletypeFromFileName };
9
10
  //# sourceMappingURL=getFiletypeFromFileName.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"getFiletypeFromFileName.d.ts","names":["ExtensionFormatMap","SupportedLanguages","CUSTOM_EXTENSION_TO_FILE_FORMAT","Map","EXTENSION_TO_FILE_FORMAT","getFiletypeFromFileName","extendFileFormatMap"],"sources":["../../src/utils/getFiletypeFromFileName.d.ts"],"sourcesContent":["import type { ExtensionFormatMap, SupportedLanguages } from '../types';\nexport declare const CUSTOM_EXTENSION_TO_FILE_FORMAT: Map<string, SupportedLanguages>;\nexport declare const EXTENSION_TO_FILE_FORMAT: ExtensionFormatMap;\nexport declare function getFiletypeFromFileName(fileName: string): SupportedLanguages;\nexport declare function extendFileFormatMap(map: ExtensionFormatMap): void;\n//# sourceMappingURL=getFiletypeFromFileName.d.ts.map"],"mappings":";;;cACqBE,iCAAiCC,YAAYF;cAC7CG,0BAA0BJ;AAD1BE,iBAEGG,uBAAAA,CAF6D,QAAnBJ,EAAAA,MAAAA,CAAAA,EAECA,kBAFV;AACpCG,iBAEGE,mBAAAA,CAFuBN,GAAAA,EAEEA,kBAFgB,CAAA,EAAA,IAAA"}
@@ -1,4 +1,5 @@
1
1
  //#region src/utils/getFiletypeFromFileName.ts
2
+ const CUSTOM_EXTENSION_TO_FILE_FORMAT = /* @__PURE__ */ new Map();
2
3
  const EXTENSION_TO_FILE_FORMAT = {
3
4
  "1c": "1c",
4
5
  abap: "abap",
@@ -329,15 +330,24 @@ const EXTENSION_TO_FILE_FORMAT = {
329
330
  sty: "tex"
330
331
  };
331
332
  function getFiletypeFromFileName(fileName) {
333
+ if (CUSTOM_EXTENSION_TO_FILE_FORMAT.has(fileName)) return CUSTOM_EXTENSION_TO_FILE_FORMAT.get(fileName) ?? "text";
332
334
  if (EXTENSION_TO_FILE_FORMAT[fileName] != null) return EXTENSION_TO_FILE_FORMAT[fileName];
333
335
  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
+ if (compoundMatch != null) {
337
+ if (CUSTOM_EXTENSION_TO_FILE_FORMAT.has(compoundMatch[1])) return CUSTOM_EXTENSION_TO_FILE_FORMAT.get(compoundMatch[1]) ?? "text";
338
+ if (EXTENSION_TO_FILE_FORMAT[compoundMatch[1]] != null) return EXTENSION_TO_FILE_FORMAT[compoundMatch[1]] ?? "text";
339
+ }
340
+ const simpleMatch = fileName.match(/\.([^.]+)$/)?.[1] ?? "";
341
+ if (CUSTOM_EXTENSION_TO_FILE_FORMAT.has(simpleMatch)) return CUSTOM_EXTENSION_TO_FILE_FORMAT.get(simpleMatch) ?? "text";
342
+ return EXTENSION_TO_FILE_FORMAT[simpleMatch] ?? "text";
336
343
  }
337
344
  function extendFileFormatMap(map) {
338
- for (const key in map) EXTENSION_TO_FILE_FORMAT[key] = map[key];
345
+ for (const key in map) {
346
+ const lang = map[key];
347
+ if (lang != null) CUSTOM_EXTENSION_TO_FILE_FORMAT.set(key, lang);
348
+ }
339
349
  }
340
350
 
341
351
  //#endregion
342
- export { EXTENSION_TO_FILE_FORMAT, extendFileFormatMap, getFiletypeFromFileName };
352
+ export { CUSTOM_EXTENSION_TO_FILE_FORMAT, EXTENSION_TO_FILE_FORMAT, extendFileFormatMap, getFiletypeFromFileName };
343
353
  //# sourceMappingURL=getFiletypeFromFileName.js.map
@@ -1 +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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"}
1
+ {"version":3,"file":"getFiletypeFromFileName.js","names":["CUSTOM_EXTENSION_TO_FILE_FORMAT: Map<string, SupportedLanguages>","EXTENSION_TO_FILE_FORMAT: ExtensionFormatMap"],"sources":["../../src/utils/getFiletypeFromFileName.ts"],"sourcesContent":["import type { ExtensionFormatMap, SupportedLanguages } from '../types';\n\nexport const CUSTOM_EXTENSION_TO_FILE_FORMAT: Map<string, SupportedLanguages> =\n new Map();\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 if (CUSTOM_EXTENSION_TO_FILE_FORMAT.has(fileName)) {\n return CUSTOM_EXTENSION_TO_FILE_FORMAT.get(fileName) ?? 'text';\n }\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 (compoundMatch != null) {\n if (CUSTOM_EXTENSION_TO_FILE_FORMAT.has(compoundMatch[1])) {\n return CUSTOM_EXTENSION_TO_FILE_FORMAT.get(compoundMatch[1]) ?? 'text';\n }\n if (EXTENSION_TO_FILE_FORMAT[compoundMatch[1]] != null) {\n return EXTENSION_TO_FILE_FORMAT[compoundMatch[1]] ?? 'text';\n }\n }\n\n // Fall back to simple extension\n const simpleMatch = fileName.match(/\\.([^.]+)$/)?.[1] ?? '';\n if (CUSTOM_EXTENSION_TO_FILE_FORMAT.has(simpleMatch)) {\n return CUSTOM_EXTENSION_TO_FILE_FORMAT.get(simpleMatch) ?? 'text';\n }\n return EXTENSION_TO_FILE_FORMAT[simpleMatch] ?? 'text';\n}\n\nexport function extendFileFormatMap(map: ExtensionFormatMap): void {\n for (const key in map) {\n const lang = map[key];\n if (lang != null) {\n CUSTOM_EXTENSION_TO_FILE_FORMAT.set(key, lang);\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getHighlighterOptions.d.ts","names":[],"sources":["../../src/utils/getHighlighterOptions.ts"],"sourcesContent":[],"mappings":";;;UAGU,uBAAA;UACA,kBAAkB;AAJyC;AAIzC,UAGlB,2BAAA,CAAA;EAKV,KAAgB,EAJP,kBAIO,EAAA;EACR,MAAA,EAJE,eAIF,EAAA;;AAEL,iBAHa,qBAAA,CAGb,IAAA,EAFK,kBAEL,GAAA,SAAA,EAAA,OAAA,EADQ,uBACR,CAAA,EAAA,2BAAA"}
1
+ {"version":3,"file":"getHighlighterOptions.d.ts","names":["DiffsThemeNames","SupportedLanguages","ThemesType","HighlighterOptionsShape","GetHighlighterOptionsReturn","getHighlighterOptions"],"sources":["../../src/utils/getHighlighterOptions.d.ts"],"sourcesContent":["import type { DiffsThemeNames, SupportedLanguages, ThemesType } from '../types';\ninterface HighlighterOptionsShape {\n theme?: DiffsThemeNames | ThemesType;\n}\ninterface GetHighlighterOptionsReturn {\n langs: SupportedLanguages[];\n themes: DiffsThemeNames[];\n}\nexport declare function getHighlighterOptions(lang: SupportedLanguages | undefined, options: HighlighterOptionsShape): GetHighlighterOptionsReturn;\nexport {};\n//# sourceMappingURL=getHighlighterOptions.d.ts.map"],"mappings":";;;UACUG,uBAAAA;UACEH,kBAAkBE;AAFkD;AAExC,UAE9BE,2BAAAA,CAA2B;EAIbC,KAAAA,EAHbJ,kBAGkC,EAAA;EAAOA,MAAAA,EAFxCD,eAEwCC,EAAAA;;AAAmEG,iBAA/FC,qBAAAA,CAA+FD,IAAAA,EAAnEH,kBAAmEG,GAAAA,SAAAA,EAAAA,OAAAA,EAA1BD,uBAA0BC,CAAAA,EAAAA,2BAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getHighlighterThemeStyles.d.ts","names":[],"sources":["../../src/utils/getHighlighterThemeStyles.ts"],"sourcesContent":[],"mappings":";;;UASU,8BAAA;UACA,kBAAkB;EAJrB,WAGG,EAEK,gBAFL;EACA,MAAA,CAAA,EAAA,MAAA;;AACK,iBAOC,yBAAA,CAPD;EAAA,KAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAWZ,8BAXY,CAAA,EAAA,MAAA"}
1
+ {"version":3,"file":"getHighlighterThemeStyles.d.ts","names":["DiffsHighlighter","DiffsThemeNames","ThemesType","GetHighlighterThemeStylesProps","getHighlighterThemeStyles","theme","highlighter","prefix"],"sources":["../../src/utils/getHighlighterThemeStyles.d.ts"],"sourcesContent":["import type { DiffsHighlighter, DiffsThemeNames, ThemesType } from '../types';\ninterface GetHighlighterThemeStylesProps {\n theme?: DiffsThemeNames | ThemesType;\n highlighter: DiffsHighlighter;\n prefix?: string;\n}\nexport declare function getHighlighterThemeStyles({ theme, highlighter, prefix }: GetHighlighterThemeStylesProps): string;\nexport {};\n//# sourceMappingURL=getHighlighterThemeStyles.d.ts.map"],"mappings":";;;UACUG,8BAAAA;UACEF,kBAAkBC;EADpBC,WAAAA,EAEOH,gBAFPG;EACEF,MAAAA,CAAAA,EAAAA,MAAAA;;AACKD,iBAGOI,yBAAAA,CAHPJ;EAAAA,KAAAA;EAAAA,WAAAA;EAAAA;AAAAA,CAAAA,EAGiEG,8BAHjEH,CAAAA,EAAAA,MAAAA"}
@@ -1,5 +1,7 @@
1
+ import { CodeColumnType } from "../types.js";
2
+
1
3
  //#region src/utils/getHunkSeparatorSlotName.d.ts
2
- declare function getHunkSeparatorSlotName(type: "unified" | "additions" | "deletions", hunkIndex: number): string;
4
+ declare function getHunkSeparatorSlotName(type: CodeColumnType, hunkIndex: number): string;
3
5
  //#endregion
4
6
  export { getHunkSeparatorSlotName };
5
7
  //# sourceMappingURL=getHunkSeparatorSlotName.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getHunkSeparatorSlotName.d.ts","names":[],"sources":["../../src/utils/getHunkSeparatorSlotName.ts"],"sourcesContent":[],"mappings":";iBAAgB,wBAAA"}
1
+ {"version":3,"file":"getHunkSeparatorSlotName.d.ts","names":["CodeColumnType","getHunkSeparatorSlotName"],"sources":["../../src/utils/getHunkSeparatorSlotName.d.ts"],"sourcesContent":["import type { CodeColumnType } from '../types';\nexport declare function getHunkSeparatorSlotName(type: CodeColumnType, hunkIndex: number): string;\n//# sourceMappingURL=getHunkSeparatorSlotName.d.ts.map"],"mappings":";;;iBACwBC,wBAAAA,OAA+BD"}
@@ -1 +1 @@
1
- {"version":3,"file":"getHunkSeparatorSlotName.js","names":[],"sources":["../../src/utils/getHunkSeparatorSlotName.ts"],"sourcesContent":["export function getHunkSeparatorSlotName(\n type: 'unified' | 'additions' | 'deletions',\n hunkIndex: number\n) {\n return `hunk-separator-${type}-${hunkIndex}`;\n}\n"],"mappings":";AAAA,SAAgB,yBACd,MACA,WACA;AACA,QAAO,kBAAkB,KAAK,GAAG"}
1
+ {"version":3,"file":"getHunkSeparatorSlotName.js","names":[],"sources":["../../src/utils/getHunkSeparatorSlotName.ts"],"sourcesContent":["import type { CodeColumnType } from '../types';\n\nexport function getHunkSeparatorSlotName(\n type: CodeColumnType,\n hunkIndex: number\n) {\n return `hunk-separator-${type}-${hunkIndex}`;\n}\n"],"mappings":";AAEA,SAAgB,yBACd,MACA,WACA;AACA,QAAO,kBAAkB,KAAK,GAAG"}
@@ -2,7 +2,7 @@ import { ChangeTypes } from "../types.js";
2
2
  import { SVGSpriteNames } from "../sprite.js";
3
3
 
4
4
  //#region src/utils/getIconForType.d.ts
5
- declare function getIconForType(type: ChangeTypes | "file"): Extract<SVGSpriteNames, "diffs-icon-file-code" | "diffs-icon-symbol-modified" | "diffs-icon-symbol-deleted" | "diffs-icon-symbol-added" | "diffs-icon-symbol-moved">;
5
+ declare function getIconForType(type: ChangeTypes | 'file'): Extract<SVGSpriteNames, 'diffs-icon-file-code' | 'diffs-icon-symbol-modified' | 'diffs-icon-symbol-deleted' | 'diffs-icon-symbol-added' | 'diffs-icon-symbol-moved'>;
6
6
  //#endregion
7
7
  export { getIconForType };
8
8
  //# sourceMappingURL=getIconForType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getIconForType.d.ts","names":[],"sources":["../../src/utils/getIconForType.ts"],"sourcesContent":[],"mappings":";;;;iBAGgB,cAAA,OACR,uBACL,QACD"}
1
+ {"version":3,"file":"getIconForType.d.ts","names":["SVGSpriteNames","ChangeTypes","getIconForType","Extract"],"sources":["../../src/utils/getIconForType.d.ts"],"sourcesContent":["import type { SVGSpriteNames } from '../sprite';\nimport type { ChangeTypes } from '../types';\nexport declare function getIconForType(type: ChangeTypes | 'file'): Extract<SVGSpriteNames, 'diffs-icon-file-code' | 'diffs-icon-symbol-modified' | 'diffs-icon-symbol-deleted' | 'diffs-icon-symbol-added' | 'diffs-icon-symbol-moved'>;\n//# sourceMappingURL=getIconForType.d.ts.map"],"mappings":";;;;iBAEwBE,cAAAA,OAAqBD,uBAAuBE,QAAQH"}
@@ -1 +1 @@
1
- {"version":3,"file":"getLineAnnotationName.d.ts","names":[],"sources":["../../src/utils/getLineAnnotationName.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,iDACF,eAAe,KAAK,mBAAmB"}
1
+ {"version":3,"file":"getLineAnnotationName.d.ts","names":["DiffLineAnnotation","LineAnnotation","getLineAnnotationName","T"],"sources":["../../src/utils/getLineAnnotationName.d.ts"],"sourcesContent":["import type { DiffLineAnnotation, LineAnnotation } from '../types';\nexport declare function getLineAnnotationName<T = undefined>(annotation: LineAnnotation<T> | DiffLineAnnotation<T>): string;\n//# sourceMappingURL=getLineAnnotationName.d.ts.map"],"mappings":";;;iBACwBE,iDAAiDD,eAAeE,KAAKH,mBAAmBG"}
@@ -1,5 +1,5 @@
1
1
  //#region src/utils/getLineEndingType.d.ts
2
- declare function getLineEndingType(content: string): "CRLF" | "CR" | "LF" | "none";
2
+ declare function getLineEndingType(content: string): 'CRLF' | 'CR' | 'LF' | 'none';
3
3
  //#endregion
4
4
  export { getLineEndingType };
5
5
  //# sourceMappingURL=getLineEndingType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getLineEndingType.d.ts","names":[],"sources":["../../src/utils/getLineEndingType.ts"],"sourcesContent":[],"mappings":";iBAAgB,iBAAA"}
1
+ {"version":3,"file":"getLineEndingType.d.ts","names":["getLineEndingType"],"sources":["../../src/utils/getLineEndingType.d.ts"],"sourcesContent":["export declare function getLineEndingType(content: string): 'CRLF' | 'CR' | 'LF' | 'none';\n//# sourceMappingURL=getLineEndingType.d.ts.map"],"mappings":";iBAAwBA,iBAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getLineNodes.d.ts","names":[],"sources":["../../src/utils/getLineNodes.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,YAAA,QAAoB,OAAO"}
1
+ {"version":3,"file":"getLineNodes.d.ts","names":["ElementContent","Root","getLineNodes"],"sources":["../../src/utils/getLineNodes.d.ts"],"sourcesContent":["import type { ElementContent, Root } from 'hast';\nexport declare function getLineNodes(nodes: Root): ElementContent[];\n//# sourceMappingURL=getLineNodes.d.ts.map"],"mappings":";;;iBACwBE,YAAAA,QAAoBD,OAAOD"}
@@ -0,0 +1,16 @@
1
+ //#region src/utils/getOrCreateCodeNode.d.ts
2
+ interface CreateCodeNodeProps {
3
+ pre?: HTMLPreElement;
4
+ code?: HTMLElement;
5
+ columnType?: 'additions' | 'deletions' | 'unified';
6
+ rowSpan?: number;
7
+ }
8
+ declare function getOrCreateCodeNode({
9
+ code,
10
+ pre,
11
+ columnType,
12
+ rowSpan
13
+ }?: CreateCodeNodeProps): HTMLElement;
14
+ //#endregion
15
+ export { getOrCreateCodeNode };
16
+ //# sourceMappingURL=getOrCreateCodeNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOrCreateCodeNode.d.ts","names":["CreateCodeNodeProps","HTMLPreElement","HTMLElement","getOrCreateCodeNode","code","pre","columnType","rowSpan"],"sources":["../../src/utils/getOrCreateCodeNode.d.ts"],"sourcesContent":["interface CreateCodeNodeProps {\n pre?: HTMLPreElement;\n code?: HTMLElement;\n columnType?: 'additions' | 'deletions' | 'unified';\n rowSpan?: number;\n}\nexport declare function getOrCreateCodeNode({ code, pre, columnType, rowSpan }?: CreateCodeNodeProps): HTMLElement;\nexport {};\n//# sourceMappingURL=getOrCreateCodeNode.d.ts.map"],"mappings":";UAAUA,mBAAAA;EAAAA,GAAAA,CAAAA,EACAC,cADAD;EAMcG,IAAAA,CAAAA,EAJbD,WAIaC;EAAsBC,UAAAA,CAAAA,EAAAA,WAAAA,GAAAA,WAAAA,GAAAA,SAAAA;EAAMC,OAAAA,CAAAA,EAAAA,MAAAA;;AAAiBE,iBAA7CJ,mBAAAA,CAA6CI;EAAAA,IAAAA;EAAAA,GAAAA;EAAAA,UAAAA;EAAAA;AAAAA,CAAAA,CAAAA,EAAYP,mBAAZO,CAAAA,EAAkCL,WAAlCK"}
@@ -0,0 +1,16 @@
1
+ //#region src/utils/getOrCreateCodeNode.ts
2
+ function getOrCreateCodeNode({ code, pre, columnType, rowSpan } = {}) {
3
+ if (code == null) {
4
+ code = document.createElement("code");
5
+ code.dataset.code = "";
6
+ if (columnType != null) code.dataset[columnType] = "";
7
+ pre?.appendChild(code);
8
+ }
9
+ if (rowSpan != null) code.style.setProperty("grid-row", `span ${rowSpan}`);
10
+ else code.style.removeProperty("grid-row");
11
+ return code;
12
+ }
13
+
14
+ //#endregion
15
+ export { getOrCreateCodeNode };
16
+ //# sourceMappingURL=getOrCreateCodeNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOrCreateCodeNode.js","names":[],"sources":["../../src/utils/getOrCreateCodeNode.ts"],"sourcesContent":["interface CreateCodeNodeProps {\n pre?: HTMLPreElement;\n code?: HTMLElement;\n columnType?: 'additions' | 'deletions' | 'unified';\n rowSpan?: number;\n}\n\nexport function getOrCreateCodeNode({\n code,\n pre,\n columnType,\n rowSpan,\n}: CreateCodeNodeProps = {}): HTMLElement {\n if (code == null) {\n code = document.createElement('code');\n code.dataset.code = '';\n if (columnType != null) {\n code.dataset[columnType] = '';\n }\n pre?.appendChild(code);\n }\n if (rowSpan != null) {\n code.style.setProperty('grid-row', `span ${rowSpan}`);\n } else {\n code.style.removeProperty('grid-row');\n }\n return code;\n}\n"],"mappings":";AAOA,SAAgB,oBAAoB,EAClC,MACA,KACA,YACA,YACuB,EAAE,EAAe;AACxC,KAAI,QAAQ,MAAM;AAChB,SAAO,SAAS,cAAc,OAAO;AACrC,OAAK,QAAQ,OAAO;AACpB,MAAI,cAAc,KAChB,MAAK,QAAQ,cAAc;AAE7B,OAAK,YAAY,KAAK;;AAExB,KAAI,WAAW,KACb,MAAK,MAAM,YAAY,YAAY,QAAQ,UAAU;KAErD,MAAK,MAAM,eAAe,WAAW;AAEvC,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSingularPatch.d.ts","names":[],"sources":["../../src/utils/getSingularPatch.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,gBAAA,iBAAiC"}
1
+ {"version":3,"file":"getSingularPatch.d.ts","names":["FileDiffMetadata","getSingularPatch"],"sources":["../../src/utils/getSingularPatch.d.ts"],"sourcesContent":["import type { FileDiffMetadata } from '../types';\nexport declare function getSingularPatch(patch: string): FileDiffMetadata;\n//# sourceMappingURL=getSingularPatch.d.ts.map"],"mappings":";;;iBACwBC,gBAAAA,iBAAiCD"}
@@ -1 +1 @@
1
- {"version":3,"file":"getThemes.d.ts","names":[],"sources":["../../src/utils/getThemes.ts"],"sourcesContent":[],"mappings":";;;iBAGgB,SAAA,SACP,kBAAkB,aACxB"}
1
+ {"version":3,"file":"getThemes.d.ts","names":["DiffsThemeNames","ThemesType","getThemes"],"sources":["../../src/utils/getThemes.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemesType } from '../types';\nexport declare function getThemes(theme?: DiffsThemeNames | ThemesType): DiffsThemeNames[];\n//# sourceMappingURL=getThemes.d.ts.map"],"mappings":";;;iBACwBE,SAAAA,SAAkBF,kBAAkBC,aAAaD"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTotalLineCountFromHunks.d.ts","names":[],"sources":["../../src/utils/getTotalLineCountFromHunks.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,0BAAA,QAAkC"}
1
+ {"version":3,"file":"getTotalLineCountFromHunks.d.ts","names":["Hunk","getTotalLineCountFromHunks"],"sources":["../../src/utils/getTotalLineCountFromHunks.d.ts"],"sourcesContent":["import type { Hunk } from '../types';\nexport declare function getTotalLineCountFromHunks(hunks: Hunk[]): number;\n//# sourceMappingURL=getTotalLineCountFromHunks.d.ts.map"],"mappings":";;;iBACwBC,0BAAAA,QAAkCD"}
@@ -1,6 +1,6 @@
1
1
  //#region src/utils/getTotalLineCountFromHunks.ts
2
2
  function getTotalLineCountFromHunks(hunks) {
3
- const lastHunk = hunks[hunks.length - 1];
3
+ const lastHunk = hunks.at(-1);
4
4
  if (lastHunk == null) return 0;
5
5
  return Math.max(lastHunk.additionStart + lastHunk.additionCount, lastHunk.deletionStart + lastHunk.deletionCount);
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getTotalLineCountFromHunks.js","names":[],"sources":["../../src/utils/getTotalLineCountFromHunks.ts"],"sourcesContent":["import type { Hunk } from '../types';\n\nexport function getTotalLineCountFromHunks(hunks: Hunk[]): number {\n const lastHunk = hunks[hunks.length - 1];\n if (lastHunk == null) {\n return 0;\n }\n return Math.max(\n lastHunk.additionStart + lastHunk.additionCount,\n lastHunk.deletionStart + lastHunk.deletionCount\n );\n}\n"],"mappings":";AAEA,SAAgB,2BAA2B,OAAuB;CAChE,MAAM,WAAW,MAAM,MAAM,SAAS;AACtC,KAAI,YAAY,KACd,QAAO;AAET,QAAO,KAAK,IACV,SAAS,gBAAgB,SAAS,eAClC,SAAS,gBAAgB,SAAS,cACnC"}
1
+ {"version":3,"file":"getTotalLineCountFromHunks.js","names":[],"sources":["../../src/utils/getTotalLineCountFromHunks.ts"],"sourcesContent":["import type { Hunk } from '../types';\n\nexport function getTotalLineCountFromHunks(hunks: Hunk[]): number {\n const lastHunk = hunks.at(-1);\n if (lastHunk == null) {\n return 0;\n }\n return Math.max(\n lastHunk.additionStart + lastHunk.additionCount,\n lastHunk.deletionStart + lastHunk.deletionCount\n );\n}\n"],"mappings":";AAEA,SAAgB,2BAA2B,OAAuB;CAChE,MAAM,WAAW,MAAM,GAAG,GAAG;AAC7B,KAAI,YAAY,KACd,QAAO;AAET,QAAO,KAAK,IACV,SAAS,gBAAgB,SAAS,eAClC,SAAS,gBAAgB,SAAS,cACnC"}
@@ -1,10 +1,11 @@
1
+ import { LineTypes } from "../types.js";
1
2
  import { SVGSpriteNames } from "../sprite.js";
2
3
  import { Element, ElementContent, Properties, Root, Text } from "hast";
3
4
 
4
5
  //#region src/utils/hast_utils.d.ts
5
6
  declare function createTextNodeElement(value: string): Text;
6
7
  interface CreateHastElementProps {
7
- tagName: "span" | "div" | "code" | "pre" | "slot" | "svg" | "use" | "style" | "template";
8
+ tagName: 'span' | 'div' | 'code' | 'pre' | 'slot' | 'svg' | 'use' | 'style' | 'template';
8
9
  children?: ElementContent[];
9
10
  properties?: Properties;
10
11
  }
@@ -26,6 +27,9 @@ declare function createIconElement({
26
27
  properties
27
28
  }: CreateIconProps): Element;
28
29
  declare function findCodeElement(nodes: Root | Element): Element | undefined;
30
+ declare function createGutterWrapper(children?: ElementContent[]): Element;
31
+ declare function createGutterItem(lineType: LineTypes | 'buffer' | 'separator' | 'annotation', lineNumber: number, lineIndex: string): Element;
32
+ declare function createGutterGap(type: LineTypes | undefined, bufferType: 'annotation' | 'buffer' | 'metadata', size: number): Element;
29
33
  //#endregion
30
- export { createHastElement, createIconElement, createTextNodeElement, findCodeElement };
34
+ export { createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createIconElement, createTextNodeElement, findCodeElement };
31
35
  //# sourceMappingURL=hast_utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hast_utils.d.ts","names":[],"sources":["../../src/utils/hast_utils.ts"],"sourcesContent":[],"mappings":";;;;iBAWgB,qBAAA,iBAAsC;UAI5C,sBAAA;EAJV,OAAgB,EAAA,MAAA,GAAA,KAAA,GAAA,MAAA,GAAA,KAAsC,GAAA,MAAA,GAAA,KAAA,GAAA,KAAA,GAAA,OAAA,GAAA,UAAA;EAAA,QAI5C,CAAA,EAWG,cAXH,EAAA;EAeV,UAAgB,CAAA,EAHD,UAGC;;AAEd,iBAFc,iBAAA,CAEd;EAAA,OAAA;EAAA,QAAA;EAAA;AAAA,CAAA,EAEC,sBAFD,CAAA,EAE0B,OAF1B;UAWQ,eAAA,CAVR;EACC,IAAA,EAUK,cAVL;EAAyB,KAAA,CAAA,EAAA,MAAA;EAAA,MAAA,CAAA,EAAA,MAAA;EAAA,UASlB,CAAA,EAIK,UAJL;AAOV;AACE,iBADc,iBAAA,CACd;EAAA,IAAA;EAAA,KAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EAIC,eAJD,CAAA,EAImB,OAJnB;AACA,iBAgBc,eAAA,CAhBd,KAAA,EAiBO,IAjBP,GAiBc,OAjBd,CAAA,EAkBC,OAlBD,GAAA,SAAA"}
1
+ {"version":3,"file":"hast_utils.d.ts","names":["ElementContent","Element","HASTElement","Properties","Root","Text","SVGSpriteNames","LineTypes","createTextNodeElement","CreateHastElementProps","createHastElement","tagName","children","properties","CreateIconProps","createIconElement","name","width","height","findCodeElement","createGutterWrapper","createGutterItem","createGutterGap"],"sources":["../../src/utils/hast_utils.d.ts"],"sourcesContent":["import type { ElementContent, Element as HASTElement, Properties, Root, Text } from 'hast';\nimport type { SVGSpriteNames } from '../sprite';\nimport type { LineTypes } from '../types';\nexport declare function createTextNodeElement(value: string): Text;\ninterface CreateHastElementProps {\n tagName: 'span' | 'div' | 'code' | 'pre' | 'slot' | 'svg' | 'use' | 'style' | 'template';\n children?: ElementContent[];\n properties?: Properties;\n}\nexport declare function createHastElement({ tagName, children, properties }: CreateHastElementProps): HASTElement;\ninterface CreateIconProps {\n name: SVGSpriteNames;\n width?: number;\n height?: number;\n properties?: Properties;\n}\nexport declare function createIconElement({ name, width, height, properties }: CreateIconProps): HASTElement;\nexport declare function findCodeElement(nodes: Root | HASTElement): HASTElement | undefined;\nexport declare function createGutterWrapper(children?: ElementContent[]): HASTElement;\nexport declare function createGutterItem(lineType: LineTypes | 'buffer' | 'separator' | 'annotation', lineNumber: number, lineIndex: string): HASTElement;\nexport declare function createGutterGap(type: LineTypes | undefined, bufferType: 'annotation' | 'buffer' | 'metadata', size: number): HASTElement;\nexport {};\n//# sourceMappingURL=hast_utils.d.ts.map"],"mappings":";;;;;iBAGwBQ,qBAAAA,iBAAsCH;UACpDI,sBAAAA;EADcD,OAAAA,EAAAA,MAAAA,GAAAA,KAAAA,GAAqB,MAAA,GAAA,KAAiBH,GAAI,MAAA,GAAA,KAAA,GAAA,KAAA,GAAA,OAAA,GAAA,UAAA;EACxDI,QAAAA,CAAAA,EAEKT,cAFiB,EAAA;EAKRU,UAAAA,CAAAA,EAFPP,UAEwB;;AAAYS,iBAA7BF,iBAAAA,CAA6BE;EAAAA,OAAAA;EAAAA,QAAAA;EAAAA;AAAAA,CAAAA,EAAwBH,sBAAxBG,CAAAA,EAAiDV,OAAjDU;UAC3CE,eAAAA,CADqDD;EAAcJ,IAAAA,EAEnEH,cAFmEG;EAAyBP,KAAAA,CAAAA,EAAAA,MAAAA;EAAW,MAAA,CAAA,EAAA,MAAA;EACvGY,UAAAA,CAAAA,EAIOX,UAJQ;AAMzB;AAA4Ca,iBAApBD,iBAAAA,CAAoBC;EAAAA,IAAAA;EAAAA,KAAAA;EAAAA,MAAAA;EAAAA;AAAAA,CAAAA,EAAmCF,eAAnCE,CAAAA,EAAqDd,OAArDc;AAAMC,iBAC1BE,eAAAA,CAD0BF,KAAAA,EACHb,IADGa,GACIf,OADJe,CAAAA,EACkBf,OADlBe,GAAAA,SAAAA;AAAOC,iBAEjCE,mBAAAA,CAFiCF,QAAAA,CAAAA,EAEFlB,cAFEkB,EAAAA,CAAAA,EAEiBhB,OAFjBgB;AAAQL,iBAGzCQ,gBAAAA,CAHyCR,QAAAA,EAGdN,SAHcM,GAAAA,QAAAA,GAAAA,WAAAA,GAAAA,YAAAA,EAAAA,UAAAA,EAAAA,MAAAA,EAAAA,SAAAA,EAAAA,MAAAA,CAAAA,EAG6EX,OAH7EW;AAAcC,iBAIvDQ,eAAAA,CAJuDR,IAAAA,EAIjCP,SAJiCO,GAAAA,SAAAA,EAAAA,UAAAA,EAAAA,YAAAA,GAAAA,QAAAA,GAAAA,UAAAA,EAAAA,IAAAA,EAAAA,MAAAA,CAAAA,EAIuDZ,OAJvDY"}
@@ -36,7 +36,40 @@ function findCodeElement(nodes) {
36
36
  else firstChild = null;
37
37
  }
38
38
  }
39
+ function createGutterWrapper(children) {
40
+ return createHastElement({
41
+ tagName: "div",
42
+ properties: { "data-gutter": "" },
43
+ children
44
+ });
45
+ }
46
+ function createGutterItem(lineType, lineNumber, lineIndex) {
47
+ return createHastElement({
48
+ tagName: "div",
49
+ properties: {
50
+ "data-line-type": lineType,
51
+ "data-column-number": lineNumber,
52
+ "data-line-index": lineIndex
53
+ },
54
+ children: lineNumber != null ? [createHastElement({
55
+ tagName: "span",
56
+ properties: { "data-line-number-content": "" },
57
+ children: [createTextNodeElement(`${lineNumber}`)]
58
+ })] : void 0
59
+ });
60
+ }
61
+ function createGutterGap(type, bufferType, size) {
62
+ return createHastElement({
63
+ tagName: "div",
64
+ properties: {
65
+ "data-gutter-buffer": bufferType,
66
+ "data-buffer-size": size,
67
+ "data-line-type": bufferType === "annotation" ? void 0 : type,
68
+ style: bufferType === "annotation" ? `grid-row: span ${size};` : `grid-row: span ${size};min-height:calc(${size} * 1lh);`
69
+ }
70
+ });
71
+ }
39
72
 
40
73
  //#endregion
41
- export { createHastElement, createIconElement, createTextNodeElement, findCodeElement };
74
+ export { createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createIconElement, createTextNodeElement, findCodeElement };
42
75
  //# sourceMappingURL=hast_utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hast_utils.js","names":["firstChild: RootContent | HASTElement | Root | null"],"sources":["../../src/utils/hast_utils.ts"],"sourcesContent":["import type {\n ElementContent,\n Element as HASTElement,\n Properties,\n Root,\n RootContent,\n Text,\n} from 'hast';\n\nimport type { SVGSpriteNames } from '../sprite';\n\nexport function createTextNodeElement(value: string): Text {\n return { type: 'text', value };\n}\n\ninterface CreateHastElementProps {\n tagName:\n | 'span'\n | 'div'\n | 'code'\n | 'pre'\n | 'slot'\n | 'svg'\n | 'use'\n | 'style'\n | 'template';\n children?: ElementContent[];\n properties?: Properties;\n}\n\nexport function createHastElement({\n tagName,\n children = [],\n properties = {},\n}: CreateHastElementProps): HASTElement {\n return {\n type: 'element',\n tagName,\n properties,\n children,\n };\n}\n\ninterface CreateIconProps {\n name: SVGSpriteNames;\n width?: number;\n height?: number;\n properties?: Properties;\n}\n\nexport function createIconElement({\n name,\n width = 16,\n height = 16,\n properties,\n}: CreateIconProps): HASTElement {\n return createHastElement({\n tagName: 'svg',\n properties: { width, height, viewBox: '0 0 16 16', ...properties },\n children: [\n createHastElement({\n tagName: 'use',\n properties: { href: `#${name.replace(/^#/, '')}` },\n }),\n ],\n });\n}\n\nexport function findCodeElement(\n nodes: Root | HASTElement\n): HASTElement | undefined {\n let firstChild: RootContent | HASTElement | Root | null = nodes.children[0];\n while (firstChild != null) {\n if (firstChild.type === 'element' && firstChild.tagName === 'code') {\n return firstChild;\n }\n if ('children' in firstChild) {\n firstChild = firstChild.children[0];\n } else {\n firstChild = null;\n }\n }\n return undefined;\n}\n"],"mappings":";AAWA,SAAgB,sBAAsB,OAAqB;AACzD,QAAO;EAAE,MAAM;EAAQ;EAAO;;AAkBhC,SAAgB,kBAAkB,EAChC,SACA,WAAW,EAAE,EACb,aAAa,EAAE,IACuB;AACtC,QAAO;EACL,MAAM;EACN;EACA;EACA;EACD;;AAUH,SAAgB,kBAAkB,EAChC,MACA,QAAQ,IACR,SAAS,IACT,cAC+B;AAC/B,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY;GAAE;GAAO;GAAQ,SAAS;GAAa,GAAG;GAAY;EAClE,UAAU,CACR,kBAAkB;GAChB,SAAS;GACT,YAAY,EAAE,MAAM,IAAI,KAAK,QAAQ,MAAM,GAAG,IAAI;GACnD,CAAC,CACH;EACF,CAAC;;AAGJ,SAAgB,gBACd,OACyB;CACzB,IAAIA,aAAsD,MAAM,SAAS;AACzE,QAAO,cAAc,MAAM;AACzB,MAAI,WAAW,SAAS,aAAa,WAAW,YAAY,OAC1D,QAAO;AAET,MAAI,cAAc,WAChB,cAAa,WAAW,SAAS;MAEjC,cAAa"}
1
+ {"version":3,"file":"hast_utils.js","names":["firstChild: RootContent | HASTElement | Root | null"],"sources":["../../src/utils/hast_utils.ts"],"sourcesContent":["import type {\n ElementContent,\n Element as HASTElement,\n Properties,\n Root,\n RootContent,\n Text,\n} from 'hast';\n\nimport type { SVGSpriteNames } from '../sprite';\nimport type { LineTypes } from '../types';\n\nexport function createTextNodeElement(value: string): Text {\n return { type: 'text', value };\n}\n\ninterface CreateHastElementProps {\n tagName:\n | 'span'\n | 'div'\n | 'code'\n | 'pre'\n | 'slot'\n | 'svg'\n | 'use'\n | 'style'\n | 'template';\n children?: ElementContent[];\n properties?: Properties;\n}\n\nexport function createHastElement({\n tagName,\n children = [],\n properties = {},\n}: CreateHastElementProps): HASTElement {\n return {\n type: 'element',\n tagName,\n properties,\n children,\n };\n}\n\ninterface CreateIconProps {\n name: SVGSpriteNames;\n width?: number;\n height?: number;\n properties?: Properties;\n}\n\nexport function createIconElement({\n name,\n width = 16,\n height = 16,\n properties,\n}: CreateIconProps): HASTElement {\n return createHastElement({\n tagName: 'svg',\n properties: { width, height, viewBox: '0 0 16 16', ...properties },\n children: [\n createHastElement({\n tagName: 'use',\n properties: { href: `#${name.replace(/^#/, '')}` },\n }),\n ],\n });\n}\n\nexport function findCodeElement(\n nodes: Root | HASTElement\n): HASTElement | undefined {\n let firstChild: RootContent | HASTElement | Root | null = nodes.children[0];\n while (firstChild != null) {\n if (firstChild.type === 'element' && firstChild.tagName === 'code') {\n return firstChild;\n }\n if ('children' in firstChild) {\n firstChild = firstChild.children[0];\n } else {\n firstChild = null;\n }\n }\n return undefined;\n}\n\nexport function createGutterWrapper(children?: ElementContent[]): HASTElement {\n return createHastElement({\n tagName: 'div',\n properties: { 'data-gutter': '' },\n children,\n });\n}\n\nexport function createGutterItem(\n lineType: LineTypes | 'buffer' | 'separator' | 'annotation',\n lineNumber: number,\n lineIndex: string\n): HASTElement {\n return createHastElement({\n tagName: 'div',\n properties: {\n 'data-line-type': lineType,\n 'data-column-number': lineNumber,\n 'data-line-index': lineIndex,\n },\n children:\n lineNumber != null\n ? [\n createHastElement({\n tagName: 'span',\n properties: { 'data-line-number-content': '' },\n children: [createTextNodeElement(`${lineNumber}`)],\n }),\n ]\n : undefined,\n });\n}\n\nexport function createGutterGap(\n type: LineTypes | undefined,\n bufferType: 'annotation' | 'buffer' | 'metadata',\n size: number\n): HASTElement {\n return createHastElement({\n tagName: 'div',\n properties: {\n 'data-gutter-buffer': bufferType,\n 'data-buffer-size': size,\n 'data-line-type': bufferType === 'annotation' ? undefined : type,\n style:\n bufferType === 'annotation'\n ? `grid-row: span ${size};`\n : `grid-row: span ${size};min-height:calc(${size} * 1lh);`,\n },\n });\n}\n"],"mappings":";AAYA,SAAgB,sBAAsB,OAAqB;AACzD,QAAO;EAAE,MAAM;EAAQ;EAAO;;AAkBhC,SAAgB,kBAAkB,EAChC,SACA,WAAW,EAAE,EACb,aAAa,EAAE,IACuB;AACtC,QAAO;EACL,MAAM;EACN;EACA;EACA;EACD;;AAUH,SAAgB,kBAAkB,EAChC,MACA,QAAQ,IACR,SAAS,IACT,cAC+B;AAC/B,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY;GAAE;GAAO;GAAQ,SAAS;GAAa,GAAG;GAAY;EAClE,UAAU,CACR,kBAAkB;GAChB,SAAS;GACT,YAAY,EAAE,MAAM,IAAI,KAAK,QAAQ,MAAM,GAAG,IAAI;GACnD,CAAC,CACH;EACF,CAAC;;AAGJ,SAAgB,gBACd,OACyB;CACzB,IAAIA,aAAsD,MAAM,SAAS;AACzE,QAAO,cAAc,MAAM;AACzB,MAAI,WAAW,SAAS,aAAa,WAAW,YAAY,OAC1D,QAAO;AAET,MAAI,cAAc,WAChB,cAAa,WAAW,SAAS;MAEjC,cAAa;;;AAMnB,SAAgB,oBAAoB,UAA0C;AAC5E,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY,EAAE,eAAe,IAAI;EACjC;EACD,CAAC;;AAGJ,SAAgB,iBACd,UACA,YACA,WACa;AACb,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY;GACV,kBAAkB;GAClB,sBAAsB;GACtB,mBAAmB;GACpB;EACD,UACE,cAAc,OACV,CACE,kBAAkB;GAChB,SAAS;GACT,YAAY,EAAE,4BAA4B,IAAI;GAC9C,UAAU,CAAC,sBAAsB,GAAG,aAAa,CAAC;GACnD,CAAC,CACH,GACD;EACP,CAAC;;AAGJ,SAAgB,gBACd,MACA,YACA,MACa;AACb,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY;GACV,sBAAsB;GACtB,oBAAoB;GACpB,kBAAkB,eAAe,eAAe,SAAY;GAC5D,OACE,eAAe,eACX,kBAAkB,KAAK,KACvB,kBAAkB,KAAK,mBAAmB,KAAK;GACtD;EACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { RenderRange } from "../types.js";
2
+
3
+ //#region src/utils/isDefaultRenderRange.d.ts
4
+ declare function isDefaultRenderRange(renderRange: RenderRange): boolean;
5
+ //#endregion
6
+ export { isDefaultRenderRange };
7
+ //# sourceMappingURL=isDefaultRenderRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isDefaultRenderRange.d.ts","names":["RenderRange","isDefaultRenderRange"],"sources":["../../src/utils/isDefaultRenderRange.d.ts"],"sourcesContent":["import type { RenderRange } from '../types';\nexport declare function isDefaultRenderRange(renderRange: RenderRange): boolean;\n//# sourceMappingURL=isDefaultRenderRange.d.ts.map"],"mappings":";;;iBACwBC,oBAAAA,cAAkCD"}
@@ -0,0 +1,8 @@
1
+ //#region src/utils/isDefaultRenderRange.ts
2
+ function isDefaultRenderRange(renderRange) {
3
+ return renderRange.startingLine === 0 && renderRange.totalLines === Infinity && renderRange.bufferBefore === 0 && renderRange.bufferAfter === 0;
4
+ }
5
+
6
+ //#endregion
7
+ export { isDefaultRenderRange };
8
+ //# sourceMappingURL=isDefaultRenderRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isDefaultRenderRange.js","names":[],"sources":["../../src/utils/isDefaultRenderRange.ts"],"sourcesContent":["import type { RenderRange } from '../types';\n\nexport function isDefaultRenderRange(renderRange: RenderRange): boolean {\n return (\n renderRange.startingLine === 0 &&\n renderRange.totalLines === Infinity &&\n renderRange.bufferBefore === 0 &&\n renderRange.bufferAfter === 0\n );\n}\n"],"mappings":";AAEA,SAAgB,qBAAqB,aAAmC;AACtE,QACE,YAAY,iBAAiB,KAC7B,YAAY,eAAe,YAC3B,YAAY,iBAAiB,KAC7B,YAAY,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"isWorkerContext.d.ts","names":[],"sources":["../../src/utils/isWorkerContext.ts"],"sourcesContent":[],"mappings":";iBAEgB,eAAA,CAAA"}
1
+ {"version":3,"file":"isWorkerContext.d.ts","names":["isWorkerContext"],"sources":["../../src/utils/isWorkerContext.d.ts"],"sourcesContent":["export declare function isWorkerContext(): boolean;\n//# sourceMappingURL=isWorkerContext.d.ts.map"],"mappings":";iBAAwBA,eAAAA,CAAAA"}