code-languages 1.36.4 → 1.37.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 (80) hide show
  1. package/README.md +88 -9
  2. package/dist/api-CvUpukaI.d.ts +134 -0
  3. package/dist/api-DVDG0xl6.d.cts +134 -0
  4. package/dist/api.cjs +3057 -1582
  5. package/dist/api.d.cts +3 -77
  6. package/dist/api.d.ts +3 -77
  7. package/dist/api.js +3057 -1582
  8. package/dist/detect-slugs.cjs +14 -3
  9. package/dist/detect-slugs.d.cts +1 -1
  10. package/dist/detect-slugs.d.ts +1 -1
  11. package/dist/detect-slugs.js +14 -3
  12. package/dist/detect.cjs +560 -10
  13. package/dist/detect.js +560 -10
  14. package/dist/i18n.cjs +1 -1
  15. package/dist/i18n.js +1 -1
  16. package/dist/index.cjs +3078 -1595
  17. package/dist/index.d.cts +508 -2
  18. package/dist/index.d.ts +508 -2
  19. package/dist/index.js +3077 -1596
  20. package/dist/languages/angelscript.cjs +52 -0
  21. package/dist/languages/angelscript.d.cts +49 -0
  22. package/dist/languages/angelscript.d.ts +49 -0
  23. package/dist/languages/angelscript.js +50 -0
  24. package/dist/languages/astro.cjs +1 -1
  25. package/dist/languages/astro.js +1 -1
  26. package/dist/languages/gml.cjs +52 -0
  27. package/dist/languages/gml.d.cts +49 -0
  28. package/dist/languages/gml.d.ts +49 -0
  29. package/dist/languages/gml.js +50 -0
  30. package/dist/languages/gradle.cjs +1 -1
  31. package/dist/languages/gradle.js +1 -1
  32. package/dist/languages/ink-narrative.cjs +52 -0
  33. package/dist/languages/ink-narrative.d.cts +49 -0
  34. package/dist/languages/ink-narrative.d.ts +49 -0
  35. package/dist/languages/ink-narrative.js +50 -0
  36. package/dist/languages/luau.cjs +1 -1
  37. package/dist/languages/luau.js +1 -1
  38. package/dist/languages/mermaid.cjs +1 -1
  39. package/dist/languages/mermaid.js +1 -1
  40. package/dist/languages/modelica.cjs +52 -0
  41. package/dist/languages/modelica.d.cts +49 -0
  42. package/dist/languages/modelica.d.ts +49 -0
  43. package/dist/languages/modelica.js +50 -0
  44. package/dist/languages/nextflow.cjs +52 -0
  45. package/dist/languages/nextflow.d.cts +49 -0
  46. package/dist/languages/nextflow.d.ts +49 -0
  47. package/dist/languages/nextflow.js +50 -0
  48. package/dist/languages/octave.cjs +52 -0
  49. package/dist/languages/octave.d.cts +49 -0
  50. package/dist/languages/octave.d.ts +49 -0
  51. package/dist/languages/octave.js +50 -0
  52. package/dist/languages/rego.cjs +1 -1
  53. package/dist/languages/rego.js +1 -1
  54. package/dist/languages/snakemake.cjs +52 -0
  55. package/dist/languages/snakemake.d.cts +49 -0
  56. package/dist/languages/snakemake.d.ts +49 -0
  57. package/dist/languages/snakemake.js +50 -0
  58. package/dist/languages/spss.cjs +52 -0
  59. package/dist/languages/spss.d.cts +49 -0
  60. package/dist/languages/spss.d.ts +49 -0
  61. package/dist/languages/spss.js +50 -0
  62. package/dist/languages/squirrel.cjs +52 -0
  63. package/dist/languages/squirrel.d.cts +49 -0
  64. package/dist/languages/squirrel.d.ts +49 -0
  65. package/dist/languages/squirrel.js +50 -0
  66. package/dist/languages/tcl.cjs +1 -1
  67. package/dist/languages/tcl.js +1 -1
  68. package/dist/languages/twee.cjs +52 -0
  69. package/dist/languages/twee.d.cts +49 -0
  70. package/dist/languages/twee.d.ts +49 -0
  71. package/dist/languages/twee.js +50 -0
  72. package/dist/languages/vue.cjs +1 -1
  73. package/dist/languages/vue.js +1 -1
  74. package/dist/languages/wdl.cjs +52 -0
  75. package/dist/languages/wdl.d.cts +49 -0
  76. package/dist/languages/wdl.d.ts +49 -0
  77. package/dist/languages/wdl.js +50 -0
  78. package/dist/{language-registry-59NJVWeg.d.cts → registry-xJ7UlZlJ.d.cts} +33 -0
  79. package/dist/{language-registry-59NJVWeg.d.ts → registry-xJ7UlZlJ.d.ts} +33 -0
  80. package/package.json +126 -68
package/README.md CHANGED
@@ -134,6 +134,71 @@ such as `"Visual Basic"` and `"Jupyter Notebook!"` resolve to `visual-basic` and
134
134
  imports so bundlers can lazy-load individual language modules when the consumer
135
135
  build supports code splitting.
136
136
 
