code-languages 1.37.0 → 1.39.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 (64) hide show
  1. package/README.md +51 -1
  2. package/dist/{api-DVDG0xl6.d.cts → api-C-SCQpIV.d.cts} +28 -2
  3. package/dist/{api-CvUpukaI.d.ts → api-EZK9DmOV.d.ts} +28 -2
  4. package/dist/api.cjs +779 -1
  5. package/dist/api.d.cts +2 -2
  6. package/dist/api.d.ts +2 -2
  7. package/dist/api.js +779 -1
  8. package/dist/detect-slugs.cjs +15 -1
  9. package/dist/detect-slugs.d.cts +1 -1
  10. package/dist/detect-slugs.d.ts +1 -1
  11. package/dist/detect-slugs.js +15 -1
  12. package/dist/detect.cjs +547 -1
  13. package/dist/detect.js +547 -1
  14. package/dist/index.cjs +794 -1
  15. package/dist/index.d.cts +507 -2
  16. package/dist/index.d.ts +507 -2
  17. package/dist/index.js +794 -2
  18. package/dist/languages/assemblyscript.cjs +52 -0
  19. package/dist/languages/assemblyscript.d.cts +49 -0
  20. package/dist/languages/assemblyscript.d.ts +49 -0
  21. package/dist/languages/assemblyscript.js +50 -0
  22. package/dist/languages/basic.cjs +48 -0
  23. package/dist/languages/basic.d.cts +45 -0
  24. package/dist/languages/basic.d.ts +45 -0
  25. package/dist/languages/basic.js +46 -0
  26. package/dist/languages/dax.cjs +56 -0
  27. package/dist/languages/dax.d.cts +48 -0
  28. package/dist/languages/dax.d.ts +48 -0
  29. package/dist/languages/dax.js +54 -0
  30. package/dist/languages/mumps.cjs +51 -0
  31. package/dist/languages/mumps.d.cts +48 -0
  32. package/dist/languages/mumps.d.ts +48 -0
  33. package/dist/languages/mumps.js +49 -0
  34. package/dist/languages/openscad.cjs +51 -0
  35. package/dist/languages/openscad.d.cts +48 -0
  36. package/dist/languages/openscad.d.ts +48 -0
  37. package/dist/languages/openscad.js +49 -0
  38. package/dist/languages/postscript.cjs +51 -0
  39. package/dist/languages/postscript.d.cts +48 -0
  40. package/dist/languages/postscript.d.ts +48 -0
  41. package/dist/languages/postscript.js +49 -0
  42. package/dist/languages/powerquery.cjs +51 -0
  43. package/dist/languages/powerquery.d.cts +48 -0
  44. package/dist/languages/powerquery.d.ts +48 -0
  45. package/dist/languages/powerquery.js +49 -0
  46. package/dist/languages/processing.cjs +52 -0
  47. package/dist/languages/processing.d.cts +49 -0
  48. package/dist/languages/processing.d.ts +49 -0
  49. package/dist/languages/processing.js +50 -0
  50. package/dist/languages/rpg.cjs +51 -0
  51. package/dist/languages/rpg.d.cts +48 -0
  52. package/dist/languages/rpg.d.ts +48 -0
  53. package/dist/languages/rpg.js +49 -0
  54. package/dist/languages/vba.cjs +51 -0
  55. package/dist/languages/vba.d.cts +48 -0
  56. package/dist/languages/vba.d.ts +48 -0
  57. package/dist/languages/vba.js +49 -0
  58. package/dist/languages/xpath.cjs +51 -0
  59. package/dist/languages/xpath.d.cts +48 -0
  60. package/dist/languages/xpath.d.ts +48 -0
  61. package/dist/languages/xpath.js +49 -0
  62. package/dist/{registry-xJ7UlZlJ.d.cts → registry-p4uQJ2gP.d.cts} +33 -0
  63. package/dist/{registry-xJ7UlZlJ.d.ts → registry-p4uQJ2gP.d.ts} +33 -0
  64. package/package.json +58 -1
