code-languages 1.6.0 → 1.8.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 (114) hide show
  1. package/README.md +103 -2
  2. package/dist/api.cjs +2443 -0
  3. package/dist/api.cjs.map +1 -0
  4. package/dist/api.d.cts +1517 -0
  5. package/dist/api.d.ts +1517 -0
  6. package/dist/api.js +2441 -0
  7. package/dist/api.js.map +1 -0
  8. package/dist/detect.cjs +490 -12
  9. package/dist/detect.cjs.map +1 -1
  10. package/dist/detect.js +490 -12
  11. package/dist/detect.js.map +1 -1
  12. package/dist/index.cjs +2340 -1064
  13. package/dist/index.cjs.map +1 -1
  14. package/dist/index.d.cts +426 -0
  15. package/dist/index.d.ts +426 -0
  16. package/dist/index.js +2301 -987
  17. package/dist/index.js.map +1 -1
  18. package/dist/languages/abap.cjs +33 -0
  19. package/dist/languages/abap.cjs.map +1 -0
  20. package/dist/languages/abap.d.cts +28 -0
  21. package/dist/languages/abap.d.ts +28 -0
  22. package/dist/languages/abap.js +31 -0
  23. package/dist/languages/abap.js.map +1 -0
  24. package/dist/languages/asp.cjs +34 -0
  25. package/dist/languages/asp.cjs.map +1 -0
  26. package/dist/languages/asp.d.cts +29 -0
  27. package/dist/languages/asp.d.ts +29 -0
  28. package/dist/languages/asp.js +32 -0
  29. package/dist/languages/asp.js.map +1 -0
  30. package/dist/languages/cmake.cjs +33 -0
  31. package/dist/languages/cmake.cjs.map +1 -0
  32. package/dist/languages/cmake.d.cts +28 -0
  33. package/dist/languages/cmake.d.ts +28 -0
  34. package/dist/languages/cmake.js +31 -0
  35. package/dist/languages/cmake.js.map +1 -0
  36. package/dist/languages/cuda.cjs +34 -0
  37. package/dist/languages/cuda.cjs.map +1 -0
  38. package/dist/languages/cuda.d.cts +29 -0
  39. package/dist/languages/cuda.d.ts +29 -0
  40. package/dist/languages/cuda.js +32 -0
  41. package/dist/languages/cuda.js.map +1 -0
  42. package/dist/languages/fsharp.cjs +34 -0
  43. package/dist/languages/fsharp.cjs.map +1 -0
  44. package/dist/languages/fsharp.d.cts +29 -0
  45. package/dist/languages/fsharp.d.ts +29 -0
  46. package/dist/languages/fsharp.js +32 -0
  47. package/dist/languages/fsharp.js.map +1 -0
  48. package/dist/languages/julia.cjs +34 -0
  49. package/dist/languages/julia.cjs.map +1 -0
  50. package/dist/languages/julia.d.cts +29 -0
  51. package/dist/languages/julia.d.ts +29 -0
  52. package/dist/languages/julia.js +32 -0
  53. package/dist/languages/julia.js.map +1 -0
  54. package/dist/languages/lua.cjs +34 -0
  55. package/dist/languages/lua.cjs.map +1 -0
  56. package/dist/languages/lua.d.cts +29 -0
  57. package/dist/languages/lua.d.ts +29 -0
  58. package/dist/languages/lua.js +32 -0
  59. package/dist/languages/lua.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/ruby.cjs +34 -0
  85. package/dist/languages/ruby.cjs.map +1 -0
  86. package/dist/languages/ruby.d.cts +29 -0
  87. package/dist/languages/ruby.d.ts +29 -0
  88. package/dist/languages/ruby.js +32 -0
  89. package/dist/languages/ruby.js.map +1 -0
  90. package/dist/languages/scala.cjs +34 -0
  91. package/dist/languages/scala.cjs.map +1 -0
  92. package/dist/languages/scala.d.cts +29 -0
  93. package/dist/languages/scala.d.ts +29 -0
  94. package/dist/languages/scala.js +32 -0
  95. package/dist/languages/scala.js.map +1 -0
  96. package/dist/languages/svelte.cjs +34 -0
  97. package/dist/languages/svelte.cjs.map +1 -0
  98. package/dist/languages/svelte.d.cts +29 -0
  99. package/dist/languages/svelte.d.ts +29 -0
  100. package/dist/languages/svelte.js +32 -0
  101. package/dist/languages/svelte.js.map +1 -0
  102. package/dist/languages/toml.cjs +29 -0
  103. package/dist/languages/toml.cjs.map +1 -0
  104. package/dist/languages/toml.d.cts +24 -0
  105. package/dist/languages/toml.d.ts +24 -0
  106. package/dist/languages/toml.js +27 -0
  107. package/dist/languages/toml.js.map +1 -0
  108. package/dist/languages/zig.cjs +34 -0
  109. package/dist/languages/zig.cjs.map +1 -0
  110. package/dist/languages/zig.d.cts +29 -0
  111. package/dist/languages/zig.d.ts +29 -0
  112. package/dist/languages/zig.js +32 -0
  113. package/dist/languages/zig.js.map +1 -0
  114. package/package.json +86 -1