137
+ Use `api.runtime(value)` to query languages that run on a specific platform or runtime environment:
138
+
139
+ ```ts
140
+ import { api } from "code-languages/api";
141
+
142
+ // Get runtime metadata
143
+ const info = api.runtime('node').info();
144
+ // {
145
+ // slug: 'node',
146
+ // name: 'Node.js',
147
+ // color: '#339933',
148
+ // logo: 'https://cdn.simpleicons.org/nodedotjs',
149
+ // website: 'https://nodejs.org',
150
+ // aliases: ['node', 'nodejs', 'node.js'],
151
+ // packageManagers: ['npm', 'pnpm', 'Yarn', 'Bun'],
152
+ // }
153
+
154
+ // Get languages that target this runtime
155
+ const langs = api.runtime('node').langs().get();
156
+ const langsEs = api.runtime('.net').langs().locale('es').get();
157
+ await api.runtime('jvm').langs().load();
158
+
159
+ // Returns undefined / [] for unknown values
160
+ api.runtime('unknown-xyz').info(); // undefined
161
+ api.runtime('unknown-xyz').langs().get(); // []
162
+ ```
163
+
164
+ Supported runtime aliases include: `node` / `nodejs` / `node.js`, `bun`, `deno`, `browser`,
165
+ `.net` / `dotnet`, `jvm` / `java`, `android`, `ios`, `python`, `ruby`, `rust`, `go` / `golang`,
166
+ `wasm`, `sql`, and many more. Searches `tooling.runtimes` and `tooling.ecosystems` on each language.
167
+
168
+ Use `api.packageManager(value)` to query languages that use a specific package manager:
169
+
170
+ ```ts
171
+ import { api } from "code-languages/api";
172
+
173
+ // Get package manager metadata
174
+ const info = api.packageManager('npm').info();
175
+ // {
176
+ // slug: 'npm',
177
+ // name: 'npm',
178
+ // color: '#CB3837',
179
+ // logo: 'https://cdn.simpleicons.org/npm',
180
+ // website: 'https://npmjs.com',
181
+ // aliases: ['npm'],
182
+ // }
183
+
184
+ // Get languages that use this package manager
185
+ const langs = api.packageManager('cargo').langs().get();
186
+ const langsEs = api.packageManager('pip').langs().locale('es').get();
187
+
188
+ // Get runtime platforms that include this package manager
189
+ const runtimes = api.packageManager('npm').runtimes();
190
+ // [{ name: 'Node.js', ... }, { name: 'Bun', ... }, { name: 'Deno', ... }]
191
+
192
+ // Returns undefined / [] for unknown values
193
+ api.packageManager('unknown-xyz').info(); // undefined
194
+ api.packageManager('unknown-xyz').langs().get(); // []
195
+ api.packageManager('unknown-xyz').runtimes(); // []
196
+ ```
197
+
198
+ Supported package manager aliases include: `npm`, `pnpm`, `yarn`, `pip`, `poetry`, `uv`,
199
+ `cargo`, `maven`, `gradle`, `nuget`, `composer`, `hex`, `spm`, `rubygems`, `go-mod`,
200
+ `luarocks`, `opam`, `cpan`, and more. Searches `tooling.packageManagers` on each language.
201
+
137
202
  Use `localizeLanguage` to read localized display content with English fallback:
138
203
 
139
204
  ```ts
@@ -215,7 +280,7 @@ from its package subpath.
215
280
  | <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` |
216
281
  | <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` |
217
282
  | <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` |
218
- | <img src="https://astro.build/assets/press/astro-icon-light.svg" alt="Astro logo" width="24" height="24"> | Astro | `astro` | `.astro` | `7.0.2` | `code-languages/astro` |
283
+ | <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` |
219
284
  | <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` |
