code-languages 1.31.2 → 1.32.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 (58) hide show
  1. package/README.md +49 -39
  2. package/dist/api.cjs +522 -97
  3. package/dist/api.d.cts +1 -1
  4. package/dist/api.d.ts +1 -1
  5. package/dist/api.js +522 -97
  6. package/dist/detect-slugs.cjs +50 -39
  7. package/dist/detect-slugs.d.cts +1 -1
  8. package/dist/detect-slugs.d.ts +1 -1
  9. package/dist/detect-slugs.js +50 -39
  10. package/dist/detect.cjs +342 -34
  11. package/dist/detect.js +342 -34
  12. package/dist/index.cjs +589 -142
  13. package/dist/index.d.cts +458 -172
  14. package/dist/index.d.ts +458 -172
  15. package/dist/index.js +545 -98
  16. package/dist/{language-registry-BaICPFq_.d.cts → language-registry-BWMgasX6.d.cts} +109 -79
  17. package/dist/{language-registry-BaICPFq_.d.ts → language-registry-BWMgasX6.d.ts} +109 -79
  18. package/dist/languages/algol.cjs +32 -0
  19. package/dist/languages/algol.d.cts +29 -0
  20. package/dist/languages/algol.d.ts +29 -0
  21. package/dist/languages/algol.js +30 -0
  22. package/dist/languages/ante.cjs +33 -0
  23. package/dist/languages/ante.d.cts +30 -0
  24. package/dist/languages/ante.d.ts +30 -0
  25. package/dist/languages/ante.js +31 -0
  26. package/dist/languages/austral.cjs +32 -0
  27. package/dist/languages/austral.d.cts +29 -0
  28. package/dist/languages/austral.d.ts +29 -0
  29. package/dist/languages/austral.js +30 -0
  30. package/dist/languages/bcpl.cjs +32 -0
  31. package/dist/languages/bcpl.d.cts +29 -0
  32. package/dist/languages/bcpl.d.ts +29 -0
  33. package/dist/languages/bcpl.js +30 -0
  34. package/dist/languages/bosque.cjs +32 -0
  35. package/dist/languages/bosque.d.cts +29 -0
  36. package/dist/languages/bosque.d.ts +29 -0
  37. package/dist/languages/bosque.js +30 -0
  38. package/dist/languages/bqn.cjs +32 -0
  39. package/dist/languages/bqn.d.cts +29 -0
  40. package/dist/languages/bqn.d.ts +29 -0
  41. package/dist/languages/bqn.js +30 -0
  42. package/dist/languages/curry.cjs +33 -0
  43. package/dist/languages/curry.d.cts +30 -0
  44. package/dist/languages/curry.d.ts +30 -0
  45. package/dist/languages/curry.js +31 -0
  46. package/dist/languages/factor.cjs +33 -0
  47. package/dist/languages/factor.d.cts +30 -0
  48. package/dist/languages/factor.d.ts +30 -0
  49. package/dist/languages/factor.js +31 -0
  50. package/dist/languages/io.cjs +32 -0
  51. package/dist/languages/io.d.cts +29 -0
  52. package/dist/languages/io.d.ts +29 -0
  53. package/dist/languages/io.js +30 -0
  54. package/dist/languages/koka.cjs +33 -0
  55. package/dist/languages/koka.d.cts +30 -0
  56. package/dist/languages/koka.d.ts +30 -0
  57. package/dist/languages/koka.js +31 -0
  58. package/package.json +756 -646
package/dist/detect.js CHANGED
@@ -196,6 +196,65 @@ var agda = {
196
196
  }
197
197
  };
198
198
 
199
+ // src/languages/algol.ts
200
+ var algol = {
201
+ slug: "algol",
202
+ publishedDate: "1958-01-01",
203
+ extensions: [".alg", ".algol"],
204
+ author: "ACM-GAMM committee",
205
+ website: "https://en.wikipedia.org/wiki/ALGOL",
206
+ paradigms: ["imperative", "procedural", "structured"],
207
+ tooling: {
208
+ runtimes: ["ALGOL 60 compilers", "ALGOL 68 Genie"],
209
+ ecosystems: ["Academic Computing", "Language Design", "Numerical Computing"]
210
+ },
211
+ version: "ALGOL 68",
212
+ logo: "https://dummyimage.com/32x32/6B7280/ffffff.png&text=ALG",
213
+ color: "#6B7280",
214
+ i18n: {
215
+ en: {
216
+ name: "ALGOL",
217
+ description: "A family of early algorithmic languages that shaped block structure and formal language design.",
218
+ longDescription: "ALGOL introduced influential ideas for writing algorithms, including nested blocks, lexical scope, structured control flow, and a notation close to mathematical pseudocode.\n\nAlthough few modern systems use ALGOL directly, its design strongly influenced Pascal, C, Simula, Ada, and many later languages used in scientific and systems programming."
219
+ },
220
+ es: {
221
+ name: "ALGOL",
222
+ description: "Una familia temprana de lenguajes algoritmicos que influyo en bloques y diseno formal.",
223
+ longDescription: "ALGOL introdujo ideas influyentes para escribir algoritmos, como bloques anidados, alcance lexico, control estructurado y una notacion cercana al pseudocodigo matematico.\n\nAunque hoy se usa poco directamente, su diseno influyo en Pascal, C, Simula, Ada y muchos lenguajes posteriores."
224
+ }
225
+ }
226
+ };
227
+
228
+ // src/languages/ante.ts
229
+ var ante = {
230
+ slug: "ante",
231
+ publishedDate: "2019-01-01",
232
+ extensions: [".ante"],
233
+ author: "Evan Haas",
234
+ website: "https://antelang.org",
235
+ paradigms: ["functional", "imperative", "systems"],
236
+ tooling: {
237
+ runtimes: ["Ante compiler"],
238
+ packageManagers: ["Ante package tooling"],
239
+ ecosystems: ["Systems Programming", "Research", "Compiler Development"]
240
+ },
241
+ version: "experimental",
242
+ logo: "https://dummyimage.com/32x32/4F46E5/ffffff.png&text=A",
243
+ color: "#4F46E5",
244
+ i18n: {
245
+ en: {
246
+ name: "Ante",
247
+ description: "A systems language exploring algebraic effects, type inference, and safe low-level programming.",
248
+ longDescription: "Ante is an experimental programming language focused on combining systems-level control with high-level type system features such as algebraic effects, traits, and strong inference.\n\nIt is mainly used for language design research, compiler experimentation, and exploring how effect systems can model IO, mutation, and error handling without losing performance goals."
249
+ },
250
+ es: {
251
+ name: "Ante",
252
+ description: "Un lenguaje de sistemas que explora efectos algebraicos, inferencia y seguridad.",
253
+ longDescription: "Ante es un lenguaje experimental que combina control de bajo nivel con rasgos de sistema de tipos como efectos algebraicos, traits e inferencia fuerte.\n\nSe usa sobre todo para investigacion de lenguajes, experimentos de compiladores y exploracion de sistemas de efectos para IO, mutacion y errores."
254
+ }
255
+ }
256
+ };
257
+
199
258
  // src/languages/antlr.ts
200
259
  var antlr = {
201
260
  slug: "antlr",
@@ -644,6 +703,35 @@ var astro = {
644
703
  }
645
704
  };
646
705
 
706
+ // src/languages/austral.ts
707
+ var austral = {
708
+ slug: "austral",
709
+ publishedDate: "2021-01-01",
710
+ extensions: [".aum", ".aui"],
711
+ author: "Fernando Borretti",
712
+ website: "https://austral-lang.org",
713
+ paradigms: ["imperative", "systems", "procedural"],
714
+ tooling: {
715
+ runtimes: ["Austral compiler"],
716
+ ecosystems: ["Systems Programming", "Memory Safety", "Research"]
717
+ },
718
+ version: "0.1.0",
719
+ logo: "https://dummyimage.com/32x32/0F766E/ffffff.png&text=Au",
720
+ color: "#0F766E",
721
+ i18n: {
722
+ en: {
723
+ name: "Austral",
724
+ description: "A systems language built around linear types, capability safety, and explicit memory control.",
725
+ longDescription: "Austral is an experimental systems programming language that uses linear types to make ownership and resource handling explicit while keeping low-level control available to the programmer.\n\nIts design emphasizes capability safety, simple compilation targets, readable syntax, and research into practical ways to prevent resource misuse in native programs."
726
+ },
727
+ es: {
728
+ name: "Austral",
729
+ description: "Un lenguaje de sistemas basado en tipos lineales, capacidades y memoria explicita.",
730
+ longDescription: "Austral es un lenguaje experimental de sistemas que usa tipos lineales para hacer explicito el manejo de propiedad y recursos sin perder control de bajo nivel.\n\nSu diseno enfatiza seguridad por capacidades, objetivos de compilacion simples y formas practicas de evitar mal uso de recursos."
731
+ }
732
+ }
733
+ };
734
+
647
735
  // src/languages/autohotkey.ts
648
736
  var autohotkey = {
649
737
  slug: "autohotkey",
@@ -942,6 +1030,35 @@ var bazel = {
942
1030
  }
943
1031
  };
944
1032
 
1033
+ // src/languages/bcpl.ts
1034
+ var bcpl = {
1035
+ slug: "bcpl",
1036
+ publishedDate: "1967-01-01",
1037
+ extensions: [".bcpl"],
1038
+ author: "Martin Richards",
1039
+ website: "https://www.cl.cam.ac.uk/~mr10/BCPL.html",
1040
+ paradigms: ["imperative", "procedural", "systems"],
1041
+ tooling: {
1042
+ runtimes: ["Cintsys BCPL", "Classic BCPL compilers"],
1043
+ ecosystems: ["Systems Programming", "Operating Systems", "Language History"]
1044
+ },
1045
+ version: "Cintsys BCPL",
1046
+ logo: "https://dummyimage.com/32x32/374151/ffffff.png&text=BC",
1047
+ color: "#374151",
1048
+ i18n: {
1049
+ en: {
1050
+ name: "BCPL",
1051
+ description: "A compact systems language that influenced B and C through typeless procedural programming.",
1052
+ longDescription: "BCPL was designed as a small, portable systems language with a simple compiler and a typeless model suited to early operating systems and compiler work.\n\nIts syntax, block structure, braces, comments, and procedural style influenced B and C, making it an important ancestor of modern systems programming languages."
1053
+ },
1054
+ es: {
1055
+ name: "BCPL",
1056
+ description: "Un lenguaje compacto de sistemas que influyo en B y C con programacion procedural.",
1057
+ longDescription: "BCPL fue disenado como un lenguaje de sistemas pequeno y portable, con compilador simple y modelo sin tipos para sistemas operativos tempranos.\n\nSu sintaxis, bloques, llaves, comentarios y estilo procedural influyeron en B y C."
1058
+ }
1059
+ }
1060
+ };
1061
+
945
1062
  // src/languages/bicep.ts
946
1063
  var bicep = {
947
1064
  slug: "bicep",
@@ -1042,6 +1159,64 @@ var blade = {
1042
1159
  }
1043
1160
  };
1044
1161
 
1162
+ // src/languages/bosque.ts
1163
+ var bosque = {
1164
+ slug: "bosque",
1165
+ publishedDate: "2019-04-15",
1166
+ extensions: [".bsq"],
1167
+ author: "Microsoft Research",
1168
+ website: "https://github.com/microsoft/BosqueLanguage",
1169
+ paradigms: ["functional", "imperative", "object-oriented"],
1170
+ tooling: {
1171
+ runtimes: ["Bosque reference runtime"],
1172
+ ecosystems: ["Research", "Verification", "Application Logic"]
1173
+ },
1174
+ version: "experimental",
1175
+ logo: "https://dummyimage.com/32x32/0078D4/ffffff.png&text=B",
1176
+ color: "#0078D4",
1177
+ i18n: {
1178
+ en: {
1179
+ name: "Bosque",
1180
+ description: "A Microsoft Research language exploring regularized programming and predictable semantics.",
1181
+ longDescription: "Bosque is a research programming language from Microsoft Research that explores regularized programming, aiming to reduce incidental complexity in control flow, mutation, and object identity.\n\nIt combines ideas from functional and object-oriented programming with immutable values, algebraic data, structured collections, and semantics meant to support tooling and automated reasoning."
1182
+ },
1183
+ es: {
1184
+ name: "Bosque",
1185
+ description: "Un lenguaje de Microsoft Research sobre programacion regularizada y semantica predecible.",
1186
+ longDescription: "Bosque es un lenguaje de investigacion de Microsoft Research que explora programacion regularizada para reducir complejidad accidental en control, mutacion e identidad.\n\nCombina ideas funcionales y orientadas a objetos con valores inmutables, datos algebraicos y semantica pensada para herramientas."
1187
+ }
1188
+ }
1189
+ };
1190
+
1191
+ // src/languages/bqn.ts
1192
+ var bqn = {
1193
+ slug: "bqn",
1194
+ publishedDate: "2020-01-01",
1195
+ extensions: [".bqn"],
1196
+ author: "Marshall Lochbaum",
1197
+ website: "https://mlochbaum.github.io/BQN/",
1198
+ paradigms: ["array", "functional", "tacit"],
1199
+ tooling: {
1200
+ runtimes: ["CBQN", "BQN.js"],
1201
+ ecosystems: ["Array Programming", "Data Transformation", "Recreational Computing"]
1202
+ },
1203
+ version: "BQN specification",
1204
+ logo: "https://dummyimage.com/32x32/7C3AED/ffffff.png&text=BQN",
1205
+ color: "#7C3AED",
1206
+ i18n: {
1207
+ en: {
1208
+ name: "BQN",
1209
+ description: "An array programming language in the APL family with modern notation and tacit features.",
1210
+ longDescription: "BQN is an array-oriented language influenced by APL, J, and K. It uses concise symbols to express operations over arrays, functions, modifiers, and trains.\n\nIt is used for compact data manipulation, algorithm exploration, teaching array thinking, and experiments with high-level notation backed by interpreters such as CBQN and BQN.js."
1211
+ },
1212
+ es: {
1213
+ name: "BQN",
1214
+ description: "Un lenguaje de programacion de arreglos de la familia APL con notacion moderna.",
1215
+ longDescription: "BQN es un lenguaje orientado a arreglos influido por APL, J y K. Usa simbolos concisos para expresar operaciones sobre arreglos, funciones y modificadores.\n\nSe usa para manipulacion compacta de datos, exploracion de algoritmos y ensenanza de pensamiento basado en arreglos."
1216
+ }
1217
+ }
1218
+ };
1219
+
1045
1220
  // src/languages/c.ts
1046
1221
  var c = {
1047
1222
  slug: "c",
@@ -1885,6 +2060,36 @@ var cue = {
1885
2060
  }
1886
2061
  };
1887
2062
 
2063
+ // src/languages/curry.ts
2064
+ var curry = {
2065
+ slug: "curry",
2066
+ publishedDate: "1997-01-01",
2067
+ extensions: [".curry", ".lcurry"],
2068
+ author: "Curry language community",
2069
+ website: "https://www.curry-language.org",
2070
+ paradigms: ["functional", "logic", "declarative"],
2071
+ tooling: {
2072
+ runtimes: ["KiCS2", "PAKCS"],
2073
+ packageManagers: ["Curry Package Manager"],
2074
+ ecosystems: ["Functional Logic Programming", "Constraint Solving", "Research"]
2075
+ },
2076
+ version: "Curry 0.9.0",
2077
+ logo: "https://dummyimage.com/32x32/BE123C/ffffff.png&text=Cu",
2078
+ color: "#BE123C",
2079
+ i18n: {
2080
+ en: {
2081
+ name: "Curry",
2082
+ description: "A functional logic language that combines Haskell-style functions with logic variables.",
2083
+ longDescription: "Curry combines functional programming with logic programming, enabling lazy evaluation, higher-order functions, logic variables, non-determinism, and constraint-based computation in one language.\n\nIt is used in academic research, teaching declarative programming, symbolic computation, program analysis, and systems that benefit from mixing functional abstraction with logic search."
2084
+ },
2085
+ es: {
2086
+ name: "Curry",
2087
+ description: "Un lenguaje funcional-logico que combina funciones estilo Haskell con variables logicas.",
2088
+ longDescription: "Curry combina programacion funcional y logica con evaluacion perezosa, funciones de orden superior, variables logicas, no determinismo y restricciones.\n\nSe usa en investigacion, docencia de programacion declarativa, computacion simbolica y analisis de programas."
2089
+ }
2090
+ }
2091
+ };
2092
+
1888
2093
  // src/languages/cypher.ts
1889
2094
  var cypher = {
1890
2095
  slug: "cypher",
@@ -2593,6 +2798,36 @@ var erlang = {
2593
2798
  }
2594
2799
  };
2595
2800
 
2801
+ // src/languages/factor.ts
2802
+ var factor = {
2803
+ slug: "factor",
2804
+ publishedDate: "2003-01-01",
2805
+ extensions: [".factor"],
2806
+ author: "Slava Pestov",
2807
+ website: "https://factorcode.org",
2808
+ paradigms: ["concatenative", "functional", "stack-based"],
2809
+ tooling: {
2810
+ runtimes: ["Factor VM"],
2811
+ packageManagers: ["Factor vocabularies"],
2812
+ ecosystems: ["Interactive Development", "Language Research", "Desktop Tools"]
2813
+ },
2814
+ version: "0.101",
2815
+ logo: "https://dummyimage.com/32x32/F97316/ffffff.png&text=F",
2816
+ color: "#F97316",
2817
+ i18n: {
2818
+ en: {
2819
+ name: "Factor",
2820
+ description: "A concatenative, stack-based language with an interactive image and rich standard library.",
2821
+ longDescription: "Factor is a concatenative programming language where programs are composed by chaining words that transform a data stack. It includes an optimizing compiler, interactive environment, and image-based workflow.\n\nIts ecosystem includes libraries called vocabularies for UI, parsing, networking, math, databases, and tooling, making it useful for language experimentation and interactive development."
2822
+ },
2823
+ es: {
2824
+ name: "Factor",
2825
+ description: "Un lenguaje concatenativo basado en pila con imagen interactiva y biblioteca amplia.",
2826
+ longDescription: "Factor es un lenguaje concatenativo donde los programas encadenan palabras que transforman una pila de datos. Incluye compilador optimizador y entorno interactivo.\n\nSu ecosistema usa vocabularios para UI, parsing, redes, matematicas, bases de datos y herramientas."
2827
+ }
2828
+ }
2829
+ };
2830
+
2596
2831
  // src/languages/fennel.ts
2597
2832
  var fennel = {
2598
2833
  slug: "fennel",
@@ -4041,6 +4276,35 @@ var ini = {
4041
4276
  }
4042
4277
  };
4043
4278
 
4279
+ // src/languages/io.ts
4280
+ var io = {
4281
+ slug: "io",
4282
+ publishedDate: "2002-03-07",
4283
+ extensions: [".io"],
4284
+ author: "Steve Dekorte",
4285
+ website: "https://iolanguage.org",
4286
+ paradigms: ["prototype-based", "object-oriented", "dynamic"],
4287
+ tooling: {
4288
+ runtimes: ["Io VM"],
4289
+ ecosystems: ["Scripting", "Prototype Programming", "Language Exploration"]
4290
+ },
4291
+ version: "2017.09.06",
4292
+ logo: "https://dummyimage.com/32x32/2563EB/ffffff.png&text=Io",
4293
+ color: "#2563EB",
4294
+ i18n: {
4295
+ en: {
4296
+ name: "Io",
4297
+ description: "A small prototype-based language focused on message passing and minimal syntax.",
4298
+ longDescription: "Io is a dynamic prototype-based language inspired by Smalltalk, Self, Lisp, and Lua. Its object model is based on cloning prototypes and sending messages rather than class declarations.\n\nThe language has a compact syntax, coroutines, actors, reflection, and an embeddable runtime, making it a useful reference point for prototype programming and language design."
4299
+ },
4300
+ es: {
4301
+ name: "Io",
4302
+ description: "Un lenguaje pequeno basado en prototipos, paso de mensajes y sintaxis minima.",
4303
+ longDescription: "Io es un lenguaje dinamico basado en prototipos e inspirado por Smalltalk, Self, Lisp y Lua. Su modelo usa clonacion y envio de mensajes, no clases.\n\nIncluye sintaxis compacta, corrutinas, actores, reflexion y runtime embebible."
4304
+ }
4305
+ }
4306
+ };
4307
+
4044
4308
  // src/languages/isabelle.ts
4045
4309
  var isabelle = {
4046
4310
  slug: "isabelle",
@@ -4653,6 +4917,36 @@ var kdl = {
4653
4917
  }
4654
4918
  };
4655
4919
 
4920
+ // src/languages/koka.ts
4921
+ var koka = {
4922
+ slug: "koka",
4923
+ publishedDate: "2012-01-01",
4924
+ extensions: [".kk"],
4925
+ author: "Daan Leijen",
4926
+ website: "https://koka-lang.github.io",
4927
+ paradigms: ["functional", "effect-oriented", "strongly typed"],
4928
+ tooling: {
4929
+ runtimes: ["Koka compiler"],
4930
+ packageManagers: ["Koka package tooling"],
4931
+ ecosystems: ["Effect Systems", "Functional Programming", "Research"]
4932
+ },
4933
+ version: "3.2.2",
4934
+ logo: "https://dummyimage.com/32x32/0891B2/ffffff.png&text=K",
4935
+ color: "#0891B2",
4936
+ i18n: {
4937
+ en: {
4938
+ name: "Koka",
4939
+ description: "A functional language with effect types for tracking side effects and resource use.",
4940
+ longDescription: "Koka is a strongly typed functional language centered on algebraic effect types. Functions describe the effects they may perform, which helps model exceptions, state, IO, and control flow.\n\nIt is used for research and practical experiments in effect systems, with a compiler that targets native and JavaScript environments while keeping memory management predictable."
4941
+ },
4942
+ es: {
4943
+ name: "Koka",
4944
+ description: "Un lenguaje funcional con tipos de efectos para rastrear efectos laterales y recursos.",
4945
+ longDescription: "Koka es un lenguaje funcional de tipado fuerte centrado en tipos de efectos algebraicos. Las funciones describen los efectos que pueden realizar.\n\nSe usa para investigacion y experimentos practicos en sistemas de efectos, con compilacion a entornos nativos y JavaScript."
4946
+ }
4947
+ }
4948
+ };
4949
+
4656
4950
  // src/languages/kotlin.ts
4657
4951
  var kotlin = {
4658
4952
  slug: "kotlin",
@@ -9925,6 +10219,8 @@ var languages = [
9925
10219
  actionscript,
9926
10220
  ada,
9927
10221
  agda,
10222
+ algol,
10223
+ ante,
9928
10224
  antlr,
9929
10225
  apex,
9930
10226
  apl,
@@ -9932,34 +10228,39 @@ var languages = [
9932
10228
  arduino,
9933
10229
  asciidoc,
9934
10230
  asp,
9935
- astro,
9936
10231
  assembly,
9937
- awk,
10232
+ astro,
10233
+ austral,
9938
10234
  autohotkey,
10235
+ awk,
9939
10236
  ballerina,
9940
10237
  bash,
9941
10238
  batch,
9942
10239
  bazel,
10240
+ bcpl,
9943
10241
  bicep,
9944
10242
  blade,
10243
+ bosque,
10244
+ bqn,
9945
10245
  c,
9946
10246
  cairo,
9947
10247
  carbon,
9948
10248
  chapel,
9949
10249
  circom,
9950
- cmake,
9951
10250
  clojure,
10251
+ cmake,
10252
+ cobol,
9952
10253
  coffeescript,
9953
10254
  coldfusion,
9954
- cobol,
9955
10255
  coq,
9956
10256
  cpp,
9957
- cypher,
9958
- csharp,
9959
10257
  crystal,
10258
+ csharp,
9960
10259
  css,
9961
- cue,
9962
10260
  cuda,
10261
+ cue,
10262
+ curry,
10263
+ cypher,
9963
10264
  cython,
9964
10265
  d,
9965
10266
  dafny,
@@ -9967,57 +10268,60 @@ var languages = [
9967
10268
  dhall,
9968
10269
  dita,
9969
10270
  dockerfile,
9970
- ejs,
9971
- eiffel,
9972
10271
  earthly,
10272
+ eiffel,
10273
+ ejs,
9973
10274
  elixir,
9974
10275
  elm,
9975
10276
  erb,
9976
10277
  erlang,
9977
- fish,
10278
+ factor,
9978
10279
  fennel,
10280
+ fish,
9979
10281
  flux,
9980
- freemarker,
9981
- fortran,
9982
10282
  forth,
10283
+ fortran,
10284
+ freemarker,
9983
10285
  fsharp,
9984
10286
  fstar,
9985
10287
  gdscript,
9986
10288
  git,
9987
10289
  gleam,
10290
+ glsl,
9988
10291
  go,
9989
- grain,
9990
10292
  gradle,
9991
- glsl,
10293
+ grain,
9992
10294
  graphql,
9993
10295
  groovy,
9994
- handlebars,
9995
10296
  hack,
9996
10297
  haml,
10298
+ handlebars,
9997
10299
  hare,
9998
- hocon,
9999
10300
  haskell,
10000
10301
  haxe,
10001
10302
  hcl,
10002
10303
  hlsl,
10304
+ hocon,
10003
10305
  html,
10004
10306
  hy,
10005
10307
  idris,
10006
10308
  ini,
10309
+ io,
10007
10310
  isabelle,
10311
+ janet,
10008
10312
  java,
10009
10313
  javascript,
10010
- janet,
10011
10314
  jinja,
10012
10315
  json,
10013
10316
  json5,
10014
10317
  jsonc,
10015
10318
  jsonnet,
10016
- jupyterNotebook,
10017
10319
  julia,
10320
+ jupyterNotebook,
10018
10321
  just,
10019
10322
  kcl,
10020
10323
  kdl,
10324
+ koka,
10021
10325
  kotlin,
10022
10326
  lean,
10023
10327
  less,
@@ -10026,36 +10330,35 @@ var languages = [
10026
10330
  llvmIr,
10027
10331
  lua,
10028
10332
  luau,
10029
- mako,
10030
10333
  makefile,
10334
+ mako,
10335
+ markdown,
10031
10336
  mathematica,
10032
10337
  matlab,
10033
- markdown,
10034
10338
  mdx,
10035
10339
  mermaid,
10036
10340
  meson,
10037
10341
  metal,
10038
- mustache,
10039
- move,
10040
10342
  mojo,
10041
10343
  moonbit,
10042
- svn,
10344
+ move,
10345
+ mustache,
10043
10346
  nginx,
10044
10347
  nickel,
10045
- nunjucks,
10046
- nushell,
10047
10348
  nim,
10048
10349
  nix,
10049
- ocaml,
10350
+ nunjucks,
10351
+ nushell,
10050
10352
  objectiveC,
10353
+ ocaml,
10051
10354
  odin,
10052
- opencl,
10053
10355
  openapi,
10356
+ opencl,
10054
10357
  pascal,
10055
- pkl,
10056
10358
  perl,
10057
10359
  php,
10058
10360
  pineScript,
10361
+ pkl,
10059
10362
  plantuml,
10060
10363
  plsql,
10061
10364
  pony,
@@ -10070,8 +10373,8 @@ var languages = [
10070
10373
  qml,
10071
10374
  qsharp,
10072
10375
  r,
10073
- raku,
10074
10376
  racket,
10377
+ raku,
10075
10378
  razor,
10076
10379
  reasonml,
10077
10380
  rego,
@@ -10081,8 +10384,8 @@ var languages = [
10081
10384
  rust,
10082
10385
  sas,
10083
10386
  scala,
10084
- scss,
10085
10387
  scheme,
10388
+ scss,
10086
10389
  smalltalk,
10087
10390
  smarty,
10088
10391
  solidity,
@@ -10092,8 +10395,9 @@ var languages = [
10092
10395
  starlark,
10093
10396
  stata,
10094
10397
  stylus,
10095
- svg,
10096
10398
  svelte,
10399
+ svg,
10400
+ svn,
10097
10401
  swift,
10098
10402
  tcl,
10099
10403
  tex,
@@ -10142,9 +10446,13 @@ var detectMatchingEntries = (entries, filename) => {
10142
10446
  if (!basename) {
10143
10447
  return [];
10144
10448
  }
10145
- return entries.filter(
10146
- (entry) => entry.extensions.some((extension) => matchesExtension(basename, extension))
10147
- );
10449
+ return entries.map((entry, index) => ({
10450
+ entry,
10451
+ index,
10452
+ matchLength: Math.max(
10453
+ ...entry.extensions.filter((extension) => matchesExtension(basename, extension)).map((extension) => extension.length)
10454
+ )
10455
+ })).filter(({ matchLength }) => Number.isFinite(matchLength)).sort((first, second) => second.matchLength - first.matchLength || first.index - second.index).map(({ entry }) => entry);
10148
10456
  };
10149
10457
 
10150
10458
  // src/detect.ts