package/dist/detect.cjs CHANGED
@@ -1,5 +1,62 @@
1
1
  'use strict';
2
2
 
3
+ // src/languages/abap.ts
4
+ var abap = {
5
+ slug: "abap",
6
+ publishedDate: "1983-01-01",
7
+ extensions: [".abap"],
8
+ author: "SAP SE",
9
+ website: "https://pages.community.sap.com/topics/abap",
10
+ paradigms: ["object-oriented", "procedural", "imperative", "event-driven", "database-oriented"],
11
+ tooling: {
12
+ runtimes: ["ABAP Platform", "SAP NetWeaver AS ABAP", "SAP BTP ABAP Environment"],
13
+ ecosystems: ["SAP S/4HANA", "SAP BTP", "Enterprise Applications"]
14
+ },
15
+ version: "ABAP Platform 2025 FPS01",
16
+ logo: "https://upload.wikimedia.org/wikipedia/commons/5/59/SAP_2011_logo.svg",
17
+ i18n: {
18
+ en: {
19
+ name: "ABAP",
20
+ description: "SAP's enterprise application programming language for business systems and extensions.",
21
+ longDescription: "ABAP is SAP's programming language for implementing business logic, reports, data models, services, enhancements, and extensions in ABAP-based SAP systems.\n\nIt is widely used across SAP S/4HANA, SAP BTP ABAP Environment, classic SAP ERP systems, custom enterprise applications, RAP services, CDS models, batch processing, and integration workflows."
22
+ },
23
+ es: {
24
+ name: "ABAP",
25
+ description: "El lenguaje empresarial de SAP para sistemas de negocio y extensiones.",
26
+ longDescription: "ABAP es el lenguaje de programacion de SAP para implementar logica de negocio, reportes, modelos de datos, servicios, mejoras y extensiones en sistemas SAP basados en ABAP.\n\nSe usa ampliamente en SAP S/4HANA, SAP BTP ABAP Environment, sistemas SAP ERP clasicos, aplicaciones empresariales personalizadas, servicios RAP, modelos CDS, procesamiento batch y flujos de integracion."
27
+ }
28
+ }
29
+ };
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
+
3
60
  // src/languages/assembly.ts
4
61
  var assembly = {
5
62
  slug: "assembly",
@@ -116,6 +173,34 @@ var c = {
116
173
  }
117
174
  };
118
175
 
176
+ // src/languages/cmake.ts
177
+ var cmake = {
178
+ slug: "cmake",
179
+ publishedDate: "2000-01-01",
180
+ extensions: ["CMakeLists.txt", ".cmake"],
181
+ author: "Kitware",
182
+ website: "https://cmake.org",
183
+ paradigms: ["build-automation", "declarative", "imperative", "configuration"],
184
+ tooling: {
185
+ runtimes: ["CMake"],
186
+ ecosystems: ["C", "C++", "Fortran", "Cross-platform Builds", "Embedded Systems"]
187
+ },
188
+ version: "4.3.2",
189
+ logo: "https://cmake.org/wp-content/uploads/2023/08/CMake-Logo.svg",
190
+ i18n: {
191
+ en: {
192
+ name: "CMake",
193
+ description: "A cross-platform build system language used to configure, generate, and manage builds.",
194
+ longDescription: "CMake files describe projects, targets, dependencies, compiler options, install rules, tests, and platform-specific build behavior using a command-based scripting language.\n\nThey are widely used to generate native build files for tools such as Ninja, Make, Visual Studio, and Xcode, especially in C, C++, Fortran, embedded, scientific, and cross-platform software projects."
195
+ },
196
+ es: {
197
+ name: "CMake",
198
+ description: "Un lenguaje de build multiplataforma usado para configurar, generar y gestionar builds.",
199
+ longDescription: "Los archivos CMake describen proyectos, targets, dependencias, opciones de compilador, reglas de instalacion, tests y comportamiento de build por plataforma usando un lenguaje de scripting basado en comandos.\n\nSe usan ampliamente para generar archivos de build nativos para herramientas como Ninja, Make, Visual Studio y Xcode, especialmente en proyectos C, C++, Fortran, embebidos, cientificos y multiplataforma."
200
+ }
201
+ }
202
+ };
203
+
119
204
  // src/languages/cobol.ts