package/README.md CHANGED
@@ -199,6 +199,45 @@ Supported package manager aliases include: `npm`, `pnpm`, `yarn`, `pip`, `poetry
199
199
  `cargo`, `maven`, `gradle`, `nuget`, `composer`, `hex`, `spm`, `rubygems`, `go-mod`,
200
200
  `luarocks`, `opam`, `cpan`, and more. Searches `tooling.packageManagers` on each language.
201
201
 
202
+ Use `api.category(value)` to filter languages by their domain of use:
203
+
204
+ ```ts
205
+ import { api, getCategories } from "code-languages";
206
+
207
+ // frontend — targets the browser only (CSS, HTML, WGSL…)
208
+ api.category('frontend').langs().get();
209
+
210
+ // backend — runs on a server runtime (Python, Go, Ruby, PHP, Java, C#…)
211
+ api.category('backend').langs().locale('es').get();
212
+
213
+ // fullstack — targets both browser and server (JavaScript, TypeScript…)
214
+ api.category('fullstack').langs().get();
215
+
216
+ // systems — low-level / native / embedded (C, C++, Rust, Zig…)
217
+ api.category('systems').langs().get();
218
+
219
+ // data-science — data, ML, scientific computing (R, Julia, Python…)
220
+ api.category('data-science').langs().locale('pt').get();
221
+
222
+ // scripting — shell and scripting languages (Bash, Zsh, PowerShell…)
223
+ api.category('scripting').langs().get();
224
+
225
+ // other — everything that does not match any of the above
226
+ api.category('other').langs().get();
227
+
228
+ // async load and locale chaining work the same as other collection methods
229
+ await api.category('backend').langs().locale('pt').load();
230
+
231
+ // list all available categories
232
+ getCategories();
233
+ // → ['frontend', 'backend', 'fullstack', 'systems', 'data-science', 'scripting', 'other']
234
+ ```
235
+
236
+ Categories are inferred from each language's `tooling.runtimes` and `tooling.ecosystems` —
237
+ no extra data is needed in individual language files.
238
+ `frontend`, `backend`, and `fullstack` are mutually exclusive; the remaining categories
239
+ can overlap (Python appears in both `backend` and `data-science`).
240
+
202
241
  Use `localizeLanguage` to read localized display content with English fallback:
203
242
 
204
243
  ```ts
@@ -259,7 +298,7 @@ console.log(detectProjectLanguages(files));
259
298
 
260
299
  ## Supported Languages
261
300
 
262
- The catalog currently includes 264 language entries. Each row can be imported directly
301
+ The catalog currently includes 286 language entries. Each row can be imported directly
263
302
  from its package subpath.
264
303
 
265
304
  | Logo | Language | Slug | Extensions | Version | Import |
@@ -280,6 +319,7 @@ from its package subpath.
280
319
  | <img src="https://cdn.simpleicons.org/asciidoctor/E40046" alt="AsciiDoc logo" width="24" height="24"> | AsciiDoc | `asciidoc` | `.adoc`, `.asciidoc`, `.asc` | `pre-spec` | `code-languages/asciidoc` |
281
320
  | <img src="https://cdn.simpleicons.org/dotnet/512BD4" alt="ASP/ASPX logo" width="24" height="24"> | ASP/ASPX | `asp` | `.asp`, `.aspx`, `.ascx`, `.ashx`, `.asmx`, `.master` | `4.8.1` | `code-languages/asp` |
282
321
  | <img src="https://cdn.simpleicons.org/assemblyscript/007AAC" alt="Assembly logo" width="24" height="24"> | Assembly | `assembly` | `.asm`, `.s`, `.S`, `.inc` | `Architecture-specific` | `code-languages/assembly` |