220
285
  | <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` |
221
286
  | <img src="https://commons.wikimedia.org/wiki/Special:FilePath/Apache_Avro_Logo.svg" alt="Avro IDL logo" width="24" height="24"> | Avro IDL | `avro-idl` | `.avdl` | `1.12.1` | `code-languages/avro-idl` |
@@ -285,10 +350,12 @@ from its package subpath.
285
350
  | <img src="https://cdn.simpleicons.org/godotengine/478CBF" alt="GDScript logo" width="24" height="24"> | GDScript | `gdscript` | `.gd` | `4.7` | `code-languages/gdscript` |
286
351
  | <img src="https://dummyimage.com/32x32/7C3AED/ffffff.png&text=PO" alt="Gettext logo" width="24" height="24"> | Gettext | `gettext` | `.po`, `.pot` | `stable` | `code-languages/gettext` |
287
352
  | <img src="https://cdn.simpleicons.org/git/F05032" alt="Git logo" width="24" height="24"> | Git | `git` | `.git`, `.gitignore`, `.gitattributes`, `.gitmodules`, `.gitkeep` | `2.54.0` | `code-languages/git` |
353
+ | <img src="https://dummyimage.com/32x32/2D5FA0/ffffff.png&text=AS" alt="AngelScript logo" width="24" height="24"> | AngelScript | `angelscript` | `.as`, `.angelscript` | `2.36.1` | `code-languages/angelscript` |
288
354
  | <img src="https://cdn.simpleicons.org/gleam/FFAFF3" alt="Gleam logo" width="24" height="24"> | Gleam | `gleam` | `.gleam` | `1.17.0` | `code-languages/gleam` |
355
+ | <img src="https://cdn.simpleicons.org/gamemaker/000000" alt="GML logo" width="24" height="24"> | GML | `gml` | `.gml` | `2024.13.0` | `code-languages/gml` |
289
356
  | <img src="https://cdn.simpleicons.org/opengl/5586A4" alt="GLSL logo" width="24" height="24"> | GLSL | `glsl` | `.glsl`, `.vert`, `.frag`, `.geom`, `.tesc`, `.tese`, `.comp`, `.vs`, `.fs` | `4.60` | `code-languages/glsl` |
290
357
  | <img src="https://go.dev/blog/go-brand/Go-Logo/SVG/Go-Logo_Blue.svg" alt="Go logo" width="24" height="24"> | Go | `go` | `.go` | `1.26.4` | `code-languages/go` |
291
- | <img src="https://cdn.simpleicons.org/gradle/02303A" alt="Gradle logo" width="24" height="24"> | Gradle | `gradle` | `.gradle`, `.gradle.kts` | `9.6.0` | `code-languages/gradle` |
358
+ | <img src="https://cdn.simpleicons.org/gradle/02303A" alt="Gradle logo" width="24" height="24"> | Gradle | `gradle` | `.gradle`, `.gradle.kts` | `9.6.1` | `code-languages/gradle` |
292
359
  | <img src="https://avatars.githubusercontent.com/u/54953488?v=4" alt="Grain logo" width="24" height="24"> | Grain | `grain` | `.gr` | `grain-v0.7.2` | `code-languages/grain` |
293
360
  | <img src="https://upload.wikimedia.org/wikipedia/commons/1/17/GraphQL_Logo.svg" alt="GraphQL logo" width="24" height="24"> | GraphQL | `graphql` | `.graphql`, `.gql`, `.graphqls` | `September 2025` | `code-languages/graphql` |
294
361
  | <img src="https://cdn.simpleicons.org/apache/6B7280" alt="Gremlin logo" width="24" height="24"> | Gremlin | `gremlin` | `.gremlin`, `.grem` | `stable` | `code-languages/gremlin` |
@@ -307,6 +374,7 @@ from its package subpath.
307
374
  | <img src="https://cdn.jsdelivr.net/gh/vscode-icons/vscode-icons@master/icons/file_type_idris.svg" alt="Idris logo" width="24" height="24"> | Idris | `idris` | `.idr`, `.lidr`, `.ipkg` | `0.8.0` | `code-languages/idris` |
308
375
  | <img src="https://commons.wikimedia.org/wiki/Special:FilePath/Configure.svg" alt="INI logo" width="24" height="24"> | INI | `ini` | `.ini` | `Informal format` | `code-languages/ini` |
309
376
  | <img src="https://use.ink/img/favicon.png" alt="Ink! logo" width="24" height="24"> | Ink! | `ink` | `.ink` | `Ink! 6` | `code-languages/ink` |
377
+ | <img src="https://avatars.githubusercontent.com/u/1987090?v=4" alt="Ink logo" width="24" height="24"> | Ink | `ink-narrative` | `.ink` | `1.2.0` | `code-languages/ink-narrative` |
310
378
  | <img src="https://dummyimage.com/32x32/2563EB/ffffff.png&text=Io" alt="Io logo" width="24" height="24"> | Io | `io` | `.io` | `2017.09.06` | `code-languages/io` |
311
379
  | <img src="https://isabelle.in.tum.de/img/favicon.ico" alt="Isabelle logo" width="24" height="24"> | Isabelle | `isabelle` | `.thy` | `Isabelle2025-2` | `code-languages/isabelle` |
312
380
  | <img src="https://cdn.jsdelivr.net/gh/vscode-icons/vscode-icons@master/icons/file_type_janet.svg" alt="Janet logo" width="24" height="24"> | Janet | `janet` | `.janet`, `.jdn` | `1.41.2` | `code-languages/janet` |
@@ -337,7 +405,7 @@ from its package subpath.
337
405
  | <img src="https://dummyimage.com/32x32/DC2626/ffffff.png&text=Lo" alt="Lobster logo" width="24" height="24"> | Lobster | `lobster` | `.lobster` | `development snapshot` | `code-languages/lobster` |
338
406
  | <img src="https://people.eecs.berkeley.edu/~bh/ucblogo.png" alt="Logo logo" width="24" height="24"> | Logo | `logo` | `.logo`, `.lgo` | `UCBLogo 6.2` | `code-languages/logo` |
339
407
  | <img src="https://www.lua.org/images/lua-logo.gif" alt="Lua logo" width="24" height="24"> | Lua | `lua` | `.lua`, `.rockspec` | `5.5.0` | `code-languages/lua` |
340
- | <img src="https://cdn.simpleicons.org/roblox/000000" alt="Luau logo" width="24" height="24"> | Luau | `luau` | `.luau` | `0.726` | `code-languages/luau` |
408
+ | <img src="https://cdn.simpleicons.org/roblox/000000" alt="Luau logo" width="24" height="24"> | Luau | `luau` | `.luau` | `0.727` | `code-languages/luau` |
341
409
  | <img src="https://upload.wikimedia.org/wikipedia/commons/7/71/Heckert_gnu.small.png" alt="Makefile logo" width="24" height="24"> | Makefile | `makefile` | `Makefile`, `makefile`, `GNUmakefile`, `.mk`, `.mak` | `4.4.1` | `code-languages/makefile` |
342
410
  | <img src="https://cdn.simpleicons.org/python/3776AB" alt="Mako logo" width="24" height="24"> | Mako | `mako` | `.mako`, `.mao` | `1.3.10` | `code-languages/mako` |
343
411
  | <img src="https://upload.wikimedia.org/wikipedia/commons/4/48/Markdown-mark.svg" alt="Markdown logo" width="24" height="24"> | Markdown | `markdown` | `.md`, `.markdown`, `.mdown`, `.mkd` | `CommonMark 4.0` | `code-languages/markdown` |
@@ -346,16 +414,18 @@ from its package subpath.
346
414
  | <img src="https://commons.wikimedia.org/wiki/Special:FilePath/Matlab_Logo.png" alt="MATLAB logo" width="24" height="24"> | MATLAB | `matlab` | `.m`, `.mlx` | `R2026a` | `code-languages/matlab` |
347
415
  | <img src="https://maxima.sourceforge.io/img/maxima.svg" alt="Maxima logo" width="24" height="24"> | Maxima | `maxima` | `.mac`, `.wxm` | `5.49.0` | `code-languages/maxima` |
348
416
  | <img src="https://cdn.simpleicons.org/mdx/1B1F24" alt="MDX logo" width="24" height="24"> | MDX | `mdx` | `.mdx` | `3.1.1` | `code-languages/mdx` |
349
- | <img src="https://cdn.simpleicons.org/mermaid/FF3670" alt="Mermaid logo" width="24" height="24"> | Mermaid | `mermaid` | `.mmd`, `.mermaid` | `11.15.0` | `code-languages/mermaid` |
417
+ | <img src="https://cdn.simpleicons.org/mermaid/FF3670" alt="Mermaid logo" width="24" height="24"> | Mermaid | `mermaid` | `.mmd`, `.mermaid` | `11.16.0` | `code-languages/mermaid` |
350
418
  | <img src="https://raw.githubusercontent.com/mesonbuild/meson/master/graphics/meson_logo.svg" alt="Meson logo" width="24" height="24"> | Meson | `meson` | `meson.build`, `meson_options.txt`, `meson.options`, `.wrap` | `1.11.1` | `code-languages/meson` |
351
419
  | <img src="https://www.mercurylang.org/favicon.ico" alt="Mercury logo" width="24" height="24"> | Mercury | `mercury` | `.m` | `22.01.8` | `code-languages/mercury` |
352
420
  | <img src="https://developer.apple.com/assets/elements/icons/metal/metal-256x256_2x.png" alt="Metal logo" width="24" height="24"> | Metal | `metal` | `.metal` | `Metal 4` | `code-languages/metal` |
421
+ | <img src="https://avatars.githubusercontent.com/u/3727943?v=4" alt="Modelica logo" width="24" height="24"> | Modelica | `modelica` | `.mo` | `3.6.1` | `code-languages/modelica` |
353
422
  | <img src="https://avatars.githubusercontent.com/u/107116314?v=4" alt="Mojo logo" width="24" height="24"> | Mojo | `mojo` | `.mojo` | `0.26.1` | `code-languages/mojo` |
354
423
  | <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` |
