code-languages 1.27.0 → 1.29.0

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 (800) hide show
  1. package/README.md +36 -0
  2. package/dist/api.cjs +749 -59
  3. package/dist/api.d.cts +3 -8665
  4. package/dist/api.d.ts +3 -8665
  5. package/dist/api.js +749 -59
  6. package/dist/detect-slugs.cjs +258 -0
  7. package/dist/detect-slugs.d.cts +42 -0
  8. package/dist/detect-slugs.d.ts +42 -0
  9. package/dist/detect-slugs.js +254 -0
  10. package/dist/detect.cjs +559 -2
  11. package/dist/detect.js +559 -2
  12. package/dist/i18n.cjs +0 -2
  13. package/dist/i18n.js +0 -2
  14. package/dist/index.cjs +769 -59
  15. package/dist/index.d.cts +518 -1
  16. package/dist/index.d.ts +518 -1
  17. package/dist/index.js +767 -60
  18. package/dist/language-registry-nVRwyIen.d.cts +584 -0
  19. package/dist/language-registry-nVRwyIen.d.ts +584 -0
  20. package/dist/languages/abap.cjs +0 -2
  21. package/dist/languages/abap.js +0 -2
  22. package/dist/languages/actionscript.cjs +0 -2
  23. package/dist/languages/actionscript.js +0 -2
  24. package/dist/languages/ada.cjs +0 -2
  25. package/dist/languages/ada.js +0 -2
  26. package/dist/languages/agda.cjs +0 -2
  27. package/dist/languages/agda.js +0 -2
  28. package/dist/languages/antlr.cjs +0 -2
  29. package/dist/languages/antlr.js +0 -2
  30. package/dist/languages/apex.cjs +0 -2
  31. package/dist/languages/apex.js +0 -2
  32. package/dist/languages/apl.cjs +0 -2
  33. package/dist/languages/apl.js +0 -2
  34. package/dist/languages/applescript.cjs +0 -2
  35. package/dist/languages/applescript.js +0 -2
  36. package/dist/languages/arduino.cjs +0 -2
  37. package/dist/languages/arduino.js +0 -2
  38. package/dist/languages/asciidoc.cjs +0 -2
  39. package/dist/languages/asciidoc.js +0 -2
  40. package/dist/languages/asp.cjs +0 -2
  41. package/dist/languages/asp.js +0 -2
  42. package/dist/languages/assembly.cjs +0 -2
  43. package/dist/languages/assembly.js +0 -2
  44. package/dist/languages/astro.cjs +0 -2
  45. package/dist/languages/astro.js +0 -2
  46. package/dist/languages/autohotkey.cjs +0 -2
  47. package/dist/languages/autohotkey.js +0 -2
  48. package/dist/languages/awk.cjs +0 -2
  49. package/dist/languages/awk.js +0 -2
  50. package/dist/languages/ballerina.cjs +0 -2
  51. package/dist/languages/ballerina.js +0 -2
  52. package/dist/languages/bash.cjs +0 -2
  53. package/dist/languages/bash.js +0 -2
  54. package/dist/languages/batch.cjs +0 -2
  55. package/dist/languages/batch.js +0 -2
  56. package/dist/languages/bazel.cjs +0 -2
  57. package/dist/languages/bazel.js +0 -2
  58. package/dist/languages/bicep.cjs +0 -2
  59. package/dist/languages/bicep.js +0 -2
  60. package/dist/languages/blade.cjs +0 -2
  61. package/dist/languages/blade.js +0 -2
  62. package/dist/languages/c.cjs +0 -2
  63. package/dist/languages/c.js +0 -2
  64. package/dist/languages/cairo.cjs +53 -0
  65. package/dist/languages/cairo.d.cts +50 -0
  66. package/dist/languages/cairo.d.ts +50 -0
  67. package/dist/languages/cairo.js +51 -0
  68. package/dist/languages/carbon.cjs +0 -2
  69. package/dist/languages/carbon.js +0 -2
  70. package/dist/languages/chapel.cjs +0 -2
  71. package/dist/languages/chapel.js +0 -2
  72. package/dist/languages/circom.cjs +0 -2
  73. package/dist/languages/circom.js +0 -2
  74. package/dist/languages/clojure.cjs +0 -2
  75. package/dist/languages/clojure.js +0 -2
  76. package/dist/languages/cmake.cjs +0 -2
  77. package/dist/languages/cmake.js +0 -2
  78. package/dist/languages/cobol.cjs +0 -2
  79. package/dist/languages/cobol.js +0 -2
  80. package/dist/languages/coffeescript.cjs +0 -2
  81. package/dist/languages/coffeescript.js +0 -2
  82. package/dist/languages/coldfusion.cjs +0 -2
  83. package/dist/languages/coldfusion.js +0 -2
  84. package/dist/languages/coq.cjs +0 -2
  85. package/dist/languages/coq.js +0 -2
  86. package/dist/languages/cpp.cjs +0 -2
  87. package/dist/languages/cpp.js +0 -2
  88. package/dist/languages/crystal.cjs +0 -2
  89. package/dist/languages/crystal.js +0 -2
  90. package/dist/languages/csharp.cjs +0 -2
  91. package/dist/languages/csharp.js +0 -2
  92. package/dist/languages/css.cjs +0 -2
  93. package/dist/languages/css.js +0 -2
  94. package/dist/languages/cuda.cjs +0 -2
  95. package/dist/languages/cuda.js +0 -2
  96. package/dist/languages/cue.cjs +0 -2
  97. package/dist/languages/cue.js +0 -2
  98. package/dist/languages/cypher.cjs +0 -2
  99. package/dist/languages/cypher.js +0 -2
  100. package/dist/languages/cython.cjs +0 -2
  101. package/dist/languages/cython.js +0 -2
  102. package/dist/languages/d.cjs +0 -2
  103. package/dist/languages/d.js +0 -2
  104. package/dist/languages/dart.cjs +0 -2
  105. package/dist/languages/dart.js +0 -2
  106. package/dist/languages/dhall.cjs +0 -2
  107. package/dist/languages/dhall.js +0 -2
  108. package/dist/languages/dita.cjs +0 -2
  109. package/dist/languages/dita.js +0 -2
  110. package/dist/languages/dockerfile.cjs +0 -2
  111. package/dist/languages/dockerfile.js +0 -2
  112. package/dist/languages/earthly.cjs +0 -2
  113. package/dist/languages/earthly.js +0 -2
  114. package/dist/languages/eiffel.cjs +0 -2
  115. package/dist/languages/eiffel.js +0 -2
  116. package/dist/languages/elixir.cjs +0 -2
  117. package/dist/languages/elixir.js +0 -2
  118. package/dist/languages/elm.cjs +0 -2
  119. package/dist/languages/elm.js +0 -2
  120. package/dist/languages/erb.cjs +0 -2
  121. package/dist/languages/erb.js +0 -2
  122. package/dist/languages/erlang.cjs +0 -2
  123. package/dist/languages/erlang.js +0 -2
  124. package/dist/languages/fennel.cjs +0 -2
  125. package/dist/languages/fennel.js +0 -2
  126. package/dist/languages/fish.cjs +0 -2
  127. package/dist/languages/fish.js +0 -2
  128. package/dist/languages/flux.cjs +52 -0
  129. package/dist/languages/flux.d.cts +49 -0
  130. package/dist/languages/flux.d.ts +49 -0
  131. package/dist/languages/flux.js +50 -0
  132. package/dist/languages/forth.cjs +0 -2
  133. package/dist/languages/forth.js +0 -2
  134. package/dist/languages/fortran.cjs +0 -2
  135. package/dist/languages/fortran.js +0 -2
  136. package/dist/languages/fsharp.cjs +0 -2
  137. package/dist/languages/fsharp.js +0 -2
  138. package/dist/languages/gdscript.cjs +0 -2
  139. package/dist/languages/gdscript.js +0 -2
  140. package/dist/languages/git.cjs +0 -2
  141. package/dist/languages/git.js +0 -2
  142. package/dist/languages/gleam.cjs +0 -2
  143. package/dist/languages/gleam.js +0 -2
  144. package/dist/languages/glsl.cjs +0 -2
  145. package/dist/languages/glsl.js +0 -2
  146. package/dist/languages/go.cjs +0 -2
  147. package/dist/languages/go.js +0 -2
  148. package/dist/languages/gradle.cjs +0 -2
  149. package/dist/languages/gradle.js +0 -2
  150. package/dist/languages/grain.cjs +53 -0
  151. package/dist/languages/grain.d.cts +50 -0
  152. package/dist/languages/grain.d.ts +50 -0
  153. package/dist/languages/grain.js +51 -0
  154. package/dist/languages/graphql.cjs +0 -2
  155. package/dist/languages/graphql.js +0 -2
  156. package/dist/languages/groovy.cjs +0 -2
  157. package/dist/languages/groovy.js +0 -2
  158. package/dist/languages/hack.cjs +0 -2
  159. package/dist/languages/hack.js +0 -2
  160. package/dist/languages/haml.cjs +0 -2
  161. package/dist/languages/haml.js +0 -2
  162. package/dist/languages/handlebars.cjs +0 -2
  163. package/dist/languages/handlebars.js +0 -2
  164. package/dist/languages/hare.cjs +53 -0
  165. package/dist/languages/hare.d.cts +50 -0
  166. package/dist/languages/hare.d.ts +50 -0
  167. package/dist/languages/hare.js +51 -0
  168. package/dist/languages/haskell.cjs +0 -2
  169. package/dist/languages/haskell.js +0 -2
  170. package/dist/languages/haxe.cjs +0 -2
  171. package/dist/languages/haxe.js +0 -2
  172. package/dist/languages/hcl.cjs +0 -2
  173. package/dist/languages/hcl.js +0 -2
  174. package/dist/languages/hlsl.cjs +0 -2
  175. package/dist/languages/hlsl.js +0 -2
  176. package/dist/languages/hocon.cjs +0 -2
  177. package/dist/languages/hocon.js +0 -2
  178. package/dist/languages/html.cjs +0 -2
  179. package/dist/languages/html.js +0 -2
  180. package/dist/languages/hy.cjs +53 -0
  181. package/dist/languages/hy.d.cts +50 -0
  182. package/dist/languages/hy.d.ts +50 -0
  183. package/dist/languages/hy.js +51 -0
  184. package/dist/languages/idris.cjs +0 -2
  185. package/dist/languages/idris.js +0 -2
  186. package/dist/languages/ini.cjs +0 -2
  187. package/dist/languages/ini.js +0 -2
  188. package/dist/languages/janet.cjs +0 -2
  189. package/dist/languages/janet.js +0 -2
  190. package/dist/languages/java.cjs +0 -2
  191. package/dist/languages/java.js +0 -2
  192. package/dist/languages/javascript.cjs +0 -2
  193. package/dist/languages/javascript.js +0 -2
  194. package/dist/languages/jinja.cjs +0 -2
  195. package/dist/languages/jinja.js +0 -2
  196. package/dist/languages/json.cjs +0 -2
  197. package/dist/languages/json.js +0 -2
  198. package/dist/languages/json5.cjs +0 -2
  199. package/dist/languages/json5.js +0 -2
  200. package/dist/languages/jsonnet.cjs +0 -2
  201. package/dist/languages/jsonnet.js +0 -2
  202. package/dist/languages/julia.cjs +0 -2
  203. package/dist/languages/julia.js +0 -2
  204. package/dist/languages/jupyter-notebook.cjs +0 -2
  205. package/dist/languages/jupyter-notebook.js +0 -2
  206. package/dist/languages/kcl.cjs +53 -0
  207. package/dist/languages/kcl.d.cts +50 -0
  208. package/dist/languages/kcl.d.ts +50 -0
  209. package/dist/languages/kcl.js +51 -0
  210. package/dist/languages/kotlin.cjs +0 -2
  211. package/dist/languages/kotlin.js +0 -2
  212. package/dist/languages/lean.cjs +0 -2
  213. package/dist/languages/lean.js +0 -2
  214. package/dist/languages/less.cjs +0 -2
  215. package/dist/languages/less.js +0 -2
  216. package/dist/languages/liquid.cjs +0 -2
  217. package/dist/languages/liquid.js +0 -2
  218. package/dist/languages/lisp.cjs +0 -2
  219. package/dist/languages/lisp.js +0 -2
  220. package/dist/languages/llvm-ir.cjs +0 -2
  221. package/dist/languages/llvm-ir.js +0 -2
  222. package/dist/languages/lua.cjs +0 -2
  223. package/dist/languages/lua.js +0 -2
  224. package/dist/languages/luau.cjs +0 -2
  225. package/dist/languages/luau.js +0 -2
  226. package/dist/languages/makefile.cjs +0 -2
  227. package/dist/languages/makefile.js +0 -2
  228. package/dist/languages/mako.cjs +0 -2
  229. package/dist/languages/mako.js +0 -2
  230. package/dist/languages/markdown.cjs +0 -2
  231. package/dist/languages/markdown.js +0 -2
  232. package/dist/languages/mathematica.cjs +0 -2
  233. package/dist/languages/mathematica.js +0 -2
  234. package/dist/languages/matlab.cjs +0 -2
  235. package/dist/languages/matlab.js +0 -2
  236. package/dist/languages/mdx.cjs +0 -2
  237. package/dist/languages/mdx.js +0 -2
  238. package/dist/languages/mermaid.cjs +0 -2
  239. package/dist/languages/mermaid.js +0 -2
  240. package/dist/languages/meson.cjs +0 -2
  241. package/dist/languages/meson.js +0 -2
  242. package/dist/languages/metal.cjs +0 -2
  243. package/dist/languages/metal.js +0 -2
  244. package/dist/languages/mojo.cjs +0 -2
  245. package/dist/languages/mojo.js +0 -2
  246. package/dist/languages/moonbit.cjs +0 -2
  247. package/dist/languages/moonbit.js +0 -2
  248. package/dist/languages/move.cjs +53 -0
  249. package/dist/languages/move.d.cts +50 -0
  250. package/dist/languages/move.d.ts +50 -0
  251. package/dist/languages/move.js +51 -0
  252. package/dist/languages/mustache.cjs +0 -2
  253. package/dist/languages/mustache.js +0 -2
  254. package/dist/languages/nginx.cjs +0 -2
  255. package/dist/languages/nginx.js +0 -2
  256. package/dist/languages/nickel.cjs +52 -0
  257. package/dist/languages/nickel.d.cts +49 -0
  258. package/dist/languages/nickel.d.ts +49 -0
  259. package/dist/languages/nickel.js +50 -0
  260. package/dist/languages/nim.cjs +0 -2
  261. package/dist/languages/nim.js +0 -2
  262. package/dist/languages/nix.cjs +0 -2
  263. package/dist/languages/nix.js +0 -2
  264. package/dist/languages/nunjucks.cjs +0 -2
  265. package/dist/languages/nunjucks.js +0 -2
  266. package/dist/languages/nushell.cjs +0 -2
  267. package/dist/languages/nushell.js +0 -2
  268. package/dist/languages/objective-c.cjs +0 -2
  269. package/dist/languages/objective-c.js +0 -2
  270. package/dist/languages/ocaml.cjs +0 -2
  271. package/dist/languages/ocaml.js +0 -2
  272. package/dist/languages/odin.cjs +0 -2
  273. package/dist/languages/odin.js +0 -2
  274. package/dist/languages/opencl.cjs +0 -2
  275. package/dist/languages/opencl.js +0 -2
  276. package/dist/languages/pascal.cjs +0 -2
  277. package/dist/languages/pascal.js +0 -2
  278. package/dist/languages/perl.cjs +0 -2
  279. package/dist/languages/perl.js +0 -2
  280. package/dist/languages/php.cjs +0 -2
  281. package/dist/languages/php.js +0 -2
  282. package/dist/languages/pine-script.cjs +0 -2
  283. package/dist/languages/pine-script.js +0 -2
  284. package/dist/languages/pkl.cjs +53 -0
  285. package/dist/languages/pkl.d.cts +50 -0
  286. package/dist/languages/pkl.d.ts +50 -0
  287. package/dist/languages/pkl.js +51 -0
  288. package/dist/languages/plantuml.cjs +0 -2
  289. package/dist/languages/plantuml.js +0 -2
  290. package/dist/languages/plsql.cjs +0 -2
  291. package/dist/languages/plsql.js +0 -2
  292. package/dist/languages/pony.cjs +0 -2
  293. package/dist/languages/pony.js +0 -2
  294. package/dist/languages/powershell.cjs +0 -2
  295. package/dist/languages/powershell.js +0 -2
  296. package/dist/languages/prolog.cjs +0 -2
  297. package/dist/languages/prolog.js +0 -2
  298. package/dist/languages/promql.cjs +0 -2
  299. package/dist/languages/promql.js +0 -2
  300. package/dist/languages/protobuf.cjs +0 -2
  301. package/dist/languages/protobuf.js +0 -2
  302. package/dist/languages/pug.cjs +0 -2
  303. package/dist/languages/pug.js +0 -2
  304. package/dist/languages/purescript.cjs +0 -2
  305. package/dist/languages/purescript.js +0 -2
  306. package/dist/languages/python.cjs +0 -2
  307. package/dist/languages/python.js +0 -2
  308. package/dist/languages/qml.cjs +0 -2
  309. package/dist/languages/qml.js +0 -2
  310. package/dist/languages/qsharp.cjs +0 -2
  311. package/dist/languages/qsharp.js +0 -2
  312. package/dist/languages/r.cjs +0 -2
  313. package/dist/languages/r.js +0 -2
  314. package/dist/languages/racket.cjs +0 -2
  315. package/dist/languages/racket.js +0 -2
  316. package/dist/languages/raku.cjs +0 -2
  317. package/dist/languages/raku.js +0 -2
  318. package/dist/languages/razor.cjs +0 -2
  319. package/dist/languages/razor.js +0 -2
  320. package/dist/languages/reasonml.cjs +0 -2
  321. package/dist/languages/reasonml.js +0 -2
  322. package/dist/languages/rego.cjs +0 -2
  323. package/dist/languages/rego.js +0 -2
  324. package/dist/languages/rescript.cjs +0 -2
  325. package/dist/languages/rescript.js +0 -2
  326. package/dist/languages/restructuredtext.cjs +0 -2
  327. package/dist/languages/restructuredtext.js +0 -2
  328. package/dist/languages/ruby.cjs +0 -2
  329. package/dist/languages/ruby.js +0 -2
  330. package/dist/languages/rust.cjs +0 -2
  331. package/dist/languages/rust.js +0 -2
  332. package/dist/languages/sas.cjs +0 -2
  333. package/dist/languages/sas.js +0 -2
  334. package/dist/languages/scala.cjs +0 -2
  335. package/dist/languages/scala.js +0 -2
  336. package/dist/languages/scheme.cjs +0 -2
  337. package/dist/languages/scheme.js +0 -2
  338. package/dist/languages/scss.cjs +0 -2
  339. package/dist/languages/scss.js +0 -2
  340. package/dist/languages/smalltalk.cjs +0 -2
  341. package/dist/languages/smalltalk.js +0 -2
  342. package/dist/languages/smarty.cjs +0 -2
  343. package/dist/languages/smarty.js +0 -2
  344. package/dist/languages/solidity.cjs +0 -2
  345. package/dist/languages/solidity.js +0 -2
  346. package/dist/languages/sparql.cjs +0 -2
  347. package/dist/languages/sparql.js +0 -2
  348. package/dist/languages/sql.cjs +0 -2
  349. package/dist/languages/sql.js +0 -2
  350. package/dist/languages/standard-ml.cjs +0 -2
  351. package/dist/languages/standard-ml.js +0 -2
  352. package/dist/languages/starlark.cjs +0 -2
  353. package/dist/languages/starlark.js +0 -2
  354. package/dist/languages/stata.cjs +0 -2
  355. package/dist/languages/stata.js +0 -2
  356. package/dist/languages/stylus.cjs +0 -2
  357. package/dist/languages/stylus.js +0 -2
  358. package/dist/languages/svelte.cjs +0 -2
  359. package/dist/languages/svelte.js +0 -2
  360. package/dist/languages/svg.cjs +0 -2
  361. package/dist/languages/svg.js +0 -2
  362. package/dist/languages/svn.cjs +0 -2
  363. package/dist/languages/svn.js +0 -2
  364. package/dist/languages/swift.cjs +0 -2
  365. package/dist/languages/swift.js +0 -2
  366. package/dist/languages/tcl.cjs +0 -2
  367. package/dist/languages/tcl.js +0 -2
  368. package/dist/languages/tex.cjs +0 -2
  369. package/dist/languages/tex.js +0 -2
  370. package/dist/languages/thrift.cjs +0 -2
  371. package/dist/languages/thrift.js +0 -2
  372. package/dist/languages/tla-plus.cjs +0 -2
  373. package/dist/languages/tla-plus.js +0 -2
  374. package/dist/languages/toml.cjs +0 -2
  375. package/dist/languages/toml.js +0 -2
  376. package/dist/languages/twig.cjs +0 -2
  377. package/dist/languages/twig.js +0 -2
  378. package/dist/languages/typescript.cjs +0 -2
  379. package/dist/languages/typescript.js +0 -2
  380. package/dist/languages/typst.cjs +0 -2
  381. package/dist/languages/typst.js +0 -2
  382. package/dist/languages/unison.cjs +53 -0
  383. package/dist/languages/unison.d.cts +50 -0
  384. package/dist/languages/unison.d.ts +50 -0
  385. package/dist/languages/unison.js +51 -0
  386. package/dist/languages/v.cjs +0 -2
  387. package/dist/languages/v.js +0 -2
  388. package/dist/languages/vala.cjs +0 -2
  389. package/dist/languages/vala.js +0 -2
  390. package/dist/languages/verilog.cjs +0 -2
  391. package/dist/languages/verilog.js +0 -2
  392. package/dist/languages/vhdl.cjs +0 -2
  393. package/dist/languages/vhdl.js +0 -2
  394. package/dist/languages/visual-basic.cjs +0 -2
  395. package/dist/languages/visual-basic.js +0 -2
  396. package/dist/languages/vue.cjs +0 -2
  397. package/dist/languages/vue.js +0 -2
  398. package/dist/languages/vyper.cjs +0 -2
  399. package/dist/languages/vyper.js +0 -2
  400. package/dist/languages/webassembly.cjs +0 -2
  401. package/dist/languages/webassembly.js +0 -2
  402. package/dist/languages/wgsl.cjs +0 -2
  403. package/dist/languages/wgsl.js +0 -2
  404. package/dist/languages/wren.cjs +0 -2
  405. package/dist/languages/wren.js +0 -2
  406. package/dist/languages/xaml.cjs +0 -2
  407. package/dist/languages/xaml.js +0 -2
  408. package/dist/languages/xml.cjs +0 -2
  409. package/dist/languages/xml.js +0 -2
  410. package/dist/languages/xquery.cjs +0 -2
  411. package/dist/languages/xquery.js +0 -2
  412. package/dist/languages/xslt.cjs +0 -2
  413. package/dist/languages/xslt.js +0 -2
  414. package/dist/languages/yaml.cjs +0 -2
  415. package/dist/languages/yaml.js +0 -2
  416. package/dist/languages/yara.cjs +53 -0
  417. package/dist/languages/yara.d.cts +50 -0
  418. package/dist/languages/yara.d.ts +50 -0
  419. package/dist/languages/yara.js +51 -0
  420. package/dist/languages/zeek.cjs +0 -2
  421. package/dist/languages/zeek.js +0 -2
  422. package/dist/languages/zig.cjs +0 -2
  423. package/dist/languages/zig.js +0 -2
  424. package/dist/languages/ziggy.cjs +0 -2
  425. package/dist/languages/ziggy.js +0 -2
  426. package/dist/languages/zsh.cjs +0 -2
  427. package/dist/languages/zsh.js +0 -2
  428. package/package.json +6 -1
  429. package/dist/api.cjs.map +0 -1
  430. package/dist/api.js.map +0 -1
  431. package/dist/detect.cjs.map +0 -1
  432. package/dist/detect.js.map +0 -1
  433. package/dist/i18n.cjs.map +0 -1
  434. package/dist/i18n.js.map +0 -1
  435. package/dist/index.cjs.map +0 -1
  436. package/dist/index.js.map +0 -1
  437. package/dist/languages/abap.cjs.map +0 -1
  438. package/dist/languages/abap.js.map +0 -1
  439. package/dist/languages/actionscript.cjs.map +0 -1
  440. package/dist/languages/actionscript.js.map +0 -1
  441. package/dist/languages/ada.cjs.map +0 -1
  442. package/dist/languages/ada.js.map +0 -1
  443. package/dist/languages/agda.cjs.map +0 -1
  444. package/dist/languages/agda.js.map +0 -1
  445. package/dist/languages/antlr.cjs.map +0 -1
  446. package/dist/languages/antlr.js.map +0 -1
  447. package/dist/languages/apex.cjs.map +0 -1
  448. package/dist/languages/apex.js.map +0 -1
  449. package/dist/languages/apl.cjs.map +0 -1
  450. package/dist/languages/apl.js.map +0 -1
  451. package/dist/languages/applescript.cjs.map +0 -1
  452. package/dist/languages/applescript.js.map +0 -1
  453. package/dist/languages/arduino.cjs.map +0 -1
  454. package/dist/languages/arduino.js.map +0 -1
  455. package/dist/languages/asciidoc.cjs.map +0 -1
  456. package/dist/languages/asciidoc.js.map +0 -1
  457. package/dist/languages/asp.cjs.map +0 -1
  458. package/dist/languages/asp.js.map +0 -1
  459. package/dist/languages/assembly.cjs.map +0 -1
  460. package/dist/languages/assembly.js.map +0 -1
  461. package/dist/languages/astro.cjs.map +0 -1
  462. package/dist/languages/astro.js.map +0 -1
  463. package/dist/languages/autohotkey.cjs.map +0 -1
  464. package/dist/languages/autohotkey.js.map +0 -1
  465. package/dist/languages/awk.cjs.map +0 -1
  466. package/dist/languages/awk.js.map +0 -1
  467. package/dist/languages/ballerina.cjs.map +0 -1
  468. package/dist/languages/ballerina.js.map +0 -1
  469. package/dist/languages/bash.cjs.map +0 -1
  470. package/dist/languages/bash.js.map +0 -1
  471. package/dist/languages/batch.cjs.map +0 -1
  472. package/dist/languages/batch.js.map +0 -1
  473. package/dist/languages/bazel.cjs.map +0 -1
  474. package/dist/languages/bazel.js.map +0 -1
  475. package/dist/languages/bicep.cjs.map +0 -1
  476. package/dist/languages/bicep.js.map +0 -1
  477. package/dist/languages/blade.cjs.map +0 -1
  478. package/dist/languages/blade.js.map +0 -1
  479. package/dist/languages/c.cjs.map +0 -1
  480. package/dist/languages/c.js.map +0 -1
  481. package/dist/languages/carbon.cjs.map +0 -1
  482. package/dist/languages/carbon.js.map +0 -1
  483. package/dist/languages/chapel.cjs.map +0 -1
  484. package/dist/languages/chapel.js.map +0 -1
  485. package/dist/languages/circom.cjs.map +0 -1
  486. package/dist/languages/circom.js.map +0 -1
  487. package/dist/languages/clojure.cjs.map +0 -1
  488. package/dist/languages/clojure.js.map +0 -1
  489. package/dist/languages/cmake.cjs.map +0 -1
  490. package/dist/languages/cmake.js.map +0 -1
  491. package/dist/languages/cobol.cjs.map +0 -1
  492. package/dist/languages/cobol.js.map +0 -1
  493. package/dist/languages/coffeescript.cjs.map +0 -1
  494. package/dist/languages/coffeescript.js.map +0 -1
  495. package/dist/languages/coldfusion.cjs.map +0 -1
  496. package/dist/languages/coldfusion.js.map +0 -1
  497. package/dist/languages/coq.cjs.map +0 -1
  498. package/dist/languages/coq.js.map +0 -1
  499. package/dist/languages/cpp.cjs.map +0 -1
  500. package/dist/languages/cpp.js.map +0 -1
  501. package/dist/languages/crystal.cjs.map +0 -1
  502. package/dist/languages/crystal.js.map +0 -1
  503. package/dist/languages/csharp.cjs.map +0 -1
  504. package/dist/languages/csharp.js.map +0 -1
  505. package/dist/languages/css.cjs.map +0 -1
  506. package/dist/languages/css.js.map +0 -1
  507. package/dist/languages/cuda.cjs.map +0 -1
  508. package/dist/languages/cuda.js.map +0 -1
  509. package/dist/languages/cue.cjs.map +0 -1
  510. package/dist/languages/cue.js.map +0 -1
  511. package/dist/languages/cypher.cjs.map +0 -1
  512. package/dist/languages/cypher.js.map +0 -1
  513. package/dist/languages/cython.cjs.map +0 -1
  514. package/dist/languages/cython.js.map +0 -1
  515. package/dist/languages/d.cjs.map +0 -1
  516. package/dist/languages/d.js.map +0 -1
  517. package/dist/languages/dart.cjs.map +0 -1
  518. package/dist/languages/dart.js.map +0 -1
  519. package/dist/languages/dhall.cjs.map +0 -1
  520. package/dist/languages/dhall.js.map +0 -1
  521. package/dist/languages/dita.cjs.map +0 -1
  522. package/dist/languages/dita.js.map +0 -1
  523. package/dist/languages/dockerfile.cjs.map +0 -1
  524. package/dist/languages/dockerfile.js.map +0 -1
  525. package/dist/languages/earthly.cjs.map +0 -1
  526. package/dist/languages/earthly.js.map +0 -1
  527. package/dist/languages/eiffel.cjs.map +0 -1
  528. package/dist/languages/eiffel.js.map +0 -1
  529. package/dist/languages/elixir.cjs.map +0 -1
  530. package/dist/languages/elixir.js.map +0 -1
  531. package/dist/languages/elm.cjs.map +0 -1
  532. package/dist/languages/elm.js.map +0 -1
  533. package/dist/languages/erb.cjs.map +0 -1
  534. package/dist/languages/erb.js.map +0 -1
  535. package/dist/languages/erlang.cjs.map +0 -1
  536. package/dist/languages/erlang.js.map +0 -1
  537. package/dist/languages/fennel.cjs.map +0 -1
  538. package/dist/languages/fennel.js.map +0 -1
  539. package/dist/languages/fish.cjs.map +0 -1
  540. package/dist/languages/fish.js.map +0 -1
  541. package/dist/languages/forth.cjs.map +0 -1
  542. package/dist/languages/forth.js.map +0 -1
  543. package/dist/languages/fortran.cjs.map +0 -1
  544. package/dist/languages/fortran.js.map +0 -1
  545. package/dist/languages/fsharp.cjs.map +0 -1
  546. package/dist/languages/fsharp.js.map +0 -1
  547. package/dist/languages/gdscript.cjs.map +0 -1
  548. package/dist/languages/gdscript.js.map +0 -1
  549. package/dist/languages/git.cjs.map +0 -1
  550. package/dist/languages/git.js.map +0 -1
  551. package/dist/languages/gleam.cjs.map +0 -1
  552. package/dist/languages/gleam.js.map +0 -1
  553. package/dist/languages/glsl.cjs.map +0 -1
  554. package/dist/languages/glsl.js.map +0 -1
  555. package/dist/languages/go.cjs.map +0 -1
  556. package/dist/languages/go.js.map +0 -1
  557. package/dist/languages/gradle.cjs.map +0 -1
  558. package/dist/languages/gradle.js.map +0 -1
  559. package/dist/languages/graphql.cjs.map +0 -1
  560. package/dist/languages/graphql.js.map +0 -1
  561. package/dist/languages/groovy.cjs.map +0 -1
  562. package/dist/languages/groovy.js.map +0 -1
  563. package/dist/languages/hack.cjs.map +0 -1
  564. package/dist/languages/hack.js.map +0 -1
  565. package/dist/languages/haml.cjs.map +0 -1
  566. package/dist/languages/haml.js.map +0 -1
  567. package/dist/languages/handlebars.cjs.map +0 -1
  568. package/dist/languages/handlebars.js.map +0 -1
  569. package/dist/languages/haskell.cjs.map +0 -1
  570. package/dist/languages/haskell.js.map +0 -1
  571. package/dist/languages/haxe.cjs.map +0 -1
  572. package/dist/languages/haxe.js.map +0 -1
  573. package/dist/languages/hcl.cjs.map +0 -1
  574. package/dist/languages/hcl.js.map +0 -1
  575. package/dist/languages/hlsl.cjs.map +0 -1
  576. package/dist/languages/hlsl.js.map +0 -1
  577. package/dist/languages/hocon.cjs.map +0 -1
  578. package/dist/languages/hocon.js.map +0 -1
  579. package/dist/languages/html.cjs.map +0 -1
  580. package/dist/languages/html.js.map +0 -1
  581. package/dist/languages/idris.cjs.map +0 -1
  582. package/dist/languages/idris.js.map +0 -1
  583. package/dist/languages/ini.cjs.map +0 -1
  584. package/dist/languages/ini.js.map +0 -1
  585. package/dist/languages/janet.cjs.map +0 -1
  586. package/dist/languages/janet.js.map +0 -1
  587. package/dist/languages/java.cjs.map +0 -1
  588. package/dist/languages/java.js.map +0 -1
  589. package/dist/languages/javascript.cjs.map +0 -1
  590. package/dist/languages/javascript.js.map +0 -1
  591. package/dist/languages/jinja.cjs.map +0 -1
  592. package/dist/languages/jinja.js.map +0 -1
  593. package/dist/languages/json.cjs.map +0 -1
  594. package/dist/languages/json.js.map +0 -1
  595. package/dist/languages/json5.cjs.map +0 -1
  596. package/dist/languages/json5.js.map +0 -1
  597. package/dist/languages/jsonnet.cjs.map +0 -1
  598. package/dist/languages/jsonnet.js.map +0 -1
  599. package/dist/languages/julia.cjs.map +0 -1
  600. package/dist/languages/julia.js.map +0 -1
  601. package/dist/languages/jupyter-notebook.cjs.map +0 -1
  602. package/dist/languages/jupyter-notebook.js.map +0 -1
  603. package/dist/languages/kotlin.cjs.map +0 -1
  604. package/dist/languages/kotlin.js.map +0 -1
  605. package/dist/languages/lean.cjs.map +0 -1
  606. package/dist/languages/lean.js.map +0 -1
  607. package/dist/languages/less.cjs.map +0 -1
  608. package/dist/languages/less.js.map +0 -1
  609. package/dist/languages/liquid.cjs.map +0 -1
  610. package/dist/languages/liquid.js.map +0 -1
  611. package/dist/languages/lisp.cjs.map +0 -1
  612. package/dist/languages/lisp.js.map +0 -1
  613. package/dist/languages/llvm-ir.cjs.map +0 -1
  614. package/dist/languages/llvm-ir.js.map +0 -1
  615. package/dist/languages/lua.cjs.map +0 -1
  616. package/dist/languages/lua.js.map +0 -1
  617. package/dist/languages/luau.cjs.map +0 -1
  618. package/dist/languages/luau.js.map +0 -1
  619. package/dist/languages/makefile.cjs.map +0 -1
  620. package/dist/languages/makefile.js.map +0 -1
  621. package/dist/languages/mako.cjs.map +0 -1
  622. package/dist/languages/mako.js.map +0 -1
  623. package/dist/languages/markdown.cjs.map +0 -1
  624. package/dist/languages/markdown.js.map +0 -1
  625. package/dist/languages/mathematica.cjs.map +0 -1
  626. package/dist/languages/mathematica.js.map +0 -1
  627. package/dist/languages/matlab.cjs.map +0 -1
  628. package/dist/languages/matlab.js.map +0 -1
  629. package/dist/languages/mdx.cjs.map +0 -1
  630. package/dist/languages/mdx.js.map +0 -1
  631. package/dist/languages/mermaid.cjs.map +0 -1
  632. package/dist/languages/mermaid.js.map +0 -1
  633. package/dist/languages/meson.cjs.map +0 -1
  634. package/dist/languages/meson.js.map +0 -1
  635. package/dist/languages/metal.cjs.map +0 -1
  636. package/dist/languages/metal.js.map +0 -1
  637. package/dist/languages/mojo.cjs.map +0 -1
  638. package/dist/languages/mojo.js.map +0 -1
  639. package/dist/languages/moonbit.cjs.map +0 -1
  640. package/dist/languages/moonbit.js.map +0 -1
  641. package/dist/languages/mustache.cjs.map +0 -1
  642. package/dist/languages/mustache.js.map +0 -1
  643. package/dist/languages/nginx.cjs.map +0 -1
  644. package/dist/languages/nginx.js.map +0 -1
  645. package/dist/languages/nim.cjs.map +0 -1
  646. package/dist/languages/nim.js.map +0 -1
  647. package/dist/languages/nix.cjs.map +0 -1
  648. package/dist/languages/nix.js.map +0 -1
  649. package/dist/languages/nunjucks.cjs.map +0 -1
  650. package/dist/languages/nunjucks.js.map +0 -1
  651. package/dist/languages/nushell.cjs.map +0 -1
  652. package/dist/languages/nushell.js.map +0 -1
  653. package/dist/languages/objective-c.cjs.map +0 -1
  654. package/dist/languages/objective-c.js.map +0 -1
  655. package/dist/languages/ocaml.cjs.map +0 -1
  656. package/dist/languages/ocaml.js.map +0 -1
  657. package/dist/languages/odin.cjs.map +0 -1
  658. package/dist/languages/odin.js.map +0 -1
  659. package/dist/languages/opencl.cjs.map +0 -1
  660. package/dist/languages/opencl.js.map +0 -1
  661. package/dist/languages/pascal.cjs.map +0 -1
  662. package/dist/languages/pascal.js.map +0 -1
  663. package/dist/languages/perl.cjs.map +0 -1
  664. package/dist/languages/perl.js.map +0 -1
  665. package/dist/languages/php.cjs.map +0 -1
  666. package/dist/languages/php.js.map +0 -1
  667. package/dist/languages/pine-script.cjs.map +0 -1
  668. package/dist/languages/pine-script.js.map +0 -1
  669. package/dist/languages/plantuml.cjs.map +0 -1
  670. package/dist/languages/plantuml.js.map +0 -1
  671. package/dist/languages/plsql.cjs.map +0 -1
  672. package/dist/languages/plsql.js.map +0 -1
  673. package/dist/languages/pony.cjs.map +0 -1
  674. package/dist/languages/pony.js.map +0 -1
  675. package/dist/languages/powershell.cjs.map +0 -1
  676. package/dist/languages/powershell.js.map +0 -1
  677. package/dist/languages/prolog.cjs.map +0 -1
  678. package/dist/languages/prolog.js.map +0 -1
  679. package/dist/languages/promql.cjs.map +0 -1
  680. package/dist/languages/promql.js.map +0 -1
  681. package/dist/languages/protobuf.cjs.map +0 -1
  682. package/dist/languages/protobuf.js.map +0 -1
  683. package/dist/languages/pug.cjs.map +0 -1
  684. package/dist/languages/pug.js.map +0 -1
  685. package/dist/languages/purescript.cjs.map +0 -1
  686. package/dist/languages/purescript.js.map +0 -1
  687. package/dist/languages/python.cjs.map +0 -1
  688. package/dist/languages/python.js.map +0 -1
  689. package/dist/languages/qml.cjs.map +0 -1
  690. package/dist/languages/qml.js.map +0 -1
  691. package/dist/languages/qsharp.cjs.map +0 -1
  692. package/dist/languages/qsharp.js.map +0 -1
  693. package/dist/languages/r.cjs.map +0 -1
  694. package/dist/languages/r.js.map +0 -1
  695. package/dist/languages/racket.cjs.map +0 -1
  696. package/dist/languages/racket.js.map +0 -1
  697. package/dist/languages/raku.cjs.map +0 -1
  698. package/dist/languages/raku.js.map +0 -1
  699. package/dist/languages/razor.cjs.map +0 -1
  700. package/dist/languages/razor.js.map +0 -1
  701. package/dist/languages/reasonml.cjs.map +0 -1
  702. package/dist/languages/reasonml.js.map +0 -1
  703. package/dist/languages/rego.cjs.map +0 -1
  704. package/dist/languages/rego.js.map +0 -1
  705. package/dist/languages/rescript.cjs.map +0 -1
  706. package/dist/languages/rescript.js.map +0 -1
  707. package/dist/languages/restructuredtext.cjs.map +0 -1
  708. package/dist/languages/restructuredtext.js.map +0 -1
  709. package/dist/languages/ruby.cjs.map +0 -1
  710. package/dist/languages/ruby.js.map +0 -1
  711. package/dist/languages/rust.cjs.map +0 -1
  712. package/dist/languages/rust.js.map +0 -1
  713. package/dist/languages/sas.cjs.map +0 -1
  714. package/dist/languages/sas.js.map +0 -1
  715. package/dist/languages/scala.cjs.map +0 -1
  716. package/dist/languages/scala.js.map +0 -1
  717. package/dist/languages/scheme.cjs.map +0 -1
  718. package/dist/languages/scheme.js.map +0 -1
  719. package/dist/languages/scss.cjs.map +0 -1
  720. package/dist/languages/scss.js.map +0 -1
  721. package/dist/languages/smalltalk.cjs.map +0 -1
  722. package/dist/languages/smalltalk.js.map +0 -1
  723. package/dist/languages/smarty.cjs.map +0 -1
  724. package/dist/languages/smarty.js.map +0 -1
  725. package/dist/languages/solidity.cjs.map +0 -1
  726. package/dist/languages/solidity.js.map +0 -1
  727. package/dist/languages/sparql.cjs.map +0 -1
  728. package/dist/languages/sparql.js.map +0 -1
  729. package/dist/languages/sql.cjs.map +0 -1
  730. package/dist/languages/sql.js.map +0 -1
  731. package/dist/languages/standard-ml.cjs.map +0 -1
  732. package/dist/languages/standard-ml.js.map +0 -1
  733. package/dist/languages/starlark.cjs.map +0 -1
  734. package/dist/languages/starlark.js.map +0 -1
  735. package/dist/languages/stata.cjs.map +0 -1
  736. package/dist/languages/stata.js.map +0 -1
  737. package/dist/languages/stylus.cjs.map +0 -1
  738. package/dist/languages/stylus.js.map +0 -1
  739. package/dist/languages/svelte.cjs.map +0 -1
  740. package/dist/languages/svelte.js.map +0 -1
  741. package/dist/languages/svg.cjs.map +0 -1
  742. package/dist/languages/svg.js.map +0 -1
  743. package/dist/languages/svn.cjs.map +0 -1
  744. package/dist/languages/svn.js.map +0 -1
  745. package/dist/languages/swift.cjs.map +0 -1
  746. package/dist/languages/swift.js.map +0 -1
  747. package/dist/languages/tcl.cjs.map +0 -1
  748. package/dist/languages/tcl.js.map +0 -1
  749. package/dist/languages/tex.cjs.map +0 -1
  750. package/dist/languages/tex.js.map +0 -1
  751. package/dist/languages/thrift.cjs.map +0 -1
  752. package/dist/languages/thrift.js.map +0 -1
  753. package/dist/languages/tla-plus.cjs.map +0 -1
  754. package/dist/languages/tla-plus.js.map +0 -1
  755. package/dist/languages/toml.cjs.map +0 -1
  756. package/dist/languages/toml.js.map +0 -1
  757. package/dist/languages/twig.cjs.map +0 -1
  758. package/dist/languages/twig.js.map +0 -1
  759. package/dist/languages/typescript.cjs.map +0 -1
  760. package/dist/languages/typescript.js.map +0 -1
  761. package/dist/languages/typst.cjs.map +0 -1
  762. package/dist/languages/typst.js.map +0 -1
  763. package/dist/languages/v.cjs.map +0 -1
  764. package/dist/languages/v.js.map +0 -1
  765. package/dist/languages/vala.cjs.map +0 -1
  766. package/dist/languages/vala.js.map +0 -1
  767. package/dist/languages/verilog.cjs.map +0 -1
  768. package/dist/languages/verilog.js.map +0 -1
  769. package/dist/languages/vhdl.cjs.map +0 -1
  770. package/dist/languages/vhdl.js.map +0 -1
  771. package/dist/languages/visual-basic.cjs.map +0 -1
  772. package/dist/languages/visual-basic.js.map +0 -1
  773. package/dist/languages/vue.cjs.map +0 -1
  774. package/dist/languages/vue.js.map +0 -1
  775. package/dist/languages/vyper.cjs.map +0 -1
  776. package/dist/languages/vyper.js.map +0 -1
  777. package/dist/languages/webassembly.cjs.map +0 -1
  778. package/dist/languages/webassembly.js.map +0 -1
  779. package/dist/languages/wgsl.cjs.map +0 -1
  780. package/dist/languages/wgsl.js.map +0 -1
  781. package/dist/languages/wren.cjs.map +0 -1
  782. package/dist/languages/wren.js.map +0 -1
  783. package/dist/languages/xaml.cjs.map +0 -1
  784. package/dist/languages/xaml.js.map +0 -1
  785. package/dist/languages/xml.cjs.map +0 -1
  786. package/dist/languages/xml.js.map +0 -1
  787. package/dist/languages/xquery.cjs.map +0 -1
  788. package/dist/languages/xquery.js.map +0 -1
  789. package/dist/languages/xslt.cjs.map +0 -1
  790. package/dist/languages/xslt.js.map +0 -1
  791. package/dist/languages/yaml.cjs.map +0 -1
  792. package/dist/languages/yaml.js.map +0 -1
  793. package/dist/languages/zeek.cjs.map +0 -1
  794. package/dist/languages/zeek.js.map +0 -1
  795. package/dist/languages/zig.cjs.map +0 -1
  796. package/dist/languages/zig.js.map +0 -1
  797. package/dist/languages/ziggy.cjs.map +0 -1
  798. package/dist/languages/ziggy.js.map +0 -1
  799. package/dist/languages/zsh.cjs.map +0 -1
  800. package/dist/languages/zsh.js.map +0 -1