322
+ | <img src="https://avatars.githubusercontent.com/u/28916798?v=4" alt="AssemblyScript logo" width="24" height="24"> | AssemblyScript | `assemblyscript` | `.as` | `0.27.32` | `code-languages/assemblyscript` |
283
323
  | <img src="https://astro.build/assets/press/astro-icon-light.svg" alt="Astro logo" width="24" height="24"> | Astro | `astro` | `.astro` | `7.0.3` | `code-languages/astro` |
284
324
  | <img src="https://dummyimage.com/32x32/0F766E/ffffff.png&text=Au" alt="Austral logo" width="24" height="24"> | Austral | `austral` | `.aum`, `.aui` | `0.1.0` | `code-languages/austral` |
285
325
  | <img src="https://raw.githubusercontent.com/vscode-icons/vscode-icons/master/icons/file_type_autohotkey.svg" alt="AutoHotkey logo" width="24" height="24"> | AutoHotkey | `autohotkey` | `.ahk`, `.ah2` | `2.0` | `code-languages/autohotkey` |
@@ -287,6 +327,7 @@ from its package subpath.
287
327
  | <img src="https://cdn.simpleicons.org/gnu/A42E2B" alt="awk logo" width="24" height="24"> | awk | `awk` | `.awk` | `GNU Awk 5.4.0` | `code-languages/awk` |
288
328
  | <img src="https://ballerina.io/images/ballerina-logo.svg" alt="Ballerina logo" width="24" height="24"> | Ballerina | `ballerina` | `.bal` | `2201.12.0` | `code-languages/ballerina` |
289
329
  | <img src="https://bashlogo.com/img/symbol/svg/full_colored_dark.svg" alt="Bash logo" width="24" height="24"> | Bash | `bash` | `.sh`, `.bash`, `.bashrc`, `.bash_profile`, `.bash_login`, `.profile` | `5.3` | `code-languages/bash` |
330
+ | <img src="https://avatars.githubusercontent.com/u/5598624?v=4" alt="BASIC logo" width="24" height="24"> | BASIC | `basic` | `.bas`, `.bi`, `.bb` | `FreeBASIC 1.10.1` | `code-languages/basic` |
290
331
  | <img src="https://icons.iconarchive.com/icons/simpleicons-team/simple/128/windowsterminal-icon.png" alt="Batch logo" width="24" height="24"> | Batch | `batch` | `.bat`, `.cmd` | `Windows Command Processor` | `code-languages/batch` |
291
332
  | <img src="https://cdn.simpleicons.org/bazel/43A047" alt="Bazel logo" width="24" height="24"> | Bazel | `bazel` | `BUILD.bazel`, `WORKSPACE`, `WORKSPACE.bazel`, `MODULE.bazel` | `9.1.1` | `code-languages/bazel` |
292
333
  | <img src="https://dummyimage.com/32x32/374151/ffffff.png&text=BC" alt="BCPL logo" width="24" height="24"> | BCPL | `bcpl` | `.bcpl` | `Cintsys BCPL` | `code-languages/bcpl` |
@@ -322,6 +363,7 @@ from its package subpath.
322
363
  | <img src="https://cdn.simpleicons.org/d/BA595E" alt="D logo" width="24" height="24"> | D | `d` | `.d`, `.di` | `2.112.0` | `code-languages/d` |
323
364
  | <img src="https://dafny.org/images/dafny-favicon.svg" alt="Dafny logo" width="24" height="24"> | Dafny | `dafny` | `.dfy` | `4.11.0` | `code-languages/dafny` |
324
365
  | <img src="https://commons.wikimedia.org/wiki/Special:FilePath/Dart_programming_language_logo.svg" alt="Dart logo" width="24" height="24"> | Dart | `dart` | `.dart` | `3.12.2` | `code-languages/dart` |
366
+ | <img src="https://dummyimage.com/32x32/F2C811/000000.png&text=DAX" alt="DAX logo" width="24" height="24"> | DAX | `dax` | `.dax` | `DAX 2025` | `code-languages/dax` |
325
367
  | <img src="https://cdn.jsdelivr.net/gh/vscode-icons/vscode-icons@master/icons/file_type_dhall.svg" alt="Dhall logo" width="24" height="24"> | Dhall | `dhall` | `.dhall` | `23.1.0` | `code-languages/dhall` |