355
424
  | <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` |
356
425
  | <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` |
357
426
  | <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` |
358
427
  | <img src="https://cdn.simpleicons.org/couchbase/EA2328" alt="N1QL logo" width="24" height="24"> | N1QL | `n1ql` | `.n1ql` | `stable` | `code-languages/n1ql` |
428
+ | <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` |
359
429
  | <img src="https://upload.wikimedia.org/wikipedia/commons/c/c5/Nginx_logo.svg" alt="nginx logo" width="24" height="24"> | nginx | `nginx` | `nginx.conf`, `.nginx`, `.conf` | `1.30.3` | `code-languages/nginx` |
360
430
  | <img src="https://avatars.githubusercontent.com/u/83021462?v=4" alt="Nickel logo" width="24" height="24"> | Nickel | `nickel` | `.ncl` | `1.17.0` | `code-languages/nickel` |
361
431
  | <img src="https://cdn.simpleicons.org/nim/FFE953" alt="Nim logo" width="24" height="24"> | Nim | `nim` | `.nim`, `.nims`, `.nimble` | `2.2.10` | `code-languages/nim` |
@@ -364,6 +434,7 @@ from its package subpath.
364
434
  | <img src="https://cdn.simpleicons.org/nushell/3AA675" alt="Nushell logo" width="24" height="24"> | Nushell | `nushell` | `.nu` | `0.113.1` | `code-languages/nushell` |
365
435
  | <img src="https://upload.wikimedia.org/wikipedia/commons/1/1b/Apple_logo_grey.svg" alt="Objective-C logo" width="24" height="24"> | Objective-C | `objective-c` | `.m`, `.mm` | `2.0` | `code-languages/objective-c` |
366
436
  | <img src="https://cdn.simpleicons.org/ocaml/EC6813" alt="OCaml logo" width="24" height="24"> | OCaml | `ocaml` | `.ml`, `.mli`, `.mll`, `.mly`, `.mlt`, `.eliom`, `.eliomi` | `5.6.0` | `code-languages/ocaml` |
437
+ | <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/Gnu-octave-logo.svg" alt="Octave logo" width="24" height="24"> | Octave | `octave` | `.m`, `.octave` | `9.3.0` | `code-languages/octave` |
367
438
  | <img src="https://dummyimage.com/32x32/0F766E/ffffff.png&text=Ob" alt="Oberon logo" width="24" height="24"> | Oberon | `oberon` | `.ob`, `.mod` | `Oberon-2` | `code-languages/oberon` |
368
439
  | <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` |
369
440
  | <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` |
@@ -398,7 +469,7 @@ from its package subpath.
398
469
  | <img src="https://www.rebol.com/graphics/reb-logo.gif" alt="Rebol logo" width="24" height="24"> | Rebol | `rebol` | `.r`, `.reb`, `.rebol` | `Rebol 3` | `code-languages/rebol` |
399
470
  | <img src="https://static.red-lang.org/red-logo.svg" alt="Red logo" width="24" height="24"> | Red | `red` | `.red`, `.reds` | `0.6.6` | `code-languages/red` |
400
471
  | <img src="https://cdn.simpleicons.org/reason/DD4B39" alt="ReasonML logo" width="24" height="24"> | ReasonML | `reasonml` | `.re`, `.rei` | `3.13.0` | `code-languages/reasonml` |
401
- | <img src="https://raw.githubusercontent.com/open-policy-agent/opa/main/logo/logo.svg" alt="Rego logo" width="24" height="24"> | Rego | `rego` | `.rego` | `OPA 1.17.1` | `code-languages/rego` |
472
+ | <img src="https://raw.githubusercontent.com/open-policy-agent/opa/main/logo/logo.svg" alt="Rego logo" width="24" height="24"> | Rego | `rego` | `.rego` | `OPA 1.18.0` | `code-languages/rego` |
402
473
  | <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` |
403
474
  | <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` |