120
205
  var cobol = {
121
206
  slug: "cobol",
@@ -255,6 +340,35 @@ var css = {
255
340
  }
256
341
  };
257
342
 
343
+ // src/languages/cuda.ts
344
+ var cuda = {
345
+ slug: "cuda",
346
+ publishedDate: "2007-02-15",
347
+ extensions: [".cu", ".cuh"],
348
+ author: "NVIDIA",
349
+ website: "https://developer.nvidia.com/cuda-toolkit",
350
+ paradigms: ["parallel", "data-parallel", "systems", "heterogeneous-computing"],
351
+ tooling: {
352
+ runtimes: ["CUDA Runtime", "CUDA Driver API"],
353
+ packageManagers: ["CUDA Toolkit", "conda"],
354
+ ecosystems: ["GPU Computing", "HPC", "Machine Learning", "Scientific Computing"]
355
+ },
356
+ version: "13.2.1",
357
+ logo: "https://cdn.simpleicons.org/nvidia/76B900",
358
+ i18n: {
359
+ en: {
360
+ name: "CUDA",
361
+ description: "NVIDIA's GPU programming platform and C/C++ extensions for parallel computing.",
362
+ 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."
363
+ },
364
+ es: {
365
+ name: "CUDA",
366
+ description: "La plataforma GPU de NVIDIA y extensiones C/C++ para computacion paralela.",
367
+ 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."
368
+ }
369
+ }
370
+ };
371
+
258
372
  // src/languages/dart.ts
259
373
  var dart = {
260
374
  slug: "dart",
@@ -312,6 +426,35 @@ var dockerfile = {
312
426
  }
313
427
  };
314
428
 
429
+ // src/languages/fsharp.ts
430
+ var fsharp = {
431
+ slug: "fsharp",
432
+ publishedDate: "2005-05-01",
433
+ extensions: [".fs", ".fsi", ".fsx", ".fsscript"],
434
+ author: "Don Syme / Microsoft Research",
435
+ website: "https://dotnet.microsoft.com/en-us/languages/fsharp",
436
+ paradigms: ["functional", "object-oriented", "imperative", "scripting"],
437
+ tooling: {
438
+ runtimes: [".NET", "F# Interactive"],
439
+ packageManagers: ["NuGet"],
440
+ ecosystems: [".NET", "Data Science", "Web", "Cloud"]
441
+ },
442
+ version: "10",
443
+ logo: "https://cdn.simpleicons.org/fsharp/378BBA",
444
+ i18n: {
445
+ en: {
446
+ name: "F#",
447
+ description: "A succinct, functional-first .NET language for robust applications, scripts, and data workflows.",
448
+ 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."
449
+ },
450
+ es: {
451
+ name: "F#",
452
+ description: "Un lenguaje .NET conciso y funcional para aplicaciones robustas, scripts y flujos de datos.",
453
+ 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."
454
+ }
455
+ }
456
+ };
457
+
315
458
  // src/languages/go.ts
316
459
  var go = {
317
460
  slug: "go",
@@ -505,6 +648,35 @@ var json = {
505
648
  }
506
649
  };
507
650
 
