feat: add extensive Shiki language support for syntax highlighting

This commit is contained in:
mitchell 2026-04-17 22:40:03 -04:00
parent 8a23cf4d42
commit 2c5e3dd172

View file

@ -2,13 +2,51 @@ import os from "node:os";
import type { WriteStream } from "node:tty"; import type { WriteStream } from "node:tty";
import { render } from "@comark/ansi"; import { render } from "@comark/ansi";
import highlight from "@comark/ansi/plugins/highlight"; import highlight from "@comark/ansi/plugins/highlight";
import bash from "@shikijs/langs/bash";
import c from "@shikijs/langs/c";
import cpp from "@shikijs/langs/cpp";
import csharp from "@shikijs/langs/csharp";
import css from "@shikijs/langs/css";
import docker from "@shikijs/langs/docker";
import elixir from "@shikijs/langs/elixir";
import golang from "@shikijs/langs/go"; import golang from "@shikijs/langs/go";
import graphql from "@shikijs/langs/graphql";
import hcl from "@shikijs/langs/hcl";
import html from "@shikijs/langs/html";
import ini from "@shikijs/langs/ini";
import java from "@shikijs/langs/java"; import java from "@shikijs/langs/java";
import javascript from "@shikijs/langs/javascript";
import json from "@shikijs/langs/json";
import jsx from "@shikijs/langs/jsx";
import kotlin from "@shikijs/langs/kotlin"; import kotlin from "@shikijs/langs/kotlin";
import less from "@shikijs/langs/less";
import lua from "@shikijs/langs/lua";
import markdown from "@shikijs/langs/markdown";
import mdc from "@shikijs/langs/mdc";
import objc from "@shikijs/langs/objc"; import objc from "@shikijs/langs/objc";
import ocaml from "@shikijs/langs/ocaml";
import perl from "@shikijs/langs/perl";
import php from "@shikijs/langs/php";
import powershell from "@shikijs/langs/powershell";
import proto from "@shikijs/langs/proto"; import proto from "@shikijs/langs/proto";
import python from "@shikijs/langs/python";
import r from "@shikijs/langs/r";
import ruby from "@shikijs/langs/ruby";
import rust from "@shikijs/langs/rust";
import scss from "@shikijs/langs/scss";
import sql from "@shikijs/langs/sql";
import svelte from "@shikijs/langs/svelte";
import swift from "@shikijs/langs/swift"; import swift from "@shikijs/langs/swift";
import terraform from "@shikijs/langs/terraform";
import toml from "@shikijs/langs/toml";
import tsx from "@shikijs/langs/tsx";
import typescript from "@shikijs/langs/typescript";
import vim from "@shikijs/langs/vim";
import vue from "@shikijs/langs/vue";
import xml from "@shikijs/langs/xml"; import xml from "@shikijs/langs/xml";
import yaml from "@shikijs/langs/yaml";
import zig from "@shikijs/langs/zig";
import zsh from "@shikijs/langs/zsh";
import kanagawaLotus from "@shikijs/themes/kanagawa-lotus"; import kanagawaLotus from "@shikijs/themes/kanagawa-lotus";
import kanagawaWave from "@shikijs/themes/kanagawa-wave"; import kanagawaWave from "@shikijs/themes/kanagawa-wave";
import type { import type {
@ -167,7 +205,54 @@ export default class Renderer {
highlight({ highlight({
themes: { dark: kanagawaWave, light: kanagawaLotus }, themes: { dark: kanagawaWave, light: kanagawaLotus },
registerDefaultThemes: false, registerDefaultThemes: false,
languages: [golang, java, proto, xml, objc, swift, kotlin], registerDefaultLanguages: false,
languages: [
bash,
c,
cpp,
csharp,
css,
docker,
elixir,
golang,
graphql,
hcl,
html,
ini,
java,
javascript,
json,
jsx,
kotlin,
less,
lua,
markdown,
mdc,
objc,
ocaml,
perl,
php,
powershell,
proto,
python,
r,
ruby,
rust,
scss,
sql,
svelte,
swift,
terraform,
toml,
tsx,
typescript,
vim,
vue,
xml,
yaml,
zig,
zsh,
],
}), }),
], ],
}), }),