326
368
  | <img src="https://avatars.githubusercontent.com/u/20116735?v=4" alt="DITA logo" width="24" height="24"> | DITA | `dita` | `.dita`, `.ditamap`, `.ditaval` | `1.3` | `code-languages/dita` |
327
369
  | <img src="https://www.docker.com/wp-content/uploads/2022/03/Moby-logo.png" alt="Dockerfile logo" width="24" height="24"> | Dockerfile | `dockerfile` | `Dockerfile`, `.dockerfile` | `1.10` | `code-languages/dockerfile` |
@@ -423,6 +465,7 @@ from its package subpath.
423
465
  | <img src="https://dummyimage.com/32x32/2563EB/ffffff.png&text=M2" alt="Modula-2 logo" width="24" height="24"> | Modula-2 | `modula-2` | `.mod`, `.def` | `ISO/IEC 10514-1:1996` | `code-languages/modula-2` |
424
466
  | <img src="https://avatars.githubusercontent.com/u/124476259?v=4" alt="MoonBit logo" width="24" height="24"> | MoonBit | `moonbit` | `.mbt` | `0.9.2` | `code-languages/moonbit` |
425
467
  | <img src="https://avatars.githubusercontent.com/u/108696678?v=4" alt="Move logo" width="24" height="24"> | Move | `move` | `.move` | `2.0.0` | `code-languages/move` |
468
+ | <img src="https://avatars.githubusercontent.com/u/1506671?v=4" alt="MUMPS logo" width="24" height="24"> | MUMPS | `mumps` | `.mac`, `.int`, `.ro`, `.mro` | `InterSystems IRIS 2025.1` | `code-languages/mumps` |
426
469
  | <img src="https://commons.wikimedia.org/wiki/Special:FilePath/Mustache-js-logo.png" alt="Mustache logo" width="24" height="24"> | Mustache | `mustache` | `.mustache`, `.mst` | `1.0` | `code-languages/mustache` |
427
470
  | <img src="https://cdn.simpleicons.org/couchbase/EA2328" alt="N1QL logo" width="24" height="24"> | N1QL | `n1ql` | `.n1ql` | `stable` | `code-languages/n1ql` |
428
471
  | <img src="https://avatars.githubusercontent.com/u/6698688?v=4" alt="Nextflow logo" width="24" height="24"> | Nextflow | `nextflow` | `.nf` | `24.10.4` | `code-languages/nextflow` |
@@ -439,6 +482,7 @@ from its package subpath.
439
482
  | <img src="https://avatars.githubusercontent.com/u/12533910?v=4" alt="Odin logo" width="24" height="24"> | Odin | `odin` | `.odin` | `dev-2026-02` | `code-languages/odin` |
440
483
  | <img src="https://cdn.simpleicons.org/openapiinitiative/6BA539" alt="OpenAPI logo" width="24" height="24"> | OpenAPI | `openapi` | `.openapi.json`, `.openapi.yaml`, `.openapi.yml` | `3.2.0` | `code-languages/openapi` |
441
484
  | <img src="https://cdn.simpleicons.org/khronosgroup/CC3333" alt="OpenCL C logo" width="24" height="24"> | OpenCL C | `opencl` | `.cl`, `.clh` | `OpenCL C 3.0` | `code-languages/opencl` |
485
+ | <img src="https://avatars.githubusercontent.com/u/1864477?v=4" alt="OpenSCAD logo" width="24" height="24"> | OpenSCAD | `openscad` | `.scad` | `2021.01` | `code-languages/openscad` |
442
486
  | <img src="https://orgmode.org/resources/img/org-mode-unicorn.svg" alt="Org-mode logo" width="24" height="24"> | Org-mode | `org` | `.org` | `9.8` | `code-languages/org` |