651
+ // src/languages/julia.ts
652
+ var julia = {
653
+ slug: "julia",
654
+ publishedDate: "2012-02-14",
655
+ extensions: [".jl"],
656
+ author: "Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman",
657
+ website: "https://julialang.org",
658
+ paradigms: ["multiple-dispatch", "functional", "imperative", "metaprogramming"],
659
+ tooling: {
660
+ runtimes: ["Julia"],
661
+ packageManagers: ["Pkg"],
662
+ ecosystems: ["Scientific Computing", "Data Science", "Machine Learning", "HPC"]
663
+ },
664
+ version: "1.12.6",
665
+ logo: "https://cdn.simpleicons.org/julia/9558B2",
666
+ i18n: {
667
+ en: {
668
+ name: "Julia",
669
+ description: "A high-performance language for technical computing, data science, and numerical work.",
670
+ 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."
671
+ },
672
+ es: {
673
+ name: "Julia",
674
+ description: "Un lenguaje de alto rendimiento para computacion tecnica, ciencia de datos y trabajo numerico.",
675
+ 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."
676
+ }
677
+ }
678
+ };
679
+
508
680
  // src/languages/kotlin.ts
509
681
  var kotlin = {
510
682
  slug: "kotlin",
@@ -563,6 +735,35 @@ var less = {
563
735
  }
564
736
  };
565
737
 
738
+ // src/languages/lua.ts
739
+ var lua = {
740
+ slug: "lua",
741
+ publishedDate: "1994-07-08",
742
+ extensions: [".lua", ".rockspec"],
743
+ author: "Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes",
744
+ website: "https://www.lua.org",
745
+ paradigms: ["procedural", "functional", "object-oriented", "scripting", "embeddable"],
746
+ tooling: {
747
+ runtimes: ["Lua", "LuaJIT"],
748
+ packageManagers: ["LuaRocks"],
749
+ ecosystems: ["Game Development", "Embedded Systems", "Scripting", "Configuration"]
750
+ },
751
+ version: "5.5.0",
752
+ logo: "https://www.lua.org/images/lua-logo.gif",
753
+ i18n: {
754
+ en: {
755
+ name: "Lua",
756
+ description: "A lightweight, embeddable scripting language designed for extension and portability.",
757
+ longDescription: "Lua is a small, fast scripting language with tables, first-class functions, closures, coroutines, metatables, dynamic typing, and a compact C API for embedding and extension.\n\nIt is widely used in game engines, embedded systems, application scripting, configuration files, plugins, network tools, Redis scripts, Neovim configuration, and products that need a portable extension language."
758
+ },
759
+ es: {
760
+ name: "Lua",
761
+ description: "Un lenguaje de scripting liviano y embebible disenado para extension y portabilidad.",
762
+ longDescription: "Lua es un lenguaje de scripting pequeno y rapido con tablas, funciones de primera clase, closures, corutinas, metatables, tipado dinamico y una API C compacta para embedding y extension.\n\nSe usa ampliamente en motores de videojuegos, sistemas embebidos, scripting de aplicaciones, archivos de configuracion, plugins, herramientas de red, scripts de Redis, configuracion de Neovim y productos que necesitan un lenguaje de extension portable."
763
+ }
764
+ }
765
+ };
766
+
566
767
  // src/languages/makefile.ts
567
768
  var makefile = {
568
769
  slug: "makefile",
@@ -615,6 +816,35 @@ var markdown = {
615
816
  }
616
817
  };
617
818
 
819
+ // src/languages/matlab.ts
820
+ var matlab = {
821
+ slug: "matlab",
822
+ publishedDate: "1984-01-01",
823
+ extensions: [".m", ".mlx"],
824
+ author: "MathWorks",
825
+ website: "https://www.mathworks.com/products/matlab.html",
826
+ paradigms: ["array-oriented", "imperative", "object-oriented", "procedural"],
827
+ tooling: {
828
+ runtimes: ["MATLAB"],
829
+ packageManagers: ["MATLAB Add-On Explorer"],
830
+ ecosystems: ["Scientific Computing", "Numerical Computing", "Engineering", "Simulink"]
831
+ },
832
+ version: "R2026a",
833
+ logo: "https://commons.wikimedia.org/wiki/Special:FilePath/Matlab_Logo.png",
834
+ i18n: {
835
+ en: {
836
+ name: "MATLAB",
837
+ description: "A matrix-oriented language and environment for engineering, science, data, and simulation.",
838
+ 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."
839
+ },
840
+ es: {
841
+ name: "MATLAB",
842
+ description: "Un lenguaje y entorno orientado a matrices para ingenieria, ciencia, datos y simulacion.",
843
+ 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."
844
+ }
845
+ }
846
+ };
847
+
618
848
  // src/languages/nginx.ts
