@pierre/diffs 1.1.0-beta.1 → 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 (305) 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 +60 -29
  10. package/dist/components/File.d.ts.map +1 -1
  11. package/dist/components/File.js +226 -26
  12. package/dist/components/File.js.map +1 -1
  13. package/dist/components/FileDiff.d.ts +44 -12
  14. package/dist/components/FileDiff.d.ts.map +1 -1
  15. package/dist/components/FileDiff.js +510 -71
  16. package/dist/components/FileDiff.js.map +1 -1
  17. package/dist/components/FileStream.d.ts +5 -0
  18. package/dist/components/FileStream.d.ts.map +1 -1
  19. package/dist/components/FileStream.js +66 -8
  20. package/dist/components/FileStream.js.map +1 -1
  21. package/dist/components/VirtualizedFile.d.ts +33 -0
  22. package/dist/components/VirtualizedFile.d.ts.map +1 -0
  23. package/dist/components/VirtualizedFile.js +227 -0
  24. package/dist/components/VirtualizedFile.js.map +1 -0
  25. package/dist/components/VirtualizedFileDiff.d.ts +39 -0
  26. package/dist/components/VirtualizedFileDiff.d.ts.map +1 -0
  27. package/dist/components/VirtualizedFileDiff.js +316 -0
  28. package/dist/components/VirtualizedFileDiff.js.map +1 -0
  29. package/dist/components/Virtualizer.d.ts +63 -0
  30. package/dist/components/Virtualizer.d.ts.map +1 -0
  31. package/dist/components/Virtualizer.js +369 -0
  32. package/dist/components/Virtualizer.js.map +1 -0
  33. package/dist/components/VirtulizerDevelopment.d.ts +14 -0
  34. package/dist/components/VirtulizerDevelopment.d.ts.map +1 -0
  35. package/dist/components/web-components.d.ts +1 -1
  36. package/dist/components/web-components.d.ts.map +1 -1
  37. package/dist/constants.d.ts +6 -8
  38. package/dist/constants.d.ts.map +1 -1
  39. package/dist/constants.js +16 -7
  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 +17 -12
  75. package/dist/index.js +14 -9
  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 +60 -71
  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 +2 -1
  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 +5 -5
  120. package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
  121. package/dist/react/utils/renderFileChildren.d.ts +5 -5
  122. package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
  123. package/dist/react/utils/templateRender.d.ts.map +1 -1
  124. package/dist/react/utils/useFileDiffInstance.d.ts +5 -3
  125. package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -1
  126. package/dist/react/utils/useFileDiffInstance.js +6 -2
  127. package/dist/react/utils/useFileDiffInstance.js.map +1 -1
  128. package/dist/react/utils/useFileInstance.d.ts +5 -3
  129. package/dist/react/utils/useFileInstance.d.ts.map +1 -1
  130. package/dist/react/utils/useFileInstance.js +6 -2
  131. package/dist/react/utils/useFileInstance.js.map +1 -1
  132. package/dist/react/utils/useStableCallback.d.ts.map +1 -1
  133. package/dist/react/utils/useStableCallback.js.map +1 -1
  134. package/dist/renderers/DiffHunksRenderer.d.ts +15 -10
  135. package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
  136. package/dist/renderers/DiffHunksRenderer.js +249 -140
  137. package/dist/renderers/DiffHunksRenderer.js.map +1 -1
  138. package/dist/renderers/FileRenderer.d.ts +12 -5
  139. package/dist/renderers/FileRenderer.d.ts.map +1 -1
  140. package/dist/renderers/FileRenderer.js +90 -31
  141. package/dist/renderers/FileRenderer.js.map +1 -1
  142. package/dist/shiki-stream/stream.d.ts +2 -2
  143. package/dist/shiki-stream/stream.d.ts.map +1 -1
  144. package/dist/shiki-stream/stream.js.map +1 -1
  145. package/dist/shiki-stream/tokenizer.d.ts +2 -2
  146. package/dist/shiki-stream/tokenizer.d.ts.map +1 -1
  147. package/dist/shiki-stream/tokenizer.js.map +1 -1
  148. package/dist/shiki-stream/types.d.ts +18 -18
  149. package/dist/shiki-stream/types.d.ts.map +1 -1
  150. package/dist/sprite.d.ts +1 -1
  151. package/dist/sprite.d.ts.map +1 -1
  152. package/dist/ssr/FileDiffReact.d.ts.map +1 -1
  153. package/dist/ssr/FileDiffReact.js +1 -1
  154. package/dist/ssr/index.d.ts +2 -2
  155. package/dist/ssr/preloadDiffs.d.ts.map +1 -1
  156. package/dist/ssr/preloadFile.d.ts.map +1 -1
  157. package/dist/ssr/preloadPatchFile.d.ts.map +1 -1
  158. package/dist/ssr/preloadPatchFile.js.map +1 -1
  159. package/dist/ssr/renderHTML.d.ts.map +1 -1
  160. package/dist/style.js +1 -1
  161. package/dist/style.js.map +1 -1
  162. package/dist/types.d.ts +198 -165
  163. package/dist/types.d.ts.map +1 -1
  164. package/dist/utils/areDiffLineAnnotationsEqual.d.ts.map +1 -1
  165. package/dist/utils/areDiffLineAnnotationsEqual.js.map +1 -1
  166. package/dist/utils/areFilesEqual.d.ts.map +1 -1
  167. package/dist/utils/areHunkDataEqual.d.ts.map +1 -1
  168. package/dist/utils/areLineAnnotationsEqual.d.ts.map +1 -1
  169. package/dist/utils/areObjectsEqual.d.ts.map +1 -1
  170. package/dist/utils/areOptionsEqual.d.ts +1 -1
  171. package/dist/utils/areOptionsEqual.d.ts.map +1 -1
  172. package/dist/utils/arePrePropertiesEqual.d.ts.map +1 -1
  173. package/dist/utils/arePrePropertiesEqual.js +1 -1
  174. package/dist/utils/arePrePropertiesEqual.js.map +1 -1
  175. package/dist/utils/areRenderRangesEqual.d.ts.map +1 -1
  176. package/dist/utils/areSelectionsEqual.d.ts.map +1 -1
  177. package/dist/utils/areThemesEqual.d.ts.map +1 -1
  178. package/dist/utils/areVirtualWindowSpecsEqual.d.ts.map +1 -1
  179. package/dist/utils/areWorkerStatsEqual.d.ts.map +1 -1
  180. package/dist/utils/cleanLastNewline.d.ts.map +1 -1
  181. package/dist/utils/createAnnotationElement.d.ts.map +1 -1
  182. package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -1
  183. package/dist/utils/createContentColumn.d.ts +7 -0
  184. package/dist/utils/createContentColumn.d.ts.map +1 -0
  185. package/dist/utils/createContentColumn.js +17 -0
  186. package/dist/utils/createContentColumn.js.map +1 -0
  187. package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -1
  188. package/dist/utils/createEmptyRowBuffer.js +2 -1
  189. package/dist/utils/createEmptyRowBuffer.js.map +1 -1
  190. package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
  191. package/dist/utils/createHoverContentNode.d.ts.map +1 -1
  192. package/dist/utils/createNoNewlineElement.d.ts +2 -1
  193. package/dist/utils/createNoNewlineElement.d.ts.map +1 -1
  194. package/dist/utils/createNoNewlineElement.js +3 -6
  195. package/dist/utils/createNoNewlineElement.js.map +1 -1
  196. package/dist/utils/createPreElement.d.ts +2 -1
  197. package/dist/utils/createPreElement.d.ts.map +1 -1
  198. package/dist/utils/createPreElement.js +4 -3
  199. package/dist/utils/createPreElement.js.map +1 -1
  200. package/dist/utils/createRowNodes.d.ts.map +1 -1
  201. package/dist/utils/createSeparator.d.ts.map +1 -1
  202. package/dist/utils/createSeparator.js +2 -2
  203. package/dist/utils/createSeparator.js.map +1 -1
  204. package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -1
  205. package/dist/utils/createSpanNodeFromToken.js.map +1 -1
  206. package/dist/utils/createStyleElement.d.ts.map +1 -1
  207. package/dist/utils/createTransformerWithState.d.ts.map +1 -1
  208. package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -1
  209. package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
  210. package/dist/utils/cssWrappers.d.ts.map +1 -1
  211. package/dist/utils/diffAcceptRejectHunk.d.ts +1 -1
  212. package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -1
  213. package/dist/utils/formatCSSVariablePrefix.d.ts +1 -1
  214. package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -1
  215. package/dist/utils/getFiletypeFromFileName.d.ts +2 -1
  216. package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -1
  217. package/dist/utils/getFiletypeFromFileName.js +14 -4
  218. package/dist/utils/getFiletypeFromFileName.js.map +1 -1
  219. package/dist/utils/getHighlighterOptions.d.ts.map +1 -1
  220. package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -1
  221. package/dist/utils/getHunkSeparatorSlotName.d.ts +3 -1
  222. package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -1
  223. package/dist/utils/getHunkSeparatorSlotName.js.map +1 -1
  224. package/dist/utils/getIconForType.d.ts +1 -1
  225. package/dist/utils/getIconForType.d.ts.map +1 -1
  226. package/dist/utils/getLineAnnotationName.d.ts.map +1 -1
  227. package/dist/utils/getLineEndingType.d.ts +1 -1
  228. package/dist/utils/getLineEndingType.d.ts.map +1 -1
  229. package/dist/utils/getLineNodes.d.ts.map +1 -1
  230. package/dist/utils/getOrCreateCodeNode.d.ts +4 -2
  231. package/dist/utils/getOrCreateCodeNode.d.ts.map +1 -1
  232. package/dist/utils/getOrCreateCodeNode.js +9 -6
  233. package/dist/utils/getOrCreateCodeNode.js.map +1 -1
  234. package/dist/utils/getSingularPatch.d.ts.map +1 -1
  235. package/dist/utils/getThemes.d.ts.map +1 -1
  236. package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -1
  237. package/dist/utils/hast_utils.d.ts +6 -3
  238. package/dist/utils/hast_utils.d.ts.map +1 -1
  239. package/dist/utils/hast_utils.js +28 -4
  240. package/dist/utils/hast_utils.js.map +1 -1
  241. package/dist/utils/isDefaultRenderRange.d.ts.map +1 -1
  242. package/dist/utils/isWorkerContext.d.ts.map +1 -1
  243. package/dist/utils/iterateOverDiff.d.ts +28 -13
  244. package/dist/utils/iterateOverDiff.d.ts.map +1 -1
  245. package/dist/utils/iterateOverDiff.js +101 -60
  246. package/dist/utils/iterateOverDiff.js.map +1 -1
  247. package/dist/utils/iterateOverFile.d.ts +50 -0
  248. package/dist/utils/iterateOverFile.d.ts.map +1 -0
  249. package/dist/utils/iterateOverFile.js +49 -0
  250. package/dist/utils/iterateOverFile.js.map +1 -0
  251. package/dist/utils/parseDiffDecorations.d.ts.map +1 -1
  252. package/dist/utils/parseDiffFromFile.d.ts +6 -6
  253. package/dist/utils/parseDiffFromFile.d.ts.map +1 -1
  254. package/dist/utils/parseDiffFromFile.js +3 -2
  255. package/dist/utils/parseDiffFromFile.js.map +1 -1
  256. package/dist/utils/parseLineType.d.ts +1 -1
  257. package/dist/utils/parseLineType.d.ts.map +1 -1
  258. package/dist/utils/parsePatchFiles.d.ts +12 -10
  259. package/dist/utils/parsePatchFiles.d.ts.map +1 -1
  260. package/dist/utils/parsePatchFiles.js +20 -11
  261. package/dist/utils/parsePatchFiles.js.map +1 -1
  262. package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -1
  263. package/dist/utils/processLine.d.ts.map +1 -1
  264. package/dist/utils/processLine.js +7 -24
  265. package/dist/utils/processLine.js.map +1 -1
  266. package/dist/utils/renderDiffWithHighlighter.d.ts +4 -3
  267. package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -1
  268. package/dist/utils/renderDiffWithHighlighter.js +18 -16
  269. package/dist/utils/renderDiffWithHighlighter.js.map +1 -1
  270. package/dist/utils/renderFileWithHighlighter.d.ts +7 -2
  271. package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -1
  272. package/dist/utils/renderFileWithHighlighter.js +30 -4
  273. package/dist/utils/renderFileWithHighlighter.js.map +1 -1
  274. package/dist/utils/resolveVirtualFileMetrics.d.ts +7 -0
  275. package/dist/utils/resolveVirtualFileMetrics.d.ts.map +1 -0
  276. package/dist/utils/resolveVirtualFileMetrics.js +25 -0
  277. package/dist/utils/resolveVirtualFileMetrics.js.map +1 -0
  278. package/dist/utils/setLanguageOverride.d.ts +2 -1
  279. package/dist/utils/setLanguageOverride.d.ts.map +1 -1
  280. package/dist/utils/setLanguageOverride.js.map +1 -1
  281. package/dist/utils/setWrapperNodeProps.d.ts +1 -0
  282. package/dist/utils/setWrapperNodeProps.d.ts.map +1 -1
  283. package/dist/utils/setWrapperNodeProps.js +19 -12
  284. package/dist/utils/setWrapperNodeProps.js.map +1 -1
  285. package/dist/utils/splitFileContents.d.ts +12 -0
  286. package/dist/utils/splitFileContents.d.ts.map +1 -0
  287. package/dist/utils/splitFileContents.js +17 -0
  288. package/dist/utils/splitFileContents.js.map +1 -0
  289. package/dist/utils/trimPatchContext.d.ts +11 -0
  290. package/dist/utils/trimPatchContext.d.ts.map +1 -0
  291. package/dist/utils/trimPatchContext.js +99 -0
  292. package/dist/utils/trimPatchContext.js.map +1 -0
  293. package/dist/worker/WorkerPoolManager.d.ts +3 -3
  294. package/dist/worker/WorkerPoolManager.d.ts.map +1 -1
  295. package/dist/worker/WorkerPoolManager.js +39 -26
  296. package/dist/worker/WorkerPoolManager.js.map +1 -1
  297. package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -1
  298. package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -1
  299. package/dist/worker/types.d.ts +26 -26
  300. package/dist/worker/types.d.ts.map +1 -1
  301. package/dist/worker/worker-portable.js +352 -154
  302. package/dist/worker/worker-portable.js.map +1 -1
  303. package/dist/worker/worker.js +222 -113
  304. package/dist/worker/worker.js.map +1 -1
  305. package/package.json +52 -53