443
487
  | <img src="https://cdn.simpleicons.org/lazarus/000000" alt="Pascal logo" width="24" height="24"> | Pascal | `pascal` | `.pas`, `.pp`, `.inc`, `.lpr`, `.dpr`, `.dfm` | `3.2.2` | `code-languages/pascal` |
444
488
  | <img src="https://cdn.simpleicons.org/perl/39457E" alt="Perl logo" width="24" height="24"> | Perl | `perl` | `.pl`, `.pm`, `.pod`, `.t`, `.psgi` | `5.42.2` | `code-languages/perl` |
@@ -451,7 +495,10 @@ from its package subpath.
451
495
  | <img src="https://github.com/oracle.png" alt="Oracle PL/SQL logo" width="24" height="24"> | Oracle PL/SQL | `plsql` | `.pls`, `.pks`, `.pkb`, `.plsql` | `Oracle Database 26ai` | `code-languages/plsql` |
452
496
  | <img src="https://cdn.simpleicons.org/perl/39457E" alt="Plain Old Documentation logo" width="24" height="24"> | Plain Old Documentation | `pod` | `.pod` | `Perl 5.42.2` | `code-languages/pod` |
453
497
  | <img src="https://avatars.githubusercontent.com/u/14593805?v=4" alt="Pony logo" width="24" height="24"> | Pony | `pony` | `.pony` | `0.61.1` | `code-languages/pony` |
498
+ | <img src="https://dummyimage.com/32x32/EC1C24/ffffff.png&text=PS" alt="PostScript logo" width="24" height="24"> | PostScript | `postscript` | `.ps`, `.eps` | `PostScript 3` | `code-languages/postscript` |
499
+ | <img src="https://dummyimage.com/32x32/F2C811/000000.png&text=PQ" alt="Power Query M logo" width="24" height="24"> | Power Query M | `powerquery` | `.pq`, `.pqm` | `Power Query M 2025` | `code-languages/powerquery` |
454
500
  | <img src="https://upload.wikimedia.org/wikipedia/commons/2/2f/PowerShell_5.0_icon.png" alt="PowerShell logo" width="24" height="24"> | PowerShell | `powershell` | `.ps1`, `.psm1`, `.psd1`, `.ps1xml` | `7.6.3` | `code-languages/powershell` |
501
+ | <img src="https://cdn.simpleicons.org/processingfoundation/006699" alt="Processing logo" width="24" height="24"> | Processing | `processing` | `.pde` | `4.4.5` | `code-languages/processing` |
455
502
  | <img src="https://www.swi-prolog.org/icons/swipl.png" alt="Prolog logo" width="24" height="24"> | Prolog | `prolog` | `.pl`, `.pro`, `.prolog`, `.P` | `SWI-Prolog 10.0` | `code-languages/prolog` |
456
503
  | <img src="https://cdn.simpleicons.org/prometheus/E6522C" alt="PromQL logo" width="24" height="24"> | PromQL | `promql` | `.promql` | `Prometheus 3.x` | `code-languages/promql` |
457
504
  | <img src="https://cdn.simpleicons.org/google/4285F4" alt="Protocol Buffers logo" width="24" height="24"> | Protocol Buffers | `protobuf` | `.proto` | `35.1` | `code-languages/protobuf` |
@@ -473,6 +520,7 @@ from its package subpath.
473
520
  | <img src="https://cdn.simpleicons.org/rescript/E6484A" alt="ReScript logo" width="24" height="24"> | ReScript | `rescript` | `.res`, `.resi` | `12.0.0` | `code-languages/rescript` |
474
521
  | <img src="https://cdn.simpleicons.org/readthedocs/8CA1AF" alt="reStructuredText logo" width="24" height="24"> | reStructuredText | `restructuredtext` | `.rst`, `.rest` | `Docutils 0.22.2` | `code-languages/restructuredtext` |