404
475
  | <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` |
@@ -412,13 +483,16 @@ from its package subpath.
412
483
  | <img src="https://dummyimage.com/32x32/2563EB/ffffff.png&text=Si" alt="Simula logo" width="24" height="24"> | Simula | `simula` | `.sim`, `.simula` | `Simula 67` | `code-languages/simula` |
413
484
  | <img src="https://commons.wikimedia.org/wiki/Special:FilePath/Smalltalk_Balloon.svg" alt="Smalltalk logo" width="24" height="24"> | Smalltalk | `smalltalk` | `.st` | `ANSI INCITS 319-1998` | `code-languages/smalltalk` |
414
485
  | <img src="https://www.smarty.net/images/logo_print.gif" alt="Smarty logo" width="24" height="24"> | Smarty | `smarty` | `.tpl`, `.smarty` | `5.5.1` | `code-languages/smarty` |
486
+ | <img src="https://avatars.githubusercontent.com/u/33450111?v=4" alt="Snakemake logo" width="24" height="24"> | Snakemake | `snakemake` | `.smk`, `Snakefile` | `8.25.0` | `code-languages/snakemake` |
415
487
  | <img src="https://dummyimage.com/32x32/7C2D12/ffffff.png&text=SN" alt="SNOBOL logo" width="24" height="24"> | SNOBOL | `snobol` | `.sno`, `.snobol` | `SNOBOL4` | `code-languages/snobol` |
416
488
  | <img src="https://cdn.simpleicons.org/solidity/363636" alt="Solidity logo" width="24" height="24"> | Solidity | `solidity` | `.sol` | `0.8.35` | `code-languages/solidity` |
417
489
  | <img src="https://commons.wikimedia.org/wiki/Special:FilePath/Salesforce.com_logo.svg" alt="SOQL logo" width="24" height="24"> | SOQL | `soql` | `.soql` | `stable` | `code-languages/soql` |
418
490
  | <img src="https://www.w3.org/RDF/icons/rdf_flyer.svg" alt="SPARQL logo" width="24" height="24"> | SPARQL | `sparql` | `.sparql`, `.rq` | `1.1` | `code-languages/sparql` |
419
491
  | <img src="https://dummyimage.com/32x32/DC2626/ffffff.png&text=SP" alt="SPARK logo" width="24" height="24"> | SPARK | `spark` | `.spark`, `.adb`, `.ads` | `SPARK Community 2021` | `code-languages/spark` |
420
492
  | <img src="https://cdn.simpleicons.org/splunk/000000" alt="SPL logo" width="24" height="24"> | SPL | `spl` | `.spl` | `stable` | `code-languages/spl` |
493
+ | <img src="https://dummyimage.com/32x32/052FAD/ffffff.png&text=SPSS" alt="SPSS logo" width="24" height="24"> | SPSS | `spss` | `.sps`, `.spss` | `29.0` | `code-languages/spss` |
421
494
  | <img src="https://upload.wikimedia.org/wikipedia/commons/8/87/Sql_data_base_with_logo.png" alt="SQL logo" width="24" height="24"> | SQL | `sql` | `.sql` | `SQL:2023` | `code-languages/sql` |
495
+ | <img src="https://dummyimage.com/32x32/CC4A00/ffffff.png&text=SQ" alt="Squirrel logo" width="24" height="24"> | Squirrel | `squirrel` | `.nut` | `3.2` | `code-languages/squirrel` |
422
496
  | <img src="https://avatars.githubusercontent.com/u/62883579?v=4" alt="Standard ML logo" width="24" height="24"> | Standard ML | `standard-ml` | `.sml`, `.sig`, `.fun` | `The Definition 1997` | `code-languages/standard-ml` |
423
497
  | <img src="https://cdn.simpleicons.org/bazel/43A047" alt="Starlark logo" width="24" height="24"> | Starlark | `starlark` | `.bzl`, `.star`, `.sky` | `Bazel Starlark` | `code-languages/starlark` |
424
498
  | <img src="https://www.stata.com/includes/images/stata-logo-blue.svg" alt="Stata logo" width="24" height="24"> | Stata | `stata` | `.do`, `.ado`, `.mata` | `19` | `code-languages/stata` |
@@ -427,7 +501,7 @@ from its package subpath.
427
501
  | <img src="https://upload.wikimedia.org/wikipedia/commons/4/4f/SVG_Logo.svg" alt="SVG logo" width="24" height="24"> | SVG | `svg` | `.svg`, `.svgz` | `SVG 2` | `code-languages/svg` |
428
502
  | <img src="https://cdn.simpleicons.org/subversion/809CC9" alt="SVN logo" width="24" height="24"> | SVN | `svn` | `.svn`, `svnserve.conf` | `1.14.5` | `code-languages/svn` |
429
503
  | <img src="https://www.swift.org/assets/images/swift.svg" alt="Swift logo" width="24" height="24"> | Swift | `swift` | `.swift` | `6.3.2` | `code-languages/swift` |
430
- | <img src="https://commons.wikimedia.org/wiki/Special:FilePath/Tcl.svg" alt="Tcl/Tk logo" width="24" height="24"> | Tcl/Tk | `tcl` | `.tcl`, `.tm`, `.test` | `9.0.3` | `code-languages/tcl` |
504
+ | <img src="https://commons.wikimedia.org/wiki/Special:FilePath/Tcl.svg" alt="Tcl/Tk logo" width="24" height="24"> | Tcl/Tk | `tcl` | `.tcl`, `.tm`, `.test` | `9.0.4` | `code-languages/tcl` |
431
505
  | <img src="https://dummyimage.com/32x32/2563EB/ffffff.png&text=TC" alt="Tcsh logo" width="24" height="24"> | Tcsh | `tcsh` | `.tcsh`, `.csh`, `.tcshrc`, `.cshrc` | `6.24.16` | `code-languages/tcsh` |
432
506
  | <img src="https://cdn.simpleicons.org/latex/008080" alt="TeX logo" width="24" height="24"> | TeX | `tex` | `.tex`, `.sty`, `.cls`, `.dtx`, `.ins`, `.ltx` | `TeX Live 2026` | `code-languages/tex` |
433
507
  | <img src="https://textile-lang.com/icon.svg" alt="Textile logo" width="24" height="24"> | Textile | `textile` | `.textile` | `4.1.4` | `code-languages/textile` |
@@ -436,6 +510,7 @@ from its package subpath.
436
510
  | <img src="https://cdn.simpleicons.org/toml/9C4221" alt="TOML logo" width="24" height="24"> | TOML | `toml` | `.toml` | `1.1.0` | `code-languages/toml` |
437
511
  | <img src="https://cdn.simpleicons.org/gnu/A42E2B" alt="Troff/Groff logo" width="24" height="24"> | Troff/Groff | `troff` | `.roff`, `.troff`, `.man`, `.me`, `.ms` | `GNU groff 1.24.1` | `code-languages/troff` |
438
512
  | <img src="https://icons.iconarchive.com/icons/simpleicons-team/simple/128/microsoft-sqlserver-icon.png" alt="T-SQL logo" width="24" height="24"> | T-SQL | `tsql` | `.sql`, `.tsql` | `SQL Server 2025 (17.x)` | `code-languages/tsql` |
513
+ | <img src="https://avatars.githubusercontent.com/u/2966890?v=4" alt="Twee/Twine logo" width="24" height="24"> | Twee/Twine | `twee` | `.tw`, `.twee`, `.tw2` | `2.10.0` | `code-languages/twee` |
439
514
  | <img src="https://twig.symfony.com/images/logo.png" alt="Twig logo" width="24" height="24"> | Twig | `twig` | `.twig` | `3.27.1` | `code-languages/twig` |
440
515
  | <img src="https://www.typescriptlang.org/icons/icon-512x512.png" alt="TypeScript logo" width="24" height="24"> | TypeScript | `typescript` | `.ts`, `.tsx`, `.mts`, `.cts` | `6.0` | `code-languages/typescript` |
441
516
  | <img src="https://cdn.simpleicons.org/typst/239DAD" alt="Typst logo" width="24" height="24"> | Typst | `typst` | `.typ` | `0.15.0` | `code-languages/typst` |
@@ -448,9 +523,10 @@ from its package subpath.
448
523
  | <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` |
