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.js CHANGED
@@ -1,3 +1,60 @@
1
+ // src/languages/abap.ts
2
+ var abap = {
3
+ slug: "abap",
4
+ publishedDate: "1983-01-01",
5
+ extensions: [".abap"],
6
+ author: "SAP SE",
7
+ website: "https://pages.community.sap.com/topics/abap",
8
+ paradigms: ["object-oriented", "procedural", "imperative", "event-driven", "database-oriented"],
9
+ tooling: {
10
+ runtimes: ["ABAP Platform", "SAP NetWeaver AS ABAP", "SAP BTP ABAP Environment"],
11
+ ecosystems: ["SAP S/4HANA", "SAP BTP", "Enterprise Applications"]
12
+ },
13
+ version: "ABAP Platform 2025 FPS01",
14
+ logo: "https://upload.wikimedia.org/wikipedia/commons/5/59/SAP_2011_logo.svg",
15
+ i18n: {
16
+ en: {
17
+ name: "ABAP",
18
+ description: "SAP's enterprise application programming language for business systems and extensions.",
19
+ 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."
20
+ },
21
+ es: {
22
+ name: "ABAP",
23
+ description: "El lenguaje empresarial de SAP para sistemas de negocio y extensiones.",
24
+ 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."
25
+ }
26
+ }
27
+ };
28
+
29
+ // src/languages/asp.ts
30
+ var asp = {
31
+ slug: "asp",
32
+ publishedDate: "1996-12-01",
33
+ extensions: [".asp", ".aspx", ".ascx", ".ashx", ".asmx", ".master"],
34
+ author: "Microsoft",
35
+ website: "https://learn.microsoft.com/en-us/aspnet/web-forms/",
36
+ paradigms: ["server-side", "templating", "object-oriented", "event-driven"],
37
+ tooling: {
38
+ runtimes: ["IIS", ".NET Framework"],
39
+ packageManagers: ["NuGet"],
40
+ ecosystems: ["Windows", ".NET", "Web"]
41
+ },
42
+ version: "4.8.1",
43
+ logo: "https://cdn.simpleicons.org/dotnet/512BD4",
44
+ i18n: {
45
+ en: {
46
+ name: "ASP/ASPX",
47
+ description: "Microsoft server-side web templates and pages for Classic ASP and ASP.NET Web Forms.",
48
+ 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."
49
+ },
50
+ es: {
51
+ name: "ASP/ASPX",
52
+ description: "Plantillas y paginas web server-side de Microsoft para Classic ASP y ASP.NET Web Forms.",
53
+ 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."
54
+ }
55
+ }
56
+ };
57
+
1
58
  // src/languages/assembly.ts
2
59
  var assembly = {
3
60
  slug: "assembly",
@@ -114,6 +171,34 @@ var c = {
114
171
  }
115
172
  };
116
173
 
174
+ // src/languages/cmake.ts
175
+ var cmake = {
176
+ slug: "cmake",
177
+ publishedDate: "2000-01-01",
178
+ extensions: ["CMakeLists.txt", ".cmake"],
179
+ author: "Kitware",
180
+ website: "https://cmake.org",
181
+ paradigms: ["build-automation", "declarative", "imperative", "configuration"],
182
+ tooling: {
183
+ runtimes: ["CMake"],
184
+ ecosystems: ["C", "C++", "Fortran", "Cross-platform Builds", "Embedded Systems"]
185
+ },
186
+ version: "4.3.2",
187
+ logo: "https://cmake.org/wp-content/uploads/2023/08/CMake-Logo.svg",
188
+ i18n: {
189
+ en: {
190
+ name: "CMake",
191
+ description: "A cross-platform build system language used to configure, generate, and manage builds.",
192
+ 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."
193
+ },
194
+ es: {
195
+ name: "CMake",
196
+ description: "Un lenguaje de build multiplataforma usado para configurar, generar y gestionar builds.",
197
+ 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."
198
+ }
199
+ }
200
+ };
201
+
117
202
  // src/languages/cobol.ts
118
203
  var cobol = {
119
204
  slug: "cobol",
@@ -253,6 +338,35 @@ var css = {
253
338
  }
254
339
  };
255
340
 