@@ -1 +1 @@
1
- {"version":3,"file":"areDiffLineAnnotationsEqual.d.ts","names":[],"sources":["../../src/utils/areDiffLineAnnotationsEqual.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,kEACD,mBAAmB,2BACnB,mBAAmB"}
1
+ {"version":3,"file":"areDiffLineAnnotationsEqual.d.ts","names":["DiffLineAnnotation","areDiffLineAnnotationsEqual","LAnnotation"],"sources":["../../src/utils/areDiffLineAnnotationsEqual.d.ts"],"sourcesContent":["import type { DiffLineAnnotation } from '../types';\nexport declare function areDiffLineAnnotationsEqual<LAnnotation = undefined>(annotationA: DiffLineAnnotation<LAnnotation>, annotationB: DiffLineAnnotation<LAnnotation>): boolean;\n//# sourceMappingURL=areDiffLineAnnotationsEqual.d.ts.map"],"mappings":";;;iBACwBC,kEAAkED,mBAAmBE,2BAA2BF,mBAAmBE"}
@@ -1 +1 @@
1
- {"version":3,"file":"areDiffLineAnnotationsEqual.js","names":[],"sources":["../../src/utils/areDiffLineAnnotationsEqual.ts"],"sourcesContent":["import type { DiffLineAnnotation } from 'src/types';\n\nexport function areDiffLineAnnotationsEqual<LAnnotation = undefined>(\n annotationA: DiffLineAnnotation<LAnnotation>,\n annotationB: DiffLineAnnotation<LAnnotation>\n): boolean {\n return (\n annotationA.lineNumber === annotationB.lineNumber &&\n annotationA.side === annotationB.side &&\n annotationA.metadata === annotationB.metadata\n );\n}\n"],"mappings":";AAEA,SAAgB,4BACd,aACA,aACS;AACT,QACE,YAAY,eAAe,YAAY,cACvC,YAAY,SAAS,YAAY,QACjC,YAAY,aAAa,YAAY"}
1
+ {"version":3,"file":"areDiffLineAnnotationsEqual.js","names":[],"sources":["../../src/utils/areDiffLineAnnotationsEqual.ts"],"sourcesContent":["import type { DiffLineAnnotation } from '../types';\n\nexport function areDiffLineAnnotationsEqual<LAnnotation = undefined>(\n annotationA: DiffLineAnnotation<LAnnotation>,\n annotationB: DiffLineAnnotation<LAnnotation>\n): boolean {\n return (\n annotationA.lineNumber === annotationB.lineNumber &&\n annotationA.side === annotationB.side &&\n annotationA.metadata === annotationB.metadata\n );\n}\n"],"mappings":";AAEA,SAAgB,4BACd,aACA,aACS;AACT,QACE,YAAY,eAAe,YAAY,cACvC,YAAY,SAAS,YAAY,QACjC,YAAY,aAAa,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"areFilesEqual.d.ts","names":[],"sources":["../../src/utils/areFilesEqual.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,aAAA,QACP,iCACA"}
1
+ {"version":3,"file":"areFilesEqual.d.ts","names":["FileContents","areFilesEqual"],"sources":["../../src/utils/areFilesEqual.d.ts"],"sourcesContent":["import type { FileContents } from '../types';\nexport declare function areFilesEqual(fileA: FileContents | undefined, fileB: FileContents | undefined): boolean;\n//# sourceMappingURL=areFilesEqual.d.ts.map"],"mappings":";;;iBACwBC,aAAAA,QAAqBD,iCAAiCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"areHunkDataEqual.d.ts","names":[],"sources":["../../src/utils/areHunkDataEqual.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,gBAAA,QAAwB,iBAAiB"}
1
+ {"version":3,"file":"areHunkDataEqual.d.ts","names":["HunkData","areHunkDataEqual"],"sources":["../../src/utils/areHunkDataEqual.d.ts"],"sourcesContent":["import type { HunkData } from '../types';\nexport declare function areHunkDataEqual(hunkA: HunkData, hunkB: HunkData): boolean;\n//# sourceMappingURL=areHunkDataEqual.d.ts.map"],"mappings":";;;iBACwBC,gBAAAA,QAAwBD,iBAAiBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"areLineAnnotationsEqual.d.ts","names":[],"sources":["../../src/utils/areLineAnnotationsEqual.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,8DACD,eAAe,2BACf,eAAe"}
1
+ {"version":3,"file":"areLineAnnotationsEqual.d.ts","names":["LineAnnotation","areLineAnnotationsEqual","LAnnotation"],"sources":["../../src/utils/areLineAnnotationsEqual.d.ts"],"sourcesContent":["import type { LineAnnotation } from '../types';\nexport declare function areLineAnnotationsEqual<LAnnotation = undefined>(annotationA: LineAnnotation<LAnnotation>, annotationB: LineAnnotation<LAnnotation>): boolean;\n//# sourceMappingURL=areLineAnnotationsEqual.d.ts.map"],"mappings":";;;iBACwBC,8DAA8DD,eAAeE,2BAA2BF,eAAeE"}
@@ -1 +1 @@
1
- {"version":3,"file":"areObjectsEqual.d.ts","names":[],"sources":["../../src/utils/areObjectsEqual.ts"],"sourcesContent":[],"mappings":";iBAAgB,wCACR,qBACA,iCACY"}
1
+ {"version":3,"file":"areObjectsEqual.d.ts","names":["areObjectsEqual","T"],"sources":["../../src/utils/areObjectsEqual.d.ts"],"sourcesContent":["export declare function areObjectsEqual<T extends object>(objA: T | undefined, objB: T | undefined, omitKeys?: (keyof T)[]): boolean;\n//# sourceMappingURL=areObjectsEqual.d.ts.map"],"mappings":";iBAAwBA,wCAAwCC,qBAAqBA,iCAAiCA"}
@@ -1,6 +1,6 @@
1
1
  import { FileOptions } from "../components/File.js";
2
- import { FileDiffOptions } from "../components/FileDiff.js";
3
2
  import "../react/index.js";
3
+ import { FileDiffOptions } from "../components/FileDiff.js";
4
4
 
5
5
  //#region src/utils/areOptionsEqual.d.ts
6
6
  declare function areOptionsEqual<LAnnotation>(optionsA: FileOptions<LAnnotation> | FileDiffOptions<LAnnotation> | undefined, optionsB: FileOptions<LAnnotation> | FileDiffOptions<LAnnotation> | undefined): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"areOptionsEqual.d.ts","names":[],"sources":["../../src/utils/areOptionsEqual.ts"],"sourcesContent":[],"mappings":";;;;;iBAMgB,uCACJ,YAAY,eAAe,gBAAgB,oCAC3C,YAAY,eAAe,gBAAgB"}
1
+ {"version":3,"file":"areOptionsEqual.d.ts","names":["FileDiffOptions","FileOptions","areOptionsEqual","LAnnotation"],"sources":["../../src/utils/areOptionsEqual.d.ts"],"sourcesContent":["import type { FileDiffOptions } from '../components/FileDiff';\nimport type { FileOptions } from '../react';\nexport declare function areOptionsEqual<LAnnotation>(optionsA: FileOptions<LAnnotation> | FileDiffOptions<LAnnotation> | undefined, optionsB: FileOptions<LAnnotation> | FileDiffOptions<LAnnotation> | undefined): boolean;\n//# sourceMappingURL=areOptionsEqual.d.ts.map"],"mappings":";;;;;iBAEwBE,uCAAuCD,YAAYE,eAAeH,gBAAgBG,oCAAoCF,YAAYE,eAAeH,gBAAgBG"}
@@ -1 +1 @@
1
- {"version":3,"file":"arePrePropertiesEqual.d.ts","names":[],"sources":["../../src/utils/arePrePropertiesEqual.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,qBAAA,SACN,yCACA"}
1
+ {"version":3,"file":"arePrePropertiesEqual.d.ts","names":["PrePropertiesConfig","arePrePropertiesEqual"],"sources":["../../src/utils/arePrePropertiesEqual.d.ts"],"sourcesContent":["import type { PrePropertiesConfig } from '../types';\nexport declare function arePrePropertiesEqual(propsA: PrePropertiesConfig | undefined, propsB: PrePropertiesConfig | undefined): boolean;\n//# sourceMappingURL=arePrePropertiesEqual.d.ts.map"],"mappings":";;;iBACwBC,qBAAAA,SAA8BD,yCAAyCA"}
@@ -1,7 +1,7 @@
1
1
  //#region src/utils/arePrePropertiesEqual.ts
2
2
  function arePrePropertiesEqual(propsA, propsB) {
3
3
  if (propsA == null || propsB == null) return propsA === propsB;
4
- return propsA.diffIndicators === propsB.diffIndicators && propsA.disableBackground === propsB.disableBackground && propsA.disableLineNumbers === propsB.disableLineNumbers && propsA.overflow === propsB.overflow && propsA.split === propsB.split && propsA.themeStyles === propsB.themeStyles && propsA.themeType === propsB.themeType && propsA.totalLines === propsB.totalLines;
4
+ return propsA.type === propsB.type && propsA.diffIndicators === propsB.diffIndicators && propsA.disableBackground === propsB.disableBackground && propsA.disableLineNumbers === propsB.disableLineNumbers && propsA.overflow === propsB.overflow && propsA.split === propsB.split && propsA.themeStyles === propsB.themeStyles && propsA.themeType === propsB.themeType && propsA.totalLines === propsB.totalLines;
5
5
  }
6
6
 
7
7
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"arePrePropertiesEqual.js","names":[],"sources":["../../src/utils/arePrePropertiesEqual.ts"],"sourcesContent":["import type { PrePropertiesConfig } from '../types';\n\nexport function arePrePropertiesEqual(\n propsA: PrePropertiesConfig | undefined,\n propsB: PrePropertiesConfig | undefined\n): boolean {\n if (propsA == null || propsB == null) {\n return propsA === propsB;\n }\n return (\n propsA.diffIndicators === propsB.diffIndicators &&\n propsA.disableBackground === propsB.disableBackground &&\n propsA.disableLineNumbers === propsB.disableLineNumbers &&\n propsA.overflow === propsB.overflow &&\n propsA.split === propsB.split &&\n propsA.themeStyles === propsB.themeStyles &&\n propsA.themeType === propsB.themeType &&\n propsA.totalLines === propsB.totalLines\n );\n}\n"],"mappings":";AAEA,SAAgB,sBACd,QACA,QACS;AACT,KAAI,UAAU,QAAQ,UAAU,KAC9B,QAAO,WAAW;AAEpB,QACE,OAAO,mBAAmB,OAAO,kBACjC,OAAO,sBAAsB,OAAO,qBACpC,OAAO,uBAAuB,OAAO,sBACrC,OAAO,aAAa,OAAO,YAC3B,OAAO,UAAU,OAAO,SACxB,OAAO,gBAAgB,OAAO,eAC9B,OAAO,cAAc,OAAO,aAC5B,OAAO,eAAe,OAAO"}
1
+ {"version":3,"file":"arePrePropertiesEqual.js","names":[],"sources":["../../src/utils/arePrePropertiesEqual.ts"],"sourcesContent":["import type { PrePropertiesConfig } from '../types';\n\nexport function arePrePropertiesEqual(\n propsA: PrePropertiesConfig | undefined,\n propsB: PrePropertiesConfig | undefined\n): boolean {\n if (propsA == null || propsB == null) {\n return propsA === propsB;\n }\n return (\n propsA.type === propsB.type &&\n propsA.diffIndicators === propsB.diffIndicators &&\n propsA.disableBackground === propsB.disableBackground &&\n propsA.disableLineNumbers === propsB.disableLineNumbers &&\n propsA.overflow === propsB.overflow &&\n propsA.split === propsB.split &&\n propsA.themeStyles === propsB.themeStyles &&\n propsA.themeType === propsB.themeType &&\n propsA.totalLines === propsB.totalLines\n );\n}\n"],"mappings":";AAEA,SAAgB,sBACd,QACA,QACS;AACT,KAAI,UAAU,QAAQ,UAAU,KAC9B,QAAO,WAAW;AAEpB,QACE,OAAO,SAAS,OAAO,QACvB,OAAO,mBAAmB,OAAO,kBACjC,OAAO,sBAAsB,OAAO,qBACpC,OAAO,uBAAuB,OAAO,sBACrC,OAAO,aAAa,OAAO,YAC3B,OAAO,UAAU,OAAO,SACxB,OAAO,gBAAgB,OAAO,eAC9B,OAAO,cAAc,OAAO,aAC5B,OAAO,eAAe,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"areRenderRangesEqual.d.ts","names":[],"sources":["../../src/utils/areRenderRangesEqual.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,oBAAA,eACA,uCACA"}
1
+ {"version":3,"file":"areRenderRangesEqual.d.ts","names":["RenderRange","areRenderRangesEqual"],"sources":["../../src/utils/areRenderRangesEqual.d.ts"],"sourcesContent":["import type { RenderRange } from '../types';\nexport declare function areRenderRangesEqual(renderRangeA: RenderRange | undefined, renderRangeB: RenderRange | undefined): boolean;\n//# sourceMappingURL=areRenderRangesEqual.d.ts.map"],"mappings":";;;iBACwBC,oBAAAA,eAAmCD,uCAAuCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"areSelectionsEqual.d.ts","names":[],"sources":["../../src/utils/areSelectionsEqual.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,kBAAA,aACF,2CACA"}
1
+ {"version":3,"file":"areSelectionsEqual.d.ts","names":["SelectedLineRange","areSelectionsEqual"],"sources":["../../src/utils/areSelectionsEqual.d.ts"],"sourcesContent":["import type { SelectedLineRange } from '../managers/LineSelectionManager';\nexport declare function areSelectionsEqual(selectionA: SelectedLineRange | undefined, selectionB: SelectedLineRange | undefined): boolean;\n//# sourceMappingURL=areSelectionsEqual.d.ts.map"],"mappings":";;;iBACwBC,kBAAAA,aAA+BD,2CAA2CA"}
@@ -1 +1 @@
1
- {"version":3,"file":"areThemesEqual.d.ts","names":[],"sources":["../../src/utils/areThemesEqual.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,cAAA,SACN,kBAAkB,gCAClB,kBAAkB"}
1
+ {"version":3,"file":"areThemesEqual.d.ts","names":["DiffsThemeNames","ThemesType","areThemesEqual"],"sources":["../../src/utils/areThemesEqual.d.ts"],"sourcesContent":["import type { DiffsThemeNames, ThemesType } from '../types';\nexport declare function areThemesEqual(themeA: DiffsThemeNames | ThemesType | undefined, themeB: DiffsThemeNames | ThemesType | undefined): boolean;\n//# sourceMappingURL=areThemesEqual.d.ts.map"],"mappings":";;;iBACwBE,cAAAA,SAAuBF,kBAAkBC,gCAAgCD,kBAAkBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"areVirtualWindowSpecsEqual.d.ts","names":[],"sources":["../../src/utils/areVirtualWindowSpecsEqual.ts"],"sourcesContent":[],"mappings":";;;iBAEgB,0BAAA,eACA,8CACA"}
1
+ {"version":3,"file":"areVirtualWindowSpecsEqual.d.ts","names":["VirtualWindowSpecs","areVirtualWindowSpecsEqual"],"sources":["../../src/utils/areVirtualWindowSpecsEqual.d.ts"],"sourcesContent":["import type { VirtualWindowSpecs } from '../types';\nexport declare function areVirtualWindowSpecsEqual(windowSpecsA: VirtualWindowSpecs | undefined, windowSpecsB: VirtualWindowSpecs | undefined): boolean;\n//# sourceMappingURL=areVirtualWindowSpecsEqual.d.ts.map"],"mappings":";;;iBACwBC,0BAAAA,eAAyCD,8CAA8CA"}
@@ -1 +1 @@
1
- {"version":3,"file":"areWorkerStatsEqual.d.ts","names":[],"sources":["../../src/utils/areWorkerStatsEqual.ts"],"sourcesContent":[],"mappings":";;;;iBAEgB,mBAAA,SACN,iCACA"}
1
+ {"version":3,"file":"areWorkerStatsEqual.d.ts","names":["WorkerStats","areWorkerStatsEqual"],"sources":["../../src/utils/areWorkerStatsEqual.d.ts"],"sourcesContent":["import type { WorkerStats } from '../worker';\nexport declare function areWorkerStatsEqual(statsA: WorkerStats | undefined, statsB: WorkerStats | undefined): boolean;\n//# sourceMappingURL=areWorkerStatsEqual.d.ts.map"],"mappings":";;;;iBACwBC,mBAAAA,SAA4BD,iCAAiCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cleanLastNewline.d.ts","names":[],"sources":["../../src/utils/cleanLastNewline.ts"],"sourcesContent":[],"mappings":";iBAAgB,gBAAA"}
1
+ {"version":3,"file":"cleanLastNewline.d.ts","names":["cleanLastNewline"],"sources":["../../src/utils/cleanLastNewline.d.ts"],"sourcesContent":["export declare function cleanLastNewline(contents: string): string;\n//# sourceMappingURL=cleanLastNewline.d.ts.map"],"mappings":";iBAAwBA,gBAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAnnotationElement.d.ts","names":[],"sources":["../../src/utils/createAnnotationElement.ts"],"sourcesContent":[],"mappings":";;;;iBAKgB,uBAAA,OAA8B,iBAAiB"}
1
+ {"version":3,"file":"createAnnotationElement.d.ts","names":["Element","HASTElement","AnnotationSpan","createAnnotationElement"],"sources":["../../src/utils/createAnnotationElement.d.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\nimport type { AnnotationSpan } from '../types';\nexport declare function createAnnotationElement(span: AnnotationSpan): HASTElement;\n//# sourceMappingURL=createAnnotationElement.d.ts.map"],"mappings":";;;;iBAEwBG,uBAAAA,OAA8BD,iBAAiBD"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAnnotationWrapperNode.d.ts","names":[],"sources":["../../src/utils/createAnnotationWrapperNode.ts"],"sourcesContent":[],"mappings":";iBAAgB,2BAAA,gBAA2C"}
1
+ {"version":3,"file":"createAnnotationWrapperNode.d.ts","names":["createAnnotationWrapperNode","HTMLElement"],"sources":["../../src/utils/createAnnotationWrapperNode.d.ts"],"sourcesContent":["export declare function createAnnotationWrapperNode(slot: string): HTMLElement;\n//# sourceMappingURL=createAnnotationWrapperNode.d.ts.map"],"mappings":";iBAAwBA,2BAAAA,gBAA2CC"}
@@ -0,0 +1,7 @@
1
+ import { Element, ElementContent } from "hast";
2
+
3
+ //#region src/utils/createContentColumn.d.ts
4
+ declare function createContentColumn(children: ElementContent[], rowCount: number): Element;
5
+ //#endregion
6
+ export { createContentColumn };
7
+ //# sourceMappingURL=createContentColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createContentColumn.d.ts","names":["ElementContent","Element","HASTElement","createContentColumn"],"sources":["../../src/utils/createContentColumn.d.ts"],"sourcesContent":["import type { ElementContent, Element as HASTElement } from 'hast';\nexport declare function createContentColumn(children: ElementContent[], rowCount: number): HASTElement;\n//# sourceMappingURL=createContentColumn.d.ts.map"],"mappings":";;;iBACwBG,mBAAAA,WAA8BH,qCAAqCE"}
@@ -0,0 +1,17 @@
1
+ import { createHastElement } from "./hast_utils.js";
2
+
3
+ //#region src/utils/createContentColumn.ts
4
+ function createContentColumn(children, rowCount) {
5
+ return createHastElement({
6
+ tagName: "div",
7
+ children,
8
+ properties: {
9
+ "data-content": "",
10
+ style: `grid-row: span ${rowCount}`
11
+ }
12
+ });
13
+ }
14
+
15
+ //#endregion
16
+ export { createContentColumn };
17
+ //# sourceMappingURL=createContentColumn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createContentColumn.js","names":[],"sources":["../../src/utils/createContentColumn.ts"],"sourcesContent":["import type { ElementContent, Element as HASTElement } from 'hast';\n\nimport { createHastElement } from './hast_utils';\n\nexport function createContentColumn(\n children: ElementContent[],\n rowCount: number\n): HASTElement {\n return createHastElement({\n tagName: 'div',\n children,\n properties: {\n 'data-content': '',\n style: `grid-row: span ${rowCount}`,\n },\n });\n}\n"],"mappings":";;;AAIA,SAAgB,oBACd,UACA,UACa;AACb,QAAO,kBAAkB;EACvB,SAAS;EACT;EACA,YAAY;GACV,gBAAgB;GAChB,OAAO,kBAAkB;GAC1B;EACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createEmptyRowBuffer.d.ts","names":[],"sources":["../../src/utils/createEmptyRowBuffer.ts"],"sourcesContent":[],"mappings":";;;iBAIgB,oBAAA,gBAAoC"}
1
+ {"version":3,"file":"createEmptyRowBuffer.d.ts","names":["Element","HASTElement","createEmptyRowBuffer"],"sources":["../../src/utils/createEmptyRowBuffer.d.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\nexport declare function createEmptyRowBuffer(size: number): HASTElement;\n//# sourceMappingURL=createEmptyRowBuffer.d.ts.map"],"mappings":";;;iBACwBE,oBAAAA,gBAAoCD"}
@@ -5,7 +5,8 @@ function createEmptyRowBuffer(size) {
5
5
  return createHastElement({
6
6
  tagName: "div",
7
7
  properties: {
8
- "data-buffer": "",
8
+ "data-content-buffer": "",
9
+ "data-buffer-size": size,
9
10
  style: `grid-row: span ${size};min-height:calc(${size} * 1lh)`
10
11
  }
11
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"createEmptyRowBuffer.js","names":[],"sources":["../../src/utils/createEmptyRowBuffer.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport { createHastElement } from './hast_utils';\n\nexport function createEmptyRowBuffer(size: number): HASTElement {\n return createHastElement({\n tagName: 'div',\n properties: {\n 'data-buffer': '',\n style: `grid-row: span ${size};min-height:calc(${size} * 1lh)`,\n },\n });\n}\n"],"mappings":";;;AAIA,SAAgB,qBAAqB,MAA2B;AAC9D,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY;GACV,eAAe;GACf,OAAO,kBAAkB,KAAK,mBAAmB,KAAK;GACvD;EACF,CAAC"}
1
+ {"version":3,"file":"createEmptyRowBuffer.js","names":[],"sources":["../../src/utils/createEmptyRowBuffer.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport { createHastElement } from './hast_utils';\n\nexport function createEmptyRowBuffer(size: number): HASTElement {\n return createHastElement({\n tagName: 'div',\n properties: {\n 'data-content-buffer': '',\n 'data-buffer-size': size,\n style: `grid-row: span ${size};min-height:calc(${size} * 1lh)`,\n },\n });\n}\n"],"mappings":";;;AAIA,SAAgB,qBAAqB,MAA2B;AAC9D,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY;GACV,uBAAuB;GACvB,oBAAoB;GACpB,OAAO,kBAAkB,KAAK,mBAAmB,KAAK;GACvD;EACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createFileHeaderElement.d.ts","names":[],"sources":["../../src/utils/createFileHeaderElement.ts"],"sourcesContent":[],"mappings":";;;;UAgBiB,4BAAA;cACH,mBAAmB;EADjC,WAAiB,EAAA,MAAA;EACH,SAAA,EAED,UAFC;;AAED,iBAGG,uBAAA,CAHH;EAAA,UAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAOV,4BAPU,CAAA,EAOqB,OAPrB"}
1
+ {"version":3,"file":"createFileHeaderElement.d.ts","names":["Element","HASTElement","FileContents","FileDiffMetadata","ThemeTypes","CreateFileHeaderElementProps","createFileHeaderElement","fileOrDiff","themeStyles","themeType"],"sources":["../../src/utils/createFileHeaderElement.d.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\nimport type { FileContents, FileDiffMetadata, ThemeTypes } from '../types';\nexport interface CreateFileHeaderElementProps {\n fileOrDiff: FileDiffMetadata | FileContents;\n themeStyles: string;\n themeType: ThemeTypes;\n}\nexport declare function createFileHeaderElement({ fileOrDiff, themeStyles, themeType }: CreateFileHeaderElementProps): HASTElement;\n//# sourceMappingURL=createFileHeaderElement.d.ts.map"],"mappings":";;;;UAEiBK,4BAAAA;cACDF,mBAAmBD;EADlBG,WAAAA,EAAAA,MAAAA;EACDF,SAAAA,EAEDC,UAFCD;;AAEDC,iBAESE,uBAAAA,CAFTF;EAAAA,UAAAA;EAAAA,WAAAA;EAAAA;AAAAA,CAAAA,EAEyEC,4BAFzED,CAAAA,EAEwGH,OAFxGG"}
@@ -1 +1 @@
1
- {"version":3,"file":"createHoverContentNode.d.ts","names":[],"sources":["../../src/utils/createHoverContentNode.ts"],"sourcesContent":[],"mappings":";iBAAgB,sBAAA,CAAA,GAA0B"}
1
+ {"version":3,"file":"createHoverContentNode.d.ts","names":["createHoverContentNode","HTMLElement"],"sources":["../../src/utils/createHoverContentNode.d.ts"],"sourcesContent":["export declare function createHoverContentNode(): HTMLElement;\n//# sourceMappingURL=createHoverContentNode.d.ts.map"],"mappings":";iBAAwBA,sBAAAA,CAAAA,GAA0BC"}
@@ -1,7 +1,8 @@
1
+ import { LineTypes } from "../types.js";
1
2
  import { Element } from "hast";
2
3
 
3
4
  //#region src/utils/createNoNewlineElement.d.ts
4
- declare function createNoNewlineElement(type: "context" | "change-addition" | "change-deletion"): Element;
5
+ declare function createNoNewlineElement(type: LineTypes): Element;
5
6
  //#endregion
6
7
  export { createNoNewlineElement };
7
8
  //# sourceMappingURL=createNoNewlineElement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createNoNewlineElement.d.ts","names":[],"sources":["../../src/utils/createNoNewlineElement.ts"],"sourcesContent":[],"mappings":";;;iBAIgB,sBAAA,2DAEb"}
1
+ {"version":3,"file":"createNoNewlineElement.d.ts","names":["Element","HASTElement","LineTypes","createNoNewlineElement"],"sources":["../../src/utils/createNoNewlineElement.d.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\nimport type { LineTypes } from '../types';\nexport declare function createNoNewlineElement(type: LineTypes): HASTElement;\n//# sourceMappingURL=createNoNewlineElement.d.ts.map"],"mappings":";;;;iBAEwBG,sBAAAA,OAA6BD,YAAYD"}
@@ -6,15 +6,12 @@ function createNoNewlineElement(type) {
6
6
  tagName: "div",
7
7
  children: [createHastElement({
8
8
  tagName: "span",
9
- properties: { "data-column-number": "" }
10
- }), createHastElement({
11
- tagName: "span",
12
- children: [createTextNodeElement("No newline at end of file")],
13
- properties: { "data-column-content": "" }
9
+ children: [createTextNodeElement("No newline at end of file")]
14
10
  })],
15
11
  properties: {
16
12
  "data-no-newline": "",
17
- "data-line-type": type
13
+ "data-line-type": type,
14
+ "data-column-content": ""
18
15
  }
19
16
  });
20
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createNoNewlineElement.js","names":[],"sources":["../../src/utils/createNoNewlineElement.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport { createHastElement, createTextNodeElement } from './hast_utils';\n\nexport function createNoNewlineElement(\n type: 'context' | 'change-addition' | 'change-deletion'\n): HASTElement {\n return createHastElement({\n tagName: 'div',\n children: [\n createHastElement({\n tagName: 'span',\n properties: { 'data-column-number': '' },\n }),\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement('No newline at end of file')],\n properties: { 'data-column-content': '' },\n }),\n ],\n properties: { 'data-no-newline': '', 'data-line-type': type },\n });\n}\n"],"mappings":";;;AAIA,SAAgB,uBACd,MACa;AACb,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,kBAAkB;GAChB,SAAS;GACT,YAAY,EAAE,sBAAsB,IAAI;GACzC,CAAC,EACF,kBAAkB;GAChB,SAAS;GACT,UAAU,CAAC,sBAAsB,4BAA4B,CAAC;GAC9D,YAAY,EAAE,uBAAuB,IAAI;GAC1C,CAAC,CACH;EACD,YAAY;GAAE,mBAAmB;GAAI,kBAAkB;GAAM;EAC9D,CAAC"}
1
+ {"version":3,"file":"createNoNewlineElement.js","names":[],"sources":["../../src/utils/createNoNewlineElement.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport type { LineTypes } from '../types';\nimport { createHastElement, createTextNodeElement } from './hast_utils';\n\nexport function createNoNewlineElement(type: LineTypes): HASTElement {\n return createHastElement({\n tagName: 'div',\n children: [\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement('No newline at end of file')],\n }),\n ],\n properties: {\n 'data-no-newline': '',\n 'data-line-type': type,\n 'data-column-content': '',\n },\n });\n}\n"],"mappings":";;;AAKA,SAAgB,uBAAuB,MAA8B;AACnE,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,kBAAkB;GAChB,SAAS;GACT,UAAU,CAAC,sBAAsB,4BAA4B,CAAC;GAC/D,CAAC,CACH;EACD,YAAY;GACV,mBAAmB;GACnB,kBAAkB;GAClB,uBAAuB;GACxB;EACF,CAAC"}
@@ -11,7 +11,8 @@ declare function createPreWrapperProperties({
11
11
  split,
12
12
  themeType,
13
13
  themeStyles,
14
- totalLines
14
+ totalLines,
15
+ type
15
16
  }: PrePropertiesConfig): Properties;
16
17
  //#endregion
17
18
  export { createPreElement, createPreWrapperProperties };
@@ -1 +1 @@
1
- {"version":3,"file":"createPreElement.d.ts","names":[],"sources":["../../src/utils/createPreElement.ts"],"sourcesContent":[],"mappings":";;;;iBAKgB,gBAAA,UAA0B,sBAAsB;iBAOhD,0BAAA;;;;;;;;;GASb,sBAAsB"}
1
+ {"version":3,"file":"createPreElement.d.ts","names":["Element","HASTElement","Properties","PrePropertiesConfig","createPreElement","createPreWrapperProperties","diffIndicators","disableBackground","disableLineNumbers","overflow","split","themeType","themeStyles","totalLines","type"],"sources":["../../src/utils/createPreElement.d.ts"],"sourcesContent":["import type { Element as HASTElement, Properties } from 'hast';\nimport type { PrePropertiesConfig } from '../types';\nexport declare function createPreElement(options: PrePropertiesConfig): HASTElement;\nexport declare function createPreWrapperProperties({ diffIndicators, disableBackground, disableLineNumbers, overflow, split, themeType, themeStyles, totalLines, type }: PrePropertiesConfig): Properties;\n//# sourceMappingURL=createPreElement.d.ts.map"],"mappings":";;;;iBAEwBI,gBAAAA,UAA0BD,sBAAsBF;iBAChDI,0BAAAA;;;;;;;;;;GAAiJF,sBAAsBD"}
@@ -7,10 +7,11 @@ function createPreElement(options) {
7
7
  properties: createPreWrapperProperties(options)
8
8
  });
9
9
  }
10
- function createPreWrapperProperties({ diffIndicators, disableBackground, disableLineNumbers, overflow, split, themeType, themeStyles, totalLines }) {
10
+ function createPreWrapperProperties({ diffIndicators, disableBackground, disableLineNumbers, overflow, split, themeType, themeStyles, totalLines, type }) {
11
11
  const properties = {
12
- "data-diffs": "",
13
- "data-type": split ? "split" : "file",
12
+ "data-diff": type === "diff" ? "" : void 0,
13
+ "data-file": type === "file" ? "" : void 0,
14
+ "data-diff-type": type === "diff" ? split ? "split" : "single" : void 0,
14
15
  "data-overflow": overflow,
15
16
  "data-disable-line-numbers": disableLineNumbers ? "" : void 0,
16
17
  "data-background": !disableBackground ? "" : void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"createPreElement.js","names":["properties: Properties"],"sources":["../../src/utils/createPreElement.ts"],"sourcesContent":["import type { Element as HASTElement, Properties } from 'hast';\n\nimport type { PrePropertiesConfig } from '../types';\nimport { createHastElement } from './hast_utils';\n\nexport function createPreElement(options: PrePropertiesConfig): HASTElement {\n return createHastElement({\n tagName: 'pre',\n properties: createPreWrapperProperties(options),\n });\n}\n\nexport function createPreWrapperProperties({\n diffIndicators,\n disableBackground,\n disableLineNumbers,\n overflow,\n split,\n themeType,\n themeStyles,\n totalLines,\n}: PrePropertiesConfig): Properties {\n const properties: Properties = {\n 'data-diffs': '',\n 'data-type': split ? 'split' : 'file',\n 'data-overflow': overflow,\n 'data-disable-line-numbers': disableLineNumbers ? '' : undefined,\n 'data-background': !disableBackground ? '' : undefined,\n 'data-indicators':\n diffIndicators === 'bars' || diffIndicators === 'classic'\n ? diffIndicators\n : undefined,\n 'data-theme-type': themeType !== 'system' ? themeType : undefined,\n // NOTE(amadeus): Alex, here we would probably set a class property\n // instead, when that's working and supported\n style: themeStyles,\n tabIndex: 0,\n };\n properties.style += `--diffs-min-number-column-width-default:${`${totalLines}`.length}ch;`;\n\n return properties;\n}\n"],"mappings":";;;AAKA,SAAgB,iBAAiB,SAA2C;AAC1E,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY,2BAA2B,QAAQ;EAChD,CAAC;;AAGJ,SAAgB,2BAA2B,EACzC,gBACA,mBACA,oBACA,UACA,OACA,WACA,aACA,cACkC;CAClC,MAAMA,aAAyB;EAC7B,cAAc;EACd,aAAa,QAAQ,UAAU;EAC/B,iBAAiB;EACjB,6BAA6B,qBAAqB,KAAK;EACvD,mBAAmB,CAAC,oBAAoB,KAAK;EAC7C,mBACE,mBAAmB,UAAU,mBAAmB,YAC5C,iBACA;EACN,mBAAmB,cAAc,WAAW,YAAY;EAGxD,OAAO;EACP,UAAU;EACX;AACD,YAAW,SAAS,2CAA2C,GAAG,aAAa,OAAO;AAEtF,QAAO"}
1
+ {"version":3,"file":"createPreElement.js","names":["properties: Properties"],"sources":["../../src/utils/createPreElement.ts"],"sourcesContent":["import type { Element as HASTElement, Properties } from 'hast';\n\nimport type { PrePropertiesConfig } from '../types';\nimport { createHastElement } from './hast_utils';\n\nexport function createPreElement(options: PrePropertiesConfig): HASTElement {\n return createHastElement({\n tagName: 'pre',\n properties: createPreWrapperProperties(options),\n });\n}\n\nexport function createPreWrapperProperties({\n diffIndicators,\n disableBackground,\n disableLineNumbers,\n overflow,\n split,\n themeType,\n themeStyles,\n totalLines,\n type,\n}: PrePropertiesConfig): Properties {\n const properties: Properties = {\n 'data-diff': type === 'diff' ? '' : undefined,\n 'data-file': type === 'file' ? '' : undefined,\n 'data-diff-type':\n type === 'diff' ? (split ? 'split' : 'single') : undefined,\n 'data-overflow': overflow,\n 'data-disable-line-numbers': disableLineNumbers ? '' : undefined,\n 'data-background': !disableBackground ? '' : undefined,\n 'data-indicators':\n diffIndicators === 'bars' || diffIndicators === 'classic'\n ? diffIndicators\n : undefined,\n 'data-theme-type': themeType !== 'system' ? themeType : undefined,\n // NOTE(amadeus): Alex, here we would probably set a class property\n // instead, when that's working and supported\n style: themeStyles,\n tabIndex: 0,\n };\n properties.style += `--diffs-min-number-column-width-default:${`${totalLines}`.length}ch;`;\n\n return properties;\n}\n"],"mappings":";;;AAKA,SAAgB,iBAAiB,SAA2C;AAC1E,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY,2BAA2B,QAAQ;EAChD,CAAC;;AAGJ,SAAgB,2BAA2B,EACzC,gBACA,mBACA,oBACA,UACA,OACA,WACA,aACA,YACA,QACkC;CAClC,MAAMA,aAAyB;EAC7B,aAAa,SAAS,SAAS,KAAK;EACpC,aAAa,SAAS,SAAS,KAAK;EACpC,kBACE,SAAS,SAAU,QAAQ,UAAU,WAAY;EACnD,iBAAiB;EACjB,6BAA6B,qBAAqB,KAAK;EACvD,mBAAmB,CAAC,oBAAoB,KAAK;EAC7C,mBACE,mBAAmB,UAAU,mBAAmB,YAC5C,iBACA;EACN,mBAAmB,cAAc,WAAW,YAAY;EAGxD,OAAO;EACP,UAAU;EACX;AACD,YAAW,SAAS,2CAA2C,GAAG,aAAa,OAAO;AAEtF,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"createRowNodes.d.ts","names":[],"sources":["../../src/utils/createRowNodes.ts"],"sourcesContent":[],"mappings":";iBAAgB,cAAA;EAAhB,GAAgB,EACT,WADS;WAEL"}
1
+ {"version":3,"file":"createRowNodes.d.ts","names":["createRowNodes","HTMLElement"],"sources":["../../src/utils/createRowNodes.d.ts"],"sourcesContent":["export declare function createRowNodes(line: number): {\n row: HTMLElement;\n content: HTMLElement;\n};\n//# sourceMappingURL=createRowNodes.d.ts.map"],"mappings":";iBAAwBA,cAAAA;EAAAA,GAAAA,EACfC,WADeD;WAEXC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSeparator.d.ts","names":[],"sources":["../../src/utils/createSeparator.ts"],"sourcesContent":[],"mappings":";;;;UASU,oBAAA;QACF;EARiD,OAO/C,CAAA,EAAA,MAAA;EA4BV,WAAgB,CAAA,EAAA,MAAA;EACd,OAAA,CAAA,EAAA,OAAA;EACA,QAAA,CAAA,EAAA,MAAA;EACA,WAAA,EAAA,OAAA;EACA,UAAA,EAAA,OAAA;;AAEA,iBANc,eAAA,CAMd;EAAA,IAAA;EAAA,OAAA;EAAA,WAAA;EAAA,OAAA;EAAA,QAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAEC,oBAFD,CAAA,EAEwB,OAFxB"}
1
+ {"version":3,"file":"createSeparator.d.ts","names":["Element","HASTElement","HunkSeparators","CreateSeparatorProps","createSeparator","type","content","expandIndex","chunked","slotName","isFirstHunk","isLastHunk"],"sources":["../../src/utils/createSeparator.d.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\nimport type { HunkSeparators } from '../types';\ninterface CreateSeparatorProps {\n type: HunkSeparators;\n content?: string;\n expandIndex?: number;\n chunked?: boolean;\n slotName?: string;\n isFirstHunk: boolean;\n isLastHunk: boolean;\n}\nexport declare function createSeparator({ type, content, expandIndex, chunked, slotName, isFirstHunk, isLastHunk }: CreateSeparatorProps): HASTElement;\nexport {};\n//# sourceMappingURL=createSeparator.d.ts.map"],"mappings":";;;;UAEUG,oBAAAA;QACAD;EADAC,OAAAA,CAAAA,EAAAA,MAAAA;EAScC,WAAAA,CAAAA,EAAAA,MAAe;EAAGC,OAAAA,CAAAA,EAAAA,OAAAA;EAAMC,QAAAA,CAAAA,EAAAA,MAAAA;EAASC,WAAAA,EAAAA,OAAAA;EAAaC,UAAAA,EAAAA,OAAAA;;AAAmBE,iBAAjEN,eAAAA,CAAiEM;EAAAA,IAAAA;EAAAA,OAAAA;EAAAA,WAAAA;EAAAA,OAAAA;EAAAA,QAAAA;EAAAA,WAAAA;EAAAA;AAAAA,CAAAA,EAA2BP,oBAA3BO,CAAAA,EAAkDT,OAAlDS"}
@@ -23,7 +23,7 @@ function createSeparator({ type, content, expandIndex, chunked = false, slotName
23
23
  children: [createTextNodeElement(content)],
24
24
  properties: { "data-separator-wrapper": "" }
25
25
  }));
26
- if (type === "line-info" && content != null) {
26
+ if ((type === "line-info" || type === "line-info-basic") && content != null) {
27
27
  const contentChildren = [];
28
28
  if (expandIndex != null) if (!chunked) contentChildren.push(createExpandButton(!isFirstHunk && !isLastHunk ? "both" : isFirstHunk ? "down" : "up"));
29
29
  else {
@@ -56,7 +56,7 @@ function createSeparator({ type, content, expandIndex, chunked = false, slotName
56
56
  tagName: "div",
57
57
  children,
58
58
  properties: {
59
- "data-separator": children.length === 0 ? "" : type,
59
+ "data-separator": children.length === 0 ? "simple" : type,
60
60
  "data-expand-index": expandIndex,
61
61
  "data-separator-first": isFirstHunk ? "" : void 0,
62
62
  "data-separator-last": isLastHunk ? "" : void 0
@@ -1 +1 @@
1
- {"version":3,"file":"createSeparator.js","names":["contentChildren: ElementContent[]"],"sources":["../../src/utils/createSeparator.ts"],"sourcesContent":["import type { ElementContent, Element as HASTElement } from 'hast';\n\nimport type { ExpansionDirections, HunkSeparators } from '../types';\nimport {\n createHastElement,\n createIconElement,\n createTextNodeElement,\n} from './hast_utils';\n\ninterface CreateSeparatorProps {\n type: HunkSeparators;\n content?: string;\n expandIndex?: number;\n chunked?: boolean;\n slotName?: string;\n isFirstHunk: boolean;\n isLastHunk: boolean;\n}\n\nfunction createExpandButton(type: ExpansionDirections) {\n return createHastElement({\n tagName: 'div',\n children: [\n createIconElement({\n name: type === 'both' ? 'diffs-icon-expand-all' : 'diffs-icon-expand',\n properties: { 'data-icon': '' },\n }),\n ],\n properties: {\n 'data-expand-button': '',\n 'data-expand-both': type === 'both' ? '' : undefined,\n 'data-expand-up': type === 'up' ? '' : undefined,\n 'data-expand-down': type === 'down' ? '' : undefined,\n },\n });\n}\n\nexport function createSeparator({\n type,\n content,\n expandIndex,\n chunked = false,\n slotName,\n isFirstHunk,\n isLastHunk,\n}: CreateSeparatorProps): HASTElement {\n const children = [];\n if (type === 'metadata' && content != null) {\n children.push(\n createHastElement({\n tagName: 'div',\n children: [createTextNodeElement(content)],\n properties: { 'data-separator-wrapper': '' },\n })\n );\n }\n if (type === 'line-info' && content != null) {\n const contentChildren: ElementContent[] = [];\n if (expandIndex != null) {\n if (!chunked) {\n contentChildren.push(\n createExpandButton(\n !isFirstHunk && !isLastHunk ? 'both' : isFirstHunk ? 'down' : 'up'\n )\n );\n } else {\n if (!isFirstHunk) {\n contentChildren.push(createExpandButton('up'));\n }\n if (!isLastHunk) {\n contentChildren.push(createExpandButton('down'));\n }\n }\n }\n contentChildren.push(\n createHastElement({\n tagName: 'div',\n children: [\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement(content)],\n properties: { 'data-unmodified-lines': '' },\n }),\n ],\n properties: { 'data-separator-content': '' },\n })\n );\n children.push(\n createHastElement({\n tagName: 'div',\n children: contentChildren,\n properties: {\n 'data-separator-wrapper': '',\n 'data-separator-multi-button':\n contentChildren.length > 2 ? '' : undefined,\n },\n })\n );\n }\n if (type === 'custom' && slotName != null) {\n children.push(\n createHastElement({\n tagName: 'slot',\n properties: { name: slotName },\n })\n );\n }\n return createHastElement({\n tagName: 'div',\n children,\n properties: {\n 'data-separator': children.length === 0 ? '' : type,\n 'data-expand-index': expandIndex,\n 'data-separator-first': isFirstHunk ? '' : undefined,\n 'data-separator-last': isLastHunk ? '' : undefined,\n },\n });\n}\n"],"mappings":";;;AAmBA,SAAS,mBAAmB,MAA2B;AACrD,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,kBAAkB;GAChB,MAAM,SAAS,SAAS,0BAA0B;GAClD,YAAY,EAAE,aAAa,IAAI;GAChC,CAAC,CACH;EACD,YAAY;GACV,sBAAsB;GACtB,oBAAoB,SAAS,SAAS,KAAK;GAC3C,kBAAkB,SAAS,OAAO,KAAK;GACvC,oBAAoB,SAAS,SAAS,KAAK;GAC5C;EACF,CAAC;;AAGJ,SAAgB,gBAAgB,EAC9B,MACA,SACA,aACA,UAAU,OACV,UACA,aACA,cACoC;CACpC,MAAM,WAAW,EAAE;AACnB,KAAI,SAAS,cAAc,WAAW,KACpC,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,UAAU,CAAC,sBAAsB,QAAQ,CAAC;EAC1C,YAAY,EAAE,0BAA0B,IAAI;EAC7C,CAAC,CACH;AAEH,KAAI,SAAS,eAAe,WAAW,MAAM;EAC3C,MAAMA,kBAAoC,EAAE;AAC5C,MAAI,eAAe,KACjB,KAAI,CAAC,QACH,iBAAgB,KACd,mBACE,CAAC,eAAe,CAAC,aAAa,SAAS,cAAc,SAAS,KAC/D,CACF;OACI;AACL,OAAI,CAAC,YACH,iBAAgB,KAAK,mBAAmB,KAAK,CAAC;AAEhD,OAAI,CAAC,WACH,iBAAgB,KAAK,mBAAmB,OAAO,CAAC;;AAItD,kBAAgB,KACd,kBAAkB;GAChB,SAAS;GACT,UAAU,CACR,kBAAkB;IAChB,SAAS;IACT,UAAU,CAAC,sBAAsB,QAAQ,CAAC;IAC1C,YAAY,EAAE,yBAAyB,IAAI;IAC5C,CAAC,CACH;GACD,YAAY,EAAE,0BAA0B,IAAI;GAC7C,CAAC,CACH;AACD,WAAS,KACP,kBAAkB;GAChB,SAAS;GACT,UAAU;GACV,YAAY;IACV,0BAA0B;IAC1B,+BACE,gBAAgB,SAAS,IAAI,KAAK;IACrC;GACF,CAAC,CACH;;AAEH,KAAI,SAAS,YAAY,YAAY,KACnC,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,YAAY,EAAE,MAAM,UAAU;EAC/B,CAAC,CACH;AAEH,QAAO,kBAAkB;EACvB,SAAS;EACT;EACA,YAAY;GACV,kBAAkB,SAAS,WAAW,IAAI,KAAK;GAC/C,qBAAqB;GACrB,wBAAwB,cAAc,KAAK;GAC3C,uBAAuB,aAAa,KAAK;GAC1C;EACF,CAAC"}
1
+ {"version":3,"file":"createSeparator.js","names":["contentChildren: ElementContent[]"],"sources":["../../src/utils/createSeparator.ts"],"sourcesContent":["import type { ElementContent, Element as HASTElement } from 'hast';\n\nimport type { ExpansionDirections, HunkSeparators } from '../types';\nimport {\n createHastElement,\n createIconElement,\n createTextNodeElement,\n} from './hast_utils';\n\ninterface CreateSeparatorProps {\n type: HunkSeparators;\n content?: string;\n expandIndex?: number;\n chunked?: boolean;\n slotName?: string;\n isFirstHunk: boolean;\n isLastHunk: boolean;\n}\n\nfunction createExpandButton(type: ExpansionDirections) {\n return createHastElement({\n tagName: 'div',\n children: [\n createIconElement({\n name: type === 'both' ? 'diffs-icon-expand-all' : 'diffs-icon-expand',\n properties: { 'data-icon': '' },\n }),\n ],\n properties: {\n 'data-expand-button': '',\n 'data-expand-both': type === 'both' ? '' : undefined,\n 'data-expand-up': type === 'up' ? '' : undefined,\n 'data-expand-down': type === 'down' ? '' : undefined,\n },\n });\n}\n\nexport function createSeparator({\n type,\n content,\n expandIndex,\n chunked = false,\n slotName,\n isFirstHunk,\n isLastHunk,\n}: CreateSeparatorProps): HASTElement {\n const children = [];\n if (type === 'metadata' && content != null) {\n children.push(\n createHastElement({\n tagName: 'div',\n children: [createTextNodeElement(content)],\n properties: { 'data-separator-wrapper': '' },\n })\n );\n }\n if ((type === 'line-info' || type === 'line-info-basic') && content != null) {\n const contentChildren: ElementContent[] = [];\n if (expandIndex != null) {\n if (!chunked) {\n contentChildren.push(\n createExpandButton(\n !isFirstHunk && !isLastHunk ? 'both' : isFirstHunk ? 'down' : 'up'\n )\n );\n } else {\n if (!isFirstHunk) {\n contentChildren.push(createExpandButton('up'));\n }\n if (!isLastHunk) {\n contentChildren.push(createExpandButton('down'));\n }\n }\n }\n contentChildren.push(\n createHastElement({\n tagName: 'div',\n children: [\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement(content)],\n properties: { 'data-unmodified-lines': '' },\n }),\n ],\n properties: { 'data-separator-content': '' },\n })\n );\n children.push(\n createHastElement({\n tagName: 'div',\n children: contentChildren,\n properties: {\n 'data-separator-wrapper': '',\n 'data-separator-multi-button':\n contentChildren.length > 2 ? '' : undefined,\n },\n })\n );\n }\n if (type === 'custom' && slotName != null) {\n children.push(\n createHastElement({\n tagName: 'slot',\n properties: { name: slotName },\n })\n );\n }\n return createHastElement({\n tagName: 'div',\n children,\n properties: {\n 'data-separator': children.length === 0 ? 'simple' : type,\n 'data-expand-index': expandIndex,\n 'data-separator-first': isFirstHunk ? '' : undefined,\n 'data-separator-last': isLastHunk ? '' : undefined,\n },\n });\n}\n"],"mappings":";;;AAmBA,SAAS,mBAAmB,MAA2B;AACrD,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,kBAAkB;GAChB,MAAM,SAAS,SAAS,0BAA0B;GAClD,YAAY,EAAE,aAAa,IAAI;GAChC,CAAC,CACH;EACD,YAAY;GACV,sBAAsB;GACtB,oBAAoB,SAAS,SAAS,KAAK;GAC3C,kBAAkB,SAAS,OAAO,KAAK;GACvC,oBAAoB,SAAS,SAAS,KAAK;GAC5C;EACF,CAAC;;AAGJ,SAAgB,gBAAgB,EAC9B,MACA,SACA,aACA,UAAU,OACV,UACA,aACA,cACoC;CACpC,MAAM,WAAW,EAAE;AACnB,KAAI,SAAS,cAAc,WAAW,KACpC,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,UAAU,CAAC,sBAAsB,QAAQ,CAAC;EAC1C,YAAY,EAAE,0BAA0B,IAAI;EAC7C,CAAC,CACH;AAEH,MAAK,SAAS,eAAe,SAAS,sBAAsB,WAAW,MAAM;EAC3E,MAAMA,kBAAoC,EAAE;AAC5C,MAAI,eAAe,KACjB,KAAI,CAAC,QACH,iBAAgB,KACd,mBACE,CAAC,eAAe,CAAC,aAAa,SAAS,cAAc,SAAS,KAC/D,CACF;OACI;AACL,OAAI,CAAC,YACH,iBAAgB,KAAK,mBAAmB,KAAK,CAAC;AAEhD,OAAI,CAAC,WACH,iBAAgB,KAAK,mBAAmB,OAAO,CAAC;;AAItD,kBAAgB,KACd,kBAAkB;GAChB,SAAS;GACT,UAAU,CACR,kBAAkB;IAChB,SAAS;IACT,UAAU,CAAC,sBAAsB,QAAQ,CAAC;IAC1C,YAAY,EAAE,yBAAyB,IAAI;IAC5C,CAAC,CACH;GACD,YAAY,EAAE,0BAA0B,IAAI;GAC7C,CAAC,CACH;AACD,WAAS,KACP,kBAAkB;GAChB,SAAS;GACT,UAAU;GACV,YAAY;IACV,0BAA0B;IAC1B,+BACE,gBAAgB,SAAS,IAAI,KAAK;IACrC;GACF,CAAC,CACH;;AAEH,KAAI,SAAS,YAAY,YAAY,KACnC,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,YAAY,EAAE,MAAM,UAAU;EAC/B,CAAC,CACH;AAEH,QAAO,kBAAkB;EACvB,SAAS;EACT;EACA,YAAY;GACV,kBAAkB,SAAS,WAAW,IAAI,WAAW;GACrD,qBAAqB;GACrB,wBAAwB,cAAc,KAAK;GAC3C,uBAAuB,aAAa,KAAK;GAC1C;EACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSpanNodeFromToken.d.ts","names":[],"sources":["../../src/utils/createSpanNodeFromToken.ts"],"sourcesContent":[],"mappings":";;;iBAMgB,mBAAA,QAA2B,cAAc"}
1
+ {"version":3,"file":"createSpanNodeFromToken.d.ts","names":["ThemedToken","createSpanFromToken","HTMLSpanElement"],"sources":["../../src/utils/createSpanNodeFromToken.d.ts"],"sourcesContent":["import { type ThemedToken } from 'shiki';\nexport declare function createSpanFromToken(token: ThemedToken): HTMLSpanElement;\n//# sourceMappingURL=createSpanNodeFromToken.d.ts.map"],"mappings":";;;iBACwBC,mBAAAA,QAA2BD,cAAcE"}
@@ -1 +1 @@
1
- {"version":3,"file":"createSpanNodeFromToken.js","names":[],"sources":["../../src/utils/createSpanNodeFromToken.ts"],"sourcesContent":["import {\n type ThemedToken,\n getTokenStyleObject,\n stringifyTokenStyle,\n} from 'shiki';\n\nexport function createSpanFromToken(token: ThemedToken): HTMLSpanElement {\n const element = document.createElement('span');\n const style = token.htmlStyle ?? getTokenStyleObject(token);\n element.style = stringifyTokenStyle(style);\n element.textContent = token.content;\n return element;\n}\n"],"mappings":";;;AAMA,SAAgB,oBAAoB,OAAqC;CACvE,MAAM,UAAU,SAAS,cAAc,OAAO;AAE9C,SAAQ,QAAQ,oBADF,MAAM,aAAa,oBAAoB,MAAM,CACjB;AAC1C,SAAQ,cAAc,MAAM;AAC5B,QAAO"}
1
+ {"version":3,"file":"createSpanNodeFromToken.js","names":[],"sources":["../../src/utils/createSpanNodeFromToken.ts"],"sourcesContent":["import {\n getTokenStyleObject,\n stringifyTokenStyle,\n type ThemedToken,\n} from 'shiki';\n\nexport function createSpanFromToken(token: ThemedToken): HTMLSpanElement {\n const element = document.createElement('span');\n const style = token.htmlStyle ?? getTokenStyleObject(token);\n element.style = stringifyTokenStyle(style);\n element.textContent = token.content;\n return element;\n}\n"],"mappings":";;;AAMA,SAAgB,oBAAoB,OAAqC;CACvE,MAAM,UAAU,SAAS,cAAc,OAAO;AAE9C,SAAQ,QAAQ,oBADF,MAAM,aAAa,oBAAoB,MAAM,CACjB;AAC1C,SAAQ,cAAc,MAAM;AAC5B,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"createStyleElement.d.ts","names":[],"sources":["../../src/utils/createStyleElement.ts"],"sourcesContent":[],"mappings":";;;iBAMgB,kBAAA,wCAGb"}
1
+ {"version":3,"file":"createStyleElement.d.ts","names":["Element","HASTElement","createStyleElement"],"sources":["../../src/utils/createStyleElement.d.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\nexport declare function createStyleElement(content: string, isCoreCSS?: boolean): HASTElement;\n//# sourceMappingURL=createStyleElement.d.ts.map"],"mappings":";;;iBACwBE,kBAAAA,wCAA0DD"}
@@ -1 +1 @@
1
- {"version":3,"file":"createTransformerWithState.d.ts","names":[],"sources":["../../src/utils/createTransformerWithState.ts"],"sourcesContent":[],"mappings":";;;;UAUU,gCAAA;SACD;EALgD,YAI/C,EAEM,gBAFN,EAAA;EACD,OAAA,EAEE,4BAFF;;AAEE,iBAGK,0BAAA,CAHL,aAAA,CAAA,EAAA,OAAA,CAAA,EAKR,gCALQ"}
1
+ {"version":3,"file":"createTransformerWithState.d.ts","names":["ShikiTransformerStyleToClass","SharedRenderState","ShikiTransformer","CreateTransformerWithStateReturn","createTransformerWithState"],"sources":["../../src/utils/createTransformerWithState.d.ts"],"sourcesContent":["import { type ShikiTransformerStyleToClass } from '@shikijs/transformers';\nimport type { SharedRenderState, ShikiTransformer } from '../types';\ninterface CreateTransformerWithStateReturn {\n state: SharedRenderState;\n transformers: ShikiTransformer[];\n toClass: ShikiTransformerStyleToClass;\n}\nexport declare function createTransformerWithState(useCSSClasses?: boolean): CreateTransformerWithStateReturn;\nexport {};\n//# sourceMappingURL=createTransformerWithState.d.ts.map"],"mappings":";;;;UAEUG,gCAAAA;SACCF;EADDE,YAAAA,EAEQD,gBAFRC,EAAAA;EACCF,OAAAA,EAEED,4BAFFC;;AAEED,iBAEWI,0BAAAA,CAFXJ,aAAAA,CAAAA,EAAAA,OAAAA,CAAAA,EAEgEG,gCAFhEH"}
@@ -1 +1 @@
1
- {"version":3,"file":"createUnsafeCSSStyleNode.d.ts","names":[],"sources":["../../src/utils/createUnsafeCSSStyleNode.ts"],"sourcesContent":[],"mappings":";iBAEgB,wBAAA,CAAA,GAA4B"}
1
+ {"version":3,"file":"createUnsafeCSSStyleNode.d.ts","names":["createUnsafeCSSStyleNode","HTMLStyleElement"],"sources":["../../src/utils/createUnsafeCSSStyleNode.d.ts"],"sourcesContent":["export declare function createUnsafeCSSStyleNode(): HTMLStyleElement;\n//# sourceMappingURL=createUnsafeCSSStyleNode.d.ts.map"],"mappings":";iBAAwBA,wBAAAA,CAAAA,GAA4BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createWindowFromScrollPosition.d.ts","names":[],"sources":["../../src/utils/createWindowFromScrollPosition.ts"],"sourcesContent":[],"mappings":";;;UAEU,6BAAA;;EAF8B,MAE9B,EAAA,MAAA;EASV,YAAgB,EAAA,MAAA;EACd,eAAA,CAAA,EAAA,MAAA;EACA,YAAA,EAAA,OAAA;EACA,cAAA,EAAA,MAAA;;AAEA,iBALc,8BAAA,CAKd;EAAA,SAAA;EAAA,YAAA;EAAA,MAAA;EAAA,eAAA;EAAA,YAAA;EAAA;AAAA,CAAA,EAEC,6BAFD,CAAA,EAEiC,kBAFjC"}
1
+ {"version":3,"file":"createWindowFromScrollPosition.d.ts","names":["VirtualWindowSpecs","WindowFromScrollPositionProps","createWindowFromScrollPosition","scrollTop","scrollHeight","height","containerOffset","fitPerfectly","overscrollSize"],"sources":["../../src/utils/createWindowFromScrollPosition.d.ts"],"sourcesContent":["import type { VirtualWindowSpecs } from '../types';\ninterface WindowFromScrollPositionProps {\n scrollTop: number;\n height: number;\n scrollHeight: number;\n containerOffset?: number;\n fitPerfectly: boolean;\n overscrollSize: number;\n}\nexport declare function createWindowFromScrollPosition({ scrollTop, scrollHeight, height, containerOffset, fitPerfectly, overscrollSize }: WindowFromScrollPositionProps): VirtualWindowSpecs;\nexport {};\n//# sourceMappingURL=createWindowFromScrollPosition.d.ts.map"],"mappings":";;;UACUC,6BAAAA;;EAAAA,MAAAA,EAAAA,MAAAA;EAQcC,YAAAA,EAAAA,MAAAA;EAAiCC,eAAAA,CAAAA,EAAAA,MAAAA;EAAWC,YAAAA,EAAAA,OAAAA;EAAcC,cAAAA,EAAAA,MAAAA;;AAAyBE,iBAAnFL,8BAAAA,CAAmFK;EAAAA,SAAAA;EAAAA,YAAAA;EAAAA,MAAAA;EAAAA,eAAAA;EAAAA,YAAAA;EAAAA;AAAAA,CAAAA,EAAgCN,6BAAhCM,CAAAA,EAAgEP,kBAAhEO"}
@@ -1 +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"}
1
+ {"version":3,"file":"cssWrappers.d.ts","names":["wrapCoreCSS","wrapUnsafeCSS"],"sources":["../../src/utils/cssWrappers.d.ts"],"sourcesContent":["export declare function wrapCoreCSS(mainCSS: string): string;\nexport declare function wrapUnsafeCSS(unsafeCSS: string): string;\n//# sourceMappingURL=cssWrappers.d.ts.map"],"mappings":";iBAAwBA,WAAAA;AAAAA,iBACAC,aAAAA,CADW,SAAA,EAAA,MAAA,CAAA,EAAA,MAAA"}
@@ -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"}
@@ -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":";AAEA,MAAaA,2BAA+C;CAC1D,MAAM;CACN,MAAM;CACN,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,MAAM;CACN,UAAU;CACV,kBAAkB;CAClB,gBAAgB;CAChB,MAAM;CACN,UAAU;CACV,KAAK;CACL,SAAS;CACT,KAAK;CACL,aAAa;CACb,MAAM;CACN,KAAK;CACL,KAAK;CACL,GAAG;CACH,OAAO;CACP,KAAK;CACL,KAAK;CACL,IAAI;CACJ,MAAM;CACN,KAAK;CACL,KAAK;CACL,IAAI;CACJ,WAAW;CACX,KAAK;CACL,OAAO;CACP,aAAa;CACb,KAAK;CACL,GAAG;CACH,GAAG;CACH,IAAI;CACJ,KAAK;CACL,KAAK;CACL,IAAI;CACJ,KAAK;CACL,IAAI;CACJ,KAAK;CACL,OAAO;CACP,MAAM;CACN,KAAK;CACL,MAAM;CACN,MAAM;CACN,KAAK;CACL,OAAO;CACP,kBAAkB;CAClB,KAAK;CACL,KAAK;CACL,OAAO;CACP,YAAY;CACZ,IAAI;CACJ,QAAQ;CACR,MAAM;CACN,IAAI;CACJ,KAAK;CACL,KAAK;CACL,GAAG;CACH,KAAK;CACL,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,QAAQ;CACR,KAAK;CACL,GAAG;CACH,MAAM;CACN,KAAK;CACL,SAAS;CACT,MAAM;CACN,OAAO;CACP,YAAY;CACZ,YAAY;CACZ,KAAK;CACL,IAAI;CACJ,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,GAAG;CACH,KAAK;CACL,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CACL,MAAM;CACN,KAAK;CACL,IAAI;CACJ,UAAU;CACV,IAAI;CACJ,SAAS;CACT,gBAAgB;CAChB,mBAAmB;CACnB,KAAK;CACL,OAAO;CACP,KAAK;CACL,MAAM;CACN,MAAM;CACN,MAAM;CACN,QAAQ;CACR,IAAI;CACJ,KAAK;CACL,SAAS;CACT,IAAI;CACJ,SAAS;CACT,KAAK;CACL,QAAQ;CACR,KAAK;CACL,MAAM;CACN,MAAM;CACN,KAAK;CACL,YAAY;CACZ,IAAI;CACJ,KAAK;CACL,IAAI;CACJ,KAAK;CACL,OAAO;CACP,MAAM;CACN,IAAI;CACJ,MAAM;CACN,KAAK;CACL,MAAM;CACN,MAAM;CACN,MAAM;CACN,IAAI;CACJ,MAAM;CACN,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CACL,MAAM;CACN,IAAI;CACJ,KAAK;CACL,KAAK;CACL,OAAO;CACP,QAAQ;CACR,IAAI;CACJ,OAAO;CACP,IAAI;CACJ,MAAM;CACN,OAAO;CACP,OAAO;CACP,OAAO;CACP,SAAS;CACT,WAAW;CACX,MAAM;CACN,KAAK;CACL,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,MAAM;CACN,MAAM;CACN,QAAQ;CACR,KAAK;CACL,IAAI;CACJ,MAAM;CACN,KAAK;CACL,MAAM;CACN,UAAU;CACV,IAAI;CACJ,UAAU;CACV,IAAI;CACJ,UAAU;CACV,OAAO;CACP,GAAG;CACH,KAAK;CACL,KAAK;CACL,KAAK;CACL,MAAM;CACN,WAAW;CACX,KAAK;CACL,SAAS;CACT,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,KAAK;CACL,IAAI;CACJ,KAAK;CACL,MAAM;CACN,QAAQ;CACR,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,GAAG;CACH,MAAM;CACN,IAAI;CACJ,KAAK;CACL,KAAK;CACL,OAAO;CACP,KAAK;CACL,KAAK;CACL,IAAI;CACJ,OAAO;CACP,MAAM;CACN,KAAK;CACL,MAAM;CACN,IAAI;CACJ,KAAK;CACL,KAAK;CACL,MAAM;CACN,MAAM;CACN,QAAQ;CACR,KAAK;CACL,GAAG;CACH,YAAY;CACZ,OAAO;CACP,IAAI;CACJ,MAAM;CACN,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,QAAQ;CACR,KAAK;CACL,GAAG;CACH,GAAG;CACH,KAAK;CACL,MAAM;CACN,OAAO;CACP,QAAQ;CACR,IAAI;CACJ,KAAK;CACL,KAAK;CACL,OAAO;CACP,KAAK;CACL,IAAI;CACJ,KAAK;CACL,MAAM;CACN,SAAS;CACT,KAAK;CACL,MAAM;CACN,OAAO;CACP,IAAI;CACJ,KAAK;CACL,IAAI;CACJ,KAAK;CACL,MAAM;CACN,MAAM;CACN,aAAa;CACb,IAAI;CACJ,KAAK;CACL,QAAQ;CACR,IAAI;CACJ,KAAK;CACL,QAAQ;CACR,IAAI;CACJ,KAAK;CACL,KAAK;CACL,MAAM;CACN,QAAQ;CACR,QAAQ;CACR,OAAO;CACP,IAAI;CACJ,KAAK;CACL,SAAS;CACT,QAAQ;CACR,QAAQ;CACR,OAAO;CACP,OAAO;CACP,MAAM;CACN,KAAK;CACL,OAAO;CACP,IAAI;CACJ,QAAQ;CACR,MAAM;CACN,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,MAAM;CACN,KAAK;CACL,IAAI;CACJ,MAAM;CACN,MAAM;CACN,IAAI;CACJ,KAAK;CACL,KAAK;CACL,IAAI;CACJ,KAAK;CACL,MAAM;CACN,KAAK;CACL,KAAK;CACL,WAAW;CACX,IAAI;CACJ,MAAM;CACN,KAAK;CACL,IAAI;CACJ,MAAM;CACN,KAAK;CACL,IAAI;CACJ,IAAI;CACJ,KAAK;CACL,KAAK;CACL,MAAM;CACN,MAAM;CACN,KAAK;CACL,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;CACN;AAED,SAAgB,wBAAwB,UAAsC;AAE5E,KAAI,yBAAyB,aAAa,KACxC,QAAO,yBAAyB;CAIlC,MAAM,gBAAgB,SAAS,MAAM,wBAAwB;AAC7D,KACE,iBAAiB,QACjB,yBAAyB,cAAc,OAAO,KAE9C,QAAO,yBAAyB,cAAc,OAAO;AAKvD,QAAO,yBADa,SAAS,MAAM,aAAa,GACF,MAAM,OAAO;;AAG7D,SAAgB,oBAAoB,KAA+B;AACjE,MAAK,MAAM,OAAO,IAChB,0BAAyB,OAAO,IAAI"}
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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"}