619
849
  var nginx = {
620
850
  slug: "nginx",
@@ -672,6 +902,35 @@ var objectiveC = {
672
902
  }
673
903
  };
674
904
 
905
+ // src/languages/pascal.ts
906
+ var pascal = {
907
+ slug: "pascal",
908
+ publishedDate: "1970-01-01",
909
+ extensions: [".pas", ".pp", ".inc", ".lpr", ".dpr", ".dfm"],
910
+ author: "Niklaus Wirth",
911
+ website: "https://www.freepascal.org",
912
+ paradigms: ["structured", "imperative", "procedural", "object-oriented"],
913
+ tooling: {
914
+ runtimes: ["Free Pascal", "Delphi Runtime"],
915
+ packageManagers: ["fppkg", "OPM"],
916
+ ecosystems: ["Desktop", "Education", "Embedded", "Cross-platform Native"]
917
+ },
918
+ version: "3.2.2",
919
+ logo: "https://cdn.simpleicons.org/lazarus/000000",
920
+ i18n: {
921
+ en: {
922
+ name: "Pascal",
923
+ description: "A structured programming language and Object Pascal family used for native applications.",
924
+ 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."
925
+ },
926
+ es: {
927
+ name: "Pascal",
928
+ description: "Un lenguaje estructurado y familia Object Pascal usado para aplicaciones nativas.",
929
+ 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."
930
+ }
931
+ }
932
+ };
933
+
675
934
  // src/languages/php.ts
676
935
  var php = {
677
936
  slug: "php",
@@ -730,6 +989,35 @@ var powershell = {
730
989
  }
731
990
  };
732
991
 
992
+ // src/languages/pug.ts
993
+ var pug = {
994
+ slug: "pug",
995
+ publishedDate: "2010-06-01",
996
+ extensions: [".pug", ".jade"],
997
+ author: "TJ Holowaychuk / Pug contributors",
998
+ website: "https://pugjs.org",
999
+ paradigms: ["declarative", "templating", "markup"],
1000
+ tooling: {
1001
+ runtimes: ["Node.js", "Browser"],
1002
+ packageManagers: ["npm", "pnpm", "Yarn"],
1003
+ ecosystems: ["Web", "Node.js"]
1004
+ },
1005
+ version: "3.0.3",
1006
+ logo: "https://cdn.simpleicons.org/pug/A86454",
1007
+ i18n: {
1008
+ en: {
1009
+ name: "Pug",
1010
+ description: "A whitespace-sensitive template language for generating HTML in Node.js and browsers.",
1011
+ 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."
1012
+ },
1013
+ es: {
1014
+ name: "Pug",
1015
+ description: "Un lenguaje de plantillas sensible a espacios para generar HTML en Node.js y navegadores.",
1016
+ 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."
1017
+ }
1018
+ }
1019
+ };
1020
+
733
1021
  // src/languages/python.ts
734
1022
  var python = {
735
1023
  slug: "python",
@@ -759,6 +1047,64 @@ var python = {
759
1047
  }
760
1048
  };
761
1049
 