341
+ // src/languages/cuda.ts
342
+ var cuda = {
343
+ slug: "cuda",
344
+ publishedDate: "2007-02-15",
345
+ extensions: [".cu", ".cuh"],
346
+ author: "NVIDIA",
347
+ website: "https://developer.nvidia.com/cuda-toolkit",
348
+ paradigms: ["parallel", "data-parallel", "systems", "heterogeneous-computing"],
349
+ tooling: {
350
+ runtimes: ["CUDA Runtime", "CUDA Driver API"],
351
+ packageManagers: ["CUDA Toolkit", "conda"],
352
+ ecosystems: ["GPU Computing", "HPC", "Machine Learning", "Scientific Computing"]
353
+ },
354
+ version: "13.2.1",
355
+ logo: "https://cdn.simpleicons.org/nvidia/76B900",
356
+ i18n: {
357
+ en: {
358
+ name: "CUDA",
359
+ description: "NVIDIA's GPU programming platform and C/C++ extensions for parallel computing.",
360
+ 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."
361
+ },
362
+ es: {
363
+ name: "CUDA",
364
+ description: "La plataforma GPU de NVIDIA y extensiones C/C++ para computacion paralela.",
365
+ 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."
366
+ }
367
+ }
368
+ };
369
+
256
370
  // src/languages/dart.ts
257
371
  var dart = {
258
372
  slug: "dart",
@@ -310,6 +424,35 @@ var dockerfile = {
310
424
  }
311
425
  };
312
426
 
427
+ // src/languages/fsharp.ts
428
+ var fsharp = {
429
+ slug: "fsharp",
430
+ publishedDate: "2005-05-01",
431
+ extensions: [".fs", ".fsi", ".fsx", ".fsscript"],
432
+ author: "Don Syme / Microsoft Research",
433
+ website: "https://dotnet.microsoft.com/en-us/languages/fsharp",
434
+ paradigms: ["functional", "object-oriented", "imperative", "scripting"],
435
+ tooling: {
436
+ runtimes: [".NET", "F# Interactive"],
437
+ packageManagers: ["NuGet"],
438
+ ecosystems: [".NET", "Data Science", "Web", "Cloud"]
439
+ },
440
+ version: "10",
441
+ logo: "https://cdn.simpleicons.org/fsharp/378BBA",
442
+ i18n: {
443
+ en: {
444
+ name: "F#",
445
+ description: "A succinct, functional-first .NET language for robust applications, scripts, and data workflows.",
446
+ 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."
447
+ },
448
+ es: {
449
+ name: "F#",
450
+ description: "Un lenguaje .NET conciso y funcional para aplicaciones robustas, scripts y flujos de datos.",
451
+ 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."
452
+ }
453
+ }
454
+ };
455
+
313
456
  // src/languages/go.ts
314
457
  var go = {
315
458
  slug: "go",
@@ -503,6 +646,35 @@ var json = {
503
646
  }
504
647
  };
505
648
 
649
+ // src/languages/julia.ts
650
+ var julia = {
651
+ slug: "julia",
652
+ publishedDate: "2012-02-14",
653
+ extensions: [".jl"],
654
+ author: "Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman",
655
+ website: "https://julialang.org",
656
+ paradigms: ["multiple-dispatch", "functional", "imperative", "metaprogramming"],
657
+ tooling: {
658
+ runtimes: ["Julia"],
659
+ packageManagers: ["Pkg"],
660
+ ecosystems: ["Scientific Computing", "Data Science", "Machine Learning", "HPC"]
661
+ },
662
+ version: "1.12.6",
663
+ logo: "https://cdn.simpleicons.org/julia/9558B2",
664
+ i18n: {
665
+ en: {
666
+ name: "Julia",
667
+ description: "A high-performance language for technical computing, data science, and numerical work.",
668
+ 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."
669
+ },
670
+ es: {
671
+ name: "Julia",
672
+ description: "Un lenguaje de alto rendimiento para computacion tecnica, ciencia de datos y trabajo numerico.",
673
+ 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."
674
+ }
675
+ }
676
+ };
677
+
506
678
  // src/languages/kotlin.ts
507
679
  var kotlin = {
508
680
  slug: "kotlin",
@@ -561,6 +733,35 @@ var less = {
561
733
  }
562
734
  };
563
735
 