475
522
  | <img src="https://avatars.githubusercontent.com/u/96867701?v=4" alt="Roc logo" width="24" height="24"> | Roc | `roc` | `.roc` | `development snapshot` | `code-languages/roc` |
523
+ | <img src="https://avatars.githubusercontent.com/u/733939?v=4" alt="RPG logo" width="24" height="24"> | RPG | `rpg` | `.rpg`, `.rpgle`, `.sqlrpgle`, `.clle`, `.dspf` | `RPG IV Free-Form (IBM i 7.5)` | `code-languages/rpg` |
476
524
  | <img src="https://www.ruby-lang.org/images/header-ruby-logo.png" alt="Ruby logo" width="24" height="24"> | Ruby | `ruby` | `.rb`, `.rbw`, `.rake`, `.gemspec`, `Gemfile`, `Rakefile`, `config.ru` | `4.0.5` | `code-languages/ruby` |
477
525
  | <img src="https://www.rust-lang.org/logos/rust-logo-512x512.png" alt="Rust logo" width="24" height="24"> | Rust | `rust` | `.rs` | `1.96.0` | `code-languages/rust` |
478
526
  | <img src="https://upload.wikimedia.org/wikipedia/commons/1/10/SAS_logo_horiz.svg" alt="SAS logo" width="24" height="24"> | SAS | `sas` | `.sas` | `SAS 9.4` | `code-languages/sas` |
@@ -518,6 +566,7 @@ from its package subpath.
518
566
  | <img src="https://cdn.simpleicons.org/v/5D87BF" alt="V logo" width="24" height="24"> | V | `v` | `.v`, `.vsh` | `weekly.2025.49` | `code-languages/v` |
519
567
  | <img src="https://cdn.simpleicons.org/gnome/4A86CF" alt="Vala logo" width="24" height="24"> | Vala | `vala` | `.vala`, `.vapi` | `0.56.18` | `code-languages/vala` |
520
568
  | <img src="https://dummyimage.com/32x32/059669/ffffff.png&text=Va" alt="Vale logo" width="24" height="24"> | Vale | `vale` | `.vale` | `experimental` | `code-languages/vale` |
569
+ | <img src="https://dummyimage.com/32x32/217346/ffffff.png&text=VBA" alt="VBA logo" width="24" height="24"> | VBA | `vba` | `.bas`, `.cls`, `.frm`, `.vba` | `VBA 7.1` | `code-languages/vba` |
521
570
  | <img src="https://velocity.apache.org/engine/devel/images/velocity-logo.png" alt="Apache Velocity logo" width="24" height="24"> | Apache Velocity | `velocity` | `.vm`, `.vtl` | `2.4.1` | `code-languages/velocity` |
522
571
  | <img src="https://cdn.jsdelivr.net/gh/vscode-icons/vscode-icons@master/icons/file_type_verilog.svg" alt="Verilog/SystemVerilog logo" width="24" height="24"> | Verilog/SystemVerilog | `verilog` | `.v`, `.vh`, `.sv`, `.svh` | `IEEE 1800-2023` | `code-languages/verilog` |
523
572
  | <img src="https://dummyimage.com/32x32/111827/ffffff.png&text=Ve" alt="Verse logo" width="24" height="24"> | Verse | `verse` | `.verse` | `UEFN Verse` | `code-languages/verse` |
@@ -531,6 +580,7 @@ from its package subpath.
531
580
  | <img src="https://avatars.githubusercontent.com/u/8763410?v=4" alt="Wren logo" width="24" height="24"> | Wren | `wren` | `.wren` | `0.4.0` | `code-languages/wren` |
532
581
  | <img src="https://cdn.simpleicons.org/dotnet/512BD4" alt="XAML logo" width="24" height="24"> | XAML | `xaml` | `.xaml`, `.baml` | `Platform-specific` | `code-languages/xaml` |
533
582
  | <img src="https://upload.wikimedia.org/wikipedia/commons/6/68/XML.svg" alt="XML logo" width="24" height="24"> | XML | `xml` | `.xml`, `.xsd`, `.xsl`, `.xslt` | `XML 1.0 Fifth Edition` | `code-languages/xml` |