449
524
  | <img src="https://cdn.jsdelivr.net/gh/vscode-icons/vscode-icons@master/icons/file_type_vhdl.svg" alt="VHDL logo" width="24" height="24"> | VHDL | `vhdl` | `.vhd`, `.vhdl` | `IEEE 1076-2019` | `code-languages/vhdl` |
450
525
  | <img src="https://upload.wikimedia.org/wikipedia/commons/4/40/VB.NET_Logo.svg" alt="Visual Basic logo" width="24" height="24"> | Visual Basic | `visual-basic` | `.vb` | `17.13` | `code-languages/visual-basic` |
451
- | <img src="https://upload.wikimedia.org/wikipedia/commons/9/95/Vue.js_Logo_2.svg" alt="Vue logo" width="24" height="24"> | Vue | `vue` | `.vue` | `3.5.38` | `code-languages/vue` |
526
+ | <img src="https://upload.wikimedia.org/wikipedia/commons/9/95/Vue.js_Logo_2.svg" alt="Vue logo" width="24" height="24"> | Vue | `vue` | `.vue` | `3.5.39` | `code-languages/vue` |
452
527
  | <img src="https://avatars.githubusercontent.com/u/37288461?v=4" alt="Vyper logo" width="24" height="24"> | Vyper | `vyper` | `.vy` | `0.4.3` | `code-languages/vyper` |
453
528
  | <img src="https://upload.wikimedia.org/wikipedia/commons/1/1f/WebAssembly_Logo.svg" alt="WebAssembly logo" width="24" height="24"> | WebAssembly | `webassembly` | `.wasm`, `.wat` | `3.0` | `code-languages/webassembly` |
529
+ | <img src="https://avatars.githubusercontent.com/u/23492081?v=4" alt="WDL logo" width="24" height="24"> | WDL | `wdl` | `.wdl` | `1.2.0` | `code-languages/wdl` |
454
530
  | <img src="https://cdn.simpleicons.org/webgpu/005A9C" alt="WGSL logo" width="24" height="24"> | WGSL | `wgsl` | `.wgsl` | `Candidate Recommendation Draft 2026-05-07` | `code-languages/wgsl` |