736
+ // src/languages/lua.ts
737
+ var lua = {
738
+ slug: "lua",
739
+ publishedDate: "1994-07-08",
740
+ extensions: [".lua", ".rockspec"],
741
+ author: "Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes",
742
+ website: "https://www.lua.org",
743
+ paradigms: ["procedural", "functional", "object-oriented", "scripting", "embeddable"],
744
+ tooling: {
745
+ runtimes: ["Lua", "LuaJIT"],
746
+ packageManagers: ["LuaRocks"],
747
+ ecosystems: ["Game Development", "Embedded Systems", "Scripting", "Configuration"]
748
+ },
749
+ version: "5.5.0",
750
+ logo: "https://www.lua.org/images/lua-logo.gif",
751
+ i18n: {
752
+ en: {
753
+ name: "Lua",
754
+ description: "A lightweight, embeddable scripting language designed for extension and portability.",
755
+ 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."
756
+ },
757
+ es: {
758
+ name: "Lua",
759
+ description: "Un lenguaje de scripting liviano y embebible disenado para extension y portabilidad.",
760
+ 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."
761
+ }
762
+ }
763
+ };
764
+
564
765
  // src/languages/makefile.ts
565
766
  var makefile = {
566
767
  slug: "makefile",
@@ -613,6 +814,35 @@ var markdown = {
613
814
  }
614
815
  };
615
816
 
817
+ // src/languages/matlab.ts
818
+ var matlab = {
819
+ slug: "matlab",
820
+ publishedDate: "1984-01-01",
821
+ extensions: [".m", ".mlx"],
822
+ author: "MathWorks",
823
+ website: "https://www.mathworks.com/products/matlab.html",
824
+ paradigms: ["array-oriented", "imperative", "object-oriented", "procedural"],
825
+ tooling: {
826
+ runtimes: ["MATLAB"],
827
+ packageManagers: ["MATLAB Add-On Explorer"],
828
+ ecosystems: ["Scientific Computing", "Numerical Computing", "Engineering", "Simulink"]
829
+ },
830
+ version: "R2026a",
831
+ logo: "https://commons.wikimedia.org/wiki/Special:FilePath/Matlab_Logo.png",
832
+ i18n: {
833
+ en: {
834
+ name: "MATLAB",
835
+ description: "A matrix-oriented language and environment for engineering, science, data, and simulation.",
836
+ 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."
837
+ },
838
+ es: {
839
+ name: "MATLAB",
840
+ description: "Un lenguaje y entorno orientado a matrices para ingenieria, ciencia, datos y simulacion.",
841
+ 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."
842
+ }
843
+ }
844
+ };
845
+
616
846
  // src/languages/nginx.ts
617
847
  var nginx = {
618
848
  slug: "nginx",
@@ -670,6 +900,35 @@ var objectiveC = {
670
900
  }
671
901
  };
672
902
 
903
+ // src/languages/pascal.ts
904
+ var pascal = {
905
+ slug: "pascal",
906
+ publishedDate: "1970-01-01",
907
+ extensions: [".pas", ".pp", ".inc", ".lpr", ".dpr", ".dfm"],
908
+ author: "Niklaus Wirth",
909
+ website: "https://www.freepascal.org",
910
+ paradigms: ["structured", "imperative", "procedural", "object-oriented"],
911
+ tooling: {
912
+ runtimes: ["Free Pascal", "Delphi Runtime"],
913
+ packageManagers: ["fppkg", "OPM"],
914
+ ecosystems: ["Desktop", "Education", "Embedded", "Cross-platform Native"]
915
+ },
916
+ version: "3.2.2",
917
+ logo: "https://cdn.simpleicons.org/lazarus/000000",
918
+ i18n: {
919
+ en: {
920
+ name: "Pascal",
921
+ description: "A structured programming language and Object Pascal family used for native applications.",
922
+ 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."
923
+ },
924
+ es: {
925
+ name: "Pascal",
926
+ description: "Un lenguaje estructurado y familia Object Pascal usado para aplicaciones nativas.",
927
+ 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."
928
+ }
929
+ }
930
+ };
931
+
673
932
  // src/languages/php.ts
674
933
  var php = {
675
934
  slug: "php",
@@ -728,6 +987,35 @@ var powershell = {
728
987
  }
729
988
  };
730
989
 