583
+ | <img src="https://upload.wikimedia.org/wikipedia/commons/6/68/XML.svg" alt="XPath logo" width="24" height="24"> | XPath | `xpath` | `.xpath`, `.xpth` | `XPath 3.1` | `code-languages/xpath` |
534
584
  | <img src="https://upload.wikimedia.org/wikipedia/commons/6/68/XML.svg" alt="XQuery logo" width="24" height="24"> | XQuery | `xquery` | `.xq`, `.xql`, `.xqm`, `.xquery`, `.xqy` | `XQuery 3.1` | `code-languages/xquery` |
535
585
  | <img src="https://upload.wikimedia.org/wikipedia/commons/6/68/XML.svg" alt="XSLT logo" width="24" height="24"> | XSLT | `xslt` | `.xsl`, `.xslt` | `XSLT 3.0` | `code-languages/xslt` |
536
586
  | <img src="https://upload.wikimedia.org/wikipedia/commons/5/5a/Official_YAML_Logo.svg" alt="YAML logo" width="24" height="24"> | YAML | `yaml` | `.yaml`, `.yml` | `1.2.2` | `code-languages/yaml` |
@@ -1,6 +1,9 @@
1
- import { L as LanguageSlug } from './registry-xJ7UlZlJ.cjs';
1
+ import { L as LanguageSlug } from './registry-p4uQJ2gP.cjs';
2
2
  import { d as Locale, e as LocalizedLanguage } from './types-B0_wjl_Q.cjs';
3
3
 