@@ -0,0 +1,258 @@
1
+ 'use strict';
2
+
3
+ // src/language-registry.ts
4
+ var languageIndex = [
5
+ { slug: "abap", extensions: [".abap"] },
6
+ { slug: "actionscript", extensions: [".as"] },
7
+ { slug: "ada", extensions: [".adb", ".ads", ".ada"] },
8
+ { slug: "agda", extensions: [".agda", ".lagda", ".lagda.md", ".lagda.rst", ".lagda.tex"] },
9
+ { slug: "antlr", extensions: [".g4"] },
10
+ { slug: "apex", extensions: [".cls", ".trigger"] },
11
+ { slug: "apl", extensions: [".apl", ".dyalog"] },
12
+ { slug: "applescript", extensions: [".applescript", ".scpt", ".scptd"] },
13
+ { slug: "arduino", extensions: [".ino", ".pde"] },
14
+ { slug: "asciidoc", extensions: [".adoc", ".asciidoc", ".asc"] },
15
+ { slug: "asp", extensions: [".asp", ".aspx", ".ascx", ".ashx", ".asmx", ".master"] },
16
+ { slug: "astro", extensions: [".astro"] },
17
+ { slug: "assembly", extensions: [".asm", ".s", ".S", ".inc"] },
18
+ { slug: "awk", extensions: [".awk"] },
19
+ { slug: "autohotkey", extensions: [".ahk", ".ah2"] },
20
+ { slug: "ballerina", extensions: [".bal"] },
21
+ {
22
+ slug: "bash",
23
+ extensions: [".sh", ".bash", ".bashrc", ".bash_profile", ".bash_login", ".profile"]
24
+ },
25
+ { slug: "batch", extensions: [".bat", ".cmd"] },
26
+ {
27
+ slug: "bazel",
28
+ extensions: ["BUILD.bazel", "WORKSPACE", "WORKSPACE.bazel", "MODULE.bazel"]
29
+ },
30
+ { slug: "bicep", extensions: [".bicep", ".bicepparam"] },
31
+ { slug: "blade", extensions: [".blade.php"] },
32
+ { slug: "c", extensions: [".c", ".h"] },
33
+ { slug: "cairo", extensions: [".cairo"] },
34
+ { slug: "carbon", extensions: [".carbon"] },
35
+ { slug: "chapel", extensions: [".chpl"] },
36
+ { slug: "circom", extensions: [".circom"] },
37
+ { slug: "cmake", extensions: ["CMakeLists.txt", ".cmake"] },
38
+ { slug: "clojure", extensions: [".clj", ".cljs", ".cljc", ".edn", ".bb"] },
39
+ { slug: "coffeescript", extensions: [".coffee", ".litcoffee", ".cson"] },
40
+ { slug: "coldfusion", extensions: [".cfm", ".cfml", ".cfc"] },
41
+ { slug: "cobol", extensions: [".cob", ".cbl", ".cobol", ".cpy"] },
42
+ { slug: "coq", extensions: [".v"] },
43
+ { slug: "cpp", extensions: [".cpp", ".cc", ".cxx", ".h", ".hpp", ".hh", ".hxx"] },
44
+ { slug: "cypher", extensions: [".cypher", ".cyp"] },
45
+ { slug: "csharp", extensions: [".cs", ".csx"] },
46
+ { slug: "crystal", extensions: [".cr"] },
47
+ { slug: "css", extensions: [".css"] },
48
+ { slug: "cue", extensions: [".cue"] },
49
+ { slug: "cuda", extensions: [".cu", ".cuh"] },
50
+ { slug: "cython", extensions: [".pyx", ".pxd", ".pxi"] },
51
+ { slug: "d", extensions: [".d", ".di"] },
52
+ { slug: "dart", extensions: [".dart"] },
53
+ { slug: "dhall", extensions: [".dhall"] },
54
+ { slug: "dita", extensions: [".dita", ".ditamap", ".ditaval"] },
55
+ { slug: "dockerfile", extensions: ["Dockerfile", ".dockerfile"] },
56
+ { slug: "eiffel", extensions: [".e"] },
57
+ { slug: "earthly", extensions: ["Earthfile"] },
58
+ { slug: "elixir", extensions: [".ex", ".exs", ".eex", ".leex", ".heex"] },
59
+ { slug: "elm", extensions: [".elm"] },
60
+ { slug: "erb", extensions: [".erb", ".rhtml", ".html.erb"] },
61
+ {
62
+ slug: "erlang",
63
+ extensions: [".erl", ".hrl", ".app.src", ".escript", ".xrl", ".yrl", "rebar.config"]
64
+ },
65
+ { slug: "fish", extensions: [".fish"] },
66
+ { slug: "fennel", extensions: [".fnl"] },
67
+ { slug: "flux", extensions: [".flux"] },
68
+ {
69
+ slug: "fortran",
70
+ extensions: [".f", ".for", ".ftn", ".f90", ".f95", ".f03", ".f08", ".f18", ".f23"]
71
+ },
72
+ { slug: "forth", extensions: [".fs", ".fth", ".forth", ".4th"] },
73
+ { slug: "fsharp", extensions: [".fs", ".fsi", ".fsx", ".fsscript"] },
74
+ { slug: "gdscript", extensions: [".gd"] },
75
+ { slug: "git", extensions: [".git", ".gitignore", ".gitattributes", ".gitmodules", ".gitkeep"] },
76
+ { slug: "gleam", extensions: [".gleam"] },
77
+ { slug: "go", extensions: [".go"] },
78
+ { slug: "grain", extensions: [".gr"] },
79
+ { slug: "gradle", extensions: [".gradle", ".gradle.kts"] },
80
+ {
81
+ slug: "glsl",
82
+ extensions: [".glsl", ".vert", ".frag", ".geom", ".tesc", ".tese", ".comp", ".vs", ".fs"]
83
+ },
84
+ { slug: "graphql", extensions: [".graphql", ".gql", ".graphqls"] },
85
+ { slug: "groovy", extensions: [".groovy", ".gvy", ".gy", ".gsh"] },
86
+ { slug: "handlebars", extensions: [".hbs", ".handlebars"] },
87
+ { slug: "hack", extensions: [".hack", ".hh", ".hhi"] },
88
+ { slug: "haml", extensions: [".haml"] },
89
+ { slug: "hare", extensions: [".ha"] },
90
+ { slug: "hocon", extensions: [".hocon"] },
91
+ { slug: "haskell", extensions: [".hs", ".lhs", ".hsc", ".hs-boot", ".hsig", ".cabal"] },
92
+ { slug: "haxe", extensions: [".hx", ".hxml"] },
93
+ { slug: "hcl", extensions: [".hcl", ".tf", ".tfvars", ".pkr.hcl", ".nomad"] },
94
+ { slug: "hlsl", extensions: [".hlsl", ".fx", ".fxh", ".hlsli"] },
95
+ { slug: "html", extensions: [".html", ".htm"] },
96
+ { slug: "hy", extensions: [".hy"] },
97
+ { slug: "idris", extensions: [".idr", ".lidr", ".ipkg"] },
98
+ { slug: "ini", extensions: [".ini"] },
99
+ { slug: "java", extensions: [".java"] },
100
+ { slug: "javascript", extensions: [".js", ".mjs", ".cjs", ".jsx"] },
101
+ { slug: "janet", extensions: [".janet", ".jdn"] },
102
+ { slug: "jinja", extensions: [".jinja", ".jinja2", ".j2"] },
103
+ { slug: "json", extensions: [".json"] },
104
+ { slug: "json5", extensions: [".json5"] },
105
+ { slug: "jsonnet", extensions: [".jsonnet", ".libsonnet"] },
106
+ { slug: "jupyter-notebook", extensions: [".ipynb"] },
107
+ { slug: "julia", extensions: [".jl"] },
108
+ { slug: "kcl", extensions: [".k", ".kcl"] },
109
+ { slug: "kotlin", extensions: [".kt", ".kts"] },
110
+ { slug: "lean", extensions: [".lean"] },
111
+ { slug: "less", extensions: [".less"] },
112
+ { slug: "liquid", extensions: [".liquid"] },
113
+ { slug: "lisp", extensions: [".lisp", ".lsp", ".cl", ".asd"] },
114
+ { slug: "llvm-ir", extensions: [".ll", ".bc"] },
115
+ { slug: "lua", extensions: [".lua", ".rockspec"] },
116
+ { slug: "luau", extensions: [".luau"] },
117
+ { slug: "mako", extensions: [".mako", ".mao"] },
118
+ { slug: "makefile", extensions: ["Makefile", "makefile", "GNUmakefile", ".mk", ".mak"] },
119
+ { slug: "mathematica", extensions: [".wl", ".wls", ".nb"] },
120
+ { slug: "matlab", extensions: [".m", ".mlx"] },
121
+ { slug: "markdown", extensions: [".md", ".markdown", ".mdown", ".mkd"] },
122
+ { slug: "mdx", extensions: [".mdx"] },
123
+ { slug: "mermaid", extensions: [".mmd", ".mermaid"] },
124
+ { slug: "meson", extensions: ["meson.build", "meson_options.txt", "meson.options", ".wrap"] },
125
+ { slug: "metal", extensions: [".metal"] },
126
+ { slug: "mustache", extensions: [".mustache", ".mst"] },
127
+ { slug: "move", extensions: [".move"] },
128
+ { slug: "mojo", extensions: [".mojo"] },
129
+ { slug: "moonbit", extensions: [".mbt"] },
130
+ { slug: "svn", extensions: [".svn", "svnserve.conf"] },
131
+ { slug: "nginx", extensions: ["nginx.conf", ".nginx", ".conf"] },
132
+ { slug: "nickel", extensions: [".ncl"] },
133
+ { slug: "nunjucks", extensions: [".njk", ".nunjucks"] },
134
+ { slug: "nushell", extensions: [".nu"] },
135
+ { slug: "nim", extensions: [".nim", ".nims", ".nimble"] },
136
+ { slug: "nix", extensions: [".nix"] },
137
+ { slug: "ocaml", extensions: [".ml", ".mli", ".mll", ".mly", ".mlt", ".eliom", ".eliomi"] },
138
+ { slug: "objective-c", extensions: [".m", ".mm"] },
139
+ { slug: "odin", extensions: [".odin"] },
140
+ { slug: "opencl", extensions: [".cl", ".clh"] },
141
+ { slug: "pascal", extensions: [".pas", ".pp", ".inc", ".lpr", ".dpr", ".dfm"] },
142
+ { slug: "pkl", extensions: [".pkl"] },
143
+ { slug: "perl", extensions: [".pl", ".pm", ".pod", ".t", ".psgi"] },
144
+ { slug: "php", extensions: [".php", ".phtml", ".php3", ".php4", ".php5", ".phps"] },
145
+ { slug: "pine-script", extensions: [".pine"] },
146
+ { slug: "plantuml", extensions: [".puml", ".plantuml", ".iuml"] },
147
+ { slug: "plsql", extensions: [".pls", ".pks", ".pkb", ".plsql"] },
148
+ { slug: "pony", extensions: [".pony"] },
149
+ { slug: "powershell", extensions: [".ps1", ".psm1", ".psd1", ".ps1xml"] },
150
+ { slug: "prolog", extensions: [".pl", ".pro", ".prolog", ".P"] },
151
+ { slug: "promql", extensions: [".promql"] },
152
+ { slug: "protobuf", extensions: [".proto"] },
153
+ { slug: "pug", extensions: [".pug", ".jade"] },
154
+ { slug: "purescript", extensions: [".purs"] },
155
+ { slug: "python", extensions: [".py", ".pyw"] },
156
+ { slug: "qml", extensions: [".qml", ".qmltypes", ".qmlproject"] },
157
+ { slug: "qsharp", extensions: [".qs"] },
158
+ { slug: "r", extensions: [".r", ".R", ".rmd", ".Rmd", ".qmd", ".Rprofile"] },
159
+ { slug: "raku", extensions: [".raku", ".rakumod", ".rakudoc", ".rakutest", ".p6", ".pm6"] },
160
+ { slug: "racket", extensions: [".rkt", ".rktd", ".rktl", ".scrbl"] },
161
+ { slug: "razor", extensions: [".cshtml", ".razor"] },
162
+ { slug: "reasonml", extensions: [".re", ".rei"] },
163
+ { slug: "rego", extensions: [".rego"] },
164
+ { slug: "rescript", extensions: [".res", ".resi"] },
165
+ { slug: "restructuredtext", extensions: [".rst", ".rest"] },
166
+ {
167
+ slug: "ruby",
168
+ extensions: [".rb", ".rbw", ".rake", ".gemspec", "Gemfile", "Rakefile", "config.ru"]
169
+ },
170
+ { slug: "rust", extensions: [".rs"] },
171
+ { slug: "sas", extensions: [".sas"] },
172
+ { slug: "scala", extensions: [".scala", ".sc"] },
173
+ { slug: "scss", extensions: [".scss", ".sass"] },
174
+ { slug: "scheme", extensions: [".scm", ".ss", ".sld", ".sls"] },
175
+ { slug: "smalltalk", extensions: [".st"] },
176
+ { slug: "smarty", extensions: [".tpl", ".smarty"] },
177
+ { slug: "solidity", extensions: [".sol"] },
178
+ { slug: "sparql", extensions: [".sparql", ".rq"] },
179
+ { slug: "sql", extensions: [".sql"] },
180
+ { slug: "standard-ml", extensions: [".sml", ".sig", ".fun"] },
181
+ { slug: "starlark", extensions: [".bzl", ".star", ".sky"] },
182
+ { slug: "stata", extensions: [".do", ".ado", ".mata"] },
183
+ { slug: "stylus", extensions: [".styl"] },
184
+ { slug: "svg", extensions: [".svg", ".svgz"] },
185
+ { slug: "svelte", extensions: [".svelte"] },
186
+ { slug: "swift", extensions: [".swift"] },
187
+ { slug: "tcl", extensions: [".tcl", ".tm", ".test"] },
188
+ { slug: "tex", extensions: [".tex", ".sty", ".cls", ".dtx", ".ins", ".ltx"] },
189
+ { slug: "thrift", extensions: [".thrift"] },
190
+ { slug: "tla-plus", extensions: [".tla"] },
191
+ { slug: "toml", extensions: [".toml"] },
192
+ { slug: "twig", extensions: [".twig"] },
193
+ { slug: "typescript", extensions: [".ts", ".tsx", ".mts", ".cts"] },
194
+ { slug: "typst", extensions: [".typ"] },
195
+ { slug: "unison", extensions: [".u", ".uu"] },
196
+ { slug: "v", extensions: [".v", ".vsh"] },
197
+ { slug: "vala", extensions: [".vala", ".vapi"] },
198
+ { slug: "verilog", extensions: [".v", ".vh", ".sv", ".svh"] },
199
+ { slug: "vhdl", extensions: [".vhd", ".vhdl"] },
200
+ { slug: "visual-basic", extensions: [".vb"] },
201
+ { slug: "vue", extensions: [".vue"] },
202
+ { slug: "vyper", extensions: [".vy"] },
203
+ { slug: "webassembly", extensions: [".wasm", ".wat"] },
204
+ { slug: "wgsl", extensions: [".wgsl"] },
205
+ { slug: "wren", extensions: [".wren"] },
206
+ { slug: "xaml", extensions: [".xaml", ".baml"] },
207
+ { slug: "xml", extensions: [".xml", ".xsd", ".xsl", ".xslt"] },
208
+ { slug: "xquery", extensions: [".xq", ".xql", ".xqm", ".xquery", ".xqy"] },
209
+ { slug: "xslt", extensions: [".xsl", ".xslt"] },
210
+ { slug: "yaml", extensions: [".yaml", ".yml"] },
211
+ { slug: "yara", extensions: [".yar", ".yara"] },
212
+ { slug: "zeek", extensions: [".zeek", ".bro"] },
213
+ { slug: "zig", extensions: [".zig", ".zon"] },
214
+ { slug: "ziggy", extensions: [".ziggy", ".ziggy-schema"] },
215
+ {
216
+ slug: "zsh",
217
+ extensions: [".zsh", ".zshrc", ".zshenv", ".zprofile", ".zlogin", ".zlogout", ".zsh-theme"]
218
+ }
219
+ ];
220
+
221
+ // src/match.ts
222
+ var pathSegmentPattern = /[/\\]/;
223
+ var getBasename = (filename) => filename.trim().split(pathSegmentPattern).at(-1)?.toLowerCase() ?? "";
224
+ var matchesExtension = (basename, extension) => {
225
+ const normalizedExtension = extension.toLowerCase();
226
+ if (normalizedExtension.startsWith(".")) {
227
+ return basename.endsWith(normalizedExtension);
228
+ }
229
+ return basename === normalizedExtension || basename.endsWith(`.${normalizedExtension}`);
230
+ };
231
+ var detectMatchingEntries = (entries, filename) => {
232
+ const basename = getBasename(filename);
233
+ if (!basename) {
234
+ return [];
235
+ }
236
+ return entries.filter(
237
+ (entry) => entry.extensions.some((extension) => matchesExtension(basename, extension))
238
+ );
239
+ };
240
+
241
+ // src/detect-slugs.ts
242
+ var detectLanguageSlugs = (filename) => detectMatchingEntries(languageIndex, filename).map((entry) => entry.slug);
243
+ var detectLanguageSlug = (filename) => detectLanguageSlugs(filename).at(0);
244
+ var detectProjectLanguages = (filenames) => {
245
+ const fileCounts = /* @__PURE__ */ new Map();
246
+ for (const filename of filenames) {
247
+ const slug = detectLanguageSlug(filename);
248
+ if (!slug) {
249
+ continue;
250
+ }
251
+ fileCounts.set(slug, (fileCounts.get(slug) ?? 0) + 1);
252
+ }
253
+ return [...fileCounts.entries()].map(([slug, files]) => ({ slug, files })).sort((first, second) => second.files - first.files || first.slug.localeCompare(second.slug));
254
+ };
255
+
256
+ exports.detectLanguageSlug = detectLanguageSlug;
257
+ exports.detectLanguageSlugs = detectLanguageSlugs;
258
+ exports.detectProjectLanguages = detectProjectLanguages;
@@ -0,0 +1,42 @@
1
+ import { L as LanguageSlug } from './language-registry-nVRwyIen.cjs';
2
+
3
+ interface ProjectLanguageDetection {
4
+ /** Detected language slug. */
5
+ slug: LanguageSlug;
6
+ /** Number of filenames or paths matched to this language. */
7
+ files: number;
8
+ }
9
+ /**
10
+ * Detects all language slugs that match a filename or path.
11
+ *
12
+ * This uses the lightweight extension index, so consumers can detect filenames
13
+ * without importing the full language catalog.
14
+ *
15
+ * @example
16
+ * detectLanguageSlugs("include/config.h");
17
+ * // ["c", "cpp"]
18
+ */
19
+ declare const detectLanguageSlugs: (filename: string) => LanguageSlug[];
20
+ /**
21
+ * Detects the first language slug that matches a filename or path.
22
+ *
23
+ * Use `detectLanguageSlugs` when you need to handle ambiguous extensions such as `.h`.
24
+ *
25
+ * @example
26
+ * detectLanguageSlug("src/index.ts");
27
+ * // "typescript"
28
+ */
29
+ declare const detectLanguageSlug: (filename: string) => LanguageSlug | undefined;
30
+ /**
31
+ * Detects languages used by a project file list and counts matched files per language.
32
+ *
33
+ * Unmatched filenames are ignored. Ambiguous extensions use the first matching language,
34
+ * matching `detectLanguageSlug` behavior.
35
+ *
36
+ * @example
37
+ * detectProjectLanguages(["src/index.ts", "src/app.ts", "README.md"]);
38
+ * // [{ slug: "typescript", files: 2 }, { slug: "markdown", files: 1 }]
39
+ */
40
+ declare const detectProjectLanguages: (filenames: Iterable<string>) => ProjectLanguageDetection[];
41
+
42
+ export { type ProjectLanguageDetection, detectLanguageSlug, detectLanguageSlugs, detectProjectLanguages };
@@ -0,0 +1,42 @@
1
+ import { L as LanguageSlug } from './language-registry-nVRwyIen.js';
2
+
3
+ interface ProjectLanguageDetection {
4
+ /** Detected language slug. */
5
+ slug: LanguageSlug;
6
+ /** Number of filenames or paths matched to this language. */
7
+ files: number;
8
+ }
9
+ /**
10
+ * Detects all language slugs that match a filename or path.
11
+ *
12
+ * This uses the lightweight extension index, so consumers can detect filenames
13
+ * without importing the full language catalog.
14
+ *
15
+ * @example
16
+ * detectLanguageSlugs("include/config.h");
17
+ * // ["c", "cpp"]
18
+ */
19
+ declare const detectLanguageSlugs: (filename: string) => LanguageSlug[];
20
+ /**
21
+ * Detects the first language slug that matches a filename or path.
22
+ *
23
+ * Use `detectLanguageSlugs` when you need to handle ambiguous extensions such as `.h`.
24
+ *
25
+ * @example
26
+ * detectLanguageSlug("src/index.ts");
27
+ * // "typescript"
28
+ */
29
+ declare const detectLanguageSlug: (filename: string) => LanguageSlug | undefined;
30
+ /**
31
+ * Detects languages used by a project file list and counts matched files per language.
32
+ *
33
+ * Unmatched filenames are ignored. Ambiguous extensions use the first matching language,
34
+ * matching `detectLanguageSlug` behavior.
35
+ *
36
+ * @example
37
+ * detectProjectLanguages(["src/index.ts", "src/app.ts", "README.md"]);
38
+ * // [{ slug: "typescript", files: 2 }, { slug: "markdown", files: 1 }]
39
+ */
40
+ declare const detectProjectLanguages: (filenames: Iterable<string>) => ProjectLanguageDetection[];
41
+
42
+ export { type ProjectLanguageDetection, detectLanguageSlug, detectLanguageSlugs, detectProjectLanguages };
@@ -0,0 +1,254 @@
1
+ // src/language-registry.ts
2
+ var languageIndex = [
3
+ { slug: "abap", extensions: [".abap"] },
4
+ { slug: "actionscript", extensions: [".as"] },
5
+ { slug: "ada", extensions: [".adb", ".ads", ".ada"] },
6
+ { slug: "agda", extensions: [".agda", ".lagda", ".lagda.md", ".lagda.rst", ".lagda.tex"] },
7
+ { slug: "antlr", extensions: [".g4"] },
8
+ { slug: "apex", extensions: [".cls", ".trigger"] },
9
+ { slug: "apl", extensions: [".apl", ".dyalog"] },
10
+ { slug: "applescript", extensions: [".applescript", ".scpt", ".scptd"] },
11
+ { slug: "arduino", extensions: [".ino", ".pde"] },
12
+ { slug: "asciidoc", extensions: [".adoc", ".asciidoc", ".asc"] },
13
+ { slug: "asp", extensions: [".asp", ".aspx", ".ascx", ".ashx", ".asmx", ".master"] },
14
+ { slug: "astro", extensions: [".astro"] },
15
+ { slug: "assembly", extensions: [".asm", ".s", ".S", ".inc"] },
16
+ { slug: "awk", extensions: [".awk"] },
17
+ { slug: "autohotkey", extensions: [".ahk", ".ah2"] },
18
+ { slug: "ballerina", extensions: [".bal"] },
19
+ {
20
+ slug: "bash",
21
+ extensions: [".sh", ".bash", ".bashrc", ".bash_profile", ".bash_login", ".profile"]
22
+ },
23
+ { slug: "batch", extensions: [".bat", ".cmd"] },
24
+ {
25
+ slug: "bazel",
26
+ extensions: ["BUILD.bazel", "WORKSPACE", "WORKSPACE.bazel", "MODULE.bazel"]
27
+ },
28
+ { slug: "bicep", extensions: [".bicep", ".bicepparam"] },
29
+ { slug: "blade", extensions: [".blade.php"] },
30
+ { slug: "c", extensions: [".c", ".h"] },
31
+ { slug: "cairo", extensions: [".cairo"] },
32
+ { slug: "carbon", extensions: [".carbon"] },
33
+ { slug: "chapel", extensions: [".chpl"] },
34
+ { slug: "circom", extensions: [".circom"] },
35
+ { slug: "cmake", extensions: ["CMakeLists.txt", ".cmake"] },
36
+ { slug: "clojure", extensions: [".clj", ".cljs", ".cljc", ".edn", ".bb"] },
37
+ { slug: "coffeescript", extensions: [".coffee", ".litcoffee", ".cson"] },
38
+ { slug: "coldfusion", extensions: [".cfm", ".cfml", ".cfc"] },
39
+ { slug: "cobol", extensions: [".cob", ".cbl", ".cobol", ".cpy"] },
40
+ { slug: "coq", extensions: [".v"] },
41
+ { slug: "cpp", extensions: [".cpp", ".cc", ".cxx", ".h", ".hpp", ".hh", ".hxx"] },
42
+ { slug: "cypher", extensions: [".cypher", ".cyp"] },
43
+ { slug: "csharp", extensions: [".cs", ".csx"] },
44
+ { slug: "crystal", extensions: [".cr"] },
45
+ { slug: "css", extensions: [".css"] },
46
+ { slug: "cue", extensions: [".cue"] },
47
+ { slug: "cuda", extensions: [".cu", ".cuh"] },
48
+ { slug: "cython", extensions: [".pyx", ".pxd", ".pxi"] },
49
+ { slug: "d", extensions: [".d", ".di"] },
50
+ { slug: "dart", extensions: [".dart"] },
51
+ { slug: "dhall", extensions: [".dhall"] },
52
+ { slug: "dita", extensions: [".dita", ".ditamap", ".ditaval"] },
53
+ { slug: "dockerfile", extensions: ["Dockerfile", ".dockerfile"] },
54
+ { slug: "eiffel", extensions: [".e"] },
55
+ { slug: "earthly", extensions: ["Earthfile"] },
56
+ { slug: "elixir", extensions: [".ex", ".exs", ".eex", ".leex", ".heex"] },
57
+ { slug: "elm", extensions: [".elm"] },
58
+ { slug: "erb", extensions: [".erb", ".rhtml", ".html.erb"] },
59
+ {
60
+ slug: "erlang",
61
+ extensions: [".erl", ".hrl", ".app.src", ".escript", ".xrl", ".yrl", "rebar.config"]
62
+ },
63
+ { slug: "fish", extensions: [".fish"] },
64
+ { slug: "fennel", extensions: [".fnl"] },
65
+ { slug: "flux", extensions: [".flux"] },
66
+ {
67
+ slug: "fortran",
68
+ extensions: [".f", ".for", ".ftn", ".f90", ".f95", ".f03", ".f08", ".f18", ".f23"]
69
+ },
70
+ { slug: "forth", extensions: [".fs", ".fth", ".forth", ".4th"] },
71
+ { slug: "fsharp", extensions: [".fs", ".fsi", ".fsx", ".fsscript"] },
72
+ { slug: "gdscript", extensions: [".gd"] },
73
+ { slug: "git", extensions: [".git", ".gitignore", ".gitattributes", ".gitmodules", ".gitkeep"] },
74
+ { slug: "gleam", extensions: [".gleam"] },
75
+ { slug: "go", extensions: [".go"] },
76
+ { slug: "grain", extensions: [".gr"] },
77
+ { slug: "gradle", extensions: [".gradle", ".gradle.kts"] },
78
+ {
79
+ slug: "glsl",
80
+ extensions: [".glsl", ".vert", ".frag", ".geom", ".tesc", ".tese", ".comp", ".vs", ".fs"]
81
+ },
82
+ { slug: "graphql", extensions: [".graphql", ".gql", ".graphqls"] },
83
+ { slug: "groovy", extensions: [".groovy", ".gvy", ".gy", ".gsh"] },
84
+ { slug: "handlebars", extensions: [".hbs", ".handlebars"] },
85
+ { slug: "hack", extensions: [".hack", ".hh", ".hhi"] },
86
+ { slug: "haml", extensions: [".haml"] },
87
+ { slug: "hare", extensions: [".ha"] },
88
+ { slug: "hocon", extensions: [".hocon"] },
89
+ { slug: "haskell", extensions: [".hs", ".lhs", ".hsc", ".hs-boot", ".hsig", ".cabal"] },
90
+ { slug: "haxe", extensions: [".hx", ".hxml"] },
91
+ { slug: "hcl", extensions: [".hcl", ".tf", ".tfvars", ".pkr.hcl", ".nomad"] },
92
+ { slug: "hlsl", extensions: [".hlsl", ".fx", ".fxh", ".hlsli"] },
93
+ { slug: "html", extensions: [".html", ".htm"] },
94
+ { slug: "hy", extensions: [".hy"] },
95
+ { slug: "idris", extensions: [".idr", ".lidr", ".ipkg"] },
96
+ { slug: "ini", extensions: [".ini"] },
97
+ { slug: "java", extensions: [".java"] },
98
+ { slug: "javascript", extensions: [".js", ".mjs", ".cjs", ".jsx"] },
99
+ { slug: "janet", extensions: [".janet", ".jdn"] },
100
+ { slug: "jinja", extensions: [".jinja", ".jinja2", ".j2"] },
101
+ { slug: "json", extensions: [".json"] },
102
+ { slug: "json5", extensions: [".json5"] },
103
+ { slug: "jsonnet", extensions: [".jsonnet", ".libsonnet"] },
104
+ { slug: "jupyter-notebook", extensions: [".ipynb"] },
105
+ { slug: "julia", extensions: [".jl"] },
106
+ { slug: "kcl", extensions: [".k", ".kcl"] },
107
+ { slug: "kotlin", extensions: [".kt", ".kts"] },
108
+ { slug: "lean", extensions: [".lean"] },
109
+ { slug: "less", extensions: [".less"] },
110
+ { slug: "liquid", extensions: [".liquid"] },
111
+ { slug: "lisp", extensions: [".lisp", ".lsp", ".cl", ".asd"] },
112
+ { slug: "llvm-ir", extensions: [".ll", ".bc"] },
113
+ { slug: "lua", extensions: [".lua", ".rockspec"] },
114
+ { slug: "luau", extensions: [".luau"] },
115
+ { slug: "mako", extensions: [".mako", ".mao"] },
116
+ { slug: "makefile", extensions: ["Makefile", "makefile", "GNUmakefile", ".mk", ".mak"] },
117
+ { slug: "mathematica", extensions: [".wl", ".wls", ".nb"] },
118
+ { slug: "matlab", extensions: [".m", ".mlx"] },
119
+ { slug: "markdown", extensions: [".md", ".markdown", ".mdown", ".mkd"] },
120
+ { slug: "mdx", extensions: [".mdx"] },
121
+ { slug: "mermaid", extensions: [".mmd", ".mermaid"] },
122
+ { slug: "meson", extensions: ["meson.build", "meson_options.txt", "meson.options", ".wrap"] },
123
+ { slug: "metal", extensions: [".metal"] },
124
+ { slug: "mustache", extensions: [".mustache", ".mst"] },
125
+ { slug: "move", extensions: [".move"] },
126
+ { slug: "mojo", extensions: [".mojo"] },
127
+ { slug: "moonbit", extensions: [".mbt"] },
128
+ { slug: "svn", extensions: [".svn", "svnserve.conf"] },
129
+ { slug: "nginx", extensions: ["nginx.conf", ".nginx", ".conf"] },
130
+ { slug: "nickel", extensions: [".ncl"] },
131
+ { slug: "nunjucks", extensions: [".njk", ".nunjucks"] },
132
+ { slug: "nushell", extensions: [".nu"] },
133
+ { slug: "nim", extensions: [".nim", ".nims", ".nimble"] },
134
+ { slug: "nix", extensions: [".nix"] },
135
+ { slug: "ocaml", extensions: [".ml", ".mli", ".mll", ".mly", ".mlt", ".eliom", ".eliomi"] },
136
+ { slug: "objective-c", extensions: [".m", ".mm"] },
137
+ { slug: "odin", extensions: [".odin"] },
138
+ { slug: "opencl", extensions: [".cl", ".clh"] },
139
+ { slug: "pascal", extensions: [".pas", ".pp", ".inc", ".lpr", ".dpr", ".dfm"] },
140
+ { slug: "pkl", extensions: [".pkl"] },
141
+ { slug: "perl", extensions: [".pl", ".pm", ".pod", ".t", ".psgi"] },
142
+ { slug: "php", extensions: [".php", ".phtml", ".php3", ".php4", ".php5", ".phps"] },
143
+ { slug: "pine-script", extensions: [".pine"] },
144
+ { slug: "plantuml", extensions: [".puml", ".plantuml", ".iuml"] },
145
+ { slug: "plsql", extensions: [".pls", ".pks", ".pkb", ".plsql"] },
146
+ { slug: "pony", extensions: [".pony"] },
147
+ { slug: "powershell", extensions: [".ps1", ".psm1", ".psd1", ".ps1xml"] },
148
+ { slug: "prolog", extensions: [".pl", ".pro", ".prolog", ".P"] },
149
+ { slug: "promql", extensions: [".promql"] },
150
+ { slug: "protobuf", extensions: [".proto"] },
151
+ { slug: "pug", extensions: [".pug", ".jade"] },
152
+ { slug: "purescript", extensions: [".purs"] },
153
+ { slug: "python", extensions: [".py", ".pyw"] },
154
+ { slug: "qml", extensions: [".qml", ".qmltypes", ".qmlproject"] },
155
+ { slug: "qsharp", extensions: [".qs"] },
156
+ { slug: "r", extensions: [".r", ".R", ".rmd", ".Rmd", ".qmd", ".Rprofile"] },
157
+ { slug: "raku", extensions: [".raku", ".rakumod", ".rakudoc", ".rakutest", ".p6", ".pm6"] },
158
+ { slug: "racket", extensions: [".rkt", ".rktd", ".rktl", ".scrbl"] },
159
+ { slug: "razor", extensions: [".cshtml", ".razor"] },
160
+ { slug: "reasonml", extensions: [".re", ".rei"] },
161
+ { slug: "rego", extensions: [".rego"] },
162
+ { slug: "rescript", extensions: [".res", ".resi"] },
163
+ { slug: "restructuredtext", extensions: [".rst", ".rest"] },
164
+ {
165
+ slug: "ruby",
166
+ extensions: [".rb", ".rbw", ".rake", ".gemspec", "Gemfile", "Rakefile", "config.ru"]
167
+ },
168
+ { slug: "rust", extensions: [".rs"] },
169
+ { slug: "sas", extensions: [".sas"] },
170
+ { slug: "scala", extensions: [".scala", ".sc"] },
171
+ { slug: "scss", extensions: [".scss", ".sass"] },
172
+ { slug: "scheme", extensions: [".scm", ".ss", ".sld", ".sls"] },
173
+ { slug: "smalltalk", extensions: [".st"] },
174
+ { slug: "smarty", extensions: [".tpl", ".smarty"] },
175
+ { slug: "solidity", extensions: [".sol"] },
176
+ { slug: "sparql", extensions: [".sparql", ".rq"] },
177
+ { slug: "sql", extensions: [".sql"] },
178
+ { slug: "standard-ml", extensions: [".sml", ".sig", ".fun"] },
179
+ { slug: "starlark", extensions: [".bzl", ".star", ".sky"] },
180
+ { slug: "stata", extensions: [".do", ".ado", ".mata"] },
181
+ { slug: "stylus", extensions: [".styl"] },
182
+ { slug: "svg", extensions: [".svg", ".svgz"] },
183
+ { slug: "svelte", extensions: [".svelte"] },
184
+ { slug: "swift", extensions: [".swift"] },
185
+ { slug: "tcl", extensions: [".tcl", ".tm", ".test"] },
186
+ { slug: "tex", extensions: [".tex", ".sty", ".cls", ".dtx", ".ins", ".ltx"] },
187
+ { slug: "thrift", extensions: [".thrift"] },
188
+ { slug: "tla-plus", extensions: [".tla"] },
189
+ { slug: "toml", extensions: [".toml"] },
190
+ { slug: "twig", extensions: [".twig"] },
191
+ { slug: "typescript", extensions: [".ts", ".tsx", ".mts", ".cts"] },
192
+ { slug: "typst", extensions: [".typ"] },
193
+ { slug: "unison", extensions: [".u", ".uu"] },
194
+ { slug: "v", extensions: [".v", ".vsh"] },
195
+ { slug: "vala", extensions: [".vala", ".vapi"] },
196
+ { slug: "verilog", extensions: [".v", ".vh", ".sv", ".svh"] },
197
+ { slug: "vhdl", extensions: [".vhd", ".vhdl"] },
198
+ { slug: "visual-basic", extensions: [".vb"] },
199
+ { slug: "vue", extensions: [".vue"] },
200
+ { slug: "vyper", extensions: [".vy"] },
201
+ { slug: "webassembly", extensions: [".wasm", ".wat"] },
202
+ { slug: "wgsl", extensions: [".wgsl"] },
203
+ { slug: "wren", extensions: [".wren"] },
204
+ { slug: "xaml", extensions: [".xaml", ".baml"] },
205
+ { slug: "xml", extensions: [".xml", ".xsd", ".xsl", ".xslt"] },
206
+ { slug: "xquery", extensions: [".xq", ".xql", ".xqm", ".xquery", ".xqy"] },
207
+ { slug: "xslt", extensions: [".xsl", ".xslt"] },
208
+ { slug: "yaml", extensions: [".yaml", ".yml"] },
209
+ { slug: "yara", extensions: [".yar", ".yara"] },
210
+ { slug: "zeek", extensions: [".zeek", ".bro"] },
211
+ { slug: "zig", extensions: [".zig", ".zon"] },
212
+ { slug: "ziggy", extensions: [".ziggy", ".ziggy-schema"] },
213
+ {
214
+ slug: "zsh",
215
+ extensions: [".zsh", ".zshrc", ".zshenv", ".zprofile", ".zlogin", ".zlogout", ".zsh-theme"]
216
+ }
217
+ ];
218
+
219
+ // src/match.ts
220
+ var pathSegmentPattern = /[/\\]/;
221
+ var getBasename = (filename) => filename.trim().split(pathSegmentPattern).at(-1)?.toLowerCase() ?? "";
222
+ var matchesExtension = (basename, extension) => {
223
+ const normalizedExtension = extension.toLowerCase();
224
+ if (normalizedExtension.startsWith(".")) {
225
+ return basename.endsWith(normalizedExtension);
226
+ }
227
+ return basename === normalizedExtension || basename.endsWith(`.${normalizedExtension}`);
228
+ };
229
+ var detectMatchingEntries = (entries, filename) => {
230
+ const basename = getBasename(filename);
231
+ if (!basename) {
232
+ return [];
233
+ }
234
+ return entries.filter(
235
+ (entry) => entry.extensions.some((extension) => matchesExtension(basename, extension))
236
+ );
237
+ };
238
+
239
+ // src/detect-slugs.ts
240
+ var detectLanguageSlugs = (filename) => detectMatchingEntries(languageIndex, filename).map((entry) => entry.slug);
241
+ var detectLanguageSlug = (filename) => detectLanguageSlugs(filename).at(0);
242
+ var detectProjectLanguages = (filenames) => {
243
+ const fileCounts = /* @__PURE__ */ new Map();
244
+ for (const filename of filenames) {
245
+ const slug = detectLanguageSlug(filename);
246
+ if (!slug) {
247
+ continue;
248
+ }
249
+ fileCounts.set(slug, (fileCounts.get(slug) ?? 0) + 1);
250
+ }
251
+ return [...fileCounts.entries()].map(([slug, files]) => ({ slug, files })).sort((first, second) => second.files - first.files || first.slug.localeCompare(second.slug));
252
+ };
253
+
254
+ export { detectLanguageSlug, detectLanguageSlugs, detectProjectLanguages };