1050
+ // src/languages/r.ts
1051
+ var r = {
1052
+ slug: "r",
1053
+ publishedDate: "1993-08-01",
1054
+ extensions: [".r", ".R", ".rmd", ".Rmd", ".qmd", ".Rprofile"],
1055
+ author: "Ross Ihaka, Robert Gentleman / R Core Team",
1056
+ website: "https://www.r-project.org",
1057
+ paradigms: ["functional", "array-oriented", "object-oriented", "statistical"],
1058
+ tooling: {
1059
+ runtimes: ["R"],
1060
+ packageManagers: ["CRAN", "renv", "pak"],
1061
+ ecosystems: ["Statistics", "Data Science", "Visualization", "Scientific Computing"]
1062
+ },
1063
+ version: "4.6.0",
1064
+ logo: "https://www.r-project.org/logo/Rlogo.svg",
1065
+ i18n: {
1066
+ en: {
1067
+ name: "R",
1068
+ description: "A statistical computing language and environment for data analysis, graphics, and research.",
1069
+ 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."
1070
+ },
1071
+ es: {
1072
+ name: "R",
1073
+ description: "Un lenguaje y entorno de computacion estadistica para analisis de datos, graficos e investigacion.",
1074
+ 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."
1075
+ }
1076
+ }
1077
+ };
1078
+
1079
+ // src/languages/ruby.ts
1080
+ var ruby = {
1081
+ slug: "ruby",
1082
+ publishedDate: "1995-12-21",
1083
+ extensions: [".rb", ".rbw", ".rake", ".gemspec", "Gemfile", "Rakefile", "config.ru"],
1084
+ author: "Yukihiro Matsumoto",
1085
+ website: "https://www.ruby-lang.org",
1086
+ paradigms: ["object-oriented", "imperative", "functional", "reflective", "scripting"],
1087
+ tooling: {
1088
+ runtimes: ["Ruby MRI", "JRuby", "TruffleRuby"],
1089
+ packageManagers: ["RubyGems", "Bundler"],
1090
+ ecosystems: ["Web", "Rails", "DevOps", "Automation"]
1091
+ },
1092
+ version: "4.0.3",
1093
+ logo: "https://www.ruby-lang.org/images/header-ruby-logo.png",
1094
+ i18n: {
1095
+ en: {
1096
+ name: "Ruby",
1097
+ description: "A dynamic, object-oriented scripting language focused on productivity and developer happiness.",
1098
+ longDescription: "Ruby is a dynamic language with expressive syntax, open classes, blocks, mixins, metaprogramming, exceptions, modules, and a strong object-oriented model where nearly everything is an object.\n\nIt is widely used for web applications with Ruby on Rails, command-line tools, automation scripts, infrastructure tooling, static site generation, testing frameworks, and developer productivity workflows."
1099
+ },
1100
+ es: {
1101
+ name: "Ruby",
1102
+ description: "Un lenguaje dinamico y orientado a objetos enfocado en productividad y felicidad del desarrollador.",
1103
+ longDescription: "Ruby es un lenguaje dinamico con sintaxis expresiva, clases abiertas, bloques, mixins, metaprogramacion, excepciones, modulos y un modelo orientado a objetos donde casi todo es un objeto.\n\nSe usa ampliamente para aplicaciones web con Ruby on Rails, herramientas de linea de comandos, scripts de automatizacion, tooling de infraestructura, generadores de sitios estaticos, frameworks de testing y flujos de productividad para desarrolladores."
1104
+ }
1105
+ }
1106
+ };
1107
+
762
1108
  // src/languages/rust.ts
763
1109
  var rust = {
764
1110
  slug: "rust",
@@ -788,6 +1134,35 @@ var rust = {
788
1134
  }
789
1135
  };
790
1136
 
1137
+ // src/languages/scala.ts
1138
+ var scala = {
1139
+ slug: "scala",
1140
+ publishedDate: "2004-01-20",
1141
+ extensions: [".scala", ".sc"],
1142
+ author: "Martin Odersky / EPFL",
1143
+ website: "https://www.scala-lang.org",
1144
+ paradigms: ["object-oriented", "functional", "statically-typed", "concurrent"],
1145
+ tooling: {
1146
+ runtimes: ["JVM", "Scala.js", "Scala Native"],
1147
+ packageManagers: ["sbt", "Maven", "Gradle", "Scala CLI"],
1148
+ ecosystems: ["JVM", "Web", "Data Engineering", "Distributed Systems"]
1149
+ },
1150
+ version: "3.7.4",
1151
+ logo: "https://cdn.simpleicons.org/scala/DC322F",
1152
+ i18n: {
1153
+ en: {
1154
+ name: "Scala",
1155
+ description: "A JVM language that blends object-oriented and functional programming with strong static typing.",
1156
+ 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."
1157
+ },
1158
+ es: {
1159
+ name: "Scala",
1160
+ description: "Un lenguaje JVM que combina programacion orientada a objetos y funcional con tipado estatico fuerte.",
1161
+ 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."
1162
+ }
1163
+ }
1164
+ };
1165
+
791
1166
  // src/languages/scss.ts
792
1167
  var scss = {
793
1168
  slug: "scss",
@@ -841,6 +1216,35 @@ var sql = {
841
1216
  }
842
1217
  };