990
+ // src/languages/pug.ts
991
+ var pug = {
992
+ slug: "pug",
993
+ publishedDate: "2010-06-01",
994
+ extensions: [".pug", ".jade"],
995
+ author: "TJ Holowaychuk / Pug contributors",
996
+ website: "https://pugjs.org",
997
+ paradigms: ["declarative", "templating", "markup"],
998
+ tooling: {
999
+ runtimes: ["Node.js", "Browser"],
1000
+ packageManagers: ["npm", "pnpm", "Yarn"],
1001
+ ecosystems: ["Web", "Node.js"]
1002
+ },
1003
+ version: "3.0.3",
1004
+ logo: "https://cdn.simpleicons.org/pug/A86454",
1005
+ i18n: {
1006
+ en: {
1007
+ name: "Pug",
1008
+ description: "A whitespace-sensitive template language for generating HTML in Node.js and browsers.",
1009
+ 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."
1010
+ },
1011
+ es: {
1012
+ name: "Pug",
1013
+ description: "Un lenguaje de plantillas sensible a espacios para generar HTML en Node.js y navegadores.",
1014
+ 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."
1015
+ }
1016
+ }
1017
+ };
1018
+
731
1019
  // src/languages/python.ts
732
1020
  var python = {
733
1021
  slug: "python",
@@ -757,6 +1045,64 @@ var python = {
757
1045
  }
758
1046
  };
759
1047
 
1048
+ // src/languages/r.ts
1049
+ var r = {
1050
+ slug: "r",
1051
+ publishedDate: "1993-08-01",
1052
+ extensions: [".r", ".R", ".rmd", ".Rmd", ".qmd", ".Rprofile"],
1053
+ author: "Ross Ihaka, Robert Gentleman / R Core Team",
1054
+ website: "https://www.r-project.org",
1055
+ paradigms: ["functional", "array-oriented", "object-oriented", "statistical"],
1056
+ tooling: {
1057
+ runtimes: ["R"],
1058
+ packageManagers: ["CRAN", "renv", "pak"],
1059
+ ecosystems: ["Statistics", "Data Science", "Visualization", "Scientific Computing"]
1060
+ },
1061
+ version: "4.6.0",
1062
+ logo: "https://www.r-project.org/logo/Rlogo.svg",
1063
+ i18n: {
1064
+ en: {
1065
+ name: "R",
1066
+ description: "A statistical computing language and environment for data analysis, graphics, and research.",
1067
+ 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."
1068
+ },
1069
+ es: {
1070
+ name: "R",
1071
+ description: "Un lenguaje y entorno de computacion estadistica para analisis de datos, graficos e investigacion.",
1072
+ 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."
1073
+ }
1074
+ }
1075
+ };
1076
+
1077
+ // src/languages/ruby.ts
1078
+ var ruby = {
1079
+ slug: "ruby",
1080
+ publishedDate: "1995-12-21",
1081
+ extensions: [".rb", ".rbw", ".rake", ".gemspec", "Gemfile", "Rakefile", "config.ru"],
1082
+ author: "Yukihiro Matsumoto",
1083
+ website: "https://www.ruby-lang.org",
1084
+ paradigms: ["object-oriented", "imperative", "functional", "reflective", "scripting"],
1085
+ tooling: {
1086
+ runtimes: ["Ruby MRI", "JRuby", "TruffleRuby"],
1087
+ packageManagers: ["RubyGems", "Bundler"],
1088
+ ecosystems: ["Web", "Rails", "DevOps", "Automation"]
1089
+ },
1090
+ version: "4.0.3",
1091
+ logo: "https://www.ruby-lang.org/images/header-ruby-logo.png",
1092
+ i18n: {
1093
+ en: {
1094
+ name: "Ruby",
1095
+ description: "A dynamic, object-oriented scripting language focused on productivity and developer happiness.",
1096
+ 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."
1097
+ },
1098
+ es: {
1099
+ name: "Ruby",
1100
+ description: "Un lenguaje dinamico y orientado a objetos enfocado en productividad y felicidad del desarrollador.",
1101
+ 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."
1102
+ }
1103
+ }
1104
+ };
1105
+
760
1106
  // src/languages/rust.ts
761
1107
  var rust = {
762
1108
  slug: "rust",
@@ -786,6 +1132,35 @@ var rust = {
786
1132
  }
787
1133
  };
788
1134
 