4
+ type LanguageCategory = 'frontend' | 'backend' | 'fullstack' | 'systems' | 'data-science' | 'scripting' | 'other';
5
+ declare function getCategories(): LanguageCategory[];
6
+
4
7
  interface PackageManagerInfo {
5
8
  slug: string;
6
9
  name: string;
@@ -57,6 +60,10 @@ interface PackageManagerRequest {
57
60
  /** Runtime platforms that include this package manager. */
58
61
  runtimes(): RuntimeInfo[];
59
62
  }
63
+ interface CategoryRequest {
64
+ /** Languages that belong to this category. */
65
+ langs(): LanguageCollectionRequest;
66
+ }
60
67
  interface LanguageCollectionRequest {
61
68
  /**
62
69
  * Sets the requested locale for every language returned by this collection lookup.
@@ -123,6 +130,25 @@ declare const api: {
123
130
  * api.packageManager('npm').runtimes();
124
131
  */
125
132
  packageManager(value: string): PackageManagerRequest;
133
+ /**
134
+ * Selects every language that belongs to the given category.
135
+ *
136
+ * Categories are inferred from each language's `tooling.runtimes` and `tooling.ecosystems`:
137
+ * - `frontend` — targets the browser only (CSS, HTML, GLSL…)
138
+ * - `backend` — runs on a server runtime (Python, Go, Ruby, PHP…)
139
+ * - `fullstack` — targets both browser and server (JavaScript, TypeScript…)
140
+ * - `systems` — low-level / native / embedded (C, C++, Rust, Zig…)
141
+ * - `data-science`— data, ML, scientific computing (R, Julia, MATLAB…)
142
+ * - `scripting` — shell and scripting languages (Bash, Zsh, PowerShell…)
143
+ * - `other` — everything that does not match any of the above
144
+ *
145
+ * Categories are not mutually exclusive: Python appears in both `backend` and `data-science`.
146
+ *
147
+ * @example
148
+ * api.category('backend').langs().locale('es').get();
149
+ * await api.category('data-science').langs().load();
150
+ */
151
+ category(value: LanguageCategory): CategoryRequest;
126
152
  /**
127
153
  * Detects every matching language for a filename or path.
128
154
  *
@@ -131,4 +157,4 @@ declare const api: {
131
157
  detectAll(filename: string): LanguageCollectionRequest;
132
158
  };
133
159
 
134
- export { type LanguageCollectionRequest as L, type PackageManagerInfo as P, type RuntimeInfo as R, api as a, getRuntimes as b, type LanguageRequest as c, type PackageManagerRequest as d, type RuntimeRequest as e, getPackageManagers as g };
160
+ export { type CategoryRequest as C, type LanguageCategory as L, type PackageManagerInfo as P, type RuntimeInfo as R, api as a, getPackageManagers as b, getRuntimes as c, type LanguageCollectionRequest as d, type LanguageRequest as e, type PackageManagerRequest as f, getCategories as g, type RuntimeRequest as h };
@@ -1,6 +1,9 @@
1
- import { L as LanguageSlug } from './registry-xJ7UlZlJ.js';
1
+ import { L as LanguageSlug } from './registry-p4uQJ2gP.js';
2
2
  import { d as Locale, e as LocalizedLanguage } from './types-B0_wjl_Q.js';
3
3
 
4
+ type LanguageCategory = 'frontend' | 'backend' | 'fullstack' | 'systems' | 'data-science' | 'scripting' | 'other';
5
+ declare function getCategories(): LanguageCategory[];
6
+
4
7
  interface PackageManagerInfo {
5
8
  slug: string;
6
9
  name: string;
@@ -57,6 +60,10 @@ interface PackageManagerRequest {
57
60
  /** Runtime platforms that include this package manager. */
58
61
  runtimes(): RuntimeInfo[];
59
62
  }
63
+ interface CategoryRequest {
64
+ /** Languages that belong to this category. */
65
+ langs(): LanguageCollectionRequest;
66
+ }
60
67
  interface LanguageCollectionRequest {
61
68
  /**
62
69
  * Sets the requested locale for every language returned by this collection lookup.
@@ -123,6 +130,25 @@ declare const api: {
123
130
  * api.packageManager('npm').runtimes();
124
131
  */
125
132
  packageManager(value: string): PackageManagerRequest;
133
+ /**
134
+ * Selects every language that belongs to the given category.
135
+ *
136
+ * Categories are inferred from each language's `tooling.runtimes` and `tooling.ecosystems`:
137
+ * - `frontend` — targets the browser only (CSS, HTML, GLSL…)
138
+ * - `backend` — runs on a server runtime (Python, Go, Ruby, PHP…)
139
+ * - `fullstack` — targets both browser and server (JavaScript, TypeScript…)
140
+ * - `systems` — low-level / native / embedded (C, C++, Rust, Zig…)
141
+ * - `data-science`— data, ML, scientific computing (R, Julia, MATLAB…)
142
+ * - `scripting` — shell and scripting languages (Bash, Zsh, PowerShell…)
143
+ * - `other` — everything that does not match any of the above
144
+ *
145
+ * Categories are not mutually exclusive: Python appears in both `backend` and `data-science`.
146
+ *
147
+ * @example
148
+ * api.category('backend').langs().locale('es').get();
149
+ * await api.category('data-science').langs().load();
150
+ */
151
+ category(value: LanguageCategory): CategoryRequest;
126
152
  /**
127
153
  * Detects every matching language for a filename or path.
128
154
  *
@@ -131,4 +157,4 @@ declare const api: {
131
157
  detectAll(filename: string): LanguageCollectionRequest;
132
158
  };
133
159
 
134
- export { type LanguageCollectionRequest as L, type PackageManagerInfo as P, type RuntimeInfo as R, api as a, getRuntimes as b, type LanguageRequest as c, type PackageManagerRequest as d, type RuntimeRequest as e, getPackageManagers as g };
160
+ export { type CategoryRequest as C, type LanguageCategory as L, type PackageManagerInfo as P, type RuntimeInfo as R, api as a, getPackageManagers as b, getRuntimes as c, type LanguageCollectionRequest as d, type LanguageRequest as e, type PackageManagerRequest as f, getCategories as g, type RuntimeRequest as h };