843
1218
 
1219
+ // src/languages/svelte.ts
1220
+ var svelte = {
1221
+ slug: "svelte",
1222
+ publishedDate: "2016-11-26",
1223
+ extensions: [".svelte"],
1224
+ author: "Rich Harris / Svelte contributors",
1225
+ website: "https://svelte.dev",
1226
+ paradigms: ["component-based", "declarative", "reactive", "compiled"],
1227
+ tooling: {
1228
+ runtimes: ["Browser", "Node.js"],
1229
+ packageManagers: ["npm", "pnpm", "Yarn", "Bun"],
1230
+ ecosystems: ["Web", "SvelteKit", "Vite"]
1231
+ },
1232
+ version: "5.55.5",
1233
+ logo: "https://upload.wikimedia.org/wikipedia/commons/1/1b/Svelte_Logo.svg",
1234
+ i18n: {
1235
+ en: {
1236
+ name: "Svelte",
1237
+ description: "A compiled component framework for building reactive web user interfaces.",
1238
+ longDescription: "Svelte components combine markup, styles, and script logic in single-file components that are compiled into efficient JavaScript for updating the DOM.\n\nIt is widely used for web applications, interactive interfaces, static sites, design systems, dashboards, and SvelteKit projects where developers want a reactive component model with minimal runtime overhead."
1239
+ },
1240
+ es: {
1241
+ name: "Svelte",
1242
+ description: "Un framework de componentes compilado para crear interfaces web reactivas.",
1243
+ longDescription: "Los componentes Svelte combinan marcado, estilos y logica de script en componentes de archivo unico que se compilan a JavaScript eficiente para actualizar el DOM.\n\nSe usa ampliamente en aplicaciones web, interfaces interactivas, sitios estaticos, sistemas de diseno, dashboards y proyectos SvelteKit donde se busca un modelo de componentes reactivo con poca sobrecarga en runtime."
1244
+ }
1245
+ }
1246
+ };
1247
+
844
1248
  // src/languages/svg.ts
845
1249
  var svg = {
846
1250
  slug: "svg",
@@ -898,6 +1302,30 @@ var swift = {
898
1302
  }
899
1303
  };
900
1304
 
1305
+ // src/languages/toml.ts
1306
+ var toml = {
1307
+ slug: "toml",
1308
+ publishedDate: "2013-02-23",
1309
+ extensions: [".toml"],
1310
+ author: "Tom Preston-Werner / TOML contributors",
1311
+ website: "https://toml.io",
1312
+ paradigms: ["configuration", "declarative", "data-serialization"],
1313
+ version: "1.0.0",
1314
+ logo: "https://cdn.simpleicons.org/toml/9C4221",
1315
+ i18n: {
1316
+ en: {
1317
+ name: "TOML",
1318
+ description: "A minimal, human-readable configuration format that maps clearly to data structures.",
1319
+ 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."
1320
+ },
1321
+ es: {
1322
+ name: "TOML",
1323
+ description: "Un formato de configuracion minimo y legible que mapea claramente a estructuras de datos.",
1324
+ 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."
1325
+ }
1326
+ }
1327
+ };
1328
+
901
1329
  // src/languages/typescript.ts
902
1330
  var typescript = {
903
1331
  slug: "typescript",
@@ -1062,6 +1490,35 @@ var yaml = {
1062
1490
  }
1063
1491
  };
1064
1492
 
1493
+ // src/languages/zig.ts
1494
+ var zig = {
1495
+ slug: "zig",
1496
+ publishedDate: "2016-02-08",
1497
+ extensions: [".zig", ".zon"],
1498
+ author: "Andrew Kelley / Zig Software Foundation",
1499
+ website: "https://ziglang.org",
1500
+ paradigms: ["imperative", "procedural", "systems", "compile-time metaprogramming"],
1501
+ tooling: {
1502
+ runtimes: ["Native"],
1503
+ packageManagers: ["Zig Package Manager"],
1504
+ ecosystems: ["Systems Programming", "Embedded", "Game Development", "Cross-compilation"]
1505
+ },
1506
+ version: "0.16.0",
1507
+ logo: "https://cdn.simpleicons.org/zig/F7A41D",
1508
+ i18n: {
1509
+ en: {
1510
+ name: "Zig",
1511
+ description: "A systems programming language and toolchain focused on robustness, control, and cross-compilation.",
1512
+ 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."
1513
+ },
1514
+ es: {
1515
+ name: "Zig",
1516
+ description: "Un lenguaje y toolchain de sistemas enfocado en robustez, control y cross-compilation.",
1517
+ 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."
1518
+ }
1519
+ }
1520
+ };
1521
+
1065
1522
  // src/languages/zsh.ts