1135
+ // src/languages/scala.ts
1136
+ var scala = {
1137
+ slug: "scala",
1138
+ publishedDate: "2004-01-20",
1139
+ extensions: [".scala", ".sc"],
1140
+ author: "Martin Odersky / EPFL",
1141
+ website: "https://www.scala-lang.org",
1142
+ paradigms: ["object-oriented", "functional", "statically-typed", "concurrent"],
1143
+ tooling: {
1144
+ runtimes: ["JVM", "Scala.js", "Scala Native"],
1145
+ packageManagers: ["sbt", "Maven", "Gradle", "Scala CLI"],
1146
+ ecosystems: ["JVM", "Web", "Data Engineering", "Distributed Systems"]
1147
+ },
1148
+ version: "3.7.4",
1149
+ logo: "https://cdn.simpleicons.org/scala/DC322F",
1150
+ i18n: {
1151
+ en: {
1152
+ name: "Scala",
1153
+ description: "A JVM language that blends object-oriented and functional programming with strong static typing.",
1154
+ 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."
1155
+ },
1156
+ es: {
1157
+ name: "Scala",
1158
+ description: "Un lenguaje JVM que combina programacion orientada a objetos y funcional con tipado estatico fuerte.",
1159
+ 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."
1160
+ }
1161
+ }
1162
+ };
1163
+
789
1164
  // src/languages/scss.ts
790
1165
  var scss = {
791
1166
  slug: "scss",
@@ -839,6 +1214,35 @@ var sql = {
839
1214
  }
840
1215
  };
841
1216
 
1217
+ // src/languages/svelte.ts
1218
+ var svelte = {
1219
+ slug: "svelte",
1220
+ publishedDate: "2016-11-26",
1221
+ extensions: [".svelte"],
1222
+ author: "Rich Harris / Svelte contributors",
1223
+ website: "https://svelte.dev",
1224
+ paradigms: ["component-based", "declarative", "reactive", "compiled"],
1225
+ tooling: {
1226
+ runtimes: ["Browser", "Node.js"],
1227
+ packageManagers: ["npm", "pnpm", "Yarn", "Bun"],
1228
+ ecosystems: ["Web", "SvelteKit", "Vite"]
1229
+ },
1230
+ version: "5.55.5",
1231
+ logo: "https://upload.wikimedia.org/wikipedia/commons/1/1b/Svelte_Logo.svg",
1232
+ i18n: {
1233
+ en: {
1234
+ name: "Svelte",
1235
+ description: "A compiled component framework for building reactive web user interfaces.",
1236
+ 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."
1237
+ },
1238
+ es: {
1239
+ name: "Svelte",
1240
+ description: "Un framework de componentes compilado para crear interfaces web reactivas.",
1241
+ 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."
1242
+ }
1243
+ }
1244
+ };
1245
+
842
1246
  // src/languages/svg.ts
843
1247
  var svg = {
844
1248
  slug: "svg",
@@ -896,6 +1300,30 @@ var swift = {
896
1300
  }
897
1301
  };
898
1302
 
1303
+ // src/languages/toml.ts
1304
+ var toml = {
1305
+ slug: "toml",
1306
+ publishedDate: "2013-02-23",
1307
+ extensions: [".toml"],
1308
+ author: "Tom Preston-Werner / TOML contributors",
1309
+ website: "https://toml.io",
1310
+ paradigms: ["configuration", "declarative", "data-serialization"],
1311
+ version: "1.0.0",
1312
+ logo: "https://cdn.simpleicons.org/toml/9C4221",
1313
+ i18n: {
1314
+ en: {
1315
+ name: "TOML",
1316
+ description: "A minimal, human-readable configuration format that maps clearly to data structures.",
1317
+ 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."
1318
+ },
1319
+ es: {
1320
+ name: "TOML",
1321
+ description: "Un formato de configuracion minimo y legible que mapea claramente a estructuras de datos.",
1322
+ 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."
1323
+ }
1324
+ }
1325
+ };
1326
+
899
1327
  // src/languages/typescript.ts
900
1328
  var typescript = {
901
1329
  slug: "typescript",
@@ -1060,6 +1488,35 @@ var yaml = {
1060
1488
  }
1061
1489
  };
1062
1490
 
1491
+ // src/languages/zig.ts
1492
+ var zig = {
1493
+ slug: "zig",
1494
+ publishedDate: "2016-02-08",
1495
+ extensions: [".zig", ".zon"],
1496
+ author: "Andrew Kelley / Zig Software Foundation",
1497
+ website: "https://ziglang.org",
1498
+ paradigms: ["imperative", "procedural", "systems", "compile-time metaprogramming"],
1499
+ tooling: {
1500
+ runtimes: ["Native"],
1501
+ packageManagers: ["Zig Package Manager"],
1502
+ ecosystems: ["Systems Programming", "Embedded", "Game Development", "Cross-compilation"]
1503
+ },
1504
+ version: "0.16.0",
1505
+ logo: "https://cdn.simpleicons.org/zig/F7A41D",
1506
+ i18n: {
1507
+ en: {
1508
+ name: "Zig",
1509
+ description: "A systems programming language and toolchain focused on robustness, control, and cross-compilation.",
1510
+ 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."
1511
+ },
1512
+ es: {
1513
+ name: "Zig",
1514
+ description: "Un lenguaje y toolchain de sistemas enfocado en robustez, control y cross-compilation.",
1515
+ 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."
1516
+ }
1517
+ }
1518
+ };
1519
+
1063
1520
  // src/languages/zsh.ts