455
531
  | <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` |
456
532
  | <img src="https://cdn.simpleicons.org/dotnet/512BD4" alt="XAML logo" width="24" height="24"> | XAML | `xaml` | `.xaml`, `.baml` | `Platform-specific` | `code-languages/xaml` |
@@ -476,12 +552,15 @@ Common scripts:
476
552
 
477
553
  | Script | Purpose |
478
554
  |---|---|
479
- | `npm run lint` | Run Biome checks |
555
+ | `npm run format` | Format and auto-fix with Biome |
556
+ | `npm run format:check` | Check formatting with Biome (read-only) |
557
+ | `npm run lint` | Run ESLint |
558
+ | `npm run lint:fix` | Run ESLint with auto-fix |
480
559
  | `npm run typecheck` | Run TypeScript without emitting files |
481
560
  | `npm test` | Run Vitest |
482
561
  | `npm run bench` | Run manual performance benchmarks |
483
562
  | `npm run build` | Build ESM, CommonJS, and declaration files |
484
- | `npm run check` | Run lint, typecheck, and tests |
563
+ | `npm run check` | Run format:check, lint, typecheck, and tests |
485
564
  | `npm run check:language-versions -- --language typescript` | Check release metadata for one language |
486
565
  | `npm run website:prepare` | Build the static website data, unit test summary, and benchmark summary |
487
566
  | `npm run website:serve` | Preview the static website locally |
@@ -0,0 +1,134 @@
1
+ import { L as LanguageSlug } from './registry-xJ7UlZlJ.js';
2
+ import { d as Locale, e as LocalizedLanguage } from './types-B0_wjl_Q.js';
3
+
4
+ interface PackageManagerInfo {
5
+ slug: string;
6
+ name: string;
7
+ website: string;
8
+ logo: string;
9
+ color: `#${string}`;
10
+ aliases: string[];
11
+ }
12
+ declare function getPackageManagers(): PackageManagerInfo[];
13
+
14
+ interface RuntimeInfo {
15
+ slug: string;
16
+ name: string;
17
+ website: string;
18
+ logo: string;
19
+ color: `#${string}`;
20
+ aliases: string[];
21
+ packageManagers: string[];
22
+ }
23
+ declare function getRuntimes(): RuntimeInfo[];
24
+
25
+ type RuntimeLanguageSlug = LanguageSlug | (string & {});
26
+ interface LanguageRequest {
27
+ /**
28
+ * Sets the requested locale for this language lookup.
29
+ *
30
+ * Regional locales such as `es-PE` fall back to their base locale before English.
31
+ */
32
+ locale(locale: Locale): LanguageRequest;
33
+ /**
34
+ * Reads a language from the in-memory catalog and localizes it.
35
+ *
36
+ * Returns `undefined` when the slug does not exist.
37
+ */
38
+ get(): LocalizedLanguage | undefined;
39
+ /**
40
+ * Dynamically imports a language module and localizes it.
41
+ *
42
+ * Returns `undefined` when the slug does not exist.
43
+ */
44
+ load(): Promise<LocalizedLanguage | undefined>;
45
+ }
46
+ interface RuntimeRequest {
47
+ /** Metadata about the matched runtime platform. Returns undefined for unknown values. */
48
+ info(): RuntimeInfo | undefined;
49
+ /** Languages that run on or target this platform. */
50
+ langs(): LanguageCollectionRequest;
51
+ }
52
+ interface PackageManagerRequest {
53
+ /** Metadata about the matched package manager. Returns undefined for unknown values. */
54
+ info(): PackageManagerInfo | undefined;
55
+ /** Languages that use this package manager. */
56
+ langs(): LanguageCollectionRequest;
57
+ /** Runtime platforms that include this package manager. */
58
+ runtimes(): RuntimeInfo[];
59
+ }
60
+ interface LanguageCollectionRequest {
61
+ /**
62
+ * Sets the requested locale for every language returned by this collection lookup.
63
+ */
64
+ locale(locale: Locale): LanguageCollectionRequest;
65
+ /**
66
+ * Reads every language from the in-memory catalog and localizes the result.
67
+ */
68
+ get(): LocalizedLanguage[];
69
+ /**
70
+ * Dynamically imports every language module and localizes the result.
71
+ */
72
+ load(): Promise<LocalizedLanguage[]>;
73
+ }
74
+ /**
75
+ * Fluent API for localized language metadata, dynamic loading, and filename detection.
76
+ *
77
+ * Use `.get()` for synchronous catalog access or `.load()` to dynamically import only the
78
+ * requested language modules.
79
+ */
80
+ declare const api: {
81
+ /**
82
+ * Selects a language by slug.
83
+ *
84
+ * Input is normalized to the package slug format before lookup.
85
+ *
86
+ * @example
87
+ * api.language("astro").locale("es-PE").get();
88
+ */
89
+ language(slug: RuntimeLanguageSlug): LanguageRequest;
90
+ /**
91
+ * Selects every language in the catalog.
92
+ *
93
+ * @example
94
+ * await api.languages().locale("en-US").load();
95
+ */
96
+ languages(): LanguageCollectionRequest;
97
+ /**
98
+ * Detects the first matching language for a filename or path.
99
+ *
100
+ * @example
101
+ * api.detect("src/App.vue").locale("es").get();
102
+ */
103
+ detect(filename: string): LanguageRequest;
104
+ /**
105
+ * Selects every language that runs on or targets the given platform or runtime.
106
+ *
107
+ * Accepts common aliases: 'node', 'nodejs', 'bun', 'deno', '.net', 'jvm', 'android', 'ios', etc.
108
+ * Searches both `tooling.runtimes` and `tooling.ecosystems`.
109
+ *
110
+ * @example
111
+ * api.runtime('node').langs().locale('es').get();
112
+ * api.runtime('.net').info();
113
+ */
114
+ runtime(value: string): RuntimeRequest;
115
+ /**
116
+ * Selects every language that uses the given package manager.
117
+ *
118
+ * Accepts common aliases: 'npm', 'pnpm', 'yarn', 'pip', 'cargo', 'maven', 'nuget', etc.
119
+ * Searches `tooling.packageManagers`.
120
+ *
121
+ * @example
122
+ * api.packageManager('npm').langs().locale('es').get();
123
+ * api.packageManager('npm').runtimes();
124
+ */
125
+ packageManager(value: string): PackageManagerRequest;
126
+ /**
127
+ * Detects every matching language for a filename or path.
128
+ *
129
+ * Useful for ambiguous extensions such as `.h`, which can match C and C++.
130
+ */
131
+ detectAll(filename: string): LanguageCollectionRequest;
132
+ };
133
+
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 };
@@ -0,0 +1,134 @@
1
+ import { L as LanguageSlug } from './registry-xJ7UlZlJ.cjs';
2
+ import { d as Locale, e as LocalizedLanguage } from './types-B0_wjl_Q.cjs';
3
+
4
+ interface PackageManagerInfo {
5
+ slug: string;
6
+ name: string;
7
+ website: string;
8
+ logo: string;
9
+ color: `#${string}`;
10
+ aliases: string[];
11
+ }
12
+ declare function getPackageManagers(): PackageManagerInfo[];
13
+
14
+ interface RuntimeInfo {
15
+ slug: string;
16
+ name: string;
17
+ website: string;
18
+ logo: string;
19
+ color: `#${string}`;
20
+ aliases: string[];
21
+ packageManagers: string[];
22
+ }
23
+ declare function getRuntimes(): RuntimeInfo[];
24
+
25
+ type RuntimeLanguageSlug = LanguageSlug | (string & {});
26
+ interface LanguageRequest {
27
+ /**
28
+ * Sets the requested locale for this language lookup.
29
+ *
30
+ * Regional locales such as `es-PE` fall back to their base locale before English.
31
+ */
32
+ locale(locale: Locale): LanguageRequest;
33
+ /**
34
+ * Reads a language from the in-memory catalog and localizes it.
35
+ *
36
+ * Returns `undefined` when the slug does not exist.
37
+ */
38
+ get(): LocalizedLanguage | undefined;
39
+ /**
40
+ * Dynamically imports a language module and localizes it.
41
+ *
42
+ * Returns `undefined` when the slug does not exist.
43
+ */
44
+ load(): Promise<LocalizedLanguage | undefined>;
45
+ }
46
+ interface RuntimeRequest {
47
+ /** Metadata about the matched runtime platform. Returns undefined for unknown values. */
48
+ info(): RuntimeInfo | undefined;
49
+ /** Languages that run on or target this platform. */
50
+ langs(): LanguageCollectionRequest;
51
+ }
52
+ interface PackageManagerRequest {
53
+ /** Metadata about the matched package manager. Returns undefined for unknown values. */
54
+ info(): PackageManagerInfo | undefined;
55
+ /** Languages that use this package manager. */
56
+ langs(): LanguageCollectionRequest;
57
+ /** Runtime platforms that include this package manager. */
58
+ runtimes(): RuntimeInfo[];
59
+ }
60
+ interface LanguageCollectionRequest {
61
+ /**
62
+ * Sets the requested locale for every language returned by this collection lookup.
63
+ */
64
+ locale(locale: Locale): LanguageCollectionRequest;
65
+ /**
66
+ * Reads every language from the in-memory catalog and localizes the result.
67
+ */
68
+ get(): LocalizedLanguage[];
69
+ /**
70
+ * Dynamically imports every language module and localizes the result.
71
+ */
72
+ load(): Promise<LocalizedLanguage[]>;
73
+ }
74
+ /**
75
+ * Fluent API for localized language metadata, dynamic loading, and filename detection.
76
+ *
77
+ * Use `.get()` for synchronous catalog access or `.load()` to dynamically import only the
78
+ * requested language modules.
79
+ */
80
+ declare const api: {
81
+ /**
82
+ * Selects a language by slug.
83
+ *
84
+ * Input is normalized to the package slug format before lookup.
85
+ *
86
+ * @example
87
+ * api.language("astro").locale("es-PE").get();
88
+ */
89
+ language(slug: RuntimeLanguageSlug): LanguageRequest;
90
+ /**
91
+ * Selects every language in the catalog.
92
+ *
93
+ * @example
94
+ * await api.languages().locale("en-US").load();
95
+ */
96
+ languages(): LanguageCollectionRequest;
97
+ /**
98
+ * Detects the first matching language for a filename or path.
99
+ *
100
+ * @example
101
+ * api.detect("src/App.vue").locale("es").get();
102
+ */
103
+ detect(filename: string): LanguageRequest;
104
+ /**
105
+ * Selects every language that runs on or targets the given platform or runtime.
106
+ *
107
+ * Accepts common aliases: 'node', 'nodejs', 'bun', 'deno', '.net', 'jvm', 'android', 'ios', etc.
108
+ * Searches both `tooling.runtimes` and `tooling.ecosystems`.
109
+ *
110
+ * @example
111
+ * api.runtime('node').langs().locale('es').get();
112
+ * api.runtime('.net').info();
113
+ */
114
+ runtime(value: string): RuntimeRequest;
115
+ /**
116
+ * Selects every language that uses the given package manager.
117
+ *
118
+ * Accepts common aliases: 'npm', 'pnpm', 'yarn', 'pip', 'cargo', 'maven', 'nuget', etc.
119
+ * Searches `tooling.packageManagers`.
120
+ *
121
+ * @example
122
+ * api.packageManager('npm').langs().locale('es').get();
123
+ * api.packageManager('npm').runtimes();
124
+ */
125
+ packageManager(value: string): PackageManagerRequest;
126
+ /**
127
+ * Detects every matching language for a filename or path.
128
+ *
129
+ * Useful for ambiguous extensions such as `.h`, which can match C and C++.
130
+ */
131
+ detectAll(filename: string): LanguageCollectionRequest;
132
+ };
133
+
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 };