1066
1523
  var zsh = {
1067
1524
  slug: "zsh",
@@ -1093,17 +1550,22 @@ var zsh = {
1093
1550
 
1094
1551
  // src/catalog.ts
1095
1552
  var languages = [
1553
+ abap,
1554
+ asp,
1096
1555
  astro,
1097
1556
  assembly,
1098
1557
  bash,
1099
1558
  c,
1559
+ cmake,
1100
1560
  coffeescript,
1101
1561
  cobol,
1102
1562
  cpp,
1103
1563
  csharp,
1104
1564
  css,
1565
+ cuda,
1105
1566
  dart,
1106
1567
  dockerfile,
1568
+ fsharp,
1107
1569
  go,
1108
1570
  graphql,
1109
1571
  groovy,
@@ -1111,42 +1573,43 @@ var languages = [
1111
1573
  java,
1112
1574
  javascript,
1113
1575
  json,
1576
+ julia,
1114
1577
  kotlin,
1115
1578
  less,
1579
+ lua,
1116
1580
  makefile,
1581
+ matlab,
1117
1582
  markdown,
1118
1583
  nginx,
1119
1584
  objectiveC,
1585
+ pascal,
1120
1586
  php,
1121
1587
  powershell,
1588
+ pug,
1122
1589
  python,
1590
+ r,
1591
+ ruby,
1123
1592
  rust,
1593
+ scala,
1124
1594
  scss,
1125
1595
  sql,
1126
1596
  svg,
1597
+ svelte,
1127
1598
  swift,
1599
+ toml,
1128
1600
  typescript,
1129
1601
  visualBasic,
1130
1602
  vue,
1131
1603
  webassembly,
1132
1604
  xml,
1133
1605
  yaml,
1606
+ zig,
1134
1607
  zsh
1135
1608
  ];
1136
1609
 
1137
- // src/detect.ts
1610
+ // src/match.ts
1138
1611
  var pathSegmentPattern = /[/\\]/;
1139
- var detectLanguages = (filename) => {
1140
- const normalizedFilename = filename.trim();
1141
- if (!normalizedFilename) {
1142
- return [];
1143
- }
1144
- const basename = normalizedFilename.split(pathSegmentPattern).at(-1)?.toLowerCase() ?? "";
1145
- return languages.filter(
1146
- (language) => language.extensions.some((extension) => matchesExtension(basename, extension))
1147
- );
1148
- };
1149
- var detectLanguage = (filename) => detectLanguages(filename).at(0);
1612
+ var getBasename = (filename) => filename.trim().split(pathSegmentPattern).at(-1)?.toLowerCase() ?? "";
1150
1613
  var matchesExtension = (basename, extension) => {
1151
1614
  const normalizedExtension = extension.toLowerCase();
1152
1615
  if (normalizedExtension.startsWith(".")) {
@@ -1154,6 +1617,21 @@ var matchesExtension = (basename, extension) => {
1154
1617
  }
1155
1618
  return basename === normalizedExtension || basename.endsWith(`.${normalizedExtension}`);
1156
1619
  };
1620
+ var detectMatchingEntries = (entries, filename) => {
1621
+ const basename = getBasename(filename);
1622
+ if (!basename) {
1623
+ return [];
1624
+ }
1625
+ return entries.filter(
1626
+ (entry) => entry.extensions.some((extension) => matchesExtension(basename, extension))
1627
+ );
1628
+ };
1629
+
1630
+ // src/detect.ts
1631
+ var detectLanguages = (filename) => {
1632
+ return detectMatchingEntries(languages, filename);
1633
+ };
1634
+ var detectLanguage = (filename) => detectLanguages(filename).at(0);
1157
1635
 
1158
1636
  exports.detectLanguage = detectLanguage;
1159
1637
  exports.detectLanguages = detectLanguages;