1064
1521
  var zsh = {
1065
1522
  slug: "zsh",
@@ -1091,17 +1548,22 @@ var zsh = {
1091
1548
 
1092
1549
  // src/catalog.ts
1093
1550
  var languages = [
1551
+ abap,
1552
+ asp,
1094
1553
  astro,
1095
1554
  assembly,
1096
1555
  bash,
1097
1556
  c,
1557
+ cmake,
1098
1558
  coffeescript,
1099
1559
  cobol,
1100
1560
  cpp,
1101
1561
  csharp,
1102
1562
  css,
1563
+ cuda,
1103
1564
  dart,
1104
1565
  dockerfile,
1566
+ fsharp,
1105
1567
  go,
1106
1568
  graphql,
1107
1569
  groovy,
@@ -1109,42 +1571,43 @@ var languages = [
1109
1571
  java,
1110
1572
  javascript,
1111
1573
  json,
1574
+ julia,
1112
1575
  kotlin,
1113
1576
  less,
1577
+ lua,
1114
1578
  makefile,
1579
+ matlab,
1115
1580
  markdown,
1116
1581
  nginx,
1117
1582
  objectiveC,
1583
+ pascal,
1118
1584
  php,
1119
1585
  powershell,
1586
+ pug,
1120
1587
  python,
1588
+ r,
1589
+ ruby,
1121
1590
  rust,
1591
+ scala,
1122
1592
  scss,
1123
1593
  sql,
1124
1594
  svg,
1595
+ svelte,
1125
1596
  swift,
1597
+ toml,
1126
1598
  typescript,
1127
1599
  visualBasic,
1128
1600
  vue,
1129
1601
  webassembly,
1130
1602
  xml,
1131
1603
  yaml,
1604
+ zig,
1132
1605
  zsh
1133
1606
  ];
1134
1607
 
1135
- // src/detect.ts
1608
+ // src/match.ts
1136
1609
  var pathSegmentPattern = /[/\\]/;
1137
- var detectLanguages = (filename) => {
1138
- const normalizedFilename = filename.trim();
1139
- if (!normalizedFilename) {
1140
- return [];
1141
- }
1142
- const basename = normalizedFilename.split(pathSegmentPattern).at(-1)?.toLowerCase() ?? "";
1143
- return languages.filter(
1144
- (language) => language.extensions.some((extension) => matchesExtension(basename, extension))
1145
- );
1146
- };
1147
- var detectLanguage = (filename) => detectLanguages(filename).at(0);
1610
+ var getBasename = (filename) => filename.trim().split(pathSegmentPattern).at(-1)?.toLowerCase() ?? "";
1148
1611
  var matchesExtension = (basename, extension) => {
1149
1612
  const normalizedExtension = extension.toLowerCase();
1150
1613
  if (normalizedExtension.startsWith(".")) {
@@ -1152,6 +1615,21 @@ var matchesExtension = (basename, extension) => {
1152
1615
  }
1153
1616
  return basename === normalizedExtension || basename.endsWith(`.${normalizedExtension}`);
1154
1617
  };
1618
+ var detectMatchingEntries = (entries, filename) => {
1619
+ const basename = getBasename(filename);
1620
+ if (!basename) {
1621
+ return [];
1622
+ }
1623
+ return entries.filter(
1624
+ (entry) => entry.extensions.some((extension) => matchesExtension(basename, extension))
1625
+ );
1626
+ };
1627
+
1628
+ // src/detect.ts
1629
+ var detectLanguages = (filename) => {
1630
+ return detectMatchingEntries(languages, filename);
1631
+ };
1632
+ var detectLanguage = (filename) => detectLanguages(filename).at(0);
1155
1633
 
1156
1634
  export { detectLanguage, detectLanguages };
1157
1635
  //# sourceMappingURL=detect.js.map