From a442059ca10a4dbed79b38bda233b166ae80b96b Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sat, 12 Aug 2023 00:38:11 +0200 Subject: [PATCH 1/3] docs: update --- README.md | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 5ed7b775..f4ff3c46 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,11 @@ An ESM-focused rewrite of [shiki](https://github.com/shikijs/shiki), a beautiful ## Changes - All grammars/themes/wasm served as pure-ESM, no more CDN, no more assets. -- Portable. Does not rely on Node.js APIs or the filesystem, works in any JavaScript runtime. +- Portable. Does not rely on Node.js APIs or the filesystem, works in any modern JavaScript runtime. - Drop CJS and IIFE build, focus on ESM (or use bundlers). - Bundles languages/themes composedly. -- Zero dependencies. -- Simplified API. +- Zero-dependencies. +- Simplified APIs. - Please don't hate me Pine 😜 ## Install @@ -41,7 +41,7 @@ When importing `shikiji`, all the themes and languages are bundled as async chun ```js // `shikiji/core` entry does not include any themes or languages or the wasm binary. -import { getHighlighter } from 'shikiji/core' +import { getHighlighterCore } from 'shikiji/core' // `shikiji/wasm` contains the wasm binary inlined as base64 string. import { getWasmInlined } from 'shikiji/wasm' @@ -49,7 +49,7 @@ import { getWasmInlined } from 'shikiji/wasm' // directly import the theme and language modules, only the ones you imported will be bundled. import nord from 'shikiji/themes/nord.mjs' -const shiki = await getHighlighter({ +const shiki = await getHighlighterCore({ // instead of strings, you need to pass the imported module themes: [nord], langs: [ @@ -94,10 +94,6 @@ export default { } ``` -## TODO - -- [ ] Port more Shiki API - ## License [MIT](./LICENSE) From 318163d727a172c81ace1f1fe7deda5674cd0ad9 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sat, 12 Aug 2023 01:03:16 +0200 Subject: [PATCH 2/3] fix: support language alias --- scripts/prepare.ts | 24 ++- src/core.ts | 2 + src/index.ts | 6 +- src/vendor/langs.ts | 390 +++++++++++++++++++++++++------------------ src/vendor/themes.ts | 60 +++---- test/index.test.ts | 6 +- 6 files changed, 285 insertions(+), 203 deletions(-) diff --git a/scripts/prepare.ts b/scripts/prepare.ts index aeb307a3..df9741ef 100644 --- a/scripts/prepare.ts +++ b/scripts/prepare.ts @@ -8,6 +8,8 @@ const files = await fg('*.json', { onlyFiles: true, }) +files.sort() + await fs.ensureDir('./src/vendor/languages') await fs.emptyDir('./src/vendor/languages') @@ -31,15 +33,29 @@ for (const file of files) { }, { spaces: 2 }) } -const languages = Object.fromEntries(BUNDLED_LANGUAGES.map(i => [i.id, `__() => import('./languages/${i.id}.json') as unknown as Promise<{ default: LanguageRegistration }>__`])) +const languages = Object.fromEntries(BUNDLED_LANGUAGES.map(i => [i.id, `__(() => import('./languages/${i.id}.json')) as unknown as DynamicLangReg__`])) + +const langAlias = Object.fromEntries(BUNDLED_LANGUAGES.flatMap(i => + (i.aliases || []).map(x => [x, `__bundledLanguagesBase['${i.id}']__`]), +)) -const themes = Object.fromEntries(BUNDLED_THEMES.map(i => [i, `__() => import('shiki/themes/${i}.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>__`])) +const themes = Object.fromEntries(BUNDLED_THEMES.sort().map(i => [i, `__(() => import('shiki/themes/${i}.json')) as unknown as DynamicThemeReg__`])) await fs.writeFile( 'src/vendor/langs.ts', `import type { LanguageRegistration } from '../types' -export const bundledLanguages = ${JSON.stringify(languages, null, 2).replace(/"__|__"/g, '')}`, +type DynamicLangReg = () => Promise<{ default: LanguageRegistration }> + +export const bundledLanguagesBase = ${JSON.stringify(languages, null, 2).replace(/"__|__"/g, '')} + +export const bundledLanguagesAlias = ${JSON.stringify(langAlias, null, 2).replace(/"__|__"/g, '')} + +export const bundledLanguages = { + ...bundledLanguagesBase, + ...bundledLanguagesAlias, +} +`, 'utf-8', ) @@ -47,6 +63,8 @@ await fs.writeFile( 'src/vendor/themes.ts', `import type { ThemeRegisterationRaw } from '../types' +type DynamicThemeReg = () => Promise<{ default: ThemeRegisterationRaw }> + export const bundledThemes = ${JSON.stringify(themes, null, 2).replace(/"__|__"/g, '')}`, 'utf-8', ) diff --git a/src/core.ts b/src/core.ts index 9882e4f6..9ac195b7 100644 --- a/src/core.ts +++ b/src/core.ts @@ -14,6 +14,8 @@ export interface HighlighterCoreOptions { loadWasm?: OnigurumaLoadOptions | (() => Promise) } +export type HighlighterCore = ReturnType + export { loadWasm, } diff --git a/src/index.ts b/src/index.ts index 23a806be..95288bab 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,6 @@ import type { BuiltinLanguages, BuiltinThemes, CodeToHtmlOptions, LanguageInput, ThemeInput } from './types' import { bundledThemes } from './vendor/themes' -import { bundledLanguages } from './vendor/langs' +import { bundledLanguages, bundledLanguagesBase } from './vendor/langs' import { getHighlighterCore } from './core' import { getWasmInlined } from './wasm' @@ -17,6 +17,8 @@ export interface HighlighterOptions { langs?: (LanguageInput | BuiltinLanguages)[] } +export type Highlighter = ReturnType + export async function getHighlighter(options: HighlighterOptions = {}) { function resolveLang(lang: LanguageInput | BuiltinLanguages): LanguageInput { if (typeof lang === 'string') { @@ -40,7 +42,7 @@ export async function getHighlighter(options: HighlighterOptions = {}) { const _themes = (options.themes ?? ['nord']).map(resolveTheme) as ThemeInput[] - const langs = (options.langs ?? Object.keys(bundledLanguages) as BuiltinLanguages[]) + const langs = (options.langs ?? Object.keys(bundledLanguagesBase) as BuiltinLanguages[]) .map(resolveLang) const core = await getHighlighterCore({ diff --git a/src/vendor/langs.ts b/src/vendor/langs.ts index 73647923..04ce27cb 100644 --- a/src/vendor/langs.ts +++ b/src/vendor/langs.ts @@ -1,170 +1,226 @@ import type { LanguageRegistration } from '../types' +type DynamicLangReg = () => Promise<{ default: LanguageRegistration }> + +export const bundledLanguagesBase = { + "abap": (() => import('./languages/abap.json')) as unknown as DynamicLangReg, + "actionscript-3": (() => import('./languages/actionscript-3.json')) as unknown as DynamicLangReg, + "ada": (() => import('./languages/ada.json')) as unknown as DynamicLangReg, + "apache": (() => import('./languages/apache.json')) as unknown as DynamicLangReg, + "apex": (() => import('./languages/apex.json')) as unknown as DynamicLangReg, + "apl": (() => import('./languages/apl.json')) as unknown as DynamicLangReg, + "applescript": (() => import('./languages/applescript.json')) as unknown as DynamicLangReg, + "ara": (() => import('./languages/ara.json')) as unknown as DynamicLangReg, + "asm": (() => import('./languages/asm.json')) as unknown as DynamicLangReg, + "astro": (() => import('./languages/astro.json')) as unknown as DynamicLangReg, + "awk": (() => import('./languages/awk.json')) as unknown as DynamicLangReg, + "ballerina": (() => import('./languages/ballerina.json')) as unknown as DynamicLangReg, + "bat": (() => import('./languages/bat.json')) as unknown as DynamicLangReg, + "beancount": (() => import('./languages/beancount.json')) as unknown as DynamicLangReg, + "berry": (() => import('./languages/berry.json')) as unknown as DynamicLangReg, + "bibtex": (() => import('./languages/bibtex.json')) as unknown as DynamicLangReg, + "bicep": (() => import('./languages/bicep.json')) as unknown as DynamicLangReg, + "blade": (() => import('./languages/blade.json')) as unknown as DynamicLangReg, + "c": (() => import('./languages/c.json')) as unknown as DynamicLangReg, + "cadence": (() => import('./languages/cadence.json')) as unknown as DynamicLangReg, + "clarity": (() => import('./languages/clarity.json')) as unknown as DynamicLangReg, + "clojure": (() => import('./languages/clojure.json')) as unknown as DynamicLangReg, + "cmake": (() => import('./languages/cmake.json')) as unknown as DynamicLangReg, + "cobol": (() => import('./languages/cobol.json')) as unknown as DynamicLangReg, + "codeql": (() => import('./languages/codeql.json')) as unknown as DynamicLangReg, + "coffee": (() => import('./languages/coffee.json')) as unknown as DynamicLangReg, + "cpp": (() => import('./languages/cpp.json')) as unknown as DynamicLangReg, + "crystal": (() => import('./languages/crystal.json')) as unknown as DynamicLangReg, + "csharp": (() => import('./languages/csharp.json')) as unknown as DynamicLangReg, + "css": (() => import('./languages/css.json')) as unknown as DynamicLangReg, + "cue": (() => import('./languages/cue.json')) as unknown as DynamicLangReg, + "cypher": (() => import('./languages/cypher.json')) as unknown as DynamicLangReg, + "d": (() => import('./languages/d.json')) as unknown as DynamicLangReg, + "dart": (() => import('./languages/dart.json')) as unknown as DynamicLangReg, + "dax": (() => import('./languages/dax.json')) as unknown as DynamicLangReg, + "diff": (() => import('./languages/diff.json')) as unknown as DynamicLangReg, + "docker": (() => import('./languages/docker.json')) as unknown as DynamicLangReg, + "dream-maker": (() => import('./languages/dream-maker.json')) as unknown as DynamicLangReg, + "elixir": (() => import('./languages/elixir.json')) as unknown as DynamicLangReg, + "elm": (() => import('./languages/elm.json')) as unknown as DynamicLangReg, + "erb": (() => import('./languages/erb.json')) as unknown as DynamicLangReg, + "erlang": (() => import('./languages/erlang.json')) as unknown as DynamicLangReg, + "fish": (() => import('./languages/fish.json')) as unknown as DynamicLangReg, + "fsharp": (() => import('./languages/fsharp.json')) as unknown as DynamicLangReg, + "gdresource": (() => import('./languages/gdresource.json')) as unknown as DynamicLangReg, + "gdscript": (() => import('./languages/gdscript.json')) as unknown as DynamicLangReg, + "gdshader": (() => import('./languages/gdshader.json')) as unknown as DynamicLangReg, + "gherkin": (() => import('./languages/gherkin.json')) as unknown as DynamicLangReg, + "git-commit": (() => import('./languages/git-commit.json')) as unknown as DynamicLangReg, + "git-rebase": (() => import('./languages/git-rebase.json')) as unknown as DynamicLangReg, + "glimmer-js": (() => import('./languages/glimmer-js.json')) as unknown as DynamicLangReg, + "glimmer-ts": (() => import('./languages/glimmer-ts.json')) as unknown as DynamicLangReg, + "glsl": (() => import('./languages/glsl.json')) as unknown as DynamicLangReg, + "gnuplot": (() => import('./languages/gnuplot.json')) as unknown as DynamicLangReg, + "go": (() => import('./languages/go.json')) as unknown as DynamicLangReg, + "graphql": (() => import('./languages/graphql.json')) as unknown as DynamicLangReg, + "groovy": (() => import('./languages/groovy.json')) as unknown as DynamicLangReg, + "hack": (() => import('./languages/hack.json')) as unknown as DynamicLangReg, + "haml": (() => import('./languages/haml.json')) as unknown as DynamicLangReg, + "handlebars": (() => import('./languages/handlebars.json')) as unknown as DynamicLangReg, + "haskell": (() => import('./languages/haskell.json')) as unknown as DynamicLangReg, + "hcl": (() => import('./languages/hcl.json')) as unknown as DynamicLangReg, + "hjson": (() => import('./languages/hjson.json')) as unknown as DynamicLangReg, + "hlsl": (() => import('./languages/hlsl.json')) as unknown as DynamicLangReg, + "html": (() => import('./languages/html.json')) as unknown as DynamicLangReg, + "http": (() => import('./languages/http.json')) as unknown as DynamicLangReg, + "imba": (() => import('./languages/imba.json')) as unknown as DynamicLangReg, + "ini": (() => import('./languages/ini.json')) as unknown as DynamicLangReg, + "java": (() => import('./languages/java.json')) as unknown as DynamicLangReg, + "javascript": (() => import('./languages/javascript.json')) as unknown as DynamicLangReg, + "jinja-html": (() => import('./languages/jinja-html.json')) as unknown as DynamicLangReg, + "jison": (() => import('./languages/jison.json')) as unknown as DynamicLangReg, + "json": (() => import('./languages/json.json')) as unknown as DynamicLangReg, + "json5": (() => import('./languages/json5.json')) as unknown as DynamicLangReg, + "jsonc": (() => import('./languages/jsonc.json')) as unknown as DynamicLangReg, + "jsonl": (() => import('./languages/jsonl.json')) as unknown as DynamicLangReg, + "jsonnet": (() => import('./languages/jsonnet.json')) as unknown as DynamicLangReg, + "jssm": (() => import('./languages/jssm.json')) as unknown as DynamicLangReg, + "jsx": (() => import('./languages/jsx.json')) as unknown as DynamicLangReg, + "julia": (() => import('./languages/julia.json')) as unknown as DynamicLangReg, + "kotlin": (() => import('./languages/kotlin.json')) as unknown as DynamicLangReg, + "kusto": (() => import('./languages/kusto.json')) as unknown as DynamicLangReg, + "latex": (() => import('./languages/latex.json')) as unknown as DynamicLangReg, + "less": (() => import('./languages/less.json')) as unknown as DynamicLangReg, + "liquid": (() => import('./languages/liquid.json')) as unknown as DynamicLangReg, + "lisp": (() => import('./languages/lisp.json')) as unknown as DynamicLangReg, + "logo": (() => import('./languages/logo.json')) as unknown as DynamicLangReg, + "lua": (() => import('./languages/lua.json')) as unknown as DynamicLangReg, + "make": (() => import('./languages/make.json')) as unknown as DynamicLangReg, + "markdown": (() => import('./languages/markdown.json')) as unknown as DynamicLangReg, + "marko": (() => import('./languages/marko.json')) as unknown as DynamicLangReg, + "matlab": (() => import('./languages/matlab.json')) as unknown as DynamicLangReg, + "mdx": (() => import('./languages/mdx.json')) as unknown as DynamicLangReg, + "mermaid": (() => import('./languages/mermaid.json')) as unknown as DynamicLangReg, + "narrat": (() => import('./languages/narrat.json')) as unknown as DynamicLangReg, + "nextflow": (() => import('./languages/nextflow.json')) as unknown as DynamicLangReg, + "nginx": (() => import('./languages/nginx.json')) as unknown as DynamicLangReg, + "nim": (() => import('./languages/nim.json')) as unknown as DynamicLangReg, + "nix": (() => import('./languages/nix.json')) as unknown as DynamicLangReg, + "objective-c": (() => import('./languages/objective-c.json')) as unknown as DynamicLangReg, + "objective-cpp": (() => import('./languages/objective-cpp.json')) as unknown as DynamicLangReg, + "ocaml": (() => import('./languages/ocaml.json')) as unknown as DynamicLangReg, + "pascal": (() => import('./languages/pascal.json')) as unknown as DynamicLangReg, + "perl": (() => import('./languages/perl.json')) as unknown as DynamicLangReg, + "php": (() => import('./languages/php.json')) as unknown as DynamicLangReg, + "plsql": (() => import('./languages/plsql.json')) as unknown as DynamicLangReg, + "postcss": (() => import('./languages/postcss.json')) as unknown as DynamicLangReg, + "powerquery": (() => import('./languages/powerquery.json')) as unknown as DynamicLangReg, + "powershell": (() => import('./languages/powershell.json')) as unknown as DynamicLangReg, + "prisma": (() => import('./languages/prisma.json')) as unknown as DynamicLangReg, + "prolog": (() => import('./languages/prolog.json')) as unknown as DynamicLangReg, + "proto": (() => import('./languages/proto.json')) as unknown as DynamicLangReg, + "pug": (() => import('./languages/pug.json')) as unknown as DynamicLangReg, + "puppet": (() => import('./languages/puppet.json')) as unknown as DynamicLangReg, + "purescript": (() => import('./languages/purescript.json')) as unknown as DynamicLangReg, + "python": (() => import('./languages/python.json')) as unknown as DynamicLangReg, + "r": (() => import('./languages/r.json')) as unknown as DynamicLangReg, + "raku": (() => import('./languages/raku.json')) as unknown as DynamicLangReg, + "razor": (() => import('./languages/razor.json')) as unknown as DynamicLangReg, + "reg": (() => import('./languages/reg.json')) as unknown as DynamicLangReg, + "rel": (() => import('./languages/rel.json')) as unknown as DynamicLangReg, + "riscv": (() => import('./languages/riscv.json')) as unknown as DynamicLangReg, + "rst": (() => import('./languages/rst.json')) as unknown as DynamicLangReg, + "ruby": (() => import('./languages/ruby.json')) as unknown as DynamicLangReg, + "rust": (() => import('./languages/rust.json')) as unknown as DynamicLangReg, + "sas": (() => import('./languages/sas.json')) as unknown as DynamicLangReg, + "sass": (() => import('./languages/sass.json')) as unknown as DynamicLangReg, + "scala": (() => import('./languages/scala.json')) as unknown as DynamicLangReg, + "scheme": (() => import('./languages/scheme.json')) as unknown as DynamicLangReg, + "scss": (() => import('./languages/scss.json')) as unknown as DynamicLangReg, + "shaderlab": (() => import('./languages/shaderlab.json')) as unknown as DynamicLangReg, + "shellscript": (() => import('./languages/shellscript.json')) as unknown as DynamicLangReg, + "smalltalk": (() => import('./languages/smalltalk.json')) as unknown as DynamicLangReg, + "solidity": (() => import('./languages/solidity.json')) as unknown as DynamicLangReg, + "sparql": (() => import('./languages/sparql.json')) as unknown as DynamicLangReg, + "sql": (() => import('./languages/sql.json')) as unknown as DynamicLangReg, + "ssh-config": (() => import('./languages/ssh-config.json')) as unknown as DynamicLangReg, + "stata": (() => import('./languages/stata.json')) as unknown as DynamicLangReg, + "stylus": (() => import('./languages/stylus.json')) as unknown as DynamicLangReg, + "svelte": (() => import('./languages/svelte.json')) as unknown as DynamicLangReg, + "swift": (() => import('./languages/swift.json')) as unknown as DynamicLangReg, + "system-verilog": (() => import('./languages/system-verilog.json')) as unknown as DynamicLangReg, + "tasl": (() => import('./languages/tasl.json')) as unknown as DynamicLangReg, + "tcl": (() => import('./languages/tcl.json')) as unknown as DynamicLangReg, + "tex": (() => import('./languages/tex.json')) as unknown as DynamicLangReg, + "toml": (() => import('./languages/toml.json')) as unknown as DynamicLangReg, + "tsx": (() => import('./languages/tsx.json')) as unknown as DynamicLangReg, + "turtle": (() => import('./languages/turtle.json')) as unknown as DynamicLangReg, + "twig": (() => import('./languages/twig.json')) as unknown as DynamicLangReg, + "typescript": (() => import('./languages/typescript.json')) as unknown as DynamicLangReg, + "v": (() => import('./languages/v.json')) as unknown as DynamicLangReg, + "vb": (() => import('./languages/vb.json')) as unknown as DynamicLangReg, + "verilog": (() => import('./languages/verilog.json')) as unknown as DynamicLangReg, + "vhdl": (() => import('./languages/vhdl.json')) as unknown as DynamicLangReg, + "viml": (() => import('./languages/viml.json')) as unknown as DynamicLangReg, + "vue-html": (() => import('./languages/vue-html.json')) as unknown as DynamicLangReg, + "vue": (() => import('./languages/vue.json')) as unknown as DynamicLangReg, + "vyper": (() => import('./languages/vyper.json')) as unknown as DynamicLangReg, + "wasm": (() => import('./languages/wasm.json')) as unknown as DynamicLangReg, + "wenyan": (() => import('./languages/wenyan.json')) as unknown as DynamicLangReg, + "wgsl": (() => import('./languages/wgsl.json')) as unknown as DynamicLangReg, + "wolfram": (() => import('./languages/wolfram.json')) as unknown as DynamicLangReg, + "xml": (() => import('./languages/xml.json')) as unknown as DynamicLangReg, + "xsl": (() => import('./languages/xsl.json')) as unknown as DynamicLangReg, + "yaml": (() => import('./languages/yaml.json')) as unknown as DynamicLangReg, + "zenscript": (() => import('./languages/zenscript.json')) as unknown as DynamicLangReg +} + +export const bundledLanguagesAlias = { + "batch": bundledLanguagesBase['bat'], + "be": bundledLanguagesBase['berry'], + "cdc": bundledLanguagesBase['cadence'], + "clj": bundledLanguagesBase['clojure'], + "ql": bundledLanguagesBase['codeql'], + "c#": bundledLanguagesBase['csharp'], + "cs": bundledLanguagesBase['csharp'], + "cql": bundledLanguagesBase['cypher'], + "dockerfile": bundledLanguagesBase['docker'], + "erl": bundledLanguagesBase['erlang'], + "f#": bundledLanguagesBase['fsharp'], + "fs": bundledLanguagesBase['fsharp'], + "gjs": bundledLanguagesBase['glimmer-js'], + "gts": bundledLanguagesBase['glimmer-ts'], + "hbs": bundledLanguagesBase['handlebars'], + "hs": bundledLanguagesBase['haskell'], + "properties": bundledLanguagesBase['ini'], + "js": bundledLanguagesBase['javascript'], + "fsl": bundledLanguagesBase['jssm'], + "kql": bundledLanguagesBase['kusto'], + "makefile": bundledLanguagesBase['make'], + "md": bundledLanguagesBase['markdown'], + "nar": bundledLanguagesBase['narrat'], + "nf": bundledLanguagesBase['nextflow'], + "objc": bundledLanguagesBase['objective-c'], + "ps": bundledLanguagesBase['powershell'], + "ps1": bundledLanguagesBase['powershell'], + "jade": bundledLanguagesBase['pug'], + "py": bundledLanguagesBase['python'], + "perl6": bundledLanguagesBase['raku'], + "rb": bundledLanguagesBase['ruby'], + "rs": bundledLanguagesBase['rust'], + "shader": bundledLanguagesBase['shaderlab'], + "bash": bundledLanguagesBase['shellscript'], + "console": bundledLanguagesBase['shellscript'], + "sh": bundledLanguagesBase['shellscript'], + "shell": bundledLanguagesBase['shellscript'], + "zsh": bundledLanguagesBase['shellscript'], + "styl": bundledLanguagesBase['stylus'], + "ts": bundledLanguagesBase['typescript'], + "cmd": bundledLanguagesBase['vb'], + "vim": bundledLanguagesBase['viml'], + "vimscript": bundledLanguagesBase['viml'], + "vy": bundledLanguagesBase['vyper'], + "文言": bundledLanguagesBase['wenyan'], + "yml": bundledLanguagesBase['yaml'] +} + export const bundledLanguages = { - "abap": () => import('./languages/abap.json') as unknown as Promise<{ default: LanguageRegistration }>, - "actionscript-3": () => import('./languages/actionscript-3.json') as unknown as Promise<{ default: LanguageRegistration }>, - "ada": () => import('./languages/ada.json') as unknown as Promise<{ default: LanguageRegistration }>, - "apache": () => import('./languages/apache.json') as unknown as Promise<{ default: LanguageRegistration }>, - "apex": () => import('./languages/apex.json') as unknown as Promise<{ default: LanguageRegistration }>, - "apl": () => import('./languages/apl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "applescript": () => import('./languages/applescript.json') as unknown as Promise<{ default: LanguageRegistration }>, - "ara": () => import('./languages/ara.json') as unknown as Promise<{ default: LanguageRegistration }>, - "asm": () => import('./languages/asm.json') as unknown as Promise<{ default: LanguageRegistration }>, - "astro": () => import('./languages/astro.json') as unknown as Promise<{ default: LanguageRegistration }>, - "awk": () => import('./languages/awk.json') as unknown as Promise<{ default: LanguageRegistration }>, - "ballerina": () => import('./languages/ballerina.json') as unknown as Promise<{ default: LanguageRegistration }>, - "bat": () => import('./languages/bat.json') as unknown as Promise<{ default: LanguageRegistration }>, - "beancount": () => import('./languages/beancount.json') as unknown as Promise<{ default: LanguageRegistration }>, - "berry": () => import('./languages/berry.json') as unknown as Promise<{ default: LanguageRegistration }>, - "bibtex": () => import('./languages/bibtex.json') as unknown as Promise<{ default: LanguageRegistration }>, - "bicep": () => import('./languages/bicep.json') as unknown as Promise<{ default: LanguageRegistration }>, - "blade": () => import('./languages/blade.json') as unknown as Promise<{ default: LanguageRegistration }>, - "c": () => import('./languages/c.json') as unknown as Promise<{ default: LanguageRegistration }>, - "cadence": () => import('./languages/cadence.json') as unknown as Promise<{ default: LanguageRegistration }>, - "clarity": () => import('./languages/clarity.json') as unknown as Promise<{ default: LanguageRegistration }>, - "clojure": () => import('./languages/clojure.json') as unknown as Promise<{ default: LanguageRegistration }>, - "cmake": () => import('./languages/cmake.json') as unknown as Promise<{ default: LanguageRegistration }>, - "cobol": () => import('./languages/cobol.json') as unknown as Promise<{ default: LanguageRegistration }>, - "codeql": () => import('./languages/codeql.json') as unknown as Promise<{ default: LanguageRegistration }>, - "coffee": () => import('./languages/coffee.json') as unknown as Promise<{ default: LanguageRegistration }>, - "cpp": () => import('./languages/cpp.json') as unknown as Promise<{ default: LanguageRegistration }>, - "crystal": () => import('./languages/crystal.json') as unknown as Promise<{ default: LanguageRegistration }>, - "csharp": () => import('./languages/csharp.json') as unknown as Promise<{ default: LanguageRegistration }>, - "css": () => import('./languages/css.json') as unknown as Promise<{ default: LanguageRegistration }>, - "cue": () => import('./languages/cue.json') as unknown as Promise<{ default: LanguageRegistration }>, - "cypher": () => import('./languages/cypher.json') as unknown as Promise<{ default: LanguageRegistration }>, - "d": () => import('./languages/d.json') as unknown as Promise<{ default: LanguageRegistration }>, - "dart": () => import('./languages/dart.json') as unknown as Promise<{ default: LanguageRegistration }>, - "dax": () => import('./languages/dax.json') as unknown as Promise<{ default: LanguageRegistration }>, - "diff": () => import('./languages/diff.json') as unknown as Promise<{ default: LanguageRegistration }>, - "docker": () => import('./languages/docker.json') as unknown as Promise<{ default: LanguageRegistration }>, - "dream-maker": () => import('./languages/dream-maker.json') as unknown as Promise<{ default: LanguageRegistration }>, - "elixir": () => import('./languages/elixir.json') as unknown as Promise<{ default: LanguageRegistration }>, - "elm": () => import('./languages/elm.json') as unknown as Promise<{ default: LanguageRegistration }>, - "erb": () => import('./languages/erb.json') as unknown as Promise<{ default: LanguageRegistration }>, - "erlang": () => import('./languages/erlang.json') as unknown as Promise<{ default: LanguageRegistration }>, - "fish": () => import('./languages/fish.json') as unknown as Promise<{ default: LanguageRegistration }>, - "fsharp": () => import('./languages/fsharp.json') as unknown as Promise<{ default: LanguageRegistration }>, - "gdresource": () => import('./languages/gdresource.json') as unknown as Promise<{ default: LanguageRegistration }>, - "gdscript": () => import('./languages/gdscript.json') as unknown as Promise<{ default: LanguageRegistration }>, - "gdshader": () => import('./languages/gdshader.json') as unknown as Promise<{ default: LanguageRegistration }>, - "gherkin": () => import('./languages/gherkin.json') as unknown as Promise<{ default: LanguageRegistration }>, - "git-commit": () => import('./languages/git-commit.json') as unknown as Promise<{ default: LanguageRegistration }>, - "git-rebase": () => import('./languages/git-rebase.json') as unknown as Promise<{ default: LanguageRegistration }>, - "glimmer-js": () => import('./languages/glimmer-js.json') as unknown as Promise<{ default: LanguageRegistration }>, - "glimmer-ts": () => import('./languages/glimmer-ts.json') as unknown as Promise<{ default: LanguageRegistration }>, - "glsl": () => import('./languages/glsl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "gnuplot": () => import('./languages/gnuplot.json') as unknown as Promise<{ default: LanguageRegistration }>, - "go": () => import('./languages/go.json') as unknown as Promise<{ default: LanguageRegistration }>, - "graphql": () => import('./languages/graphql.json') as unknown as Promise<{ default: LanguageRegistration }>, - "groovy": () => import('./languages/groovy.json') as unknown as Promise<{ default: LanguageRegistration }>, - "hack": () => import('./languages/hack.json') as unknown as Promise<{ default: LanguageRegistration }>, - "haml": () => import('./languages/haml.json') as unknown as Promise<{ default: LanguageRegistration }>, - "handlebars": () => import('./languages/handlebars.json') as unknown as Promise<{ default: LanguageRegistration }>, - "haskell": () => import('./languages/haskell.json') as unknown as Promise<{ default: LanguageRegistration }>, - "hcl": () => import('./languages/hcl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "hjson": () => import('./languages/hjson.json') as unknown as Promise<{ default: LanguageRegistration }>, - "hlsl": () => import('./languages/hlsl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "html": () => import('./languages/html.json') as unknown as Promise<{ default: LanguageRegistration }>, - "http": () => import('./languages/http.json') as unknown as Promise<{ default: LanguageRegistration }>, - "imba": () => import('./languages/imba.json') as unknown as Promise<{ default: LanguageRegistration }>, - "ini": () => import('./languages/ini.json') as unknown as Promise<{ default: LanguageRegistration }>, - "java": () => import('./languages/java.json') as unknown as Promise<{ default: LanguageRegistration }>, - "javascript": () => import('./languages/javascript.json') as unknown as Promise<{ default: LanguageRegistration }>, - "jinja-html": () => import('./languages/jinja-html.json') as unknown as Promise<{ default: LanguageRegistration }>, - "jison": () => import('./languages/jison.json') as unknown as Promise<{ default: LanguageRegistration }>, - "json": () => import('./languages/json.json') as unknown as Promise<{ default: LanguageRegistration }>, - "json5": () => import('./languages/json5.json') as unknown as Promise<{ default: LanguageRegistration }>, - "jsonc": () => import('./languages/jsonc.json') as unknown as Promise<{ default: LanguageRegistration }>, - "jsonl": () => import('./languages/jsonl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "jsonnet": () => import('./languages/jsonnet.json') as unknown as Promise<{ default: LanguageRegistration }>, - "jssm": () => import('./languages/jssm.json') as unknown as Promise<{ default: LanguageRegistration }>, - "jsx": () => import('./languages/jsx.json') as unknown as Promise<{ default: LanguageRegistration }>, - "julia": () => import('./languages/julia.json') as unknown as Promise<{ default: LanguageRegistration }>, - "kotlin": () => import('./languages/kotlin.json') as unknown as Promise<{ default: LanguageRegistration }>, - "kusto": () => import('./languages/kusto.json') as unknown as Promise<{ default: LanguageRegistration }>, - "latex": () => import('./languages/latex.json') as unknown as Promise<{ default: LanguageRegistration }>, - "less": () => import('./languages/less.json') as unknown as Promise<{ default: LanguageRegistration }>, - "liquid": () => import('./languages/liquid.json') as unknown as Promise<{ default: LanguageRegistration }>, - "lisp": () => import('./languages/lisp.json') as unknown as Promise<{ default: LanguageRegistration }>, - "logo": () => import('./languages/logo.json') as unknown as Promise<{ default: LanguageRegistration }>, - "lua": () => import('./languages/lua.json') as unknown as Promise<{ default: LanguageRegistration }>, - "make": () => import('./languages/make.json') as unknown as Promise<{ default: LanguageRegistration }>, - "markdown": () => import('./languages/markdown.json') as unknown as Promise<{ default: LanguageRegistration }>, - "marko": () => import('./languages/marko.json') as unknown as Promise<{ default: LanguageRegistration }>, - "matlab": () => import('./languages/matlab.json') as unknown as Promise<{ default: LanguageRegistration }>, - "mdx": () => import('./languages/mdx.json') as unknown as Promise<{ default: LanguageRegistration }>, - "mermaid": () => import('./languages/mermaid.json') as unknown as Promise<{ default: LanguageRegistration }>, - "narrat": () => import('./languages/narrat.json') as unknown as Promise<{ default: LanguageRegistration }>, - "nextflow": () => import('./languages/nextflow.json') as unknown as Promise<{ default: LanguageRegistration }>, - "nginx": () => import('./languages/nginx.json') as unknown as Promise<{ default: LanguageRegistration }>, - "nim": () => import('./languages/nim.json') as unknown as Promise<{ default: LanguageRegistration }>, - "nix": () => import('./languages/nix.json') as unknown as Promise<{ default: LanguageRegistration }>, - "objective-c": () => import('./languages/objective-c.json') as unknown as Promise<{ default: LanguageRegistration }>, - "objective-cpp": () => import('./languages/objective-cpp.json') as unknown as Promise<{ default: LanguageRegistration }>, - "ocaml": () => import('./languages/ocaml.json') as unknown as Promise<{ default: LanguageRegistration }>, - "pascal": () => import('./languages/pascal.json') as unknown as Promise<{ default: LanguageRegistration }>, - "perl": () => import('./languages/perl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "php": () => import('./languages/php.json') as unknown as Promise<{ default: LanguageRegistration }>, - "plsql": () => import('./languages/plsql.json') as unknown as Promise<{ default: LanguageRegistration }>, - "postcss": () => import('./languages/postcss.json') as unknown as Promise<{ default: LanguageRegistration }>, - "powerquery": () => import('./languages/powerquery.json') as unknown as Promise<{ default: LanguageRegistration }>, - "powershell": () => import('./languages/powershell.json') as unknown as Promise<{ default: LanguageRegistration }>, - "prisma": () => import('./languages/prisma.json') as unknown as Promise<{ default: LanguageRegistration }>, - "prolog": () => import('./languages/prolog.json') as unknown as Promise<{ default: LanguageRegistration }>, - "proto": () => import('./languages/proto.json') as unknown as Promise<{ default: LanguageRegistration }>, - "pug": () => import('./languages/pug.json') as unknown as Promise<{ default: LanguageRegistration }>, - "puppet": () => import('./languages/puppet.json') as unknown as Promise<{ default: LanguageRegistration }>, - "purescript": () => import('./languages/purescript.json') as unknown as Promise<{ default: LanguageRegistration }>, - "python": () => import('./languages/python.json') as unknown as Promise<{ default: LanguageRegistration }>, - "r": () => import('./languages/r.json') as unknown as Promise<{ default: LanguageRegistration }>, - "raku": () => import('./languages/raku.json') as unknown as Promise<{ default: LanguageRegistration }>, - "razor": () => import('./languages/razor.json') as unknown as Promise<{ default: LanguageRegistration }>, - "reg": () => import('./languages/reg.json') as unknown as Promise<{ default: LanguageRegistration }>, - "rel": () => import('./languages/rel.json') as unknown as Promise<{ default: LanguageRegistration }>, - "riscv": () => import('./languages/riscv.json') as unknown as Promise<{ default: LanguageRegistration }>, - "rst": () => import('./languages/rst.json') as unknown as Promise<{ default: LanguageRegistration }>, - "ruby": () => import('./languages/ruby.json') as unknown as Promise<{ default: LanguageRegistration }>, - "rust": () => import('./languages/rust.json') as unknown as Promise<{ default: LanguageRegistration }>, - "sas": () => import('./languages/sas.json') as unknown as Promise<{ default: LanguageRegistration }>, - "sass": () => import('./languages/sass.json') as unknown as Promise<{ default: LanguageRegistration }>, - "scala": () => import('./languages/scala.json') as unknown as Promise<{ default: LanguageRegistration }>, - "scheme": () => import('./languages/scheme.json') as unknown as Promise<{ default: LanguageRegistration }>, - "scss": () => import('./languages/scss.json') as unknown as Promise<{ default: LanguageRegistration }>, - "shaderlab": () => import('./languages/shaderlab.json') as unknown as Promise<{ default: LanguageRegistration }>, - "shellscript": () => import('./languages/shellscript.json') as unknown as Promise<{ default: LanguageRegistration }>, - "smalltalk": () => import('./languages/smalltalk.json') as unknown as Promise<{ default: LanguageRegistration }>, - "solidity": () => import('./languages/solidity.json') as unknown as Promise<{ default: LanguageRegistration }>, - "sparql": () => import('./languages/sparql.json') as unknown as Promise<{ default: LanguageRegistration }>, - "sql": () => import('./languages/sql.json') as unknown as Promise<{ default: LanguageRegistration }>, - "ssh-config": () => import('./languages/ssh-config.json') as unknown as Promise<{ default: LanguageRegistration }>, - "stata": () => import('./languages/stata.json') as unknown as Promise<{ default: LanguageRegistration }>, - "stylus": () => import('./languages/stylus.json') as unknown as Promise<{ default: LanguageRegistration }>, - "svelte": () => import('./languages/svelte.json') as unknown as Promise<{ default: LanguageRegistration }>, - "swift": () => import('./languages/swift.json') as unknown as Promise<{ default: LanguageRegistration }>, - "system-verilog": () => import('./languages/system-verilog.json') as unknown as Promise<{ default: LanguageRegistration }>, - "tasl": () => import('./languages/tasl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "tcl": () => import('./languages/tcl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "tex": () => import('./languages/tex.json') as unknown as Promise<{ default: LanguageRegistration }>, - "toml": () => import('./languages/toml.json') as unknown as Promise<{ default: LanguageRegistration }>, - "tsx": () => import('./languages/tsx.json') as unknown as Promise<{ default: LanguageRegistration }>, - "turtle": () => import('./languages/turtle.json') as unknown as Promise<{ default: LanguageRegistration }>, - "twig": () => import('./languages/twig.json') as unknown as Promise<{ default: LanguageRegistration }>, - "typescript": () => import('./languages/typescript.json') as unknown as Promise<{ default: LanguageRegistration }>, - "v": () => import('./languages/v.json') as unknown as Promise<{ default: LanguageRegistration }>, - "vb": () => import('./languages/vb.json') as unknown as Promise<{ default: LanguageRegistration }>, - "verilog": () => import('./languages/verilog.json') as unknown as Promise<{ default: LanguageRegistration }>, - "vhdl": () => import('./languages/vhdl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "viml": () => import('./languages/viml.json') as unknown as Promise<{ default: LanguageRegistration }>, - "vue-html": () => import('./languages/vue-html.json') as unknown as Promise<{ default: LanguageRegistration }>, - "vue": () => import('./languages/vue.json') as unknown as Promise<{ default: LanguageRegistration }>, - "vyper": () => import('./languages/vyper.json') as unknown as Promise<{ default: LanguageRegistration }>, - "wasm": () => import('./languages/wasm.json') as unknown as Promise<{ default: LanguageRegistration }>, - "wenyan": () => import('./languages/wenyan.json') as unknown as Promise<{ default: LanguageRegistration }>, - "wgsl": () => import('./languages/wgsl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "wolfram": () => import('./languages/wolfram.json') as unknown as Promise<{ default: LanguageRegistration }>, - "xml": () => import('./languages/xml.json') as unknown as Promise<{ default: LanguageRegistration }>, - "xsl": () => import('./languages/xsl.json') as unknown as Promise<{ default: LanguageRegistration }>, - "yaml": () => import('./languages/yaml.json') as unknown as Promise<{ default: LanguageRegistration }>, - "zenscript": () => import('./languages/zenscript.json') as unknown as Promise<{ default: LanguageRegistration }> -} \ No newline at end of file + ...bundledLanguagesBase, + ...bundledLanguagesAlias, +} diff --git a/src/vendor/themes.ts b/src/vendor/themes.ts index 76bca131..89b6b694 100644 --- a/src/vendor/themes.ts +++ b/src/vendor/themes.ts @@ -1,33 +1,35 @@ import type { ThemeRegisterationRaw } from '../types' +type DynamicThemeReg = () => Promise<{ default: ThemeRegisterationRaw }> + export const bundledThemes = { - "css-variables": () => import('shiki/themes/css-variables.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "dark-plus": () => import('shiki/themes/dark-plus.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "dracula-soft": () => import('shiki/themes/dracula-soft.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "dracula": () => import('shiki/themes/dracula.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "github-dark-dimmed": () => import('shiki/themes/github-dark-dimmed.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "github-dark": () => import('shiki/themes/github-dark.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "github-light": () => import('shiki/themes/github-light.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "hc_light": () => import('shiki/themes/hc_light.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "light-plus": () => import('shiki/themes/light-plus.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "material-theme-darker": () => import('shiki/themes/material-theme-darker.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "material-theme-lighter": () => import('shiki/themes/material-theme-lighter.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "material-theme-ocean": () => import('shiki/themes/material-theme-ocean.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "material-theme-palenight": () => import('shiki/themes/material-theme-palenight.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "material-theme": () => import('shiki/themes/material-theme.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "min-dark": () => import('shiki/themes/min-dark.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "min-light": () => import('shiki/themes/min-light.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "monokai": () => import('shiki/themes/monokai.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "nord": () => import('shiki/themes/nord.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "one-dark-pro": () => import('shiki/themes/one-dark-pro.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "poimandres": () => import('shiki/themes/poimandres.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "rose-pine-dawn": () => import('shiki/themes/rose-pine-dawn.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "rose-pine-moon": () => import('shiki/themes/rose-pine-moon.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "rose-pine": () => import('shiki/themes/rose-pine.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "slack-dark": () => import('shiki/themes/slack-dark.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "slack-ochin": () => import('shiki/themes/slack-ochin.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "solarized-dark": () => import('shiki/themes/solarized-dark.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "solarized-light": () => import('shiki/themes/solarized-light.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "vitesse-dark": () => import('shiki/themes/vitesse-dark.json') as unknown as Promise<{ default: ThemeRegisterationRaw }>, - "vitesse-light": () => import('shiki/themes/vitesse-light.json') as unknown as Promise<{ default: ThemeRegisterationRaw }> + "css-variables": (() => import('shiki/themes/css-variables.json')) as unknown as DynamicThemeReg, + "dark-plus": (() => import('shiki/themes/dark-plus.json')) as unknown as DynamicThemeReg, + "dracula": (() => import('shiki/themes/dracula.json')) as unknown as DynamicThemeReg, + "dracula-soft": (() => import('shiki/themes/dracula-soft.json')) as unknown as DynamicThemeReg, + "github-dark": (() => import('shiki/themes/github-dark.json')) as unknown as DynamicThemeReg, + "github-dark-dimmed": (() => import('shiki/themes/github-dark-dimmed.json')) as unknown as DynamicThemeReg, + "github-light": (() => import('shiki/themes/github-light.json')) as unknown as DynamicThemeReg, + "hc_light": (() => import('shiki/themes/hc_light.json')) as unknown as DynamicThemeReg, + "light-plus": (() => import('shiki/themes/light-plus.json')) as unknown as DynamicThemeReg, + "material-theme": (() => import('shiki/themes/material-theme.json')) as unknown as DynamicThemeReg, + "material-theme-darker": (() => import('shiki/themes/material-theme-darker.json')) as unknown as DynamicThemeReg, + "material-theme-lighter": (() => import('shiki/themes/material-theme-lighter.json')) as unknown as DynamicThemeReg, + "material-theme-ocean": (() => import('shiki/themes/material-theme-ocean.json')) as unknown as DynamicThemeReg, + "material-theme-palenight": (() => import('shiki/themes/material-theme-palenight.json')) as unknown as DynamicThemeReg, + "min-dark": (() => import('shiki/themes/min-dark.json')) as unknown as DynamicThemeReg, + "min-light": (() => import('shiki/themes/min-light.json')) as unknown as DynamicThemeReg, + "monokai": (() => import('shiki/themes/monokai.json')) as unknown as DynamicThemeReg, + "nord": (() => import('shiki/themes/nord.json')) as unknown as DynamicThemeReg, + "one-dark-pro": (() => import('shiki/themes/one-dark-pro.json')) as unknown as DynamicThemeReg, + "poimandres": (() => import('shiki/themes/poimandres.json')) as unknown as DynamicThemeReg, + "rose-pine": (() => import('shiki/themes/rose-pine.json')) as unknown as DynamicThemeReg, + "rose-pine-dawn": (() => import('shiki/themes/rose-pine-dawn.json')) as unknown as DynamicThemeReg, + "rose-pine-moon": (() => import('shiki/themes/rose-pine-moon.json')) as unknown as DynamicThemeReg, + "slack-dark": (() => import('shiki/themes/slack-dark.json')) as unknown as DynamicThemeReg, + "slack-ochin": (() => import('shiki/themes/slack-ochin.json')) as unknown as DynamicThemeReg, + "solarized-dark": (() => import('shiki/themes/solarized-dark.json')) as unknown as DynamicThemeReg, + "solarized-light": (() => import('shiki/themes/solarized-light.json')) as unknown as DynamicThemeReg, + "vitesse-dark": (() => import('shiki/themes/vitesse-dark.json')) as unknown as DynamicThemeReg, + "vitesse-light": (() => import('shiki/themes/vitesse-light.json')) as unknown as DynamicThemeReg } \ No newline at end of file diff --git a/test/index.test.ts b/test/index.test.ts index bb3cbb25..45cb58e6 100644 --- a/test/index.test.ts +++ b/test/index.test.ts @@ -8,14 +8,14 @@ describe('should', () => { langs: ['javascript'], }) - expect(shiki.codeToHtml('console.log', { lang: 'javascript' })) + expect(shiki.codeToHtml('console.log', { lang: 'js' })) .toMatchInlineSnapshot('"
console.log
"') }) it('dynamic load theme and lang', async () => { const shiki = await getHighlighter({ themes: ['vitesse-light'], - langs: ['javascript'], + langs: ['javascript', 'ts'], }) await shiki.loadLanguage('python') @@ -26,6 +26,8 @@ describe('should', () => { [ "javascript", "js", + "typescript", + "ts", "python", "py", ] From 97a9763f0afd61ae68698c655255ab5be14185d1 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sat, 12 Aug 2023 01:03:31 +0200 Subject: [PATCH 3/3] chore: release v0.1.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 631ef4e1..f640a87e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "shikiji", "type": "module", - "version": "0.1.1", + "version": "0.1.2", "packageManager": "pnpm@8.6.12", "description": "An ESM-focused rewrite of shiki", "author": "Pine Wu ; Anthony Fu ",