Skip to content

[highlights] 146 Shiki languages have no lexer (prisma, ini, dotenv, ansi, ...) #1228

Closed

Description

@maria-rcks

Note

Written by claude-opus-5-5 on behalf of Maria

We're moving T3 Code's web highlighting from Shiki to @pierre/highlights through @pierre/diffs 1.6.1 (pingdotgg/t3code#23178), and mobile already uses it natively. It's 13-24x faster on our diffs and files. The one regression is languages Highlights has no lexer for. diffs maps them to text, so code blocks and files in those languages lose all color.

The ones we hit first are prisma, ini, dotenv and cobol, plus Shiki's special ansi language for terminal output. diffs' getFiletypeFromFileName also maps .prisma, .env, .ini, nginx.conf and others to these names, so whole files render plain in diffs too.

Below are all 146 Shiki 4.2.0 bundled languages for which isSupportedLanguage in @pierre/highlights 0.2.0 returns false for the id and every alias. ansi isn't in Shiki's bundle list, so it comes on top. We'd like to see these covered, or a supported way to plug in another highlighter for unsupported languages. diffs' one-highlighter-per-realm lock currently rules out falling back to diffs' own Shiki backend.

146 languages

abap, actionscript-3, ada, apache, apex, apl, applescript, ara, asciidoc, awk, ballerina, beancount, berry, bibtex, bicep, bird2, blade, bsl, cadence, cairo, clarity, cobol, codeowners, codeql, coffee, coq, crystal, csv (on main, unreleased), cue, cypher, d, dax, desktop, dotenv, dream-maker, edge, erb, fennel, fish, fluent, genie, gherkin, glimmer-js, glimmer-ts, gn, gnuplot, hack, haml, handlebars, haxe, hjson, html-derivative, http, hurl, hxml, hy, imba, ini, jinja, jison, jsonnet, jssm, just, kdl (#1222), kusto, lean, liquid, llvm, log, logo, luau, marko, mdc, mermaid, mipsasm, mojo, moonbit, move, narrat, nextflow, nextflow-groovy, nginx, nushell, odin (on main, unreleased), openscad, pkl, plsql, po, polar, postcss, powerquery, prisma, prolog, pug, puppet, purescript, qml, qmldir, qss, racket, raku, razor, reg, regexp, rel, riscv, ron, rosmsg, rst, sas, sdbl, shaderlab, smalltalk, soy, sparql, splunk, ssh-config, stata, stylus, surrealql, system-verilog, systemd, talonscript, tasl, tcl, templ, ts-tags, tsv (on main, unreleased), turtle, twig, typespec, typst, v, vala, verilog, vhdl, viml, vue-html, vue-vine, vyper, wenyan, wikitext, wit, wolfram, xsl, zenscript

How we computed it: for each entry in Shiki 4.2.0's bundledLanguagesInfo, we called isSupportedLanguage on its id and aliases. 89 of 235 are covered. We checked src/langs on main on 2026-10-25, and only csv, tsv and odin have landed since 0.2.0.

Activity

  1. ije commented on Oct 25, 2026

    @ije
    Collaborator

    thanks! working on add more languages support!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions