code-languages 1.7.0 → 1.9.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 (102) hide show
  1. package/README.md +87 -2
  2. package/dist/api.cjs +2567 -0
  3. package/dist/api.cjs.map +1 -0
  4. package/dist/api.d.cts +1596 -0
  5. package/dist/api.d.ts +1596 -0
  6. package/dist/api.js +2565 -0
  7. package/dist/api.js.map +1 -0
  8. package/dist/detect.cjs +430 -12
  9. package/dist/detect.cjs.map +1 -1
  10. package/dist/detect.js +430 -12
  11. package/dist/detect.js.map +1 -1
  12. package/dist/index.cjs +2452 -1202
  13. package/dist/index.cjs.map +1 -1
  14. package/dist/index.d.cts +372 -0
  15. package/dist/index.d.ts +372 -0
  16. package/dist/index.js +2408 -1115
  17. package/dist/index.js.map +1 -1
  18. package/dist/languages/asp.cjs +34 -0
  19. package/dist/languages/asp.cjs.map +1 -0
  20. package/dist/languages/asp.d.cts +29 -0
  21. package/dist/languages/asp.d.ts +29 -0
  22. package/dist/languages/asp.js +32 -0
  23. package/dist/languages/asp.js.map +1 -0
  24. package/dist/languages/batch.cjs +33 -0
  25. package/dist/languages/batch.cjs.map +1 -0
  26. package/dist/languages/batch.d.cts +28 -0
  27. package/dist/languages/batch.d.ts +28 -0
  28. package/dist/languages/batch.js +31 -0
  29. package/dist/languages/batch.js.map +1 -0
  30. package/dist/languages/cuda.cjs +34 -0
  31. package/dist/languages/cuda.cjs.map +1 -0
  32. package/dist/languages/cuda.d.cts +29 -0
  33. package/dist/languages/cuda.d.ts +29 -0
  34. package/dist/languages/cuda.js +32 -0
  35. package/dist/languages/cuda.js.map +1 -0
  36. package/dist/languages/fsharp.cjs +34 -0
  37. package/dist/languages/fsharp.cjs.map +1 -0
  38. package/dist/languages/fsharp.d.cts +29 -0
  39. package/dist/languages/fsharp.d.ts +29 -0
  40. package/dist/languages/fsharp.js +32 -0
  41. package/dist/languages/fsharp.js.map +1 -0
  42. package/dist/languages/git.cjs +33 -0
  43. package/dist/languages/git.cjs.map +1 -0
  44. package/dist/languages/git.d.cts +28 -0
  45. package/dist/languages/git.d.ts +28 -0
  46. package/dist/languages/git.js +31 -0
  47. package/dist/languages/git.js.map +1 -0
  48. package/dist/languages/gradle.cjs +34 -0
  49. package/dist/languages/gradle.cjs.map +1 -0
  50. package/dist/languages/gradle.d.cts +29 -0
  51. package/dist/languages/gradle.d.ts +29 -0
  52. package/dist/languages/gradle.js +32 -0
  53. package/dist/languages/gradle.js.map +1 -0
  54. package/dist/languages/julia.cjs +34 -0
  55. package/dist/languages/julia.cjs.map +1 -0
  56. package/dist/languages/julia.d.cts +29 -0
  57. package/dist/languages/julia.d.ts +29 -0
  58. package/dist/languages/julia.js +32 -0
  59. package/dist/languages/julia.js.map +1 -0
  60. package/dist/languages/matlab.cjs +34 -0
  61. package/dist/languages/matlab.cjs.map +1 -0
  62. package/dist/languages/matlab.d.cts +29 -0
  63. package/dist/languages/matlab.d.ts +29 -0
  64. package/dist/languages/matlab.js +32 -0
  65. package/dist/languages/matlab.js.map +1 -0
  66. package/dist/languages/pascal.cjs +34 -0
  67. package/dist/languages/pascal.cjs.map +1 -0
  68. package/dist/languages/pascal.d.cts +29 -0
  69. package/dist/languages/pascal.d.ts +29 -0
  70. package/dist/languages/pascal.js +32 -0
  71. package/dist/languages/pascal.js.map +1 -0
  72. package/dist/languages/pug.cjs +34 -0
  73. package/dist/languages/pug.cjs.map +1 -0
  74. package/dist/languages/pug.d.cts +29 -0
  75. package/dist/languages/pug.d.ts +29 -0
  76. package/dist/languages/pug.js +32 -0
  77. package/dist/languages/pug.js.map +1 -0
  78. package/dist/languages/r.cjs +34 -0
  79. package/dist/languages/r.cjs.map +1 -0
  80. package/dist/languages/r.d.cts +29 -0
  81. package/dist/languages/r.d.ts +29 -0
  82. package/dist/languages/r.js +32 -0
  83. package/dist/languages/r.js.map +1 -0
  84. package/dist/languages/scala.cjs +34 -0
  85. package/dist/languages/scala.cjs.map +1 -0
  86. package/dist/languages/scala.d.cts +29 -0
  87. package/dist/languages/scala.d.ts +29 -0
  88. package/dist/languages/scala.js +32 -0
  89. package/dist/languages/scala.js.map +1 -0
  90. package/dist/languages/toml.cjs +29 -0
  91. package/dist/languages/toml.cjs.map +1 -0
  92. package/dist/languages/toml.d.cts +24 -0
  93. package/dist/languages/toml.d.ts +24 -0
  94. package/dist/languages/toml.js +27 -0
  95. package/dist/languages/toml.js.map +1 -0
  96. package/dist/languages/zig.cjs +34 -0
  97. package/dist/languages/zig.cjs.map +1 -0
  98. package/dist/languages/zig.d.cts +29 -0
  99. package/dist/languages/zig.d.ts +29 -0
  100. package/dist/languages/zig.js +32 -0
  101. package/dist/languages/zig.js.map +1 -0
  102. package/package.json +76 -1
package/dist/detect.cjs CHANGED
@@ -28,6 +28,35 @@ var abap = {
28
28
  }
29
29
  };
30
30
 
31
+ // src/languages/asp.ts
32
+ var asp = {
33
+ slug: "asp",
34
+ publishedDate: "1996-12-01",
35
+ extensions: [".asp", ".aspx", ".ascx", ".ashx", ".asmx", ".master"],
36
+ author: "Microsoft",
37
+ website: "https://learn.microsoft.com/en-us/aspnet/web-forms/",
38
+ paradigms: ["server-side", "templating", "object-oriented", "event-driven"],
39
+ tooling: {
40
+ runtimes: ["IIS", ".NET Framework"],
41
+ packageManagers: ["NuGet"],
42
+ ecosystems: ["Windows", ".NET", "Web"]
43
+ },
44
+ version: "4.8.1",
45
+ logo: "https://cdn.simpleicons.org/dotnet/512BD4",
46
+ i18n: {
47
+ en: {
48
+ name: "ASP/ASPX",
49
+ description: "Microsoft server-side web templates and pages for Classic ASP and ASP.NET Web Forms.",
50
+ longDescription: "ASP and ASPX files represent Microsoft server-side web page technologies. Classic ASP uses `.asp` files with script blocks, while ASP.NET Web Forms uses `.aspx`, user controls, handlers, services, and master pages on top of the .NET Framework.\n\nThey are commonly found in legacy and long-lived Windows web applications hosted on IIS, often alongside C#, Visual Basic, HTML, CSS, JavaScript, and NuGet-based .NET Framework dependencies."
51
+ },
52
+ es: {
53
+ name: "ASP/ASPX",
54
+ description: "Plantillas y paginas web server-side de Microsoft para Classic ASP y ASP.NET Web Forms.",
55
+ longDescription: "Los archivos ASP y ASPX representan tecnologias de paginas web server-side de Microsoft. Classic ASP usa archivos `.asp` con bloques de script, mientras ASP.NET Web Forms usa `.aspx`, controles de usuario, handlers, servicios y paginas maestras sobre .NET Framework.\n\nAparecen comunmente en aplicaciones web Windows legacy o de larga vida alojadas en IIS, a menudo junto con C#, Visual Basic, HTML, CSS, JavaScript y dependencias .NET Framework basadas en NuGet."
56
+ }
57
+ }
58
+ };
59
+
31
60
  // src/languages/assembly.ts
32
61
  var assembly = {
33
62
  slug: "assembly",
@@ -115,6 +144,34 @@ var bash = {
115
144
  }
116
145
  };
117
146
 
147
+ // src/languages/batch.ts
148
+ var batch = {
149
+ slug: "batch",
150
+ publishedDate: "1981-08-12",
151
+ extensions: [".bat", ".cmd"],
152
+ author: "Microsoft / IBM",
153
+ website: "https://learn.microsoft.com/windows-server/administration/windows-commands/windows-commands",
154
+ paradigms: ["command", "imperative", "scripting", "shell"],
155
+ tooling: {
156
+ runtimes: ["Command Prompt", "cmd.exe", "MS-DOS"],
157
+ ecosystems: ["Windows", "DOS", "Automation"]
158
+ },
159
+ version: "Windows Command Processor",
160
+ logo: "https://icons.iconarchive.com/icons/simpleicons-team/simple/128/windowsterminal-icon.png",
161
+ i18n: {
162
+ en: {
163
+ name: "Batch",
164
+ description: "A Windows command scripting format used to automate command-line tasks with cmd.exe.",
165
+ longDescription: "Batch files contain commands interpreted by the Windows Command Processor, including command invocation, variables, labels, conditionals, loops, argument handling, and process control.\n\nThey are used for Windows setup scripts, developer shortcuts, administrative automation, legacy DOS workflows, and simple command-line task orchestration on Windows systems."
166
+ },
167
+ es: {
168
+ name: "Batch",
169
+ description: "Un formato de scripting de comandos de Windows usado para automatizar tareas con cmd.exe.",
170
+ longDescription: "Los archivos Batch contienen comandos interpretados por Windows Command Processor, incluyendo invocacion de comandos, variables, etiquetas, condicionales, bucles, manejo de argumentos y control de procesos.\n\nSe usan para scripts de configuracion en Windows, accesos rapidos de desarrollo, automatizacion administrativa, flujos legacy de DOS y orquestacion simple de tareas de linea de comandos en sistemas Windows."
171
+ }
172
+ }
173
+ };
174
+
118
175
  // src/languages/c.ts
119
176
  var c = {
120
177
  slug: "c",
@@ -311,6 +368,35 @@ var css = {
311
368
  }
312
369
  };
313
370
 
371
+ // src/languages/cuda.ts
372
+ var cuda = {
373
+ slug: "cuda",
374
+ publishedDate: "2007-02-15",
375
+ extensions: [".cu", ".cuh"],
376
+ author: "NVIDIA",
377
+ website: "https://developer.nvidia.com/cuda-toolkit",
378
+ paradigms: ["parallel", "data-parallel", "systems", "heterogeneous-computing"],
379
+ tooling: {
380
+ runtimes: ["CUDA Runtime", "CUDA Driver API"],
381
+ packageManagers: ["CUDA Toolkit", "conda"],
382
+ ecosystems: ["GPU Computing", "HPC", "Machine Learning", "Scientific Computing"]
383
+ },
384
+ version: "13.2.1",
385
+ logo: "https://cdn.simpleicons.org/nvidia/76B900",
386
+ i18n: {
387
+ en: {
388
+ name: "CUDA",
389
+ description: "NVIDIA's GPU programming platform and C/C++ extensions for parallel computing.",
390
+ longDescription: "CUDA is NVIDIA's parallel computing platform and programming model for GPU-accelerated applications. CUDA C/C++ source files use extensions for kernels, device functions, memory spaces, grids, blocks, and threads that execute on NVIDIA GPUs.\n\nIt is used in machine learning, scientific computing, simulations, image processing, rendering, high-performance computing, and applications that need to offload massively parallel workloads to GPU hardware."
391
+ },
392
+ es: {
393
+ name: "CUDA",
394
+ description: "La plataforma GPU de NVIDIA y extensiones C/C++ para computacion paralela.",
395
+ longDescription: "CUDA es la plataforma de computacion paralela y modelo de programacion de NVIDIA para aplicaciones aceleradas por GPU. Los archivos CUDA C/C++ usan extensiones para kernels, funciones de dispositivo, espacios de memoria, grids, blocks y threads que se ejecutan en GPUs NVIDIA.\n\nSe usa en machine learning, computacion cientifica, simulaciones, procesamiento de imagenes, rendering, computacion de alto rendimiento y aplicaciones que necesitan descargar cargas masivamente paralelas al hardware GPU."
396
+ }
397
+ }
398
+ };
399
+
314
400
  // src/languages/dart.ts
315
401
  var dart = {
316
402
  slug: "dart",
@@ -368,6 +454,63 @@ var dockerfile = {
368
454
  }
369
455
  };
370
456
 
457
+ // src/languages/fsharp.ts
458
+ var fsharp = {
459
+ slug: "fsharp",
460
+ publishedDate: "2005-05-01",
461
+ extensions: [".fs", ".fsi", ".fsx", ".fsscript"],
462
+ author: "Don Syme / Microsoft Research",
463
+ website: "https://dotnet.microsoft.com/en-us/languages/fsharp",
464
+ paradigms: ["functional", "object-oriented", "imperative", "scripting"],
465
+ tooling: {
466
+ runtimes: [".NET", "F# Interactive"],
467
+ packageManagers: ["NuGet"],
468
+ ecosystems: [".NET", "Data Science", "Web", "Cloud"]
469
+ },
470
+ version: "10",
471
+ logo: "https://cdn.simpleicons.org/fsharp/378BBA",
472
+ i18n: {
473
+ en: {
474
+ name: "F#",
475
+ description: "A succinct, functional-first .NET language for robust applications, scripts, and data workflows.",
476
+ longDescription: "F# is a functional-first programming language in the .NET ecosystem. It combines type inference, immutable data by default, pattern matching, discriminated unions, computation expressions, and interoperability with C# and other .NET languages.\n\nIt is used for backend services, data processing, scripting, domain modeling, financial systems, cloud applications, and teams that want concise code with strong static typing and access to the broader .NET platform."
477
+ },
478
+ es: {
479
+ name: "F#",
480
+ description: "Un lenguaje .NET conciso y funcional para aplicaciones robustas, scripts y flujos de datos.",
481
+ longDescription: "F# es un lenguaje de programacion funcional-first dentro del ecosistema .NET. Combina inferencia de tipos, datos inmutables por defecto, pattern matching, uniones discriminadas, computation expressions e interoperabilidad con C# y otros lenguajes .NET.\n\nSe usa en servicios backend, procesamiento de datos, scripting, modelado de dominios, sistemas financieros, aplicaciones cloud y equipos que quieren codigo conciso con tipado estatico fuerte y acceso a la plataforma .NET."
482
+ }
483
+ }
484
+ };
485
+
486
+ // src/languages/git.ts
487
+ var git = {
488
+ slug: "git",
489
+ publishedDate: "2005-04-07",
490
+ extensions: [".git", ".gitignore", ".gitattributes", ".gitmodules", ".gitkeep"],
491
+ author: "Linus Torvalds / Junio C Hamano",
492
+ website: "https://git-scm.com",
493
+ paradigms: ["configuration", "version-control", "ignore-patterns"],
494
+ tooling: {
495
+ runtimes: ["Git"],
496
+ ecosystems: ["Version Control", "DevOps", "Source Control"]
497
+ },
498
+ version: "2.54.0",
499
+ logo: "https://cdn.simpleicons.org/git/F05032",
500
+ i18n: {
501
+ en: {
502
+ name: "Git",
503
+ description: "Metadata and configuration files used by Git repositories and version-control workflows.",
504
+ longDescription: "Git-related files define repository ignore rules, attributes, submodules, local configuration, placeholders, and repository metadata used by Git tooling.\n\nThey are used in software projects to control which files are tracked, how paths are treated, how submodules are linked, and how repository-specific automation or conventions behave."
505
+ },
506
+ es: {
507
+ name: "Git",
508
+ description: "Archivos de metadata y configuracion usados por repositorios Git y flujos de control de versiones.",
509
+ longDescription: "Los archivos relacionados con Git definen reglas de ignorado, atributos, submodulos, configuracion local, placeholders y metadata de repositorio usada por herramientas Git.\n\nSe usan en proyectos de software para controlar que archivos se versionan, como se tratan las rutas, como se enlazan submodulos y como se comportan automatizaciones o convenciones especificas del repositorio."
510
+ }
511
+ }
512
+ };
513
+
371
514
  // src/languages/go.ts
372
515
  var go = {
373
516
  slug: "go",
@@ -397,6 +540,35 @@ var go = {
397
540
  }
398
541
  };
399
542
 
543
+ // src/languages/gradle.ts
544
+ var gradle = {
545
+ slug: "gradle",
546
+ publishedDate: "2007-07-01",
547
+ extensions: [".gradle", ".gradle.kts"],
548
+ author: "Hans Dockter / Gradle Inc.",
549
+ website: "https://gradle.org",
550
+ paradigms: ["build-automation", "declarative", "imperative", "configuration"],
551
+ tooling: {
552
+ runtimes: ["JVM", "Gradle"],
553
+ packageManagers: ["Gradle"],
554
+ ecosystems: ["JVM", "Android", "Java", "Kotlin", "Groovy"]
555
+ },
556
+ version: "9.5.0",
557
+ logo: "https://cdn.simpleicons.org/gradle/02303A",
558
+ i18n: {
559
+ en: {
560
+ name: "Gradle",
561
+ description: "A build automation DSL and tool used to define, configure, and run software builds.",
562
+ longDescription: "Gradle build scripts define projects, plugins, dependencies, repositories, tasks, test suites, publishing rules, and multi-project build logic using Groovy DSL or Kotlin DSL files.\n\nIt is widely used in Java, Kotlin, Android, JVM, and polyglot projects that need reproducible builds, dependency management, custom automation, and integration with CI/CD pipelines."
563
+ },
564
+ es: {
565
+ name: "Gradle",
566
+ description: "Un DSL y herramienta de automatizacion de builds usado para definir, configurar y ejecutar builds.",
567
+ longDescription: "Los scripts de build de Gradle definen proyectos, plugins, dependencias, repositorios, tareas, suites de prueba, reglas de publicacion y logica de builds multiproyecto usando archivos Groovy DSL o Kotlin DSL.\n\nSe usa ampliamente en proyectos Java, Kotlin, Android, JVM y poliglotas que necesitan builds reproducibles, gestion de dependencias, automatizacion personalizada e integracion con pipelines CI/CD."
568
+ }
569
+ }
570
+ };
571
+
400
572
  // src/languages/graphql.ts
401
573
  var graphql = {
402
574
  slug: "graphql",
@@ -561,6 +733,35 @@ var json = {
561
733
  }
562
734
  };
563
735
 
736
+ // src/languages/julia.ts
737
+ var julia = {
738
+ slug: "julia",
739
+ publishedDate: "2012-02-14",
740
+ extensions: [".jl"],
741
+ author: "Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman",
742
+ website: "https://julialang.org",
743
+ paradigms: ["multiple-dispatch", "functional", "imperative", "metaprogramming"],
744
+ tooling: {
745
+ runtimes: ["Julia"],
746
+ packageManagers: ["Pkg"],
747
+ ecosystems: ["Scientific Computing", "Data Science", "Machine Learning", "HPC"]
748
+ },
749
+ version: "1.12.6",
750
+ logo: "https://cdn.simpleicons.org/julia/9558B2",
751
+ i18n: {
752
+ en: {
753
+ name: "Julia",
754
+ description: "A high-performance language for technical computing, data science, and numerical work.",
755
+ longDescription: "Julia is a high-level, high-performance programming language designed for numerical and scientific computing. It combines dynamic interactivity with just-in-time compilation, multiple dispatch, metaprogramming, and a package ecosystem focused on technical work.\n\nIt is widely used for scientific computing, data analysis, machine learning, optimization, simulations, high-performance computing, and workflows where teams want expressive code that can run close to native speed."
756
+ },
757
+ es: {
758
+ name: "Julia",
759
+ description: "Un lenguaje de alto rendimiento para computacion tecnica, ciencia de datos y trabajo numerico.",
760
+ longDescription: "Julia es un lenguaje de programacion de alto nivel y alto rendimiento disenado para computacion numerica y cientifica. Combina interactividad dinamica con compilacion just-in-time, multiple dispatch, metaprogramacion y un ecosistema de paquetes enfocado en trabajo tecnico.\n\nSe usa ampliamente en computacion cientifica, analisis de datos, machine learning, optimizacion, simulaciones, computacion de alto rendimiento y flujos donde los equipos quieren codigo expresivo que pueda ejecutarse cerca de velocidad nativa."
761
+ }
762
+ }
763
+ };
764
+
564
765
  // src/languages/kotlin.ts
565
766
  var kotlin = {
566
767
  slug: "kotlin",
@@ -700,6 +901,35 @@ var markdown = {
700
901
  }
701
902
  };
702
903
 
904
+ // src/languages/matlab.ts
905
+ var matlab = {
906
+ slug: "matlab",
907
+ publishedDate: "1984-01-01",
908
+ extensions: [".m", ".mlx"],
909
+ author: "MathWorks",
910
+ website: "https://www.mathworks.com/products/matlab.html",
911
+ paradigms: ["array-oriented", "imperative", "object-oriented", "procedural"],
912
+ tooling: {
913
+ runtimes: ["MATLAB"],
914
+ packageManagers: ["MATLAB Add-On Explorer"],
915
+ ecosystems: ["Scientific Computing", "Numerical Computing", "Engineering", "Simulink"]
916
+ },
917
+ version: "R2026a",
918
+ logo: "https://commons.wikimedia.org/wiki/Special:FilePath/Matlab_Logo.png",
919
+ i18n: {
920
+ en: {
921
+ name: "MATLAB",
922
+ description: "A matrix-oriented language and environment for engineering, science, data, and simulation.",
923
+ longDescription: "MATLAB is a programming language and numerical computing environment from MathWorks. It is centered on matrix and array operations, interactive analysis, visualization, algorithm development, and workflows for engineers and scientists.\n\nIt is commonly used for signal processing, control systems, robotics, data analysis, optimization, simulation, education, and model-based design alongside Simulink and MathWorks toolboxes."
924
+ },
925
+ es: {
926
+ name: "MATLAB",
927
+ description: "Un lenguaje y entorno orientado a matrices para ingenieria, ciencia, datos y simulacion.",
928
+ longDescription: "MATLAB es un lenguaje de programacion y entorno de computacion numerica de MathWorks. Esta centrado en operaciones con matrices y arreglos, analisis interactivo, visualizacion, desarrollo de algoritmos y flujos de trabajo para ingenieros y cientificos.\n\nSe usa comunmente en procesamiento de senales, sistemas de control, robotica, analisis de datos, optimizacion, simulacion, educacion y diseno basado en modelos junto con Simulink y las toolboxes de MathWorks."
929
+ }
930
+ }
931
+ };
932
+
703
933
  // src/languages/nginx.ts
704
934
  var nginx = {
705
935
  slug: "nginx",
@@ -757,6 +987,35 @@ var objectiveC = {
757
987
  }
758
988
  };
759
989
 
990
+ // src/languages/pascal.ts
991
+ var pascal = {
992
+ slug: "pascal",
993
+ publishedDate: "1970-01-01",
994
+ extensions: [".pas", ".pp", ".inc", ".lpr", ".dpr", ".dfm"],
995
+ author: "Niklaus Wirth",
996
+ website: "https://www.freepascal.org",
997
+ paradigms: ["structured", "imperative", "procedural", "object-oriented"],
998
+ tooling: {
999
+ runtimes: ["Free Pascal", "Delphi Runtime"],
1000
+ packageManagers: ["fppkg", "OPM"],
1001
+ ecosystems: ["Desktop", "Education", "Embedded", "Cross-platform Native"]
1002
+ },
1003
+ version: "3.2.2",
1004
+ logo: "https://cdn.simpleicons.org/lazarus/000000",
1005
+ i18n: {
1006
+ en: {
1007
+ name: "Pascal",
1008
+ description: "A structured programming language and Object Pascal family used for native applications.",
1009
+ longDescription: "Pascal is a structured programming language created by Niklaus Wirth and later expanded through Object Pascal dialects such as Delphi and Free Pascal. It emphasizes readable syntax, clear program structure, strong typing, procedures, records, units, and native compilation.\n\nIt is used in education, desktop software, cross-platform native applications, embedded systems, legacy business tools, and Lazarus or Delphi projects that rely on Pascal and Object Pascal source files."
1010
+ },
1011
+ es: {
1012
+ name: "Pascal",
1013
+ description: "Un lenguaje estructurado y familia Object Pascal usado para aplicaciones nativas.",
1014
+ longDescription: "Pascal es un lenguaje de programacion estructurada creado por Niklaus Wirth y luego expandido mediante dialectos Object Pascal como Delphi y Free Pascal. Enfatiza sintaxis legible, estructura clara, tipado fuerte, procedimientos, records, units y compilacion nativa.\n\nSe usa en educacion, software de escritorio, aplicaciones nativas multiplataforma, sistemas embebidos, herramientas legacy de negocio y proyectos Lazarus o Delphi basados en archivos fuente Pascal y Object Pascal."
1015
+ }
1016
+ }
1017
+ };
1018
+
760
1019
  // src/languages/php.ts
761
1020
  var php = {
762
1021
  slug: "php",
@@ -815,6 +1074,35 @@ var powershell = {
815
1074
  }
816
1075
  };
817
1076
 
1077
+ // src/languages/pug.ts
1078
+ var pug = {
1079
+ slug: "pug",
1080
+ publishedDate: "2010-06-01",
1081
+ extensions: [".pug", ".jade"],
1082
+ author: "TJ Holowaychuk / Pug contributors",
1083
+ website: "https://pugjs.org",
1084
+ paradigms: ["declarative", "templating", "markup"],
1085
+ tooling: {
1086
+ runtimes: ["Node.js", "Browser"],
1087
+ packageManagers: ["npm", "pnpm", "Yarn"],
1088
+ ecosystems: ["Web", "Node.js"]
1089
+ },
1090
+ version: "3.0.3",
1091
+ logo: "https://cdn.simpleicons.org/pug/A86454",
1092
+ i18n: {
1093
+ en: {
1094
+ name: "Pug",
1095
+ description: "A whitespace-sensitive template language for generating HTML in Node.js and browsers.",
1096
+ longDescription: "Pug is a high-performance template language for writing HTML with concise, indentation-based syntax. It was formerly known as Jade and is commonly used to generate HTML from reusable templates, layouts, includes, mixins, and JavaScript expressions.\n\nIt is used in Node.js web applications, static site workflows, component prototypes, email templates, and build pipelines where teams want compact templates that compile to HTML."
1097
+ },
1098
+ es: {
1099
+ name: "Pug",
1100
+ description: "Un lenguaje de plantillas sensible a espacios para generar HTML en Node.js y navegadores.",
1101
+ longDescription: "Pug es un lenguaje de plantillas de alto rendimiento para escribir HTML con una sintaxis concisa basada en indentacion. Antes se llamaba Jade y se usa comunmente para generar HTML desde plantillas reutilizables, layouts, includes, mixins y expresiones JavaScript.\n\nSe usa en aplicaciones web con Node.js, flujos de sitios estaticos, prototipos de componentes, plantillas de email y pipelines de build donde los equipos quieren plantillas compactas que compilan a HTML."
1102
+ }
1103
+ }
1104
+ };
1105
+
818
1106
  // src/languages/python.ts
819
1107
  var python = {
820
1108
  slug: "python",
@@ -844,6 +1132,35 @@ var python = {
844
1132
  }
845
1133
  };
846
1134
 
1135
+ // src/languages/r.ts
1136
+ var r = {
1137
+ slug: "r",
1138
+ publishedDate: "1993-08-01",
1139
+ extensions: [".r", ".R", ".rmd", ".Rmd", ".qmd", ".Rprofile"],
1140
+ author: "Ross Ihaka, Robert Gentleman / R Core Team",
1141
+ website: "https://www.r-project.org",
1142
+ paradigms: ["functional", "array-oriented", "object-oriented", "statistical"],
1143
+ tooling: {
1144
+ runtimes: ["R"],
1145
+ packageManagers: ["CRAN", "renv", "pak"],
1146
+ ecosystems: ["Statistics", "Data Science", "Visualization", "Scientific Computing"]
1147
+ },
1148
+ version: "4.6.0",
1149
+ logo: "https://www.r-project.org/logo/Rlogo.svg",
1150
+ i18n: {
1151
+ en: {
1152
+ name: "R",
1153
+ description: "A statistical computing language and environment for data analysis, graphics, and research.",
1154
+ longDescription: "R is a programming language and software environment for statistical computing, data analysis, graphics, and reproducible research. It provides vectorized operations, data frames, formulas, packages, interactive workflows, and a large ecosystem centered around CRAN.\n\nIt is widely used in statistics, bioinformatics, data science, academic research, visualization, reporting, modeling, and analytical workflows that combine code, data, plots, and narrative documents."
1155
+ },
1156
+ es: {
1157
+ name: "R",
1158
+ description: "Un lenguaje y entorno de computacion estadistica para analisis de datos, graficos e investigacion.",
1159
+ longDescription: "R es un lenguaje de programacion y entorno de software para computacion estadistica, analisis de datos, graficos e investigacion reproducible. Ofrece operaciones vectorizadas, data frames, formulas, paquetes, flujos interactivos y un ecosistema amplio centrado en CRAN.\n\nSe usa ampliamente en estadistica, bioinformatica, ciencia de datos, investigacion academica, visualizacion, reportes, modelado y flujos analiticos que combinan codigo, datos, graficos y documentos narrativos."
1160
+ }
1161
+ }
1162
+ };
1163
+
847
1164
  // src/languages/ruby.ts
848
1165
  var ruby = {
849
1166
  slug: "ruby",
@@ -902,6 +1219,35 @@ var rust = {
902
1219
  }
903
1220
  };
904
1221
 
1222
+ // src/languages/scala.ts
1223
+ var scala = {
1224
+ slug: "scala",
1225
+ publishedDate: "2004-01-20",
1226
+ extensions: [".scala", ".sc"],
1227
+ author: "Martin Odersky / EPFL",
1228
+ website: "https://www.scala-lang.org",
1229
+ paradigms: ["object-oriented", "functional", "statically-typed", "concurrent"],
1230
+ tooling: {
1231
+ runtimes: ["JVM", "Scala.js", "Scala Native"],
1232
+ packageManagers: ["sbt", "Maven", "Gradle", "Scala CLI"],
1233
+ ecosystems: ["JVM", "Web", "Data Engineering", "Distributed Systems"]
1234
+ },
1235
+ version: "3.7.4",
1236
+ logo: "https://cdn.simpleicons.org/scala/DC322F",
1237
+ i18n: {
1238
+ en: {
1239
+ name: "Scala",
1240
+ description: "A JVM language that blends object-oriented and functional programming with strong static typing.",
1241
+ longDescription: "Scala is a general-purpose programming language that combines object-oriented and functional programming on the JVM. It includes strong static typing, type inference, pattern matching, higher-order functions, traits, implicits or givens, and interoperability with Java libraries.\n\nIt is used for backend services, data engineering, distributed systems, streaming pipelines, domain modeling, and applications that benefit from expressive abstractions while staying connected to the JVM ecosystem."
1242
+ },
1243
+ es: {
1244
+ name: "Scala",
1245
+ description: "Un lenguaje JVM que combina programacion orientada a objetos y funcional con tipado estatico fuerte.",
1246
+ longDescription: "Scala es un lenguaje de programacion de proposito general que combina programacion orientada a objetos y funcional sobre la JVM. Incluye tipado estatico fuerte, inferencia de tipos, pattern matching, funciones de orden superior, traits, implicits o givens e interoperabilidad con bibliotecas Java.\n\nSe usa en servicios backend, ingenieria de datos, sistemas distribuidos, pipelines de streaming, modelado de dominios y aplicaciones que aprovechan abstracciones expresivas sin salir del ecosistema JVM."
1247
+ }
1248
+ }
1249
+ };
1250
+
905
1251
  // src/languages/scss.ts
906
1252
  var scss = {
907
1253
  slug: "scss",
@@ -1041,6 +1387,30 @@ var swift = {
1041
1387
  }
1042
1388
  };
1043
1389
 
1390
+ // src/languages/toml.ts
1391
+ var toml = {
1392
+ slug: "toml",
1393
+ publishedDate: "2013-02-23",
1394
+ extensions: [".toml"],
1395
+ author: "Tom Preston-Werner / TOML contributors",
1396
+ website: "https://toml.io",
1397
+ paradigms: ["configuration", "declarative", "data-serialization"],
1398
+ version: "1.0.0",
1399
+ logo: "https://cdn.simpleicons.org/toml/9C4221",
1400
+ i18n: {
1401
+ en: {
1402
+ name: "TOML",
1403
+ description: "A minimal, human-readable configuration format that maps clearly to data structures.",
1404
+ longDescription: "TOML is a configuration file format designed to be easy for humans to read and write while mapping unambiguously to data structures such as hash tables. It supports key-value pairs, tables, arrays, strings, numbers, booleans, and date-time values.\n\nIt is used for project configuration, package manifests, build settings, tool configuration, infrastructure metadata, and applications that need concise structured data without the visual noise of more verbose formats."
1405
+ },
1406
+ es: {
1407
+ name: "TOML",
1408
+ description: "Un formato de configuracion minimo y legible que mapea claramente a estructuras de datos.",
1409
+ longDescription: "TOML es un formato de archivos de configuracion disenado para ser facil de leer y escribir por humanos mientras mapea sin ambiguedad a estructuras de datos como tablas hash. Soporta pares clave-valor, tablas, arreglos, strings, numeros, booleanos y valores de fecha y hora.\n\nSe usa en configuracion de proyectos, manifiestos de paquetes, ajustes de build, configuracion de herramientas, metadata de infraestructura y aplicaciones que necesitan datos estructurados concisos sin el ruido visual de formatos mas verbosos."
1410
+ }
1411
+ }
1412
+ };
1413
+
1044
1414
  // src/languages/typescript.ts
1045
1415
  var typescript = {
1046
1416
  slug: "typescript",
@@ -1205,6 +1575,35 @@ var yaml = {
1205
1575
  }
1206
1576
  };
1207
1577
 
1578
+ // src/languages/zig.ts
1579
+ var zig = {
1580
+ slug: "zig",
1581
+ publishedDate: "2016-02-08",
1582
+ extensions: [".zig", ".zon"],
1583
+ author: "Andrew Kelley / Zig Software Foundation",
1584
+ website: "https://ziglang.org",
1585
+ paradigms: ["imperative", "procedural", "systems", "compile-time metaprogramming"],
1586
+ tooling: {
1587
+ runtimes: ["Native"],
1588
+ packageManagers: ["Zig Package Manager"],
1589
+ ecosystems: ["Systems Programming", "Embedded", "Game Development", "Cross-compilation"]
1590
+ },
1591
+ version: "0.16.0",
1592
+ logo: "https://cdn.simpleicons.org/zig/F7A41D",
1593
+ i18n: {
1594
+ en: {
1595
+ name: "Zig",
1596
+ description: "A systems programming language and toolchain focused on robustness, control, and cross-compilation.",
1597
+ longDescription: "Zig is a general-purpose systems programming language and toolchain designed for explicit control, predictable performance, cross-compilation, and maintaining robust software. It provides manual memory management, comptime execution, error unions, integrated build tooling, and C interoperability.\n\nIt is used for systems software, embedded targets, command-line tools, game engines, low-level libraries, cross-platform native applications, and projects that need a compact language with strong compile-time capabilities."
1598
+ },
1599
+ es: {
1600
+ name: "Zig",
1601
+ description: "Un lenguaje y toolchain de sistemas enfocado en robustez, control y cross-compilation.",
1602
+ longDescription: "Zig es un lenguaje de programacion de sistemas y toolchain de proposito general disenado para control explicito, rendimiento predecible, cross-compilation y mantenimiento de software robusto. Ofrece gestion manual de memoria, ejecucion comptime, uniones de error, tooling de build integrado e interoperabilidad con C.\n\nSe usa en software de sistemas, targets embebidos, herramientas de linea de comandos, motores de juegos, bibliotecas de bajo nivel, aplicaciones nativas multiplataforma y proyectos que necesitan un lenguaje compacto con capacidades fuertes de compilacion en tiempo de build."
1603
+ }
1604
+ }
1605
+ };
1606
+
1208
1607
  // src/languages/zsh.ts
1209
1608
  var zsh = {
1210
1609
  slug: "zsh",
@@ -1237,9 +1636,11 @@ var zsh = {
1237
1636
  // src/catalog.ts
1238
1637
  var languages = [
1239
1638
  abap,
1639
+ asp,
1240
1640
  astro,
1241
1641
  assembly,
1242
1642
  bash,
1643
+ batch,
1243
1644
  c,
1244
1645
  cmake,
1245
1646
  coffeescript,
@@ -1247,54 +1648,56 @@ var languages = [
1247
1648
  cpp,
1248
1649
  csharp,
1249
1650
  css,
1651
+ cuda,
1250
1652
  dart,
1251
1653
  dockerfile,
1654
+ fsharp,
1655
+ git,
1252
1656
  go,
1657
+ gradle,
1253
1658
  graphql,
1254
1659
  groovy,
1255
1660
  html,
1256
1661
  java,
1257
1662
  javascript,
1258
1663
  json,
1664
+ julia,
1259
1665
  kotlin,
1260
1666
  less,
1261
1667
  lua,
1262
1668
  makefile,
1669
+ matlab,
1263
1670
  markdown,
1264
1671
  nginx,
1265
1672
  objectiveC,
1673
+ pascal,
1266
1674
  php,
1267
1675
  powershell,
1676
+ pug,
1268
1677
  python,
1678
+ r,
1269
1679
  ruby,
1270
1680
  rust,
1681
+ scala,
1271
1682
  scss,
1272
1683
  sql,
1273
1684
  svg,
1274
1685
  svelte,
1275
1686
  swift,
1687
+ toml,
1276
1688
  typescript,
1277
1689
  visualBasic,
1278
1690
  vue,
1279
1691
  webassembly,
1280
1692
  xml,
1281
1693
  yaml,
1694
+ zig,
1282
1695
  zsh
1283
1696
  ];
1284
1697
 
1285
- // src/detect.ts
1698
+ // src/match.ts
1286
1699
  var pathSegmentPattern = /[/\\]/;
1287
- var detectLanguages = (filename) => {
1288
- const normalizedFilename = filename.trim();
1289
- if (!normalizedFilename) {
1290
- return [];
1291
- }
1292
- const basename = normalizedFilename.split(pathSegmentPattern).at(-1)?.toLowerCase() ?? "";
1293
- return languages.filter(
1294
- (language) => language.extensions.some((extension) => matchesExtension(basename, extension))
1295
- );
1296
- };
1297
- var detectLanguage = (filename) => detectLanguages(filename).at(0);
1700
+ var getBasename = (filename) => filename.trim().split(pathSegmentPattern).at(-1)?.toLowerCase() ?? "";
1298
1701
  var matchesExtension = (basename, extension) => {
1299
1702
  const normalizedExtension = extension.toLowerCase();
1300
1703
  if (normalizedExtension.startsWith(".")) {
@@ -1302,6 +1705,21 @@ var matchesExtension = (basename, extension) => {
1302
1705
  }
1303
1706
  return basename === normalizedExtension || basename.endsWith(`.${normalizedExtension}`);
1304
1707
  };
1708
+ var detectMatchingEntries = (entries, filename) => {
1709
+ const basename = getBasename(filename);
1710
+ if (!basename) {
1711
+ return [];
1712
+ }
1713
+ return entries.filter(
1714
+ (entry) => entry.extensions.some((extension) => matchesExtension(basename, extension))
1715
+ );
1716
+ };
1717
+
1718
+ // src/detect.ts
1719
+ var detectLanguages = (filename) => {
1720
+ return detectMatchingEntries(languages, filename);
1721
+ };
1722
+ var detectLanguage = (filename) => detectLanguages(filename).at(0);
1305
1723
 
1306
1724
  exports.detectLanguage = detectLanguage;
1307
1725
  exports.detectLanguages = detectLanguages;