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, logos, and reference colors 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
- Localized content in English, Spanish, Italian, French, German, and Portuguese
- 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";
console.log(abap.version);
console.log(actionscript.extensions);Import from the package root when bundle size is not a concern:
import {
abap,
actionscript,
} from "code-languages";
console.log(localizeLanguage(abap).description);
console.log(localizeLanguage(actionscript, "es").description);API
Every language object satisfies the Language interface:
export type BaseLocale = "en" | "es" | "it" | "fr" | "de" | "pt";
export type Locale = BaseLocale | `${BaseLocale}-${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;
color: `#${string}`;
i18n: {
en: LanguageContent;
es?: LanguageContent;
it?: LanguageContent;
fr?: LanguageContent;
de?: LanguageContent;
pt?: 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"]api.language(...) normalizes lookup values to the package slug format, so inputs
such as "Visual Basic" and "Jupyter Notebook!" resolve to visual-basic and
jupyter-notebook.
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 api.runtime(value) to query languages that run on a specific platform or runtime environment:
import { api } from "code-languages/api";
// Get runtime metadata
const info = api.runtime('node').info();
// {
// slug: 'node',
// name: 'Node.js',
// color: '#339933',
// logo: 'https://cdn.simpleicons.org/nodedotjs',
// website: 'https://nodejs.org',
// aliases: ['node', 'nodejs', 'node.js'],
// packageManagers: ['npm', 'pnpm', 'Yarn', 'Bun'],
// }
// Get languages that target this runtime
const langs = api.runtime('node').langs().get();
const langsEs = api.runtime('.net').langs().locale('es').get();
await api.runtime('jvm').langs().load();
// Returns undefined / [] for unknown values
api.runtime('unknown-xyz').info(); // undefined
api.runtime('unknown-xyz').langs().get(); // []Supported runtime aliases include: node / nodejs / node.js, bun, deno, browser,
.net / dotnet, jvm / java, android, ios, python, ruby, rust, go / golang,
wasm, sql, and many more. Searches tooling.runtimes and tooling.ecosystems on each language.
Use api.packageManager(value) to query languages that use a specific package manager:
import { api } from "code-languages/api";
// Get package manager metadata
const info = api.packageManager('npm').info();
// {
// slug: 'npm',
// name: 'npm',
// color: '#CB3837',
// logo: 'https://cdn.simpleicons.org/npm',
// website: 'https://npmjs.com',
// aliases: ['npm'],
// }
// Get languages that use this package manager
const langs = api.packageManager('cargo').langs().get();
const langsEs = api.packageManager('pip').langs().locale('es').get();
// Get runtime platforms that include this package manager
const runtimes = api.packageManager('npm').runtimes();
// [{ name: 'Node.js', ... }, { name: 'Bun', ... }, { name: 'Deno', ... }]
// Returns undefined / [] for unknown values
api.packageManager('unknown-xyz').info(); // undefined
api.packageManager('unknown-xyz').langs().get(); // []
api.packageManager('unknown-xyz').runtimes(); // []Supported package manager aliases include: npm, pnpm, yarn, pip, poetry, uv,
cargo, maven, gradle, nuget, composer, hex, spm, rubygems, go-mod,
luarocks, opam, cpan, and more. Searches tooling.packageManagers on each language.
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
ja-JP->en.
English, Spanish, Italian, French, German, and Portuguese are supported base locales.
The current Italian, French, German, and Portuguese translations were initially
generated with translategemma:4b; translation reviews and corrections are welcome.
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"]Use detectLanguageSlug or detectLanguageSlugs when you only need the slug
and want to avoid importing the full language catalog:
import { detectLanguageSlug, detectLanguageSlugs } from "code-languages/detect-slugs";
console.log(detectLanguageSlug("src/index.ts")); // "typescript"
console.log(detectLanguageSlugs("include/config.h")); // ["c", "cpp"]Use detectProjectLanguages to summarize a project file list by detected language:
import { detectProjectLanguages } from "code-languages/detect-slugs";
const files = ["src/index.ts", "src/app.ts", "README.md", "styles/main.css", "LICENSE"];
console.log(detectProjectLanguages(files));
// [
// { slug: "typescript", files: 2 },
// { slug: "css", files: 1 },
// { slug: "markdown", files: 1 }
// ]Supported Languages
The catalog currently includes 286 language entries. Each row can be imported directly from its package subpath.
| 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 |
|
| Agda | agda |
.agda, .lagda, .lagda.md, .lagda.rst, .lagda.tex |
2.8.0 |
code-languages/agda |
|
| ALGOL | algol |
.alg, .algol |
ALGOL 68 |
code-languages/algol |
|
| AMPL | ampl |
.mod, .dat, .run |
stable |
code-languages/ampl |
|
| Ante | ante |
.ante |
experimental |
code-languages/ante |
|
| ANTLR Grammar | antlr |
.g4 |
4.13.2 |
code-languages/antlr |
|
| Apex | apex |
.cls, .trigger |
API 66.0 |
code-languages/apex |
|
| APL | apl |
.apl, .dyalog |
ISO/IEC 13751:2001 |
code-languages/apl |
|
| AppleScript | applescript |
.applescript, .scpt, .scptd |
2.8 |
code-languages/applescript |
|
| Arduino Sketch | arduino |
.ino, .pde |
Arduino API 1.0 |
code-languages/arduino |
|
| AQL | aql |
.aql |
ArangoDB AQL |
code-languages/aql |
|
| 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 |
|
| Assembly | assembly |
.asm, .s, .S, .inc |
Architecture-specific |
code-languages/assembly |
|
| AssemblyScript | assemblyscript |
.as |
0.27.32 |
code-languages/assemblyscript |
|
| Astro | astro |
.astro |
7.0.3 |
code-languages/astro |
|
| Austral | austral |
.aum, .aui |
0.1.0 |
code-languages/austral |
|
| AutoHotkey | autohotkey |
.ahk, .ah2 |
2.0 |
code-languages/autohotkey |
|
| Avro IDL | avro-idl |
.avdl |
1.12.1 |
code-languages/avro-idl |
|
| awk | awk |
.awk |
GNU Awk 5.4.0 |
code-languages/awk |
|
| Ballerina | ballerina |
.bal |
2201.12.0 |
code-languages/ballerina |
|
| Bash | bash |
.sh, .bash, .bashrc, .bash_profile, .bash_login, .profile |
5.3 |
code-languages/bash |
|
| BASIC | basic |
.bas, .bi, .bb |
FreeBASIC 1.10.1 |
code-languages/basic |
|
| Batch | batch |
.bat, .cmd |
Windows Command Processor |
code-languages/batch |
|
| Bazel | bazel |
BUILD.bazel, WORKSPACE, WORKSPACE.bazel, MODULE.bazel |
9.1.1 |
code-languages/bazel |
|
| BCPL | bcpl |
.bcpl |
Cintsys BCPL |
code-languages/bcpl |
|
| BibTeX | bibtex |
.bib, .bibtex |
stable |
code-languages/bibtex |
|
| Bicep | bicep |
.bicep, .bicepparam |
0.44.1 |
code-languages/bicep |
|
| Blade | blade |
.blade.php |
Laravel 12.x |
code-languages/blade |
|
| Bosque | bosque |
.bsq |
experimental |
code-languages/bosque |
|
| BQN | bqn |
.bqn |
BQN specification |
code-languages/bqn |
|
| Brainfuck | brainfuck |
.bf, .b |
stable |
code-languages/brainfuck |
|
| C | c |
.c, .h |
C23 |
code-languages/c |
|
| Cairo | cairo |
.cairo |
2.11.4 |
code-languages/cairo |
|
| Cap'n Proto | capnproto |
.capnp |
stable |
code-languages/capnproto |
|
| Carbon | carbon |
.carbon |
0.0.0 nightly |
code-languages/carbon |
|
| Common Expression Language | cel |
.cel |
0.25.2 |
code-languages/cel |
|
| Chapel | chapel |
.chpl |
2.9.0 |
code-languages/chapel |
|
| Circom | circom |
.circom |
2.2.3 |
code-languages/circom |
|
| Clojure | clojure |
.clj, .cljs, .cljc, .edn, .bb |
1.12.5 |
code-languages/clojure |
|
| CMake | cmake |
CMakeLists.txt, .cmake |
4.3.4 |
code-languages/cmake |
|
| COBOL | cobol |
.cob, .cbl, .cobol, .cpy |
ISO/IEC 1989:2023 |
code-languages/cobol |
|
| CoffeeScript | coffeescript |
.coffee, .litcoffee, .cson |
2.7.0 |
code-languages/coffeescript |
|
| ColdFusion | coldfusion |
.cfm, .cfml, .cfc |
ColdFusion 2025 |
code-languages/coldfusion |
|
| Coq / Rocq | coq |
.v |
9.2.0 |
code-languages/coq |
|
| C++ | cpp |
.cpp, .cc, .cxx, .h, .hpp, .hh, .hxx |
C++23 |
code-languages/cpp |
|
| Crystal | crystal |
.cr |
1.20.2 |
code-languages/crystal |
|
| CQL | cql |
.cql |
CQL 3 |
code-languages/cql |
|
| C# | csharp |
.cs, .csx |
14 |
code-languages/csharp |
|
| CSS | css |
.css |
Living Standard |
code-languages/css |
|
| CUDA | cuda |
.cu, .cuh |
13.3.0 |
code-languages/cuda |
|
| CUE | cue |
.cue |
0.16.1 |
code-languages/cue |
|
| Curry | curry |
.curry, .lcurry |
Curry 0.9.0 |
code-languages/curry |
|
| Cypher | cypher |
.cypher, .cyp |
25 |
code-languages/cypher |
|
| Cython | cython |
.pyx, .pxd, .pxi |
3.2.6 |
code-languages/cython |
|
| D | d |
.d, .di |
2.112.0 |
code-languages/d |
|
| Dafny | dafny |
.dfy |
4.11.0 |
code-languages/dafny |
|
| Dart | dart |
.dart |
3.12.2 |
code-languages/dart |
|
| DAX | dax |
.dax |
DAX 2025 |
code-languages/dax |
|
| Dhall | dhall |
.dhall |
23.1.0 |
code-languages/dhall |
|
| DITA | dita |
.dita, .ditamap, .ditaval |
1.3 |
code-languages/dita |
|
| Dockerfile | dockerfile |
Dockerfile, .dockerfile |
1.10 |
code-languages/dockerfile |
|
| DOT | dot |
.dot, .gv |
stable |
code-languages/dot |
|
| Earthly | earthly |
Earthfile |
0.8.16 |
code-languages/earthly |
|
| EditorConfig | editorconfig |
.editorconfig |
stable |
code-languages/editorconfig |
|
| Eiffel | eiffel |
.e |
24.05 |
code-languages/eiffel |
|
| EJS | ejs |
.ejs |
3.1.10 |
code-languages/ejs |
|
| Elixir | elixir |
.ex, .exs, .eex, .leex, .heex |
1.20.2 |
code-languages/elixir |
|
| Elm | elm |
.elm |
0.19.1 |
code-languages/elm |
|
| ERB | erb |
.erb, .rhtml, .html.erb |
Ruby stdlib |
code-languages/erb |
|
| Erlang | erlang |
.erl, .hrl, .app.src, .escript, .xrl, .yrl, rebar.config |
OTP 29.0.2 |
code-languages/erlang |
|
| Factor | factor |
.factor |
0.101 |
code-languages/factor |
|
| Fe | fe |
.fe |
experimental |
code-languages/fe |
|
| Fennel | fennel |
.fnl |
1.6.1 |
code-languages/fennel |
|
| Fish | fish |
.fish |
4.8.0 |
code-languages/fish |
|
| FlatBuffers | flatbuffers |
.fbs |
25.12.19 |
code-languages/flatbuffers |
|
| Flux | flux |
.flux |
0.200.0 |
code-languages/flux |
|
| Forth | forth |
.fs, .fth, .forth, .4th |
Forth 2012 |
code-languages/forth |
|
| Fortran | fortran |
.f, .for, .ftn, .f90, .f95, .f03, .f08, .f18, .f23 |
Fortran 2023 |
code-languages/fortran |
|
| FreeMarker | freemarker |
.ftl, .ftlh, .ftlx |
2.3.34 |
code-languages/freemarker |
|
| FQL | fql |
.fql |
legacy |
code-languages/fql |
|
| F# | fsharp |
.fs, .fsi, .fsx, .fsscript |
10 |
code-languages/fsharp |
|
| F* | fstar |
.fst, .fsti |
2026.04.17 |
code-languages/fstar |
|
| G-code | gcode |
.gcode, .gco, .nc, .cnc, .tap |
RS-274 |
code-languages/gcode |
|
| GDScript | gdscript |
.gd |
4.7 |
code-languages/gdscript |
|
| Gettext | gettext |
.po, .pot |
stable |
code-languages/gettext |
|
| Git | git |
.git, .gitignore, .gitattributes, .gitmodules, .gitkeep |
2.54.0 |
code-languages/git |
|
| AngelScript | angelscript |
.as, .angelscript |
2.36.1 |
code-languages/angelscript |
|
| Gleam | gleam |
.gleam |
1.17.0 |
code-languages/gleam |
|
| GML | gml |
.gml |
2024.13.0 |
code-languages/gml |
|
| GLSL | glsl |
.glsl, .vert, .frag, .geom, .tesc, .tese, .comp, .vs, .fs |
4.60 |
code-languages/glsl |
|
| Go | go |
.go |
1.26.4 |
code-languages/go |
|
| Gradle | gradle |
.gradle, .gradle.kts |
9.6.1 |
code-languages/gradle |
|
| Grain | grain |
.gr |
grain-v0.7.2 |
code-languages/grain |
|
| GraphQL | graphql |
.graphql, .gql, .graphqls |
September 2025 |
code-languages/graphql |
|
| Gremlin | gremlin |
.gremlin, .grem |
stable |
code-languages/gremlin |
|
| Groovy | groovy |
.groovy, .gvy, .gy, .gsh |
5.0.6 |
code-languages/groovy |
|
| Hack | hack |
.hack, .hh, .hhi |
HHVM 4.x |
code-languages/hack |
|
| Haml | haml |
.haml |
7.2.0 |
code-languages/haml |
|
| Handlebars | handlebars |
.hbs, .handlebars |
4.7.9 |
code-languages/handlebars |
|
| Hare | hare |
.ha |
0.25.1 |
code-languages/hare |
|
| 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 |
|
| HOCON | hocon |
.hocon |
1.4.3 |
code-languages/hocon |
|
| HTML | html |
.html, .htm |
Living Standard |
code-languages/html |
|
| Hy | hy |
.hy |
1.0.0 |
code-languages/hy |
|
| Idris | idris |
.idr, .lidr, .ipkg |
0.8.0 |
code-languages/idris |
|
| INI | ini |
.ini |
Informal format |
code-languages/ini |
|
| Ink! | ink |
.ink |
Ink! 6 |
code-languages/ink |
|
| Ink | ink-narrative |
.ink |
1.2.0 |
code-languages/ink-narrative |
|
| Io | io |
.io |
2017.09.06 |
code-languages/io |
|
| Isabelle | isabelle |
.thy |
Isabelle2025-2 |
code-languages/isabelle |
|
| Janet | janet |
.janet, .jdn |
1.41.2 |
code-languages/janet |
|
| 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 |
|
| JMESPath | jmespath |
.jmespath, .jp |
stable |
code-languages/jmespath |
|
| JSON | json |
.json |
RFC 8259 |
code-languages/json |
|
| JSON5 | json5 |
.json5 |
2.2.3 |
code-languages/json5 |
|
| JSONata | jsonata |
.jsonata |
stable |
code-languages/jsonata |
|
| JSONC | jsonc |
.jsonc, .code-workspace |
JSON with Comments |
code-languages/jsonc |
|
| Jsonnet | jsonnet |
.jsonnet, .libsonnet |
0.22.0 |
code-languages/jsonnet |
|
| Julia | julia |
.jl |
1.12.6 |
code-languages/julia |
|
| Jupyter Notebook | jupyter-notebook |
.ipynb |
nbformat 4.5 |
code-languages/jupyter-notebook |
|
| Just | just |
justfile, Justfile, .just |
1.44.0 |
code-languages/just |
|
| KCL | kcl |
.k, .kcl |
0.11.2 |
code-languages/kcl |
|
| KDL | kdl |
.kdl |
2.0.0 |
code-languages/kdl |
|
| Koka | koka |
.kk |
3.2.2 |
code-languages/koka |
|
| Kotlin | kotlin |
.kt, .kts |
2.4.0 |
code-languages/kotlin |
|
| KQL | kql |
.kql |
stable |
code-languages/kql |
|
| Lean | lean |
.lean |
4.31.0 |
code-languages/lean |
|
| Less | less |
.less |
4.6.7 |
code-languages/less |
|
| Ligo | ligo |
.ligo, .mligo, .religo, .jsligo |
1.x |
code-languages/ligo |
|
| Linker Script | linkerscript |
.ld, .lds, .x |
stable |
code-languages/linkerscript |
|
| Liquid | liquid |
.liquid |
10.27.1 |
code-languages/liquid |
|
| Lisp | lisp |
.lisp, .lsp, .cl, .asd |
ANSI INCITS 226-1994 |
code-languages/lisp |
|
| LLVM IR | llvm-ir |
.ll, .bc |
22.1.8 |
code-languages/llvm-ir |
|
| Lobster | lobster |
.lobster |
development snapshot |
code-languages/lobster |
|
| Logo | logo |
.logo, .lgo |
UCBLogo 6.2 |
code-languages/logo |
|
| Lua | lua |
.lua, .rockspec |
5.5.0 |
code-languages/lua |
|
| Luau | luau |
.luau |
0.727 |
code-languages/luau |
|
| Makefile | makefile |
Makefile, makefile, GNUmakefile, .mk, .mak |
4.4.1 |
code-languages/makefile |
|
| Mako | mako |
.mako, .mao |
1.3.10 |
code-languages/mako |
|
| Markdown | markdown |
.md, .markdown, .mdown, .mkd |
CommonMark 4.0 |
code-languages/markdown |
|
| Marlowe | marlowe |
.marlowe |
Marlowe Runtime |
code-languages/marlowe |
|
| Wolfram Language | mathematica |
.wl, .wls, .nb |
14.3 |
code-languages/mathematica |
|
| MATLAB | matlab |
.m, .mlx |
R2026a |
code-languages/matlab |
|
| Maxima | maxima |
.mac, .wxm |
5.49.0 |
code-languages/maxima |
|
| MDX | mdx |
.mdx |
3.1.1 |
code-languages/mdx |
|
| Mermaid | mermaid |
.mmd, .mermaid |
11.16.0 |
code-languages/mermaid |
|
| Meson | meson |
meson.build, meson_options.txt, meson.options, .wrap |
1.11.1 |
code-languages/meson |
|
| Mercury | mercury |
.m |
22.01.8 |
code-languages/mercury |
|
| Metal | metal |
.metal |
Metal 4 |
code-languages/metal |
|
| Modelica | modelica |
.mo |
3.6.1 |
code-languages/modelica |
|
| Mojo | mojo |
.mojo |
0.26.1 |
code-languages/mojo |
|
| Modula-2 | modula-2 |
.mod, .def |
ISO/IEC 10514-1:1996 |
code-languages/modula-2 |
|
| MoonBit | moonbit |
.mbt |
0.9.2 |
code-languages/moonbit |
|
| Move | move |
.move |
2.0.0 |
code-languages/move |
|
| MUMPS | mumps |
.mac, .int, .ro, .mro |
InterSystems IRIS 2025.1 |
code-languages/mumps |
|
| Mustache | mustache |
.mustache, .mst |
1.0 |
code-languages/mustache |
|
| N1QL | n1ql |
.n1ql |
stable |
code-languages/n1ql |
|
| Nextflow | nextflow |
.nf |
24.10.4 |
code-languages/nextflow |
|
| nginx | nginx |
nginx.conf, .nginx, .conf |
1.30.3 |
code-languages/nginx |
|
| Nickel | nickel |
.ncl |
1.17.0 |
code-languages/nickel |
|
| Nim | nim |
.nim, .nims, .nimble |
2.2.10 |
code-languages/nim |
|
| Nix | nix |
.nix |
2.34.8 |
code-languages/nix |
|
| Nunjucks | nunjucks |
.njk, .nunjucks |
3.2.4 |
code-languages/nunjucks |
|
| Nushell | nushell |
.nu |
0.113.1 |
code-languages/nushell |
|
| Objective-C | objective-c |
.m, .mm |
2.0 |
code-languages/objective-c |
|
| OCaml | ocaml |
.ml, .mli, .mll, .mly, .mlt, .eliom, .eliomi |
5.6.0 |
code-languages/ocaml |
|
| Octave | octave |
.m, .octave |
9.3.0 |
code-languages/octave |
|
| Oberon | oberon |
.ob, .mod |
Oberon-2 |
code-languages/oberon |
|
| Odin | odin |
.odin |
dev-2026-02 |
code-languages/odin |
|
| OpenAPI | openapi |
.openapi.json, .openapi.yaml, .openapi.yml |
3.2.0 |
code-languages/openapi |
|
| OpenCL C | opencl |
.cl, .clh |
OpenCL C 3.0 |
code-languages/opencl |
|
| OpenSCAD | openscad |
.scad |
2021.01 |
code-languages/openscad |
|
| Org-mode | org |
.org |
9.8 |
code-languages/org |
|
| 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.7 |
code-languages/php |
|
| Pine Script | pine-script |
.pine |
v6 |
code-languages/pine-script |
|
| PL/I | pl-i |
.pli, .pl1 |
Enterprise PL/I 6.2 |
code-languages/pl-i |
|
| Pkl | pkl |
.pkl |
0.28.2 |
code-languages/pkl |
|
| PlantUML | plantuml |
.puml, .plantuml, .iuml |
1.2026.6 |
code-languages/plantuml |
|
| PL/pgSQL | plpgsql |
.pgsql, .plpgsql |
stable |
code-languages/plpgsql |
|
| Oracle PL/SQL | plsql |
.pls, .pks, .pkb, .plsql |
Oracle Database 26ai |
code-languages/plsql |
|
| Plain Old Documentation | pod |
.pod |
Perl 5.42.2 |
code-languages/pod |
|
| Pony | pony |
.pony |
0.61.1 |
code-languages/pony |
|
| PostScript | postscript |
.ps, .eps |
PostScript 3 |
code-languages/postscript |
|
| Power Query M | powerquery |
.pq, .pqm |
Power Query M 2025 |
code-languages/powerquery |
|
| PowerShell | powershell |
.ps1, .psm1, .psd1, .ps1xml |
7.6.3 |
code-languages/powershell |
|
| Processing | processing |
.pde |
4.4.5 |
code-languages/processing |
|
| Prolog | prolog |
.pl, .pro, .prolog, .P |
SWI-Prolog 10.0 |
code-languages/prolog |
|
| PromQL | promql |
.promql |
Prometheus 3.x |
code-languages/promql |
|
| Protocol Buffers | protobuf |
.proto |
35.1 |
code-languages/protobuf |
|
| Pug | pug |
.pug, .jade |
3.0.4 |
code-languages/pug |
|
| Puppet | puppet |
.pp, .epp |
Puppet 8 |
code-languages/puppet |
|
| PureScript | purescript |
.purs |
0.15.15 |
code-languages/purescript |
|
| Python | python |
.py, .pyw |
3.14.6 |
code-languages/python |
|
| qmake | qmake |
.pri, .prf |
stable |
code-languages/qmake |
|
| QML | qml |
.qml, .qmltypes, .qmlproject |
Qt 6.11.1 |
code-languages/qml |
|
| Q# | qsharp |
.qs |
Q# 1.0 |
code-languages/qsharp |
|
| R | r |
.r, .R, .rmd, .Rmd, .qmd, .Rprofile |
4.6.1 |
code-languages/r |
|
| Racket | racket |
.rkt, .rktd, .rktl, .scrbl |
9.2 |
code-languages/racket |
|
| Raku | raku |
.raku, .rakumod, .rakudoc, .rakutest, .p6, .pm6 |
6.d |
code-languages/raku |
|
| Razor | razor |
.cshtml, .razor |
10.0.9 |
code-languages/razor |
|
| Rebol | rebol |
.r, .reb, .rebol |
Rebol 3 |
code-languages/rebol |
|
| Red | red |
.red, .reds |
0.6.6 |
code-languages/red |
|
| ReasonML | reasonml |
.re, .rei |
3.13.0 |
code-languages/reasonml |
|
| Rego | rego |
.rego |
OPA 1.18.0 |
code-languages/rego |
|
| ReScript | rescript |
.res, .resi |
12.0.0 |
code-languages/rescript |
|
| reStructuredText | restructuredtext |
.rst, .rest |
Docutils 0.22.2 |
code-languages/restructuredtext |
|
| Roc | roc |
.roc |
development snapshot |
code-languages/roc |
|
| RPG | rpg |
.rpg, .rpgle, .sqlrpgle, .clle, .dspf |
RPG IV Free-Form (IBM i 7.5) |
code-languages/rpg |
|
| Ruby | ruby |
.rb, .rbw, .rake, .gemspec, Gemfile, Rakefile, config.ru |
4.0.5 |
code-languages/ruby |
|
| Rust | rust |
.rs |
1.96.0 |
code-languages/rust |
|
| SAS | sas |
.sas |
SAS 9.4 |
code-languages/sas |
|
| Scala | scala |
.scala, .sc |
3.8.4 |
code-languages/scala |
|
| Scheme | scheme |
.scm, .ss, .sld, .sls |
R7RS small |
code-languages/scheme |
|
| Sass | scss |
.scss, .sass |
1.101.0 |
code-languages/scss |
|
| Self | self |
.self |
2024.1 |
code-languages/self |
|
| Simula | simula |
.sim, .simula |
Simula 67 |
code-languages/simula |
|
| Smalltalk | smalltalk |
.st |
ANSI INCITS 319-1998 |
code-languages/smalltalk |
|
| Smarty | smarty |
.tpl, .smarty |
5.5.1 |
code-languages/smarty |
|
| Snakemake | snakemake |
.smk, Snakefile |
8.25.0 |
code-languages/snakemake |
|
| SNOBOL | snobol |
.sno, .snobol |
SNOBOL4 |
code-languages/snobol |
|
| Solidity | solidity |
.sol |
0.8.35 |
code-languages/solidity |
|
| SOQL | soql |
.soql |
stable |
code-languages/soql |
|
| SPARQL | sparql |
.sparql, .rq |
1.1 |
code-languages/sparql |
|
| SPARK | spark |
.spark, .adb, .ads |
SPARK Community 2021 |
code-languages/spark |
|
| SPL | spl |
.spl |
stable |
code-languages/spl |
|
| SPSS | spss |
.sps, .spss |
29.0 |
code-languages/spss |
|
| SQL | sql |
.sql |
SQL:2023 |
code-languages/sql |
|
| Squirrel | squirrel |
.nut |
3.2 |
code-languages/squirrel |
|
| Standard ML | standard-ml |
.sml, .sig, .fun |
The Definition 1997 |
code-languages/standard-ml |
|
| Starlark | starlark |
.bzl, .star, .sky |
Bazel Starlark |
code-languages/starlark |
|
| Stata | stata |
.do, .ado, .mata |
19 |
code-languages/stata |
|
| Stylus | stylus |
.styl |
0.64.0 |
code-languages/stylus |
|
| Svelte | svelte |
.svelte |
5.56.4 |
code-languages/svelte |
|
| SVG | svg |
.svg, .svgz |
SVG 2 |
code-languages/svg |
|
| SVN | svn |
.svn, svnserve.conf |
1.14.5 |
code-languages/svn |
|
| Swift | swift |
.swift |
6.3.2 |
code-languages/swift |
|
| Tcl/Tk | tcl |
.tcl, .tm, .test |
9.0.4 |
code-languages/tcl |
|
| Tcsh | tcsh |
.tcsh, .csh, .tcshrc, .cshrc |
6.24.16 |
code-languages/tcsh |
|
| TeX | tex |
.tex, .sty, .cls, .dtx, .ins, .ltx |
TeX Live 2026 |
code-languages/tex |
|
| Textile | textile |
.textile |
4.1.4 |
code-languages/textile |
|
| Apache Thrift | thrift |
.thrift |
0.22.0 |
code-languages/thrift |
|
| TLA+ | tla-plus |
.tla |
TLA+ 2 |
code-languages/tla-plus |
|
| TOML | toml |
.toml |
1.1.0 |
code-languages/toml |
|
| Troff/Groff | troff |
.roff, .troff, .man, .me, .ms |
GNU groff 1.24.1 |
code-languages/troff |
|
| T-SQL | tsql |
.sql, .tsql |
SQL Server 2025 (17.x) |
code-languages/tsql |
|
| Twee/Twine | twee |
.tw, .twee, .tw2 |
2.10.0 |
code-languages/twee |
|
| Twig | twig |
.twig |
3.27.1 |
code-languages/twig |
|
| TypeScript | typescript |
.ts, .tsx, .mts, .cts |
6.0 |
code-languages/typescript |
|
| Typst | typst |
.typ |
0.15.0 |
code-languages/typst |
|
| Unison | unison |
.u, .uu |
0.5.28 |
code-languages/unison |
|
| V | v |
.v, .vsh |
weekly.2025.49 |
code-languages/v |
|
| Vala | vala |
.vala, .vapi |
0.56.18 |
code-languages/vala |
|
| Vale | vale |
.vale |
experimental |
code-languages/vale |
|
| VBA | vba |
.bas, .cls, .frm, .vba |
VBA 7.1 |
code-languages/vba |
|
| Apache Velocity | velocity |
.vm, .vtl |
2.4.1 |
code-languages/velocity |
|
| Verilog/SystemVerilog | verilog |
.v, .vh, .sv, .svh |
IEEE 1800-2023 |
code-languages/verilog |
|
| Verse | verse |
.verse |
UEFN Verse |
code-languages/verse |
|
| 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.39 |
code-languages/vue |
|
| Vyper | vyper |
.vy |
0.4.3 |
code-languages/vyper |
|
| WebAssembly | webassembly |
.wasm, .wat |
3.0 |
code-languages/webassembly |
|
| WDL | wdl |
.wdl |
1.2.0 |
code-languages/wdl |
|
| WGSL | wgsl |
.wgsl |
Candidate Recommendation Draft 2026-05-07 |
code-languages/wgsl |
|
| Wren | wren |
.wren |
0.4.0 |
code-languages/wren |
|
| XAML | xaml |
.xaml, .baml |
Platform-specific |
code-languages/xaml |
|
| XML | xml |
.xml, .xsd, .xsl, .xslt |
XML 1.0 Fifth Edition |
code-languages/xml |
|
| XPath | xpath |
.xpath, .xpth |
XPath 3.1 |
code-languages/xpath |
|
| 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 |
|
| YARA | yara |
.yar, .yara |
4.5.2 |
code-languages/yara |
|
| Zeek | zeek |
.zeek, .bro |
8.0.4 |
code-languages/zeek |
|
| Zig | zig |
.zig, .zon |
0.16.0 |
code-languages/zig |
|
| Ziggy | ziggy |
.ziggy, .ziggy-schema |
0.1.0 |
code-languages/ziggy |
|
| zsh | zsh |
.zsh, .zshrc, .zshenv, .zprofile, .zlogin, .zlogout, .zsh-theme |
5.9.1 |
code-languages/zsh |
Development
npm ci
npm run check
npm run buildCommon scripts:
| Script | Purpose |
|---|---|
npm run format |
Format and auto-fix with Biome |
npm run format:check |
Check formatting with Biome (read-only) |
npm run lint |
Run ESLint |
npm run lint:fix |
Run ESLint with auto-fix |
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 format:check, lint, typecheck, and tests |
npm run check:language-versions -- --language typescript |
Check release metadata for one language |
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