code-languages
v1.19.0
Published
Structured metadata for programming languages.
Downloads
3,655
Maintainers
Readme
code-languages
Structured metadata for programming languages, packaged as a typed, tree-shakeable TypeScript library.
code-languages is useful when you need a small source of truth for language names, slugs, file extensions, release metadata, websites, paradigms, and logos in developer tools, docs sites, learning platforms, or editor-like interfaces.
Features
- TypeScript-first data model
- Zero runtime dependencies
- ESM and CommonJS builds
- Subpath imports for per-language usage
- Tree-shakeable exports
- Works in Node.js and modern bundlers
Installation
npm install code-languagesUsage
Import only the language metadata you need:
import { typescript } from "code-languages/typescript";
import { localizeLanguage } from "code-languages/i18n";
const localized = localizeLanguage(typescript, "en");
console.log(localized.name);
console.log(localized.description);
console.log(typescript.extensions);
console.log(typescript.paradigms);Import multiple languages:
import { abap } from "code-languages/abap";
import { actionscript } from "code-languages/actionscript";
import { ada } from "code-languages/ada";
import { apex } from "code-languages/apex";
import { asciidoc } from "code-languages/asciidoc";
import { asp } from "code-languages/asp";
import { astro } from "code-languages/astro";
import { assembly } from "code-languages/assembly";
import { awk } from "code-languages/awk";
import { bash } from "code-languages/bash";
import { batch } from "code-languages/batch";
import { bazel } from "code-languages/bazel";
import { bicep } from "code-languages/bicep";
import { blade } from "code-languages/blade";
import { c } from "code-languages/c";
import { clojure } from "code-languages/clojure";
import { cmake } from "code-languages/cmake";
import { coffeescript } from "code-languages/coffeescript";
import { cobol } from "code-languages/cobol";
import { cpp } from "code-languages/cpp";
import { csharp } from "code-languages/csharp";
import { crystal } from "code-languages/crystal";
import { css } from "code-languages/css";
import { cue } from "code-languages/cue";
import { cuda } from "code-languages/cuda";
import { d } from "code-languages/d";
import { dart } from "code-languages/dart";
import { dockerfile } from "code-languages/dockerfile";
import { elixir } from "code-languages/elixir";
import { elm } from "code-languages/elm";
import { erlang } from "code-languages/erlang";
import { fennel } from "code-languages/fennel";
import { fortran } from "code-languages/fortran";
import { fsharp } from "code-languages/fsharp";
import { gdscript } from "code-languages/gdscript";
import { git } from "code-languages/git";
import { gleam } from "code-languages/gleam";
import { gradle } from "code-languages/gradle";
import { glsl } from "code-languages/glsl";
import { graphql } from "code-languages/graphql";
import { groovy } from "code-languages/groovy";
import { handlebars } from "code-languages/handlebars";
import { haskell } from "code-languages/haskell";
import { haxe } from "code-languages/haxe";
import { hcl } from "code-languages/hcl";
import { hlsl } from "code-languages/hlsl";
import { html } from "code-languages/html";
import { ini } from "code-languages/ini";
import { javascript } from "code-languages/javascript";
import { java } from "code-languages/java";
import { jinja } from "code-languages/jinja";
import { julia } from "code-languages/julia";
import { kotlin } from "code-languages/kotlin";
import { less } from "code-languages/less";
import { liquid } from "code-languages/liquid";
import { lisp } from "code-languages/lisp";
import { lua } from "code-languages/lua";
import { makefile } from "code-languages/makefile";
import { matlab } from "code-languages/matlab";
import { markdown } from "code-languages/markdown";
import { mdx } from "code-languages/mdx";
import { mermaid } from "code-languages/mermaid";
import { meson } from "code-languages/meson";
import { metal } from "code-languages/metal";
import { nginx } from "code-languages/nginx";
import { nim } from "code-languages/nim";
import { nix } from "code-languages/nix";
import { ocaml } from "code-languages/ocaml";
import { objectiveC } from "code-languages/objective-c";
import { pascal } from "code-languages/pascal";
import { perl } from "code-languages/perl";
import { php } from "code-languages/php";
import { plantuml } from "code-languages/plantuml";
import { powershell } from "code-languages/powershell";
import { prolog } from "code-languages/prolog";
import { protobuf } from "code-languages/protobuf";
import { pug } from "code-languages/pug";
import { python } from "code-languages/python";
import { qml } from "code-languages/qml";
import { r } from "code-languages/r";
import { racket } from "code-languages/racket";
import { razor } from "code-languages/razor";
import { ruby } from "code-languages/ruby";
import { scala } from "code-languages/scala";
import { scss } from "code-languages/scss";
import { solidity } from "code-languages/solidity";
import { json } from "code-languages/json";
import { jupyterNotebook } from "code-languages/jupyter-notebook";
import { sql } from "code-languages/sql";
import { starlark } from "code-languages/starlark";
import { svg } from "code-languages/svg";
import { svn } from "code-languages/svn";
import { svelte } from "code-languages/svelte";
import { swift } from "code-languages/swift";
import { tcl } from "code-languages/tcl";
import { toml } from "code-languages/toml";
import { typst } from "code-languages/typst";
import { verilog } from "code-languages/verilog";
import { vhdl } from "code-languages/vhdl";
import { visualBasic } from "code-languages/visual-basic";
import { vue } from "code-languages/vue";
import { webassembly } from "code-languages/webassembly";
import { wgsl } from "code-languages/wgsl";
import { xaml } from "code-languages/xaml";
import { xml } from "code-languages/xml";
import { yaml } from "code-languages/yaml";
import { zig } from "code-languages/zig";
import { zsh } from "code-languages/zsh";
console.log(abap.version);
console.log(actionscript.extensions);
console.log(ada.version);
console.log(apex.extensions);
console.log(asciidoc.extensions);
console.log(asp.extensions);
console.log(astro.version);
console.log(assembly.extensions);
console.log(awk.version);
console.log(bash.version);
console.log(batch.extensions);
console.log(bazel.version);
console.log(bicep.version);
console.log(blade.extensions);
console.log(c.extensions);
console.log(clojure.version);
console.log(cmake.extensions);
console.log(coffeescript.version);
console.log(cpp.i18n.en.name);
console.log(csharp.website);
console.log(crystal.version);
console.log(css.paradigms);
console.log(cue.version);
console.log(cuda.version);
console.log(d.version);
console.log(dockerfile.i18n.en.name);
console.log(elm.version);
console.log(erlang.version);
console.log(fennel.extensions);
console.log(fortran.extensions);
console.log(fsharp.version);
console.log(gdscript.extensions);
console.log(git.extensions);
console.log(gleam.version);
console.log(gradle.extensions);
console.log(glsl.extensions);
console.log(graphql.version);
console.log(groovy.version);
console.log(handlebars.extensions);
console.log(hcl.extensions);
console.log(haxe.version);
console.log(hlsl.extensions);
console.log(html.extensions);
console.log(ini.extensions);
console.log(javascript.website);
console.log(java.version);
console.log(jinja.version);
console.log(jupyterNotebook.extensions);
console.log(julia.version);
console.log(kotlin.version);
console.log(less.extensions);
console.log(liquid.extensions);
console.log(lisp.version);
console.log(lua.version);
console.log(makefile.extensions);
console.log(matlab.version);
console.log(markdown.website);
console.log(mdx.extensions);
console.log(mermaid.version);
console.log(meson.extensions);
console.log(metal.version);
console.log(nginx.version);
console.log(nim.version);
console.log(nix.version);
console.log(objectiveC.version);
console.log(pascal.version);
console.log(perl.version);
console.log(php.version);
console.log(plantuml.version);
console.log(powershell.extensions);
console.log(prolog.paradigms);
console.log(protobuf.version);
console.log(pug.version);
console.log(python.publishedDate);
console.log(qml.version);
console.log(r.version);
console.log(racket.extensions);
console.log(razor.extensions);
console.log(ruby.website);
console.log(scala.version);
console.log(scss.extensions);
console.log(solidity.version);
console.log(json.i18n.en.description);
console.log(sql.i18n.en.name);
console.log(starlark.extensions);
console.log(svg.extensions);
console.log(svn.extensions);
console.log(svelte.version);
console.log(swift.version);
console.log(tcl.extensions);
console.log(toml.version);
console.log(typst.version);
console.log(verilog.extensions);
console.log(vhdl.version);
console.log(visualBasic.i18n.en.name);
console.log(vue.website);
console.log(webassembly.extensions);
console.log(wgsl.extensions);
console.log(xaml.extensions);
console.log(xml.extensions);
console.log(yaml.version);
console.log(zig.version);
console.log(zsh.extensions);Import from the package root when bundle size is not a concern:
import {
abap,
actionscript,
ada,
apex,
asciidoc,
asp,
astro,
assembly,
awk,
bash,
bazel,
bicep,
blade,
c,
clojure,
cmake,
coffeescript,
cpp,
csharp,
crystal,
css,
cue,
cuda,
d,
detectLanguage,
detectLanguages,
dockerfile,
elixir,
elm,
erlang,
fennel,
fortran,
fsharp,
gdscript,
go,
gleam,
glsl,
graphql,
groovy,
handlebars,
haskell,
haxe,
hcl,
hlsl,
html,
ini,
java,
jinja,
json,
jupyterNotebook,
julia,
kotlin,
less,
liquid,
lisp,
lua,
makefile,
matlab,
localizeLanguage,
markdown,
mdx,
mermaid,
meson,
metal,
nginx,
nim,
nix,
ocaml,
objectiveC,
pascal,
perl,
php,
plantuml,
powershell,
prolog,
protobuf,
pug,
qml,
r,
racket,
razor,
ruby,
rust,
scala,
scss,
solidity,
sql,
starlark,
svg,
svn,
svelte,
swift,
tcl,
toml,
typescript,
typst,
verilog,
vhdl,
visualBasic,
vue,
webassembly,
wgsl,
xaml,
xml,
yaml,
zig,
zsh,
} from "code-languages";
console.log(localizeLanguage(abap).description);
console.log(localizeLanguage(actionscript, "es").description);
console.log(localizeLanguage(ada, "es").description);
console.log(localizeLanguage(apex, "es").description);
console.log(localizeLanguage(asciidoc, "es").description);
console.log(localizeLanguage(asp, "es").description);
console.log(localizeLanguage(astro, "es").description);
console.log(localizeLanguage(assembly).description);
console.log(localizeLanguage(awk, "es").description);
console.log(detectLanguage("src/index.ts")?.slug);
console.log(detectLanguages("include/config.h").map((language) => language.slug));
console.log(localizeLanguage(bash, "es").description);
console.log(localizeLanguage(bazel, "es").description);
console.log(localizeLanguage(bicep, "es").description);
console.log(localizeLanguage(blade, "es").description);
console.log(c.version);
console.log(localizeLanguage(clojure, "es").description);
console.log(localizeLanguage(cmake).description);
console.log(localizeLanguage(coffeescript).name);
console.log(cpp.website);
console.log(localizeLanguage(csharp).description);
console.log(localizeLanguage(crystal, "es").description);
console.log(localizeLanguage(css).name);
console.log(localizeLanguage(cue, "es").description);
console.log(localizeLanguage(cuda, "es").description);
console.log(localizeLanguage(d, "es").description);
console.log(dockerfile.website);
console.log(localizeLanguage(elixir, "es").description);
console.log(localizeLanguage(elm, "es").description);
console.log(localizeLanguage(erlang, "es").description);
console.log(localizeLanguage(fennel, "es").description);
console.log(localizeLanguage(fortran).description);
console.log(localizeLanguage(fsharp, "es").description);
console.log(localizeLanguage(gdscript, "es").description);
console.log(localizeLanguage(gleam, "es").description);
console.log(localizeLanguage(glsl, "es").description);
console.log(localizeLanguage(graphql, "es").description);
console.log(localizeLanguage(groovy).description);
console.log(localizeLanguage(handlebars, "es").description);
console.log(localizeLanguage(haskell, "es").description);
console.log(localizeLanguage(haxe, "es").description);
console.log(localizeLanguage(hcl, "es").description);
console.log(localizeLanguage(hlsl, "es").description);
console.log(localizeLanguage(ini, "es").description);
console.log(localizeLanguage(java).name);
console.log(localizeLanguage(jinja, "es").description);
console.log(html.website);
console.log(localizeLanguage(julia, "es").description);
console.log(localizeLanguage(kotlin, "es-PE").description);
console.log(localizeLanguage(less, "es").name);
console.log(localizeLanguage(liquid, "es").description);
console.log(localizeLanguage(lisp).description);
console.log(localizeLanguage(lua, "es").description);
console.log(localizeLanguage(makefile).description);
console.log(localizeLanguage(matlab, "es").description);
console.log(markdown.extensions);
console.log(localizeLanguage(mdx, "es").description);
console.log(localizeLanguage(mermaid, "es").description);
console.log(localizeLanguage(meson, "es").description);
console.log(localizeLanguage(metal).description);
console.log(localizeLanguage(nginx, "es").description);
console.log(localizeLanguage(nim, "es").description);
console.log(localizeLanguage(nix, "es").description);
console.log(localizeLanguage(ocaml, "es").description);
console.log(objectiveC.extensions);
console.log(localizeLanguage(pascal, "es").description);
console.log(localizeLanguage(perl).description);
console.log(localizeLanguage(php, "es").description);
console.log(localizeLanguage(plantuml, "es").description);
console.log(localizeLanguage(powershell).name);
console.log(localizeLanguage(prolog, "es").description);
console.log(localizeLanguage(protobuf, "es").description);
console.log(localizeLanguage(pug, "es").description);
console.log(localizeLanguage(qml, "es").description);
console.log(go.logo);
console.log(localizeLanguage(r, "es").description);
console.log(localizeLanguage(racket, "es").description);
console.log(localizeLanguage(razor, "es").description);
console.log(localizeLanguage(ruby, "es").description);
console.log(localizeLanguage(scala, "es").description);
console.log(localizeLanguage(scss).name);
console.log(localizeLanguage(solidity, "es").description);
console.log(json.website);
console.log(sql.extensions);
console.log(localizeLanguage(starlark, "es").description);
console.log(localizeLanguage(svg, "es").description);
console.log(localizeLanguage(svn, "es").description);
console.log(localizeLanguage(svelte).name);
console.log(swift.i18n.en.description);
console.log(localizeLanguage(tcl, "es").description);
console.log(localizeLanguage(toml, "es").description);
console.log(localizeLanguage(typst, "es").description);
console.log(localizeLanguage(verilog, "es").description);
console.log(localizeLanguage(vhdl, "es").description);
console.log(localizeLanguage(visualBasic, "es").description);
console.log(localizeLanguage(vue, "es").description);
console.log(localizeLanguage(webassembly).name);
console.log(localizeLanguage(wgsl, "es").description);
console.log(localizeLanguage(xaml, "es").description);
console.log(localizeLanguage(xml, "es").name);
console.log(yaml.paradigms);
console.log(localizeLanguage(zig, "es").description);
console.log(zsh.version);API
Every language object satisfies the Language interface:
export type Locale = "en" | "es" | `en-${string}` | `es-${string}` | string;
export interface LanguageContent {
name: string;
description: string;
longDescription: string;
}
export interface Language {
slug: string;
publishedDate: string;
extensions: string[];
author: string;
website: string;
paradigms: string[];
tooling?: {
runtimes?: string[];
packageManagers?: string[];
ecosystems?: string[];
};
version: string;
logo: string;
i18n: {
en: LanguageContent;
es?: LanguageContent;
};
}Use the fluent API when you want one entry point for localization, dynamic loading, and filename detection:
import { api } from "code-languages/api";
const astro = api.language("astro").locale("es-PE").get();
const vue = await api.language("vue").locale("en-US").load();
const detected = api.detect("src/App.vue").locale("es").get();
const ambiguous = await api.detectAll("include/config.h").locale("en").load();
console.log(astro?.resolvedLocale); // "es"
console.log(vue?.slug); // "vue"
console.log(detected?.name); // "Vue"
console.log(ambiguous.map((language) => language.slug)); // ["c", "cpp"]get() reads from the bundled in-memory catalog. load() uses explicit dynamic
imports so bundlers can lazy-load individual language modules when the consumer
build supports code splitting.
Use localizeLanguage to read localized display content with English fallback:
import { json } from "code-languages/json";
import { localizeLanguage } from "code-languages/i18n";
const language = localizeLanguage(json, "es-PE");
console.log(language.name);
console.log(language.longDescription);
console.log(language.resolvedLocale); // "es"localizeLanguage resolves locales in this order:
- Exact locale, for example
es. - Base language from a regional locale, for example
es-PE->es. - English fallback, for example
fr-FR->en.
Use detectLanguage or detectLanguages to infer languages from filenames:
import { detectLanguage, detectLanguages } from "code-languages/detect";
console.log(detectLanguage("src/index.ts")?.slug); // "typescript"
console.log(detectLanguage("Dockerfile")?.slug); // "dockerfile"
console.log(detectLanguages("include/config.h").map((language) => language.slug)); // ["c", "cpp"]Supported Languages
| Logo | Language | Slug | Extensions | Version | Import |
|---|---|---|---|---|---|
| | ABAP | abap | .abap | ABAP Platform 2025 FPS01 | code-languages/abap |
| | ActionScript | actionscript | .as | 3.0 | code-languages/actionscript |
| | Ada | ada | .adb, .ads, .ada | Ada 2022 | code-languages/ada |
| | Apex | apex | .cls, .trigger | API 66.0 | code-languages/apex |
| | AsciiDoc | asciidoc | .adoc, .asciidoc, .asc | pre-spec | code-languages/asciidoc |
| | ASP/ASPX | asp | .asp, .aspx, .ascx, .ashx, .asmx, .master | 4.8.1 | code-languages/asp |
| | Astro | astro | .astro | 6.3.3 | code-languages/astro |
| | Assembly | assembly | .asm, .s, .S, .inc | Architecture-specific | code-languages/assembly |
| | awk | awk | .awk | GNU Awk 5.4.0 | code-languages/awk |
| | Bash | bash | .sh, .bash, .bashrc, .bash_profile, .bash_login, .profile | 5.3 | code-languages/bash |
| | Batch | batch | .bat, .cmd | Windows Command Processor | code-languages/batch |
| | Bazel | bazel | BUILD.bazel, WORKSPACE, WORKSPACE.bazel, MODULE.bazel | 9.0.2 | code-languages/bazel |
| | Bicep | bicep | .bicep, .bicepparam | 0.43.8 | code-languages/bicep |
| | Blade | blade | .blade.php | Laravel 12.x | code-languages/blade |
| | C | c | .c, .h | C23 | code-languages/c |
| | CMake | cmake | CMakeLists.txt, .cmake | 4.3.2 | code-languages/cmake |
| | Clojure | clojure | .clj, .cljs, .cljc, .edn, .bb | 1.12.5 | code-languages/clojure |
| | CoffeeScript | coffeescript | .coffee, .litcoffee, .cson | 2.7.0 | code-languages/coffeescript |
| | COBOL | cobol | .cob, .cbl, .cobol, .cpy | ISO/IEC 1989:2023 | code-languages/cobol |
| | C++ | cpp | .cpp, .cc, .cxx, .h, .hpp, .hh, .hxx | C++23 | code-languages/cpp |
| | C# | csharp | .cs, .csx | 14 | code-languages/csharp |
| | Crystal | crystal | .cr | 1.20.2 | code-languages/crystal |
| | CSS | css | .css | Living Standard | code-languages/css |
| | CUE | cue | .cue | 0.16.1 | code-languages/cue |
| | CUDA | cuda | .cu, .cuh | 13.2.1 | code-languages/cuda |
| | D | d | .d, .di | 2.112.0 | code-languages/d |
| | Dart | dart | .dart | 3.11.6 | code-languages/dart |
| | Dockerfile | dockerfile | Dockerfile, .dockerfile | 1.10 | code-languages/dockerfile |
| | Elixir | elixir | .ex, .exs, .eex, .leex, .heex | 1.19.5 | code-languages/elixir |
| | Elm | elm | .elm | 0.19.1 | code-languages/elm |
| | Erlang | erlang | .erl, .hrl, .app.src, .escript, .xrl, .yrl, rebar.config | OTP 29.0 | code-languages/erlang |
| | Fennel | fennel | .fnl | 1.6.1 | code-languages/fennel |
| | Fortran | fortran | .f, .for, .ftn, .f90, .f95, .f03, .f08, .f18, .f23 | Fortran 2023 | code-languages/fortran |
| | F# | fsharp | .fs, .fsi, .fsx, .fsscript | 10 | code-languages/fsharp |
| | GDScript | gdscript | .gd | 4.6 | code-languages/gdscript |
| | Git | git | .git, .gitignore, .gitattributes, .gitmodules, .gitkeep | 2.54.0 | code-languages/git |
| | Gleam | gleam | .gleam | 1.16.0 | code-languages/gleam |
| | Go | go | .go | 1.26.3 | code-languages/go |
| | Gradle | gradle | .gradle, .gradle.kts | 9.5.1 | code-languages/gradle |
| | GLSL | glsl | .glsl, .vert, .frag, .geom, .tesc, .tese, .comp, .vs, .fs | 4.60 | code-languages/glsl |
| | GraphQL | graphql | .graphql, .gql, .graphqls | September 2025 | code-languages/graphql |
| | Groovy | groovy | .groovy, .gvy, .gy, .gsh | 5.0.5 | code-languages/groovy |
| | Handlebars | handlebars | .hbs, .handlebars | 4.7.9 | code-languages/handlebars |
| | Haskell | haskell | .hs, .lhs, .hsc, .hs-boot, .hsig, .cabal | GHC 9.14.1 | code-languages/haskell |
| | Haxe | haxe | .hx, .hxml | 4.3.7 | code-languages/haxe |
| | HCL | hcl | .hcl, .tf, .tfvars, .pkr.hcl, .nomad | 2.24.0 | code-languages/hcl |
| | HLSL | hlsl | .hlsl, .fx, .fxh, .hlsli | Shader Model 6.9 | code-languages/hlsl |
| | HTML | html | .html, .htm | Living Standard | code-languages/html |
| | INI | ini | .ini | Informal format | code-languages/ini |
| | Java | java | .java | 26 | code-languages/java |
| | JavaScript | javascript | .js, .mjs, .cjs, .jsx | ECMAScript 2025 | code-languages/javascript |
| | Jinja | jinja | .jinja, .jinja2, .j2 | 3.1.6 | code-languages/jinja |
| | JSON | json | .json | RFC 8259 | code-languages/json |
| | Jupyter Notebook | jupyter-notebook | .ipynb | nbformat 4.5 | code-languages/jupyter-notebook |
| | Julia | julia | .jl | 1.12.6 | code-languages/julia |
| | Kotlin | kotlin | .kt, .kts | 2.3.20 | code-languages/kotlin |
| | Less | less | .less | 4.4.1 | code-languages/less |
| | Liquid | liquid | .liquid | 10.21.1 | code-languages/liquid |
| | Lisp | lisp | .lisp, .lsp, .cl, .asd | ANSI INCITS 226-1994 | code-languages/lisp |
| | Lua | lua | .lua, .rockspec | 5.5.0 | code-languages/lua |
| | Makefile | makefile | Makefile, makefile, GNUmakefile, .mk, .mak | 4.4.1 | code-languages/makefile |
| | MATLAB | matlab | .m, .mlx | R2026a | code-languages/matlab |
| | Markdown | markdown | .md, .markdown, .mdown, .mkd | CommonMark 0.31.2 | code-languages/markdown |
| | MDX | mdx | .mdx | 3.1.1 | code-languages/mdx |
| | Mermaid | mermaid | .mmd, .mermaid | 11.11.0 | code-languages/mermaid |
| | Meson | meson | meson.build, meson_options.txt, meson.options, .wrap | 1.11.1 | code-languages/meson |
| | Metal | metal | .metal | Metal 4 | code-languages/metal |
| | nginx | nginx | nginx.conf, .nginx, .conf | 1.30.1 | code-languages/nginx |
| | Nim | nim | .nim, .nims, .nimble | 2.2.10 | code-languages/nim |
| | Nix | nix | .nix | 2.28 | code-languages/nix |
| | OCaml | ocaml | .ml, .mli, .mll, .mly, .mlt, .eliom, .eliomi | 5.6.0 | code-languages/ocaml |
| | Objective-C | objective-c | .m, .mm | 2.0 | code-languages/objective-c |
| | Pascal | pascal | .pas, .pp, .inc, .lpr, .dpr, .dfm | 3.2.2 | code-languages/pascal |
| | Perl | perl | .pl, .pm, .pod, .t, .psgi | 5.42.2 | code-languages/perl |
| | PHP | php | .php, .phtml, .php3, .php4, .php5, .phps | 8.5.6 | code-languages/php |
| | PlantUML | plantuml | .puml, .plantuml, .iuml | 1.2026.3 | code-languages/plantuml |
| | PowerShell | powershell | .ps1, .psm1, .psd1, .ps1xml | 7.6.1 | code-languages/powershell |
| | Prolog | prolog | .pl, .pro, .prolog, .P | SWI-Prolog 10.0 | code-languages/prolog |
| | Protocol Buffers | protobuf | .proto | 34.1 | code-languages/protobuf |
| | Pug | pug | .pug, .jade | 3.0.4 | code-languages/pug |
| | Python | python | .py, .pyw | 3.14.4 | code-languages/python |
| | QML | qml | .qml, .qmltypes, .qmlproject | Qt 6.11.1 | code-languages/qml |
| | R | r | .r, .R, .rmd, .Rmd, .qmd, .Rprofile | 4.6.0 | code-languages/r |
| | Racket | racket | .rkt, .rktd, .rktl, .scrbl | 9.1 | code-languages/racket |
| | Razor | razor | .cshtml, .razor | 10.0.8 | code-languages/razor |
| | Rego | rego | .rego | OPA 1.15.2 | code-languages/rego |
| | Ruby | ruby | .rb, .rbw, .rake, .gemspec, Gemfile, Rakefile, config.ru | 4.0.4 | code-languages/ruby |
| | Rust | rust | .rs | 1.95.0 | code-languages/rust |
| | Scala | scala | .scala, .sc | 3.8.3 | code-languages/scala |
| | Sass | scss | .scss, .sass | 1.99.0 | code-languages/scss |
| | Solidity | solidity | .sol | 0.8.35 | code-languages/solidity |
| | SQL | sql | .sql | SQL:2023 | code-languages/sql |
| | Starlark | starlark | .bzl, .star, .sky | Bazel Starlark | code-languages/starlark |
| | SVG | svg | .svg, .svgz | SVG 2 | code-languages/svg |
| | SVN | svn | .svn, svnserve.conf | 1.14.5 | code-languages/svn |
| | Svelte | svelte | .svelte | 5.55.7 | code-languages/svelte |
| | Swift | swift | .swift | 6.2.2 | code-languages/swift |
| | Tcl/Tk | tcl | .tcl, .tm, .test | 9.0.3 | code-languages/tcl |
| | TeX | tex | .tex, .sty, .cls, .dtx, .ins, .ltx | TeX Live 2026 | code-languages/tex |
| | TOML | toml | .toml | 1.1.0 | code-languages/toml |
| | Twig | twig | .twig | 3.24.0 | code-languages/twig |
| | TypeScript | typescript | .ts, .tsx, .mts, .cts | 6.0 | code-languages/typescript |
| | Typst | typst | .typ | 0.14.1 | code-languages/typst |
| | Verilog/SystemVerilog | verilog | .v, .vh, .sv, .svh | IEEE 1800-2023 | code-languages/verilog |
| | VHDL | vhdl | .vhd, .vhdl | IEEE 1076-2019 | code-languages/vhdl |
| | Visual Basic | visual-basic | .vb | 17.13 | code-languages/visual-basic |
| | Vue | vue | .vue | 3.5.34 | code-languages/vue |
| | WebAssembly | webassembly | .wasm, .wat | 3.0 | code-languages/webassembly |
| | WGSL | wgsl | .wgsl | Candidate Recommendation Draft 2026-05-07 | code-languages/wgsl |
| | XAML | xaml | .xaml, .baml | Platform-specific | code-languages/xaml |
| | XML | xml | .xml, .xsd, .xsl, .xslt | XML 1.0 Fifth Edition | code-languages/xml |
| | XQuery | xquery | .xq, .xql, .xqm, .xquery, .xqy | XQuery 3.1 | code-languages/xquery |
| | XSLT | xslt | .xsl, .xslt | XSLT 3.0 | code-languages/xslt |
| | YAML | yaml | .yaml, .yml | 1.2.2 | code-languages/yaml |
| | Zig | zig | .zig, .zon | 0.16.0 | code-languages/zig |
| | zsh | zsh | .zsh, .zshrc, .zprofile, .zlogin, .zlogout, .zshenv | 5.9 | code-languages/zsh |
Development
npm ci
npm run check
npm run buildCommon scripts:
| Script | Purpose |
|---|---|
| npm run lint | Run Biome checks |
| npm run typecheck | Run TypeScript without emitting files |
| npm test | Run Vitest |
| npm run bench | Run manual performance benchmarks |
| npm run build | Build ESM, CommonJS, and declaration files |
| npm run check | Run lint, typecheck, and tests |
| npm run website:prepare | Build the static website data, unit test summary, and benchmark summary |
| npm run website:serve | Preview the static website locally |
Website
The static website lives in docs and is generated from the package build.
It includes a live filename detector, localized language lookup, the full language
catalog, unit test summary, and benchmark summary.
npm run website:prepare
npm run website:serveContributing
See CONTRIBUTING.md for setup instructions, field rules, and the process for adding a new language.
License
MIT
